Blog Home  Home RSS 2.0 Atom 1.0 CDF  
CoolTechU Blog - Friday, December 08, 2006
Technology, .NET, and Why It Rules My World
 
 Friday, December 08, 2006

Now that you created your lists, did your backups, signed up with a new host, and were activated with that new host, you are ready to begin the transfer:

  1. Create Domains: Each host is a little different, but all of them have an equivalent step to "creating a domain".  Start by establishing the domain for your least impacted site that at least crosses over some significant common features (website, e-mail, FTP).  In this way, you can test the effectiveness of a single transfer before committing to the rest.  This "one-at-a-time" approach helped me a couple of times over the past couple of weeks.
  2. Create Webs: Again, each host is a little different in how they let you set this up.  Some combine the "create domain" and "create web" step into one, and then allow you to specify "alias" domains to point to the original one you set up the web for.  Others keep these as separate steps, and allow you to set up and specify a domain as a "pointer" to another domain.  Again, try to review the host's control panel tool before starting the transfer process so that you are comfortable with the workflow.
  3. Create FTP Account(s): You'll need to set up at least one FTP account in order to start uploading your website content.  Some hosts provide you with an initial account to use, but for others, you'll have to set one up yourself.
  4. Find or Establish a Temporary URL: Here's another Catch-22.  You're ready to upload your content, but you're still hosting your site at the old host, and are not ready to transfer the domain.  Some hosts will provide you with a temporary URL, which may look something like this: MyDomain.com.Myhost.net.  Others require you to click a button to generate a temporary URL for the site.  Others may supply you with only the IP address of the shared host (most likely, on a budget plan, you'll be on a "shared host" plan, with several websites from several of their customers living on a single IP address).  Your login account would dictate the folder you'll be placed into upon FTP connection.
  5. Connect Via FTP: Different hosts will provide you with a different folder structure to use.  Some will give you a root folder in which you need to create a subfolder for each site.  Others will require that you place your initial website into the root folder, and require you to create subfolders for your additional sites (making it seem like those other sites are second class citizens).  Others will provide you a different FTP account to access each site.  Personally, I prefer the first option, because it allows the convenience of maintaining all sites from a single login.  You could usually create separate FTP accounts on your own, if you want other individuals maintaining sites they're responsible for, without having access to all the sites.
  6. Upload Site Content Via FTP: Most hosts provide a web-based control panel alternative to FTP, but those are usually very painful options that you should only use when in a bind, since you can usually only upload a single file at a time.  Others provide a web-based FTP client.  But with several free FTP tools available for download, I strongly recommend this option.  As you upload your content, save any database files for last.
  7. Setup Databases: Depending upon the host, you may need to "initialize" or "setup" database areas explicitly (look for options like MS Access, SQL Server, MySQL, ODBC, etc.) before uploading your database files.  Take care when doing this to understand the implications.  One host I used only supported FileDSN instead of SystemDSN, requiring me to change code before uploading.  I ended up resorting to non-DSN coding changes in this case, because it never quite worked through DSN.  Yeah, I'm using Access for one of my sites.  I know, I know.  I plan on rewriting that site soon, anyway.
  8. Set Web Server Settings: I'm only familiar with IIS right now, so I'll only mention that here.  Most control panels allow you access to the most commonly used IIS settings.  Anything not available via the control panel will require contacting technical support.  Start by setting up any virtual directories.  Then specify any "applications".  Then, specify the technology you will be running the site under.  These days, under IIS, you'll always have an option for ASP, you'll usually have options for PHP and CGI, and you'll usually have an option for ASP.NET 1.1 or 2.0.  Beware that some hosts only allow 1.1 OR 2.0 for a website, where others allow you to set this independently for each application.  On one of my hosts, I had to convert to ThinkJot for my blog instead of dasBlog, because the host did not allow for a mix of 1.1 and 2.0, and under 2.0, they did not allow for full trust rights.  ThinkJot is a converted version of dasBlog, equivalent in every way to dasBlog 1.8x except for the fact that it will run fine under medium trust.  A complete rewrite of ThinkJot in ASP.NET 2.0 is currently in alpha.  Then set the correct access rights to any folders for the site, if they stray from the default (usually when you need write rights).  Again, each host gives you different levels of control here.  In my current host, I had to give write rights to the entire site, just to be able to write content and log files under a couple of subfolders.  Finally, set any default page names you'd be using on the site.
  9. Test the Website: Now is the first moment of truth.  Try hitting the site via the temporary URL or IP address.  Keep in mind that some sites may contain configuration settings that point to a known "home page" URL for certain functionality.  In these cases, temporarily change the config file to point to the temporary URL or IP address, or just trust that if the home page works, the other functions will work after converting the domain.  It depends upon your comfort level at this point.
  10. Setup E-Mail Accounts: Now that the site seems to be working, you'll need to get the e-mail accounts setup to prepare for the cutover.  This can be a little tricky.  Setting up the accounts (lists, groups, forwards, etc.) is pretty straightforward (although some hosts require you to also specify a maximum mailbox size for each account, divided from your maximum allocation.  Still no big deal, and easy to change after the fact.  The tricky part is making sure that any leftover e-mail sitting at the old host can be accessed by everyone before cancelling the old host.  Usually, the old host's webmail can be accessed via a generic URL (only your e-mail account login should be required for accessing the old mailboxes).  I've had occasions where I was forced to go into someone else's mailbox and manually forward the leftover messages to their alternative address, in order to cancel the old host quickly.  I make it clear that I have access to other people's accounts for purposes such as this, only.

In my next post, I'll go through the steps for completing the transfer, beginning with the DNS change, and then discuss tying up any loose ends.

My Web Hosting Nightmares, Part 1 - Background
My Web Hosting Nightmares, Part 2 - Preparing for the Transfer
My Web Hosting Nightmares, Part 4 - Completing the Transfer
My Web Hosting Nightmares, Part 5 - My Continuing Story 

12/8/2006 3:04:20 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]   Web Hosting  |  Trackback

Transferring seven domains is an exercise in juggling, timing, and patience, not to mention frustration.  Frustration of learning a new control panel UI.  Frustration of knowing that some e-mail may fall into the great bit-bucket in the sky.  Frustration of e-mailing everone's alternate address to give instructions of how to access the new mail server, new webmail, new temporary passwords, new FTP accounts, etc.  The process can easily take a full day of coordination, especially if you hadn't done it in a while.  Because I've done it so many times these past two weeks (you'll read why), here's a list that you may find helpful if you find yourself in the same situation.  There may be tools out there to automate some of this, but remember -- this is for hosting on a budget (one of the reasons you may need to resort to this more than once), and you may not want to spend the money for utilities you may only use once or twice:

  1. Try Demos: Try out the sample control panel on the hosts' sites.  If you can't play around with a sample before joining, don't use them as a hosting company -- even if you already are familiar with the tools.  Any company who doesn't give someone an opportunity to experiment with their tools before joining them is festering with many more problems that you'll discover after you've already committed to them.  Make sure you can play around with their web hosting control panel and their webmail client.
  2. Select a Host: This is hard, and will need a post of its own one day.  I looked at about a dozen before making my first (mistaken) selection.  Just keep in mind one thing -- all these "web host review" sites should be taken with a grain of salt.  I have a hunch that several of them are plants.  You'll also find both good and bad reviews for about every "budget" hosting company.  It's the nature of the beast.  If possible, get a personal recommendation.  I wish I took that advice two weeks ago.  On a budget, it is quite rare to find a host with telephone support.  Some provide real-time online help, but too often that is just pre-sale, or it just seems too "robotic".  Most likely, you'll only get a first-line technician through this method.  It's even rarer to get a direct IM account for a support person (which ASPnix did provide for me).  E-mail support is the most you can really expect in a budget plan.  Normally, you'll only get a guarantee of 24 hour turnover, but you'll want urgent requests to be answered in an hour or two.  This is something you can only really test out after you sign up.  Never go by the pre-sale response time.  That will often be a lot quicker in order to obtain the sale.  GoDaddy was one of the few hosts I found that actually had very good phone support (which they encourage you to use).  But they have other issues, which I'll discuss in a later post.
  3. Sign Up: Pick a plan, and sign up for it.  If you don't know exactly what you need capacity-wise, you can usually upgrade (or downgrade) later.  But if you're facing a crunch, like I did (e-mail was down for days), you may not have any choice but to make a quick decision.  Even if you are parking temporarily until you can catch your breath -- sort of like renting a house when selling your old house while buying a new house.  Be aware that some hosts set your account up immediately, while others can take up to 24 hours.
  4. List of Old IP Addresses: Make note of the IP address(es) of your current sites -- for both the web address and the e-mail server address.  You'll need this to figure out early on when the domain name server change actually occurs.  More on this, later.
  5. List of Domains: Make a list of all your hosted domains; whether they're actual domains or just parked (aliased) domains pointing to another of your domains.
  6. List of E-Mail Accounts: For each domain, make a list of all the e-mail accounts hosted at each domain.  That includes all actual accounts, all forwarded accounts (and the addresses they're forwarded to), all groups (addresses that forward e-mails to multiple other accounts), and settings for each address.  You will not have access to passwords, so after you switch, you will have to assign temporary passwords to each account.
  7. List of Secondary E-Mail Accounts: Get secondary e-mail addresses from each person who has one of the above addresses.  This will be the only way you'll be able to send them details about the new account.  Yep -- Catch-22.
  8. List of FTP Accounts: For each domain, make a list of each FTP account and the folder rights each of these accounts have.  Yep...you've only begun the process...
  9. List of Websites: For each domain, make a list of each website, sub-web, virtual directory, technology required (.NET 1.1 / .NET 2.0 / PHP / CGI, etc), folder rights, database info (ODBC, connection strings, etc.), and any other server settings you may need to propogate to the new host.
  10. Lists of Everything Else: I covered the most common options, but you may use other tools, such as mailing lists, stats, SharePoint sites, etc.  Make a detailed list of everything.
  11. Stop Updateable Sites: If there are any sites that you want to retain history for, such as sites that log visits, create accounts, take orders, etc., replace the home page with a "temporary down" page explaining the situation.  Make it clear that you should be back up within 24 hours, and if necessary (especially for business sites), an alternate way to contact you in the meantime.  As I mentioned in my earlier post, you want to communicate very clearly with your customers.  Be honest with them about the situation.  Do NOT keep them in the dark.
  12. Backup Sites: If you haven't done so lately, make a complete current, folder by folder backup of all of your sites.  That includes any folders containing log files you may want to keep (such as for dasBlog and other similar sites), database files (that may be in a separate db folder off the root of each domain, etc.).
  13. Backup Backups: If the copy of your sites that you just downloaded to your hard drive is your only copy, then you know what you need to do next ;-). Backup, backup, backup.  Use whatever method you are comfortable with, and make TWO backups.  My rule of thumb is to always make at least two backups.  If you make only one backup, Murphy's law will ensure that it will always be bad.  Two backups always seem to result in two good backups.  Who knows why?  But it always seems to be true.  One of life's mysteries.

In my next post, I'll continue the list from the point of setting up your sites at the new host.

My Web Hosting Nightmares, Part 1 - Background
My Web Hosting Nightmares, Part 3 - Starting With a New Host
My Web Hosting Nightmares, Part 4 - Completing the Transfer
My Web Hosting Nightmares, Part 5 - My Continuing Story 

12/8/2006 1:01:24 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]   Web Hosting  |  Trackback
 Thursday, December 07, 2006

I've been hosting seven websites on a budget for several years, now, including this one.  I started out hosting these sites from my home -- I had a couple of servers and dedicated IP addresses over SDSL funded by my former consulting company, of which I was one of the owners.  Virtually total control (total control over the boxes; not as much control over the line).  But a headache.

Being responsible for keeping up the servers and the sites were never what I wanted to spend my time on.  We have a flakey power situation at my house.  When there's a hint of rain or wind, the power goes down.  Something about "old wires across trees" or some other similar excuse is what our electric company would claim.  And someone nearby always seemed to manage to crash their car into a pole holding up these lines, also causing an outtage.  Not an ideal solution for reliable hosting.  My company wasn't about to invest in a generator for me, either, so it was always touch and go -- especially when we went out of town for several days.  If the power went out, no one was around to restart the servers when power was restored.  So it was either downed sites (and, more importantly, e-mail) for the rest of the trip, or an early return home.  I was coming to an impasse.

Well, after I left the old consulting company, turning it over to my former partner, it continued to fund the line (around $250 per month).  But the reliability problems remained.  And just when it was getting where reliability was worsening, and I no longer wanted the responsibility of self-hosting, the company closed up shop, forcing me to find an affordable alternative.

I don't remember where I found the first host I tried -- it may have been a recommendation from a colleague.  It was ASPnix.  The price was right, and they even allowed me two extra domains (above the standard five).  They actually upped my limit to 10.  But at only $77.70 per year, something had to give.  There were several outtages over the year or so I was with them, but they were fairly responsive at first -- I even had IM access with their main contact, Roma.  Roma was very friendly and helpful, so even when they changed their policy for ASP.NET 2.0 sites to medium trust across the board, I stuck with them (and even changed to ThinkJot for my blogs, since dasBlog would not run under less than full trust).

But serious e-mail and server problems a few weeks ago brought my relationship with them to an end.  It wasn't so much that there were constant issues where the e-mail server kept going down.  That was tough enough.  The real problem I, and several other of their customers were having with them was their absolute lack of communication about the issues.  I still had some occasional IM contact with Roma, but it was harder to reach him.  But there were only rare posts on the site or forums about the issues, and usually very lacking of details.  They'd say the "problem was solved", with no explanation or anything.  And on top of that, the problem wasn't really solved.  The outtages kept happening, more and more, for longer periods of time, and less and less communication.  The comments on their forum were getting more derisive all the time, and they still didn't get the importance of customer service.

I finally reached Roma via e-mail and then IM, and he basically claimed that they were struggling with sudden issues with SmarterMail (the popular mail server they use).  Basically, they couldn't figure out exactly what the issue was, and implied that they were having trouble contacting the vendor.  When I cautioned Roma that they are risk losing customers more over the lack of communication than the technical issues, he stated a common claim that he was so busy trying to solve the issue, that he had no time to communicate about the issues with their customers.  Notwithstanding the fact that they definitely had a resource issue on top of everything else, I explained to him a concept I have learned over the years:

Users like progress bars in their software for long running tasks.  We are not as concerned that refreshing this progress bar may add a couple of minutes to the total operation.  As long as we have an idea of what is happening, and how much longer it should take, we feel in some sort of control.  We can decide if we can grab a cup of coffee, go to the store, or buy new software.  We may not be thrilled with how long it's taking, but at least we have feedback and can decide what the next plan of action is.  We're not left in the dark.

Similarly, we customers like progress indicators from our service providers.  We don't mind if it takes a few more minutes to solve the problem, as long as we understand what the problem is, what is being done to try to resolve it, approximately how long it will take, and what steps are being taken to avoid having the same problem in the future.  When we're kept in the dark, it is extremely frustrating, and every problem seems worse and seems to take longer to fix.  We're ready to jump ship ASAP.

When I explained this point of view to Roma, he seemed to get it.  He had recently posted on the forum for the intention for better communications going forward, but had seemed to forget that promise.  I was hoping that my analogy helped him see exactly why this was so important.  I reminded him that many people were only sticking with ASPnix because they always showed promise for a solid low-cost hosting solution, but that they were still risking mass exodus.

Unfortunately, after an initial limited post about the problem, the next two days were even worse.  Communications stopped completely, and Roma was no longer anywhere to be found on IM.  I finally had to switch hosting companies, and e-mailed Roma about my cancellation, asking for a full refund (even though the annual fee is normally not refundable) because I had just renewed a couple of weeks prior.  To their credit, Roma wrote me back to say that he understood, and they did, in fact, issue me a full refund.

I wish them luck in resolving both their technical and support issues.  As I learned at my next hosting company, their problem with SmarterMail was not unique, and neither is their problem with support.  I'll talk about that in a future post.  In the next post, I'll start to discuss the steps I take when switching web hosting companies.

My Web Hosting Nightmares, Part 2 - Preparing for the Transfer
My Web Hosting Nightmares, Part 3 - Starting With a New Host
My Web Hosting Nightmares, Part 4 - Completing the Transfer
My Web Hosting Nightmares, Part 5 - My Continuing Story 

12/7/2006 3:07:10 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]   Web Hosting  |  Trackback
 Wednesday, June 14, 2006

Microsoft's Somarsegar announced that Microsoft has officially named WinFX to be the .NET Framework 3.0.  There has been a tremendous backlash on his blog, but I think that people are completely missing the point and mixing apples and oranges.

Some people are complaining that it should be the .NET Framework 2.x (2.5, etc.), but I think it is way too significant, and warrants a major version number change.  After all, they are folding in WPF, WCF, WF and WCS (formerly "InfoCard").  That is huge.

Some people are complaining that they should come out with the CLR 3.0 and C# 3.0 at the same time.  Absolutely not!  These are completely different products.  The framework is a utilitarian type library assisting in writing applications.  That's all it is.  It's huge and indispensable, but it is just that.

C# is a language.  That's it.  Sure, it makes essential use of the framework, but it's been rumored you can write (albiet very simple) programs without the framework (not sure I believe that, though).  Either way, you can easily use it with other versions of the framework.  Saying that C# should be 3.0 is the same as saying VB should come out with version 3.0.  Didn't that happen over a decade ago???  The first VB .NET was really VB version 7.0.

And the CLR is just the runtime environment, and independent from the framework and the language.  Sure, they all have pieces that take advantage of each other and have some built-in hooks that take advantage of one another, but it is quite clear that you can have a mix of versions running together.

Sure, you can look at Microsoft Office, and point out that they release new versions of Word, Excel, Outlook, etc. together -- but that is packaged as a suite.  It's a different animal.

I, for one, agree with Microsoft, and it will help eliminate the confusion between WinFX and the .NET Framework -- because WinFX is really just more namespaces within the framework, and adds to our type library choices.

6/14/2006 3:28:31 PM (GMT Standard Time, UTC+00:00)  #    Comments [2]   .NET  |  Trackback
 Friday, April 07, 2006

Well, last night we did the Disney thing again, since the sessions ended pretty early.  We're into the calm rides -- you know, Spaceship Earth, It's a Small World, etc.  Our rollercoaster days are long gone.  We did want to do the new hang gliding (?) simulation at The Land in EPCOT, but the wait was too long.

Today was the final day at DevConnections, and it was a full day course that was worth the cost of the whole thing.  Juval Lowe taught the "Master C# and Visual Studio 2005" session, and who else but the master should teach this?  Wow.  Juval exudes confidence at a level some people may take as arrogance.  But that would be misinterpreted.  He is no-nonsense, get directly to the point, take no prisoners sort of guy, and I find it extremely refreshing.  And damn if he doesn't know his stuff!

I learned more about generics than I wanted to know, tips about VS that are great to know, more about iterators than you should be allowed to know, on top of delegate inference, anonymous methods, C# refactoring, and much more.  It is amazing how much this guy squeezed into a single day.  I can only imagine how I'd feel after taking a full week of IDesign (his company) master training.  Oh, and if you want to download a free, full version of "My" for C# ("That"), go to their site at www.idesign.net.  And you can download dozens of other great tools and examples.  These guys (and gals) are the masters.

I have not seen an entire class so transfixed for an entire day.  The concentration on every word Juval spoke was intense.  And you knew everyone was at full attention, because of the breakout of laughter just when Juval would sneak in a joke.  He has a wicked sense of humor that catches you off guard.

At the end of the session, not a soul moved.  When Juval asked if we had any questions, everyone sat transfixed, hoping someone would ask a question so the session wouldn't end.  After several questions, we finally did end, and a few of us went up to speak to him a while longer.  One guy asked him how we could learn to be better architects; what books he recommended, websites, anything.  Juval's answer could have been taken as a sales pitch for his company's courses, but it was very truthful -- he stated that the best way today that he could think of becoming a top-notch architect is to learn from a master.  He said that it was how he got to where he is today.  Earlier in his career, he had reached a plateau.  And only when he found a job where he found himself a mentor, did he begin to gain the knowledge and experience he has today.  I thought it was a nice contrast to his obvious current expertise that he admitted to needing a mentor himself.  He also made it a point to say that in order to become a successful architect, you must not be introverted.  You must become an extrovert, and excude the confidence you need to project in order to get to the next level.  I agree with him wholeheartedly.

Juval also made another interesting point, and again I'm paraphrasing here -- he said that his editor at O'Reilly told him that a book with the word "design" in its title is the kiss of death, and that's why there is very little material on architecture.  The money is in specific programming (read: coding) specialties.  He also has a strong opinion about the Microsoft Enterpise Library and their code blocks, in general (and he has a point).  He's not a fan because the people who wrote them don't work in real world apps.  He thinks that there's a lot of smart people at Microsoft who do a lot of things right when it comes to many of the tools, but that when coming up with real-world design solutions, they are the wrong people to be doing it.

I should have asked him why they haven't asked him to help.  He's worked closely with them, so why not help them come up with real-world tools?

Anyway, Yuval is a big reason why I look forward to taking an architecture course from his team.  In my opinion, nobody else in the world qualifies.  It's the next best thing to having him as a mentor.  Now, back to reading his book...

4/7/2006 3:25:48 AM (GMT Standard Time, UTC+00:00)  #    Comments [1]   .NET  |  Trackback
 Thursday, April 06, 2006

Another big learning day on Day 4.  I started with Michele Leroux Bustamante's "Patterns for ClickOnce Deployment and Versioning."  ClickOnce always seems so cool, and I learned things I hadn't from a few other prior demos.  I like the option where you can require the user to download the new version before running the application again.  This is especially useful in an enterprise environment in situations such as breaking changes to a database schema.  Keep in mind that this option nullifies the "revert to prior version" option when uninstalling, for obvious reasons.

There's a question I asked which Michele didn't know the answer for (she considered it a "blonde moment" -- her words, not mine -- she is very funny), so I have to try it out, myself.  You can publish an update that only updates selected components.  So my question was, if a user accidentally deletes required components of an app (even the EXE), would the updating technology automatically re-download the missing components, or only the newly published components.  I have a hunch we'd need a separate "full install" option that the user can use to back-fill.

Michelle is one of Juval Lowe's partners, and despite that fact they are both very funny (in completely different ways), they are as different personality-wise as you can imagine.  I'm looking forward to taking an architecture course from their company, IDesign, later this year.

The next session was Rocky Lhotka's "Disconnected Windows Forms Application Architecture."  I wanted to take this session to learn some alternative approaches to asynchronous processing; each strategy has its obvious and not-so-obvious applications.  This was definitely interesting.  I was considering MSMQ as an approach, and was also going to look into Microsoft's code block for this, but now I'm having second thoughts.  Web Services seems like a better approach, but I want to read up on this in more detail before taking on this challenge.  I also have to check out Rocky's updated book on his framework.  I've heard a lot of great things on .NET Rocks! about it.

Next came .NET Rocks! Live!, with guest Kathleen Dollard.  And like I mentioned after her session, she definitely rocks!  We had a relatively small crowd for such a hugely popular show, but when I reviewed the list of speakers for the same time period (Dino Esposito, Brian Noyes, Juval Lowe, Dan Appleman), it made total sense.  The scheduling gods screwed this one up.

But I just had to go to this session, considering that the show has had a huge impact on me over the past few years.  It was great finally meeting Richard Campbell.  Now I loved Rory Blyth as a host (he's bleeping insane), and Mark Dunn was great, also, but Richard is perfect, in my opinion.  He fits perfectly with Carl Franklin, his questions are on target, and he has a tremendous knack for being extremely explicit and clear in his questions and explanations.  I think the show has risen to a new level since he became co-host.

This episode was mainly to "catch up" with Kathleen, about what she was thinking about lately in the industry, code generation (her specialty), TDD, and several other topics.  This show flowed great (as everyone will hear soon when the download is available).  I also made my second (although unannounced) "appearance" on this episode with a comment about TDD at the start of the second half (if they don't edit it out, of course).  My first time was on episode 67, when I was in the studio for that recording, and all of a sudden Carl wanted my and my former business partner's opinion on pair programming.  I won't go into much detail about this session, because you'll be able to download it shortly.

I finished the day out with Microsoft's Stephen Toub's session on "Multithreading Changes in the .NET Framework 2.0."  Multithreading is a fascinating subject, but it can be overwhelming.  One day, I'd like to post some entries here to try to explain it very clearly.  But I have a lot to learn myself before I "grok" it.  He did a fine job, but there was a hell of a lot to cover, and the best way to learn this topic is through experimentation.  But the addition of the BackgroundWorker capability in 2.0 is enormous.  If nothing else, you MUST read up on this.  There is no more excuse to take chances with UI processing across a worker thread.

4/6/2006 1:45:41 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]   .NET  |  Trackback
 Tuesday, April 04, 2006

Day 3 was the best day overall, so far.  I started with Dan Wahlin's "Migrating from Web Services to SOAs".  He focused on the fact that SOA is an architecture strategy rather than a tool.  I think a lot of people equate SOA to Web Services, and that is a limited point of view.  WS may be the best way to implement SOA today, but we need to think of it like that -- just an implementation.  The more I consider SOA, the more I appreciate the need to look at this as an option for many enterprise solutions.  Like any other technology getting a lot of focus, though, I'm afraid that many people will try mapping everything to SOA solutions, and that would be a mistake.  I'll write about this more in the future.  Anyway, Dan had a lot to cover, and 75 minutes just doesn't cover it.

Next was Juval Lowe's "Programming Windows Comminucation Foundation - A Developer's Primer", which help define the latest generation of WS, remoting, etc., building upon Dan's talk.  Juval is one of the official "legends", and again he proved why.  He has a knack for clearly explaining complex topics, transcending any issues some people may have understanding him through his accent.  Each time he was on .NET Rocks!, I started out afraid he would be talking above my head, but each time I came away with a definite understanding of the topics he discussed.  I had the same experience with his articles.  My co-worker recommended taking a seminar of his for the past year, and ironically he paged me for help on a production issue exactly at this time.  I'll never let him live this down ;).

Next up was another legend, Dan Appleman, for "Tracing and Logging in .NET."  Wow -- I cannot believe I never made use of this stuff before.  My head is spinning with all the things we could have done on our last project.  This must get in next version.  But this is definitely one of those technologies you have to play with after the seminar to get a grasp on all the options (and idiosyncrities).  I highly recommend looking at the tracing technology in 2.0.

In a day of legends, Kathleen Dollard was next with "Improve Your .NET and Visual Studio 2005 Debugging Skills."  She clarified at the top of the session that this is not an advanced topic, and that a lot of it was teaching us how to think, instead of using the tools.  But it remained a standing-room-only session.  Kathleen rocks!  She goes 100 mph, and is very intense.  She pointed out several non-obvious tools.  Especially helpful was the Exceptions dialog available from the Debug menu.  I'm looking forward to seeing her on .NET Rocks! live, tomorrow.

Finally, there was the whacked-out Mark Miller and his "Extending Visual Studio" session, where he was showing off how you can easily add plug-ins to VS through his company's free tool, which name escapes me for the moment.  I'll post it as soon as I find it.  Within the last 20 minutes of the session, he added a drop-down in the code editor for displaying graphics in comments.  Between his hyperactive coding, and the use of his amazing CodeRush tool, you had to focus 100%, otherwise you'd miss it.  He'll make the code available for anyone who wants to play around with it.  Very cool stuff!

4/4/2006 10:26:56 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]   .NET  |  Trackback

Day 2 was a mixed bag.  The keynote given by Prashant Sridharan was entertaining, and I have got to check out the rest of the VS 2005 ad campaign he gave us a glimpse at.  The stats of downloads and popularity of 2005 is impressive.  I hope we continue to see the widespread acceptance of .NET in the field.  There will always be detractors, but there have been a LOT of converts.

The first session I was to attend was "Deep Dive into ObjectDataSource", and was supposed to be given by Stefan Schackow.  Unfortunately, there was a last minute change of speakers.  I don't remember his name, but he was very hard to understand, and rushed through the material.  He seemed to know his stuff, but I started nodding off way too often (even more than usual for me).

Adding insult to injury, when I got to the second session, which I was looking forward to ("Creating Dynamic Web Sites with ASP .NET 2.0 Web Parts", I discovered that it was swapped with the first session, so I missed it.  If I only knew -- I would have skipped the ObjectDataSource session for this.  Oh, well.  So instead, I went to Keith Smith's "Web Application UI Integrating Master Pages".  Keith was very good, with a lot of enthusiasm.  I wish he had time to cover everything he wanted; he seemed rushed in the second half.  I learned a lot from this.  I didn't realize how powerful this is.

I was pleasantly surprised when I realized Keith was also giving the next session I went to after lunch -- "Using Visual Studio Team System to Build Enterprise ASP .NET Web Applications."  My company is seriously considering TS, and this session definitely gave me incentive to look at this sooner rather than later.  I had bought the "Open Source .NET Development" book a day earlier (amazing selection of books being sold here, by the way), because I wanted to compare some of the incredible looking open source tools for agile .NET development as a possible alternative to some of the TS tools.  I had heard that MS's first try with TS was "nice try, but not quite there yet."  That may be true, but I still think it's worth diving into.

Next was Mike Hernandez's "The Power of Office Development in Managed Code".  I wanted to see MSTO in action, because we do some integration with Excel.  Mike was also enthusiastic, and MSTO is definitely something worth looking into if your company makes a lot of use of MS Office.  I just wish Outlook support looked more mature.  I'd rather hook into Outlook from outside it than creating plug-ins.  It's already overflowing.

I just had to check out Mark Miller and CodeRush at the DevExpress exhibitor booth.  He is amazing, a workaholic (claims he hasn't had a vacation in over 10 years), and a maniac!  He's also brilliant, and so seems CodeRush and Refactor.  I hope I didn't bug him too much with all my questions.  Probably not -- he recommended I come to his presentation later this week, which I planned on, anyway ;-).  I know what I want for my birthday!

Finally, I attended Scott Guthrie's session, "Tips & Tricks for ASP .NET 2.0 and VS 2005."  He is a legend, of course, and he has a great presence and delivery.  A lot of cool stuff -- and all the sample code and slides are already linked to on his blog (http://weblogs.asp.net/scottgu/archive/2006/04/03/441787.aspx).  He comes prepared!

4/4/2006 1:31:42 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]   .NET  |  Trackback
 Monday, April 03, 2006

Well, I'm actually a day late posting this.  My wife and I got in on Saturday to do the Disney thing, as per obligation for being in Orlando ;-)  I'm basically Disneyed-out from past trips.  I used to be addicted to Disney...but maybe that was tied to our daughter growing up a fan.  Anyway...

I attended the pre-conference all-day ASP .NET 2.0 hands-on session given by Paul Litwin.  I don't think he was on top of his game today.  He seemed perhaps jet-lagged and not as prepared as I've seen him in the past.  Dino Esposito was in attendance, and helped out a bit.  I did benefit from it, though.  Since I haven't been hands-on as I'd like these days, it's always a confidence boost when you can fly through all the labs.  Maybe there's still something left in the programming tank after all ;-)

The focus was on 2.0-specific data controls, master pages & navigation, and login controls.  These are core 2.0 topics, but they aren't very challenging.  But it was still a good refresher.

The free wireless connection supposedly supplied by the conference did not work at all.  We're still a couple of years away from true, reliable hotpoints, IMO.

4/3/2006 1:21:33 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]   .NET  |  Trackback
 Thursday, March 30, 2006

Well, not that many people know who I am, yet...

But this is something I've looked forward to for years.  The people presenting at this conference are stars to us .NET fans.  I mean, Scott Guthrie, Dino Esposito, Billy Hollis, Nick Landry (who I had the pleasure of meeting at the NY Code Camp recently), Julia Lerman, Michele Leroux Bustamante, Juval Löwy, Kimberly Tripp, the legendary Dan Appleman, Kathleen Dollard, Carl Franklin (who gave me a couple of minutes of fame with a short interview on episode 67 of .NET Rocks!  Ok, nobody remembers that ;) ), Rocky Lhotka, Mark Miller, Bill Vaughn -- I mean the people popping out of the front covers of our favorite books and .NET Rocks! episodes...you can't get much better than that, even at the Oscars!

Anyway, I hope to perhaps blog about it while I'm there.  Now I need some sleep (and to empty my mind for a lot of learning).

3/30/2006 1:28:34 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]   .NET  |  Trackback
Copyright © 2009 Mark Freedman. All rights reserved.
DasBlog 'Portal' theme by Johnny Hughes.
Pick a theme: