So I’m working with Silverlight these days.  It’s an excellent technology but it’s got a fairly steep learning curve.  For the past several years I’ve been working predominantly with ASP.Net.  As a matter of fact, I’ve really gotten pretty good at it!  In addition to all of the in’s and out’s of ASP.Net, including the page lifecycle, custom controls, etc, I had gotten really comfortable with CSS and I’ve even stopped saying “I hate JavaScript” and started liking it.  Of course, with JQuery, it is really pretty good to work with.  But I digress.

Anyway, all of that stuff I have learned is out the window now.  Silverlight is completely different.  The easy part is that all of my C# code goes right to the client, as well as running on the server.  So much for JavaScript.  But there is no HTML, no ASP.Net controls.  None of it (at least in the apps I am writing).  This is not an ASP.Net application with a little Silverlight mixed in.  The entire UI for this business application is Silverlight.  The only html/ is the page that hosts it.  So all of the UI is written in XAML.  XAML is cool and very powerful but takes getting used to and when you start with it, you are starting from scratch.  It’s not like writing a web app or a windows forms app at all.  But don’t get me wrong, I like it.

Anyway, the purpose for this first Silverlight post…

So I’m working along and things are going good.  My app is coming along and working as well as it should in the very rough state it is in.  After making a bunch of changes I fire up the debugger and run my Silverlight application in Internet Explorer.  “Hmmm, that’s weird, it shouldn’t do that” I think to myself.  I checked the code, and sure enough, it should not do “that”.  So I run it again. Same result.  My code is running without the recent changes I made.  Ok, I try a bunch of stuff, not necessarily in this order: Build my Solution, “Rebuild” my solution, “Clean” my solution, put obvious changes in my UI and re run it, restart Internet Explorer, Ctl-F5 to clear IE, try Firefox, close/reopen my solution, close/reopen VS2008, reboot my machine.  I probably tried a few more things but no matter what I did, the application continued to show the UI before my changes.  At some point in all of this, it became clear that my XAP file was not getting updated in my web project.  I tried deleting it, figuring that would signal Visual Studio to replace it when it builds again.  No luck.  I manually placed a current XAP file (from the Silverlight app) into my web project.  Now when I run my application is perfectly up to date!  So I am positive on the problem but unsure how to fix it. I figured that in my Property Pages of my Silverlight Application I’d find something telling me where/when/what to do with the XAP file.  But I couldn’t find it.  Next I searched the Property Pages of my Web Application.  Presto, there it is!  From a web application, select the “Silverlight Application” tab.  When I did the list of projects was empty!  I have no idea how it got to be that way.  But I clicked “Add” and the rest was self explanatory.  I picked my Silverlight project and selected where I wanted the XAP file to go. 



Technorati Tags: , ,

Last night at the Philly.Net meeting Rob gave a cool talk about Live Mesh.  I had heard of it before but hadn’t paid too much attention.  But now that I’ve gotten a good look at it, I am impressed.  So what can I do with Mesh?  Probably a lot.  But at first two things jump out.  I can synchronize files between multiple devices (my home PC, my laptop, a phone, etc).  Plus in addition to the files being synced, I can go to my Live Desktop and view the files there.  The Live Desktop is just a web site though, so it is accessible from anywhere.  So if I am traveling without my laptop and I want to access one of the files I’ve got in Mesh, I can get to them from any browser.  Cool!  But from my Live Desktop I can also connect remotely into my home computer (or any computer on my Live network). That way I can not only access files stored on that PC, but I can actually control the computer just as if I was sitting in front of it.  As a matter of fact, I’m doing it right now.  I’m blogging this from my home PC, but I’m sitting in front of my laptop. I’m connected via Live Mesh into my home PC and running Live Writer on my home PC.  Ok, file synchronization and remote desktop are nothing new.  But what makes this cool is just how easy it is. And it all seems to work very quickly too.  Very cool!  Rob also demonstrated some other cool features, like you can write applications to run on Live Mesh, and you can write applications that use Live Mesh.  Maybe I’ll get to that one day but for now, I’m having fun with Mesh and it is useful for me in business too.  Awesome.

If you are coming out to the Philly.Net meeting on Wednesday, don’t forget to bring some cans of food or other non-perishables.  We are collecting food to donate to a local food bank.  Steve Andrews will have the exact details tomorrow night.  All year round many people in our area are hungry.  Let’s try to make a difference tomorrow night by collecting a lot of food to help.  Those of us in the Philly.Net leadership have wanted to be more charitable for a while now, it is nice that Steve got this idea going.  Check out GeekFoodDrive for more details on the program.

If you have any other similar ideas and want to get involved, just let us know.

I used to be Andy the Employee, but now I am Andy the Contractor.  Ok, enough election puns.  Actually I would write more but I can’t think of any right now.

After many years of working as an employee, I have decided to become and Independent Contractor/Consultant.  What does that mean?  Well really it isn’t all that different.  From day to day, my job will still be the same but now I have to make sure I can find enough work to keep myself busy.  So I guess my job will be harder.  Plus I get no health benefits and I have to pay more taxes out of my paycheck.  Hey, this isn’t sounding too great!  Actually, a lot of software developers work this way and they seem to like it.  There are pros to this work model too.  You typically get paid more to cover the extra taxes, etc.  I hope that turns out to be the case.  And you get to choose the kind of projects you want to take on which is great.  I have worked for several consulting companies over the years and I didn’t always like the assignments I got, well now I am in control!

Now I have a lot of work to do and I hope to blog about the process.  I need to set up a company (incorporate), figure out how to track expenses and billing, and finish a list of other business management stuff.  I’ve been talking to a lot of people about the benefits of different business structures:  DBA (Doing Business As), LLC (Limited Liability Company), and S-Corp.  It seems that they each have different tax benefits in the order I listed them.  S-Corp has, from what I can tell, the best tax breaks but seems to be the hardest to manage.  I think most software developer types choose LLC because of the benefits/complications ration is pretty good.  I need to figure it all out.

Also, I plan on learning some new technology and hopefully some good blog posts will come of it.  In the meantime, here goes nothing…

We just got back from our family trip to see family in Phoenix, AZ.  Our annual Thanksgiving trip west includes us three plus my in-laws, Rebecca’s sister, her husband and their 3 kids heading out to visit family in Arizona.  We had a great time, it is too bad we only see Rebecca’s Grandmom, Aunt, Uncle and Cousin once in a while.  Ben loved the trip…he got a lot of attention which always makes him happy.  I wouldn’t exactly say he loved the plane ride but he behaved pretty well, all things considered. 

Thank you TSA: OK, I can’t believe I am going to do this, but I feel the need to compliment the TSA (Transportation Safety Administration) for a job well done over the holiday weekend.  What?  Yes, it is true.  When we departed from Philly, we were shocked to find out that they had implemented a family line!  The regular line wasn’t too bad but probably a 10-15 minute wait. But much to our surprise, we got to use the family line (thanks Ben!) and we moved right to the front.  Once into the screening area we found the staff to be friendly, courteous and very helpful.  Some of the TSA employees even helped us with all of our stuff!  I don’t recall it being like that last time, or ever.  Was it always staffed by TSA, or was it a private company before?  I don’t know what has changed but I say “Keep up the good work”.  Us bloggers are quick to complain on the web about things we don’t like, so we should also point out when things work well!  We found a similar situation in Phoenix on the return trip.

BOOOO US Air:  Speaking of complaining, it is time to do so.  US Air (and Airlines in general) have really gotten ridiculous.  OK, I get charging me for my luggage and even for a drink.  I don’t like it, but I get it.  But where is my movie?  We went on a five hour cross country flight and they couldn’t show a movie?  How about a few TV re-runs?  What about some kind of travel programming?  Even an infomercial would have entertained me!  How much does it cost to run that in flight entertainment?  There are commercials on it, so it can’t cost too much.  Don’t they know that if I had a movie it would have taken my mind off the fact that the flight stinks – the seats are too close together, the temperature is either too hot or too cold, they charge me for my meal, they charge me for a drink, they charge me for my luggage.  What’s next, a charge to use the bathroom?  OK, moving on…

Travel Tips:  Ben is 9.5 months old and isn’t the kind of kid who can sleep on someone’s lap.  So we got him a seat on the plane.  It is expensive but worth it.  So we brought his car seat on with us for him to sleep in.  It worked out pretty well.  The doctors say Benadryl is a no-no for kids his age.  Too bad, because it would have helped him relax.  Instead they recommend a dose of infant Tylenol prior to boarding the plane.  Ben is teething too, so that seemed like a good idea.  Remember that baby’s can’t clear the pressure from their ears like we do when the pressure of taking off or landing builds.  They recommend a bottle or nursing to help.  Timing is the key though.  It isn’t the actual landing or take off, it is the time when the planes altitude changes the most that counts.  That’s a big deal for a kid like Ben, who nurses pretty quickly.  If we time it wrong, he’ll finish and won’t be too happy with the pressure change.  Luckily that went ok.  During the flight he mostly slept.  We put the “hood” up on the car seat and covered more of the opening with a shirt, so it would be nice and dark for him.  By the way, the evening flight was much easier than the day time flight because the little ones expect to sleep more.  By the way, the last time we flew Ben was only about 3.5 months old.  That time, he slept great because we used the Baby Bjorn to keep him snuggled up with us for the whole flight.  We didn’t bother to get him his own seat because he was really little.  He was so happy on that flight lying on us!

Oh yeah, Arizona:  As I said, Ben loved the trip.  He got to sleep in a hotel, eat in a lot of restaurants, see Great Grandma, play in her house, sit by the pool, stay up late, and play with the whole family.  One night he got to go play with his Bubbie and Zeyda (Grandma and Grandpa) while we went out to dinner.  That was great!  The weather in AZ was not too great (cool and rainy) and over a few days there, we spent about 2 hours total at the pool.

I know, you just want to see Pictures of Ben.  Here you go: (Don’t forget, you can click the photos to see a bigger version)

DSC03815 DSC03840 DSC03844 DSC03848 DSC03781 DSC03856 DSC03853 DSC03851 DSC03862