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]
 Friday, February 17, 2006

Pop Quiz: What do you get when you stick a guy that has been trained in classical guitar infront of the TV too long?

2/17/2006 5:29:23 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

It's been a long and fairly stressful week. Not that anything has gone wrong. Things are going good at work and I'm very excited about our Five Year Wedding Annivesary coming up. I can't believe it's already been Five years. I must confess I think my Beautiful Wife is as Lovely and Wonderful as ever.


So I'll talk about work for a minute. I know I haven't been talking about it much lately, or much of anything lately. And for that I apologize, the updates have been slow in the coming. I think it is somewhat related to work. I can talk a little about what we've been working on, however I won't bore you with the technical details. So we are revamping a major system that alot of our members use. Because what we are working on has just an impact on our members, there have been a lot of sleepless nights and late night coding sessions. It's not been terribly unusually to receive an email from someone on my team at 4am. So because of my attention being focused there, I just haven't had very much to write about.

Now, on to the Wedding Anniversary, I don't know why but the five year anniversary seems to be a little milestone for most people. I guess five years is went you are not considered newlyweds anymore. That being said it feels like just yesterday we were married. The past five years with my Beautiful Wife have been wonderful and I look forward to a lifetime more with her.

Well, It's 5:30am, so I get my oatmeal cooking and my day started. Have a great day everybody

2/17/2006 5:27:19 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Sunday, February 12, 2006

Lately I’ve been shooting film. I think it has to do a lot with the fact that I’ve been reading The Ansel Adams Photography Series 2. I’ve finished the first book in the series “The Camera”. I’m in the middle of the second book “The Negative”.  So in a climate that seems to be moving away from film, with new digital cameras popping up left and right. I know shooting films seems like a step back, but sometimes you need to go back to the roots to move forward. So like I said I’ve been shooting film and really enjoying it. I’ve been using my old Pentax Spotmatic II. It’s interesting to me that in photography getting the exposure, aperture, shutter speed, framing are virtually the same between digital and film or analog as I’ve heard it called as of late. Somehow I get an enjoyment from film that isn’t exactly the same as digital. It’s a more tactical and auditory experience. The feel of a all metal camera. Advancing the film with a thumb winder and the sound of it advancing. Winding the film at the end of the roll. All of theses things add to the enjoyment of photography for me.

Well so now I have to get my film developed and of course I want a digital copy of my images. Surprisingly enough I’ve been using Costco for my developing and they’ve been doing a pretty darn good job and at a really reasonably priced. They’ve done a great job on the scans. However there was one little thing that was missing. I really wanted the exposure information attached to the jpeg. I admit that I’ve been spoiled by my digital camera that way. So I’ve been keeping a note book and noting all of my exposure settings for each image. So now I have my digital versions of my film photos, and I have my exposure information now, I just needed a way to merge the two. After a google search I found Reveal 1.0. It’s open source software that runs on Mac OS X, Linux and Windows, and lets me edit the EXIF information my jpegs. So now I have a great method for affixing my exposure information to my digital images. Reveal is a very easy to use program with a pretty straight forward interface. I do have to admit that this isn’t a complete EXIF editor, however it does have the basics and fits my needs pretty I well. 

2/12/2006 8:32:01 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]