Tuesday, March 14, 2006

How many hours do you have to spend playing Grand Turismo 4 to be able to drive like that?

3/14/2006 2:21:51 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
 Monday, March 13, 2006
Today is Monday again, I am sure that I didn't have to tell most of you that, but there it is. I walked it to work this morning and it's so quiet it's deafening. Just the hum of computer fans and air conditioning. My Friend and Co-Worker "The Pine" has moved on and is now working much closer to home for more money (Isn't that what we all want). Friday was his last day. Now it is monday and it is too quiet. The routine of coming in, talking about the weekend and show each other photos of the kids before we start the work week will now have to be a virtual one. "The Pine" has been a good friend and co-worker and I will miss getting to hangout with him.

3/13/2006 9:09:11 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0]
 Sunday, March 05, 2006

I’ve noticed a trend here lately, Have you noticed how may people are wearing bluetooth headsets. The other day my wife and I were at Disneyland and I must of seen ten guys wearing the headsets. It’s like it’s become the male version of jewelry. I just don’t get it. If you are at Disneyland with your kids, why are you wearing a headset? What phone call can be more important them spending time with our family?

Now don’t get me wrong, I am not antitechnology by any stretch of the imagination. I just follow a thought that a friend told me once. “Technology is like your underware. not the first thing you want people to see when they meet you.”

3/5/2006 5:14:26 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Friday, February 24, 2006

So I just got out of the Friday morning project update meeting and found out that we are going to do a code freeze at the end of the month. While a code freeze is welcomed, it also mean I have a lot of code to write test and test some more before the end of Tuesday. So if you don’t hear from me in the next couple of days you know why.

Love Peace and Taco Grease :-D

Now playing: Propellerheads - Take California

Update, If you are wondering what the above means, I've turned on music detection for my blog. So it will display the artist and song I am listening to at the time the post is written. :-D
2/24/2006 10:45:47 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Thursday, February 23, 2006

So I got my PearPC Mac surfing the internet. I had to figure out how to get the PearPC Mac to see the internet/Internal Network, so I turned to my good friend google and found "Networking with PearPC" I followed the directions and bam, on the internet.

The first real step to getting PPC Mac on the information superhighway was to install a virtual network adapter. I have one set up for Virtual PC, which is where I run a local version if windows 2003 Server for development reasons. However PPC didn't see that virtual adapter, so I used the mentioned in the article, openvpn. After tweaking some configurations, I could browse the internet. The one thing to note, is you can only multihome your actually network adapter to one virtual adapter at a time. So I have to choose which connection I am going to use before I start up either my Virtual Mac, or Virtual Windows 2003 Server.
2/23/2006 1:21:29 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Wednesday, February 22, 2006

What do you get when you combine Apples and Oranges, apparently it's a Pear as in PearPC. PearPC is an open source project that lets you run Mac OS X inside Windows XP. Yes, I am on an Apple Kick lately. I have a good excuse this time, no really, I do. So the big project at work has to be cross-browser and cross-platform compatible. So that means I have to test on just about everything. I even have a webTV emulator on my development machine. I have the only Mac in the entire company on my, and my mate Ed's desk (Our desks are connected). However, I  don't always develop at work.  I've been doing alot of template coding on the train and in the evenings at home. Well I got a huge piece of the templates finished and tested it on Firefox, IE, Camino, Opera and Safari. It looked perfect in all of them on both the PC and the Mac, with Safari being the exception. Well It's a little hard to code for Safari on the train ride home, when I'm on a PC. So after doing a little googling this afternoon I rediscovered PearPC and had to try it. So Far so good. While it isn't blazingly fast, I just need it for the safari browser. I installed it and configured it, which was pretty straight forward. Created some ISO images from my legal copy of Mac OS X, and low and behold, I have Mac OS X running in the middle of my Windows XP machine. My next mission, get the networking figured out. I've found a good resource for that, so I shall tackle that one tomorrow. I'll let you know how it goes.

2/22/2006 9:06:15 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Sunday, February 19, 2006

Curiosity got the best of me, It really did. I had listened to HanselminutesState of the Mono Project” and I had to try it. I have a current version of Mono for windows installed on my work PC, but I had to try it on a Mac. My Beautiful Wife has a Mac and has for a long time. Truthfully I am a huge fan of Apple’s hardware and software. I think that iTunes is one of the best pieces of software the PC has ever seen. Writing Mac OS X on top of BSD was simply brilliant in my opinion. I’ve always wanted to write software for the Mac. However I work at a Microsoft shop, so there hasn’t been any really need or opportunity for me to write software for the Mac. However now with the Mono Project and .NET the idea that I can write something on the Mac, compile it to IL (Intermediate Language) and it can run in Windows is exciting. This is exciting in two ways, first, who doesn’t want to write code in a language they are very comfortable with (C# for me) that will run on just about any OS. Secondly, like I said before, I am a big fan of Mac stuff, and I would love to be able to work on a Mac, even though I work in a Microsoft shop. This idea came to me when I was watching a screencast of  C# code being ran in  both Mono and .NET interchangeable.  Well if the frameworks are that interchangeable I should be able to write code on the Mac and have it run in Windows or Linux. Although after I did some research I found I wasn’t the only one that has had this idea. Good that means I won’t be in undiscovered county alone. Since most of my work is done in ASP.NET and  C#, these are the two components of .NET/Mono that I am concerned about.

Coding on a Mac
It’s been a long time since I’ve written anything on a Mac. The last thing I wrote on a Mac was a web site. So HTML isn’t nearly as complicated as compiled code. That being said most of the code I write is in Visual Studio .NET. This is a pretty complete IDE, that has a designer and a code editor and includes intellisense. I am so addicted to using intellisense that it is something I feel I need for writing all code. Of course we use Windows XP SP2 at work, so these are the environments I am use everyday, so that is what becomes my benchmarks so to speak.

As with any new venture I did a little research. Of course Mono Project’s web site was my first stop. After a little bit of reading I downloaded the Mono Framework for Mac OS X and installed it. It gets installed in /Library/Frameworks/Mono, this is something you’ll need to know a little later. Also I always like to know where things get installed. The other thing gets installed is Cocoa# (Cocoa-Sharp). Cocoa, is the UI for Mac OS X, so Cocoa# lets your Mono/C# code use Cocoa for the UI instead of GTK. While this isn’t as completely ambiguous as using GTK for a “windows” application, it is nice to be able to use the Interface Builder and XCode. I’m installed this stuff on my Wife's computer, so I need to be careful about what I am installing and how hardcore it is. That is why I haven’t installed MonoDevelop yet. I’ll need to upgrade her computer to Tiger before I start down that road.

HelloWorldMac
The first project I tried was an example on the Cocoasharp.org site, the HelloWorld Tutorial. It’s tradition your first project for any new programming language or style has to be Hello World, and who was I to break tradition. The Tutorial was laid out nicely, and had you use TextEdit to write C# code in. Of course it doesn’t have intellisense built into it but I was game. It’s a really nice text editor that lets you use rich text or plain text, for this project we were using plain text of course. It took me about ten minutes to work through. Most of the time was just getting familiar with where things were on the Mac. And I do have to say that I kind of dug using the terminal windows (command line console for windows folks) to compile and package the application.  In the end I got a little window that Popped up and said “Hello World”. Whatdya now, this stuff works.

InterfaceBuilder
The second Tutorial I tried was the Simple Tutorial from Cocoasharp.org. This one delved into the Interface builder a little more then the previous tutorial. While this is a Simple Tutorial I learned quite a bit about Interface Builder. How events and object are tied to the code and each other.  While coming from the Visual Studio side of things, I am fairly use to using a form designer, It did take me a minute or two to catch on to how things are done in Interface Builder. My overall impression is that this is a great tool. Unlike Visual Studio it doesn’t seem to try to straddle the link of a designer you can code in, and that is a good thing. In the right hands, a beautifully designed application can be created without the designer having to know code at all. While that does leave what seems to be more work for the programmer, I definitely see the benefits. First you don’t have to erase any code, and links to that code as you do in Visual Studio. VS, will set up your objects, events and events handlers auto magically, which is nice, unless you want something that is a little different, or non-standard. Then you have to go through and find all the references to the object, event and event handler and remove them or edit them.  I sometimes like to write my own event handlers or a generic event function to deal with several objects, textboxes let’s say.  So if I have a form in Interface Builder, I created an instance of the class and then link it to my generic event function. I like that. Of course, it’s not called events and functions, it is Actions and Outlets, but I found that pretty easy to get use to.

XCode
When it comes to Xcode, I don’t have a lot to say. Mostly because I was using version 1.2 and the current version is 2.2. I’ve also found out that there are Xcode Additions for .NET that would of made coding a prettier experience. So I’ll not give any criticism because I didn’t do enough homework on this IDE to give any worthwhile information. The one thing I will says is I like being about to choose between a multi-page layout for editing and a single page layout where I could arrow to the next page/code class I was working on.


My Conclusions
First, man I need to get a Mac. I really enjoyed coding on it, and I love the OS.  As far as some of the coding go, it would of been really nice to have had everything completely update, because that is what the frameworks, really require. The fact it was an older version of Xcode kept me from installing MonoDevelop, and I am sure that would of changed the experience quite a bit. I also ran in to some confusion as to use the “Apple.Foundation” and “Apple.AppKit” namespaces verses the “Cocoa” namespace when interfacing with the
“nib” file that Interface Builder produces.  Again however, I believe that if I had had the current version of XCode and installed MonoDevelop, it wouldn’t of been an issue. So my plans for the future? See about getting a Mac Mini, or iBook and start coding.

 

2/19/2006 2:38:07 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]