Saturday, June 14, 2008

Central Coast Code Camp Returns!

Hey all,

I'm not sure how many of you attending our stunningly successful first code camp last year, but if you did, then you know we had 32 presentations by 20 presenters from as far away as Texas, that we had a fabulous "Geek" dinner, that we gave away prizes and swag, including two Zunes, that we had over 120 people show up from as far away as Ventura and Bakersfield, and that it was all FREE to everyone who attended!   A fantastic time was had by all!

So fantastic, in fact, that we are going for v2.0 this September, on the 27th and 28th, the Central Coast Code Camp Returns to the Embassy Suites in San Luis Obispo!

http://www.centralcoastcodecamp.com

We've already got 28 registrants signed up and are looking for presenters and topics.  There are so, so many new technologies out there this year that are coming to the forefront and we want them all properly represented.   So sign up to speak, but just as importantly, sign up to attend!

Rob

Friday, April 04, 2008

User Groups Attract Visitors...and how technology saved my shoulder...

So in past blogs I've mentioned the possibilities of creating your own special interest groups, or user groups.  I've done so with the San Luis Obispo .NET User Group.    One of the byproducts of that is an ability to use your group's contacts for a chance to do some good for the community.   I had this opportunity recently when the Code Trip, Microsoft's bus trip featuring its new technologies, tried to come to town.  When a visit to CalPoly fell through due to scheduling issues, Woody Pewitt from Microsoft contacted me seeking help with a place to park the bus.   I put him in touch with Randy Scovial and Cuesta College, and the Code Trip stopped in for a successful visit this past Monday, with two sessions for students and a general session that night that attracted over 40 local technology professionals.  You can read more about the trip, including its visit to SLO, at its website.

The Code Trip

 

The picture of the bus is from outside the Moscone Center in San Francisco, where I went this week for VSLive, a technology conference.   I caught up with the Code Trippers there, and they interviewed me along with a bunch of other technology people, asking if they knew about the Code Trip.

They also asked me about my ultra mobile PC, my new toy that I got for just this reason.  I spend a bit of time at conferences, and I am sick to death of carrying around the 40 lb deadweight that is my Laptop and its accompanying bag.  So I picked up one of these:

An Ultra Mobile PC.   It is hand held, has a 7" screen, runs Windows XP Tablet, and has built in wireless capabilities.   And most importantly, it weights only a couple of lbs.  It was heaven!   I picked up some accessories so that when I had table space I could set it up almost like a regular PC:

 

including a folding keyboard like you would use for a PDA.   But it works perfectly fine on its own, with a stylus for its touchpad and a fairly easy to use thumb keyboard split on either side of the unit.   I got a lot of inquiries about this neat little toy.  I even held a meeting in my car, over the phone, using this on my Verizon Broadband connection!

If you do a lot of traveling this is the toy for you.

Robert Hope, founder

San Luis Obispo .NET User Group

Friday, March 21, 2008

Past and Present Events

So as my involvement in the community has grown I get to attend some pretty cool events.   The latest was the EVC Venture Capital Event this past Tuesday, March 19th, at the Madonna Expo Center.  I've got this neat idea that I don't want to put out there in public too too much, but if you know my background you wouldn't be surprised to find that it is a new web site idea.    But it's only an idea, so I went with my little placard of mockups, some business cards, and a fact sheet, and crossed my fingers that some angel investor might write me a check.

That went ok.  What was interesting, however, was the level of technology that is being developed here on the Central Coast.   Aeromech, who will be presenting at the next Softec meeting, builds Unmanned Aerial Vehicles (UAV) for both commercial and military applications.    They were in the booth on my left.      Phoenix is looking to upgrade the Kit airplane to a "sexy" two seater plane that actually kneels so you can get in like a car.    They were in the booth on my right.    Fleet Management Solutions, who does asset tracking via GPS, a company that is building the next electric car, and New Image Technologies' Elements, a custom networking website platform, and another company doing specialized wireless video, were all there.   And while I was personally outclassed, I was also amazed and proud to be part of the tech industry here in SLO County and beyond.   There's a lot of great stuff going on around here if you know where to look.   Hopefully you will all come to the Softec meeting and see Aeromech in person.   It's well worth the visit.

In addition, Microsoft's CodeTrip will be coming to Cuesta College on March 31st.   CodeTrip is basically a bunch of code geeks on a bus, touring the West Coast in support of some new, really cool Microsoft technologies.   Through my contacts via the San Luis Obispo .NET User Group, we were able to get them to visit us here in SLO on their way from LA to SF, where they will be stopping by VSLive the first week of April.

Code Trip at Cuesta

They will be giving presentations to student classes and then holding a general session at 6 pm at the school.   Another great opportunity to expose yourself to the great technologies available to you.

Hope to see you there,


Robert Hope

Founder, San Luis Obispo .NET User Group

Friday, February 29, 2008

Tom Brokaw at the Microsoft 2008 Launch Event Celebrates Technology Heroes

It's not often that you hear people who are involved in technology referred to as "heroes".   Most of us are just techno-geeks trying to do the best we can.   And while I don't necessarily drink the kool-aid as far as those of us who are using the newer Microsoft technologies being called heroes, I have to say I was struck by Tom Brokaw's opinion of what technology has meant to our world and our society.

I went to Microsoft's Los Angeles Launch Event 2008 this past week in celebration of the release of their three new products, Windows Server 2008, Sql Server 2008, and Visual Studio 2008.   Lots of great advances, lots of awesome stuff, and their theme was "Heroes Happen Here".   By that, they mean that the people who are using these new technologies are the heroes of technology.

But Tom's keynote speech (I was actually surprised when he came out on the stage at the Nokia Theater) revolved around what technology has meant to people in other parts of the world.   He admitted to not being very computer savvy...and admitted he would probably never write a line of code with Visual Studio, or manage a Hyper-V Virtual Server Farm...but he did recall the importance of technology in making our world smaller, and hopefully better.   He talked about the people who went to Pakistan to help during their last devastating earthquake, and how that when they came down from hiking into the deep mountains they were able to put fingers to keyboard and let the world know what had happened.   He talked about how technology was helping to improve farming, and irrigation, and what that meant to the lives of people living in Africa.  He talked about surgeries being led remotely by doctors via videoconferencing.  I can't recall all the stories he told, but they all held essentially the same meaning:  that the people, the programmers, the administrators, all of us who help make technology what it is, and make it available to the true heroes of the world, we all have a stake and a helping hand in that heroism, and he wanted to thank us.

Steve Ballmer, Microsoft's CEO, gave the rest of the keynote address as the event moved from true heroism into our own personal versions of "code heroes"...but what Tom Brokaw said does ring true.   Technology helps in ways that sometimes we never know about, and our role in that is crucial, and we shouldn't take for granted what we do with it.   We're all heroes.

Wednesday, February 13, 2008

So you are looking to connect with people like you...

Maybe the best way is to start your own group.    And no, I don't mean therapy group!

When I relocated to the Central Coast, I wanted to see how many .NET developers there were here because that was my specialty and something I was interested in.   In Los Angeles where I had lived before, it was not uncommon to find several "User Groups"...groups of people who shared a common interest that got together once a month to talk about what they are interested in.   So I started hunting around for a User Group here.

I couldn't find one, although certainly there is SLOCAMA, and SLOBytes, there was no .NET or even a general "programming" User Group.   So I started asking around, and it was hard for me to explain to people what exactly it was I was trying to accomplish.

So I started my own.   In November of 2006, I founded the San Luis Obispo .NET User Group.  Now we are 40+ members strong and meet once a month.   A typical meeting will generally consist of pizza or pasta or panda express, a 90 minute to 2 hour presentation by a member or an outside speaker on a topic we are interested in, and then everyone hangs around to chat.   It's a great way for all of us to expand our knowledge and share our ideas.

And the reality is, it wasn't that hard to get it started.  You basically need two things:  a conference room, and a projector.   In most cases, you can find conference rooms at banks, accounting firms, there are many local places that you can get one.   In fact, the San Luis Business Center will rent one to you, and KCBX.NET will rent you one with a projector!   Granted, you might spend $80 a meeting, but the benefits far outweigh the cost.   If you're lucky like we are, you have someone in the group with access to a room and then you don't have that cost either.

Then you need a vision, a purpose.  In our meetings, it's .NET programming.   Yours might be databases, or design, or even electrical engineering.  The topic and vision don't matter as long as you have one.  And if you have one, I guarantee that there are others out there who share it.

Finally, you need speakers.  Our group has only had two or three people from outside come in and speak.  For the most part, our own members have been willing to step up and investigate something and come back with their findings.   None of us are professional speakers, and it's very laid back and low key and about the sharing of ideas.

I placed a single comment in the Tribune with the weekly Central Coast Technology article written by Dan Logan and set up my first meeting.   Fourteen people attended, and we've just grown from there.  Dan continues to be supportive, and groups like Softec have stepped up to offer their support as well in the interest of "Community Education".

It's really that easy to start a group.   Get a room, a topic, a projector if you need it, a speaker (even if it's you), some food, and set up shop.  Even if only two people show up the first time, word will spread and your group will grow.

It's definitely worth your time and effort.

 

Robert Hope, Founder

San Luis Obispo .NET User Group

Sunday, May 27, 2007

Central Coast Code Camp is a Reality!

Hi all,

We've confirmed our location for the Central Coast Code Camp (http://www.centralcoastcodecamp.com) and the date as well!  We had to move the date because of some facility issues, but the date is now 9-22-07 and 9-23-07 at the Embassy Suites in San Luis Obispo, CA.

Also, the old site at bostondotnet that used to list all the code camps is gone, so I've thrown one up that hopefully people will start using at the Code Camp List (http://www.codecamplist.com).

Please register for our code camp and come give a talk!

Rob

Wednesday, May 09, 2007

Making Your LinkButton look (and work) like an ImageButton

Hey there,

I don't know if you've noticed, but style sheets tend to handle an <input type=image/> a lot differently than an <img/> tag.   And that becomes a problem in .NET if you've built a webform that depends on a link to be an image.  

The LinkButton control doesn't support an ImageUrl.   It renders like you'd expect, with an <a/> tag surrounding some text, and the Href on that <a/> tag pointed at a __doPostBack function of some type.  But there's no way to tell it to use an image as the text, without setting the text manually through the designer or maybe with some code. 

On the other hand, the ImageButton control only supports images.   It renders differently as well, using an <input type=image/> tag as opposed to an <a/> tag.  If you've styled expecting that <input/> to be an <a/>, you could be in for some time-wasting CSS fun.

In addition, you can't just easily switch between the two on the page if you want to go from an ImageButton to a LinkButton, because the attributes aren't consistent regarding the use of images.

My solution to this was to create my own extended LinKButton that supports an ImageUrl.   Here's how I did it.

First, I added an ImageUrl property to my derived LinkButton: 

public class MyImageButton : LinkButton

{

private string _imageUrl;
     [Editor("System.Web.UI.Design.ImageUrlEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
     [DefaultValue("")]
     [UrlProperty]
     [Bindable(true)]
     public string ImageUrl
     {
          get { return _imageUrl; }
          set { _imageUrl = value; }
    }

}

Notice a couple of things:  I set the editor and the designer attributes such that my ImageUrl will behave in the Studio the same way that the ImageUrl on an ImageButton would work.  This helps to make switching back and forth easier (although with this in place I'd never use an ImageButton again; for me there's simply no need).

Once I have that, I am going to override OnPreRender: 

public class MyImageButton : LinkButton

{

private string _imageUrl;
     [Editor("System.Web.UI.Design.ImageUrlEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
     [DefaultValue("")]
     [UrlProperty]
     [Bindable(true)]
     public string ImageUrl
     {
          get { return _imageUrl; }
          set { _imageUrl = value; }
    }

protected override void OnPreRender(EventArgs e)

       if (!string.IsNullOrEmpty(this.ImageUrl))
       {
               if (this.ImageUrl.Trim().Length > 0)
               {
                       string cssClass = string.Empty;
                       if (!string.IsNullOrEmpty(CssClass))
                      {

                                cssClass = " class=\"" + CssClass + "\"" 

                       }

                       this.Text = "<img src=\"" + this.ImageUrl + "\" " + cssClass + "/>"
                       this.ImageUrl = string.Empty;                     
               }

     }
     base.OnPreRender(e);     

}

In this step, if I have an ImageUrl, I am using code to set the Text property of my LinkButton, and then erasing the ImageUrl so that it will render with an <img/> tag in the text of the <a/>.   I'm also taking care to apply the CssClass appropriately to the <img/> tag so that styles will work as expected, the way they would on an ImageButton (assuming the ImageButton was able to output an <img/> instead of an <input/>).   With a little more care I could even bring over things like AlternateText if I chose.

With this in place, now I can style consistently between my Text-based and my Image-based buttons without having to worry about inconsistencies in the rendering of the control.

Have fun,

Rob