Thursday, February 19, 2004

Blog Blog fun for boys and girls

So I was listening to dontNetRocks and Robert Scoble was the guest for their November 04, 03 show.<warning>This is a geek radio show put on my computer nerds and geeks for computer nerds and geeks, yes they wear glasses with tape in the middle and pocket protectors and yes I am sure they can quote every line from the entire Monty Python library. However they are specifically discussing the programming language that I write in more of everyday than I do english, so I have to listen.</warning>

And it was all about blogging. Which was pretty cool. One of the sites them mentioned in the show is a site called feedster.com. Feedster is the google of blogs. Which is very nice. So I thought lets see if my little blog was on it. It was, I was amazed, I did a search on "BBQ and the ZOO" , the title of my blog on Monday, Feb 16th, and it came up, not only did it come up but it came up in the second position. (Whoa!) So I now have search on my blog, and it uses feedster as it's search engine!

It has been fairly quiet here today. Infact it has been almost 24 hrs since I threw my little hissy fit walked away from my desk and threaten not to come back. Everyone was very nice to me today and just wanted to know if I was okay. (IE these are the people that won't be targets when the repeater rifle and belltower scene plays out) Anyhow today is nice and quiet and I am gettings lots of work done!

Wednesday, February 18, 2004

Wednesday and XML

Are we sure that it was a wednesday? It really felt more like a thursday to me. Anyways it was a day and that is good enough. I was about to wake up and take a deep breath. (and cough immediately afterwards) I'm not sure that I was completely ready for the day. But it came anyway and in the end I am glad I was a part of it.
Well on to more constructive things. XML and XSL. XML and XSL are a great way to handle some of the navigation choirs that we have to deal with day in and day out. For example you have a page that some users want links to sites, and other users want links to blogs. Why not keep all that data in one place.


<?xml-stylesheet type="text/xsl" href="links.xsl"?>
<navroot>
<link id="1" name="google" navlevel="1">http://www.google.com</link>
<ink id="2" name="builder" navlevel="1">http://www.builder.com</link>
<link id="3" name="tech republic" navlevel="1">http://www.techrepublic.com</link>
<link id="4" name="lockheed" navlevel="1">http://www.lockheedfcu.org</link>

<link id="5" name="Computer Zen" navlevel="2">http://www.computerzen.com</link>
<link id="6" name="Chardy" navlevel="2">http://chardy101.blogspot.com</link>
<link id="7" name="Adventures in Real Life" navlevel="2">http://o2bjang.blogspot.com</link>
<link id="8" name="Pixie Stitch" navlevel="2>http://pixiesitch.blogspot.com</link>
</navroot>
As you can see the site links have a navlevel of 1 and blog links have a navlevel of 2. Easy enough right. So how are we going to show these links to our users? This is where XSL comes in. What we are going to do is write an XSL that will show only the navlevel we specify, lets say navlevel 2. It would look something like this:

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="/navroot/link[@navlevel='2']">
<a>
<xsl:attribute name="href"><xsl:value-of select="." /></xsl:attribute>
<xsl:value-of select="@name" />
</a>
<br />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>


What we see in this example is that the XSL is looping through all of the <link> elements and looking for the attribute navlevel='2' when if finds it, it writes and a href from the <link> element and the name attribute with in the link tag. So in the browser it looks something like this:
Computer Zen
Chardy
Adventures in Real Life
Pixie Stitch


Let's go over the xsl in a little more detail of what the XSL is doing. First we are have the XSL loop through all of the link elements in the XML document and take an action when it finds a navlevel='2'. This is handled in the <xsl:for-each select="/navroot/link[@navlevel='2']">. Think of this as XSL's for loop. This was a fairly simple example of what can be done with XML and XSL but I hope that you find it helpful.

Monday, February 16, 2004

BBQ and the Zoo

Today is president's day, so as many people do, I had the day off. Being that my wonderful Wife was away at a seminar all weekend this was our day to spend sometime together. And of course the little boy had the day off too! So we planned to go have some serious (Yet not to expensive) fun. So we decided on the Zoo, it was close and fairly cheap. (we thought that before we got there) On the way to the LA Zoo we decided to stop and have lunch at the "Black Cow Cafe" in montrose. It is someplace that we used to eat at all of the time when we lived in pasadena and montrose. Of course we get there and they are closed for presidents day.

<sidenote>It's amazing how irritating it is when a restaurant closes for a holiday. But that it's fine for you to have it off.</sidenote>

So we walked around downtown montrose and found this little place called Zeke's Smokehouse.It looked great and had things on the menu I can eat. (It's amazing how limiting being allergic to wheat is in your food choices) So we thought we would give it a try. It was fantastic! This is just hardcore food, no apologize, no tree hugging vegan entrees! Ribs, Beef Brisket, Meatloaf, Beef and Pork links! It's the first time that I have seen real hushpuppies in southern california. The meal was great! My wonderful wife had the BBQ chicken sandwich, the little boy had the chicken and I had the Beef and Pork links. It was all so good that I kept eating long after I was full.

So now that we are all fed, and in need of a walk. We were off to the Zoo. There was an issue with this, that we didn't know of before we left the house. Everyone else was off to the Zoo too! I haven't ever seen so many people their. You would of thought that they were giving money away. There was a 20 minute line to get tickets. There was a line for everything. Don't get me wrong it was a lot of fun. The little boy was nothing but a kick. He is such a ball of energy. Zooming from here to there to here again. Keep up! He would cry dragging My Wife and I behind him. After a little bit we need a little treat. We weren't really hungry just needed something sweet. So I went to the little Zoo cafeteria there to get some Ice Cream. Now here is where they get you, by the time you have stood in the line long enough to get up to where you can see the prices on the sign you aren't going to leave. So with credit report in hand I was able to finance three small ice cream cones with a fairly good interest rate for the next 36 months. (They told me that my credit score wasn't good enough for three large cones.)

We got to see some skunks, monkeys, deer, elephants, weasels, camels, flamingos, pimps and hoes. (funny enough not all of the creatures listed above where in cages some where walking around the park looking for mates). The hours of the Zoo are officially 10am - 5pm. However I feel these are a little inaccurate. True enough that it opens at 10am. However the closing at 5pm is a little deceiving. What they really mean is that if you are in the park at 5pm find a safe place to sleep because they have closed the gates and left for the evening. Really and truly leaving at 4:50pm is pushing it.

In the end we had fun and it was a good day off. However there were two lessons learned. One never go to the Zoo on a holiday. Two, don't even eat breakfast before you go to Zeke's for lunch.

Saturday, February 14, 2004

A great waste of time

So I found this little game online that I can't stop playing. It's the only Trials game I've ever seen. You only have the arrow keys to balance, accelerate, and jump. To begin wasting your time on an addictive little game click here

Quote of the Day

<quote src="PixieStitch"> PH34R His Madskillz. < funtion run="translation" value="True" > Fear his abilties. </quote>

Thanks PixieStitch, this made me smile! :-)

Starbuck flows through my blood

I know that I haven't blogged since Wednesday. And lets face it, that one wasn't terribly exciting. (Not that this one is going to be some great literary work either) It's just that work has been so nuts. We are implementing the CMS from Bravo Zulu. It's called SiteSolution. I really can't speak highly enough about it. It uses XSL to translate the XML extract from the database in to, well your website.

So now that I have this amazing web publishing and content management tool, I have to get the entire web site into it. That doesn't sound that bad right? I didn't think so either, until I did the spreadsheet. I listed the pages, and the elements that need to be on each of those pages. It looks like I am creating star charts. The thing is huge. And of course, I need to have this all done yesterday. So I haven't been sleeping too much here lately.(IE the complete lack of creativity.) Don't get me wrong, I am really happy to do this project, it is something I have wanted at work for 2 years now. But it is a lot of work. I have to not only touch every page, but every element on the page. I was working from my memory as to what was done and what wasn't till yesterday. I can't believe I did that. It was so much to keep track of. So like I said, not sleeping great. And you know what that means. Yes more coffee. Starbuck Venti Quad Soy White Chocolate Mocha.(I believe that in the future this may replace fossil fuels in cars) Starbucks flows through my blood, currently it is the replacement for oxygen. (being asthmatic oxygen and I have always had a sketchy relationship as it is.)

Wednesday, February 11, 2004

prepare for the documentation

So I was up till just about 1am last night getting all of the documentation and programming standards completed and ready for presentation at our meeting today. So of course we ran long and no one even got to see all of the hard work that Ed and I have into it. In less than two days we have come up with out programming standards, a group version and install of VSS and documentation coding standards. Now that rocks. The next things we are going to have to work on are application standards and modular code practices.

Documentation from Comments in C#

Documentation is one of the hardest thing for a developer to do. Not because we don't understand what needs done. No that isn't it at all, it is because it is boring. However it is amazingly necessary. Have you ever written something down and dirty and then later have to go back and update it, and find that it takes 2 hours to figure out what you were thinking when you wrote that? I know I have. This is where C# comes in. More specifically C# in Visual Studio. In C# there is inline documentation. So if you comment as you code, you can actually build your documentation as you build your project. Here are some great links that explain it all very well

Monday, February 09, 2004

New Must have App

So Ed today finds this new "Must have" app. And he was right. A little background is order. At work we are a Microsoft shop. So we have applications that are written just for IE 5.5 and above. These are internal applications where some of the MS-only functionality is helpful and allowable. However I hate the fact that Internet Explorer doesn't have tabs. Netscape had it, Opera has it, Firefox has it but not IE. So what Ed found was MyIE2. So not only did they write it to use the Internet Explorer Engine for Rendering pages, it will also use the Gecko engine too. This is the best of both world for me. I can see how pages will render in two different browsers types and use tabs. Tabs are so nice, because you can have multiple browsers open in one window. Which beats having three or four IE windows up like I had to do before today.

Jim, my friend from the train has started a new site, http://goberserker.com. This is his second EverQuest related site. For those of you who don't know EverQuest is the largest Online RPG. He also runs another EQ (EverQuest) site called EQ Interface which is focused on EQ interface mods and improvements. If EQ is your cup of tea, I suggest checking out Jim's sites.

Sunday, February 08, 2004

Sunday Night ... Where did the Weekend go.

So today was my only day off. It wasn't plan'd that way it just happen'd. (Yes, I am going to be doing the Walt Whitman 'd thing) Anyhow, yesterday I spend a good portion of the day tracking down and fixing a strange server problem. Then in the afternoon I was able to help my dear friends move. Which is what I want'd to do with my day.

Friday, February 06, 2004

Friday Morning

The poor little boy isn't feeling well. He got up several times last night. He finally decided that at 4am he was ready to be up, and that he was ready for us to be up with him. He is weezing and really congested. I ran to the store this morning and got him a vaporizer and some medicine.(There are some of the strangest people that work and shop at walmart at 4:30am) My wonderful Wife has sent me back to bed. While she is up with him.

Thursday, February 05, 2004

Just another Manic Thursday

Well it has been a thursday...<quote who="Arthur Dent">This must be Thursday. I never could get the hang of Thursdays.</quote>

Today was one of those days where you wake up with the greatest of intentions. You are going to put a huge dent in that big project that is due yesterday, infact you think, hey if things go well enough I can have it finished early. But somehow you still done seem to get anything done.

I got up early, grabbed the 5:50am train into LA, got the 6:50am into burbank, was in at my desk by 7:15am. Starting going at it and got four pages of content in the CMS in 45 minutes. I was rockin'. But (there is always a but isn't there) then people started coming in. So you know how it goes. You can't focus on what you are working on because every ten minutes you are putting out fires. Some of them, three at a time like this afternoon, and it's flustering. It's one of those happy problems. If you weren't any good they wouldn't bother you. But I am fairly good at what I do. So I get asked for help on everything from graphic design work to server problems. And I am happy to help, but at the end of the day, I still have to get my work done, you know...

I have been working hot and heavy on the CMS project. I've come up with a list of questions. So I called over to the vendor we got it from, and my contact wasn't in. (He is the guy that wrote the CMS) I've called a couple times before and got the same thing. Of course he is incredibly cool and gave me his cell phone number so I can call him. So I did, and I asked him today about it. He says yeah, if I am in the office I get bombairded with requests. So if I have to focus or do anything like programming logic I do it from home.

Now this is my ideal situation. This sparked in my little memory something I had talked with my boss about the other day. Working from home on Fridays. A couple of Fridays a month to start. So I went in and asked if it would be cool of I worked from home tomorrow. And he thought for a moment and said, 'Yeah, I don't see anything wrong with that.'. So I am a happy programmer. I get to work from home tomorrow. No 2 1/2 to 3 hours work of train rides. No interuptions...Except the little boy....hummm. Maybe I should think this thing through.

Wednesday, February 04, 2004

The day after a rain

There is something about the day after a rain here in So. Cal.. The skys are so beautiful, the air is freshing and cleansing. Even the trees seem to be smiling. Of course the ones without leaves are feeling a little embarrassed about being sans verge with the weather being so nice. Outside my window here at work, I see the lovely swaying of green trees with the purple mountains serving as a back drop. The Blue sky with the light whispy clouds that act like they have nothing to do but hang around and watch the day go by. It's hard not to just stare out there into space and do nothing.However that isn't going to happen.

We just got out of an interview with a new canidate for the eMarketing position here at work. The person we interviewed seemed to know what they are doing. They would probably be a good fit. But change is hard. I worked with KrissV for two years. She's my friend. So its hard to think that, there wll be this new person, who you are going to be working with for x amount of years. And of course questions pop up in your head that you can't really answer or even ask of this new person. How this affects you, your workload? Is this going to be a nice person, that is easy to get along with, or are they going to fight you on every point all of the time? It all comes down to time, I guess. Working with KrissV was easy because we had spend enough time working together that we knew where the limits were. Now there is a new person and you have to invest the time in finding out where the limits are going to be. Like I said change is hard. I didn't used to think that, but as I grow older, change grows more difficult.

Sunday, February 01, 2004

myDoom Hits it's target

Well, it seems like the myDoom virus that has been spreading like wildfire had hit it's target. Rueters has the story on their site, as do countless other news sources.

MyDoom Net Worm Scores Hit, Knocks Out SCO Site

This virus was responsible for 10% of all emails on the internet last week. Which is just an amazing number. SCOs CEO Darl McBride is offering an reward for information that leads to the arrest of the person or persons that are responsible for writing this virus. Though I don't think anyone is going to come forward. What SCO did with it's IP (Intellectual Property) lawsuit against Linux and IBM struck at the core of a very tightknit and powerful community. Some of the best programmers in the world work on and write code for Linux. I also find it interesting that SCO itself had a Linux program going and it stopped work on that after it had sold Microsoft rights to Unix. Humm, a big influx of money from Microsoft and then SCO stops their Linux program and starts going after anyone else that is working on linux.

I can't condone whoever wrote this virus, even if the intentions are good, this is causing more work to an already over worked IT staff. And in the end the people that will be affected by it have no idea about the SCO/Linux controversy. However, the person(s) that wrote this virus probably don't have all the money that a big corporation does to fight this out in the court system for years and years. I can see both sides of the story. I can't condemn them either. The DoS attack that they are launching is in essense a digital version of a protest. I know that not everyone sees it that way. But what is the differents between the Grocery Strike here in CA. where the striking employees were physically preventing the deliever trucks and customers from entering the parking lot. They are simply digitally not letting customers get to the web store front of SCOs parking lot.

At the root of this controversy is one word "Monopoly". (No not the board game) There is a good chance that if SCO wins this suit, that microsoft will have a Monopoly on the Intel based computing operating systems. Now don't get me wrong, I am not anti-Microsoft, in fact I make my leaving writing in microsoft's C#. However I do think that computing needs are too diverse for one company to be the end all be all. I want to be able to have different operating system running on my machine. I also think that there are some computing tasks that Linux is the only platform I would choose. Also did the government split of Bell because it had a Monpoly of the phone/communication systems? How is this any different then that?

Saturday, January 31, 2004

Friday, January 30, 2004

A programmer is born!

Last night I had a mountain of work to do, and was actually inspired to do it. I started writing this C# console application that handles sending emails once it is called from a stored procedure. I know, I know, the words are english, but is he saying anything. (If you are a programmer, the answer is yes, if not...sorry) So on the train home I started laying out the structure of my application on my handy dandy sony viao laptop. When I got home, I wanted to just kind of keep the flow going. But the little boy wanted some attention. So he got some, what we did was combine our interesting. So what we ended up with was the little boy writing his first try catch statement in C#. Not bad for a three year old. try { } catch(Exception e) { writeError(e.Message); } Now before you start stating you astonishment, let me explain how his first programmer session when. Trav, which one is the "T", good, now which one is the "R", no that was a "E", which one is the "R", very good you did it. So it took us about 15 minutes to write our try catch statement. But we did do it, and we did it together. I put comments in the code of the application starting the date that the little boy had written his first snippet of code.

Thursday, January 29, 2004

Jason Mraz : Waiting for my Rocket to Come

So the other day we got the Jason Mraz album "Waiting for my Rocket to Come". The only song I had really heard from the album is "You and I both". This was poppy and had a beautiful acoustic ring of a up and coming Signer song writer. So we got it. I listened to this album over and over again today. I couldn't stop. Mraz has to be one of the best lyricist to come around in a long time.

There some song on this album that you will just finding yourself singing along by the second verse. (to the horror of my co-workers). I was amazed at the diversity on this album. I expected acoustic pop, and I got that, but I also got funky groove, regae moves and outstanding lyrics and one of the best new voices to come to rock in a while. Songs like "Curbside Prophet," have the great feel, of classic J. Love, with some Nashville funk thrown in. While "I'll Do Anything" has an amazing reggae beat, with smooth lyrics flowing in to a melodic chorus, while avoiding lyrical cliches`that would of been easy to fall into. I think the song "The Remedy" will be the next song that gets radio play from this album. It has that pop rock feel, with out feeling like a teen bopper hit. It's obvious from this album that Mraz influences are many and diverse. Which for me is really nice to hear.

The other thing that impress me is Mraz website, someone was smart enough to figure out you have to give some music away to sell it. There are seven mp3s for the download. But I'm telling you that after listening to those songs you are going to want the album.

Tuesday, January 27, 2004

Session Variables in C# how to use them and win

So I have been hitting my head against the wall with Session variables in C#. For instance, you can see a variable by just calling it and giving it a value.  Session["myValue"] = value Which is kind of like working in VB.NET. However when you go to read values from there it is a different beast all together. This comes from the fact that Session variables are actually objects and can be set to just about anything. So if I am going to read a value out of the Session variable it looks something like this: Response.Write(Session["myValue"].ToString()); Okay, now so far this isn't to bad, but what VB and VB.NET programmers are not use to, is have to initate the Session that you are going to use later. For example you have a Session variable that only gets a value if a event happens. If that even happens you don't initate the variable. Later in your code you have a condition statement that checks against the value in your Session variable. In VB you can do this all day not, and if there value is empty (ie you didn't initate the Session variable)  it returns an empty or null value. However in C# you get an error stating that the Object has not be set.

So this got me, jumpin up and down flustered. Then Ed told me the secret to it all, and I will now share it with you. (Though I figured you have guessed it by now) Initate all of your Session variables in the Session_Start function in your Global.asax. This way they are always initated and if you run conditional statements against them you can get an empty or null value.

Happy Coding

Monday, January 26, 2004

Mr. Rodriguez, you have my attention.

Yesterday afternoon, I was kind of restless, so I drove over to the local music store. While I was there I walked around a little bit and a tried a couple of guitars. Mostly feeling smart, because so far mine at home sounded much better then the ones I played. (And mine is less then half of the cost of the ones in this store) I walked over and played a couple of classical guitars.

I love the sound of nylon strings. There is a warmth to the tone, that I find so wonderful to listen to and to play. Anyhow, I pick up this acoustic classical, with a cutaway body so that you can reach high in the fret scale. I just strummed an E chord and all of the sudden, my ears said 'that sounded good, do it again!'. So I do, again my ears go, 'do that again!'. So I must of sat there played that beautiful guitar for close to 20 minutes. So by this time, I am in love, ready to take it up to the man behind the counter and ... put it on layway (what? You know you have to do that too!).

So I find the little card thingy that is the price tag and look. Once I regain consciousness... I looked at it again. $1,600.00 ... On Sale. So of course I put it back really gingerly, holding my breath until it is back in the guitar stand. Come to find out it is a Rodriguez C Cutaway. If I listen to the tale from the website, it is a handcrafted guitar made from the trees that Mr. Rodriguez grandfather planted many years ago.

Well, short story long, the guitar got to stay at the music shop. I got to come home and complain. I mean, I have a family to support, bills to pay, I can't talk myself in to buying something like that! That thing cost more than our rent (Though not by much). Though I have talked to the guy at the music shop and he says I can come back to visit, just as long as it's not to often.