Lambert on Development

My thoughts on software development

Lambert on Development RSS Feed
 
 
 
 

Smashing Magazine on Mastering CSS Coding

Cascading Style Sheets (CSS) are critical to web layout these days.  If you do any web work at all, you owe it to yourself to have at least a passing knowledge of CSS, while most of us need a solid grasp of the subject.

css_example_smJust because CSS is nearly ubiquitous, however, doesn’t mean that it’s easy.  In fact, CSS can be just about enough to drive you batty when it’s not working the way you expect.  In those moments, in can be helpful to go back to basics and make sure you’re not missing something important.

Whether you’re learning or refreshing, Smashing Magazine has an article that just might help you out: Mastering CSS Coding: Getting Started.  This certainly isn’t a comprehensive reference, but it’s a great high-level overview.

Post to Twitter Tweet This Post

CSLA – free anti-obsolescence toolkit

Microsoft Silverlight
Image via Wikipedia

Rocky Lhotka recently announced another CSLA upgrade.  One of the features in this release is support for data annotations that work in both WinForms and SilverLight.  Yesterday, Rocky blogged about this implementation (Leveraging data annotation attributes in CSLA .NET).

While this feature is pretty cool all by itself, it’s easy to miss the real win here.  Looking back at the features that Rocky’s added to CSLA over the last few years, there’s a constant stream of technology-enabling features.  If you’ve built to this framework (and stayed reasonably current with new releases), you’ve gotten a free pass to take advantage of everything from remoting to WCF to data binding to SilverLight.

Here’s a news flash for you — that’s exactly why you get on board with a framework.  You don’t get this with design patterns, and you don’t get this with software factories.  Frankly, you don’t get this with a lot of other frameworks, either.

Well done, Rocky, and thanks.

Reblog this post [with Zemanta]

Post to Twitter Tweet This Post

My development fabric is unraveled

I’m a few days into working with the Azure July CTP, using Steve Marx’s excellent PDC presentation as a bit of a primer.  I’m following along with Steve’s presentation, and it was working just fine for a while.  I had a working Azure app, using an MVC front-end, and I was reading and writing images as blobs from the local development-version storage pools.

Then, the next thing I knew, I was busted:

Role instances did not start within the time allowed.

Role instances did not start within the time allowed.

I shut down the Development Fabric, as instructed, and even restarted my machine, to no avail whatsoever.  I started Googling this error, and found a handful of other people who’ve seen this error, too.  I even found a bug logged on Microsoft’s Connect site, but no solution has presented itself.  There’s an event (3006: Parser error) logged every time I try to start the app, but that’s the sum total of the clues I’ve got to go on with this one.

So far, I’ve tried tearing out all the stuff I’ve added to the project since it was last working (which didn’t help at all), I’ve tried blowing away and recreating the storage pools (no joy), and I’ve tried creating a brand-new Azure project (which worked).  Thus, I’m forced to conclude that something caused this particular project to be irreparably hosed, but I’ve still got no idea what caused the problem.

This could really slow me down…

Reblog this post [with Zemanta]

Post to Twitter Tweet This Post

Azure isn’t supposed to do this!

I’m doing some research on Azure (finally playing with the bits), and in the process, spending some time cruising Steve Marx’s blog.  Steve presented some Azure stuff at PDC earlier this year, and there’s some great stuff on his blog if you’re working with Azure for the first time.  One of the things you’ll learn if you watch his PDC stuff is that his blog is, itself, built on Azure and running in the cloud, so it should be a showcase for all of Azure’s scalability claims.

Thus, it was with great surprise that I clicked a link and saw this Azure app apparently taking a dirt nap:

This webpage is not available.

The webpage at http://blog.smarx.com/?ct=1!8!c21hcng-/1!48!MjUyMTc1NjA1Nzk4NDI2NzA1MiBhdC1sYXN0LS1zcGFtLQ– might be temporarily down or it may have moved permanently to a new web address.

I refreshed a couple of times, to no avail, and finally tried going back to the home page, which worked fine.  I’m still not sure exactly what went wrong, but it would appear that the god-awful token that was used to track my navigation got lost in the cloud somewhere.

The lesson here?  For production apps, you’re still going to need to build your Azure apps defensively, and make sure that customer-facing hiccups are handled in a user-friendly fashion.  As a user, I don’t know (or care) if this error was an Azure failure or a failure of the app that’s hosted on Azure.  This isn’t a dreadful error when I’m browsing a blog, but it could have been if I’d been paying bills or making an online purchase.

Post to Twitter Tweet This Post

Revenge of the Private Cloud

Back in February, amidst the news about Microsoft’s new Azure platform, I asked why the concept of Private Clouds seemed to be either dismissed or ignored as a viable Enterprise strategy (see also “PDC Reactions” and “Could Azure be self-hosted?“).

PrivateCloudYesterday, I learned that there’s hope, after all.

I happened to be in the office for one of our internal MS development “user group” meetings, and we were lucky enough to have Brian Prince stop in to talk to us about Azure.  The talk was great – he demo’ed a super-simple sample app that really helped make some of the Azure concepts real, but one of the things that caught my attention was only mentioned in passing: Microsoft is bringing Azure technology to private data centers.

Point #1 — boot from VHD.  This is a cool little novelty item in Windows 7, but it turns out that its origin is really the Azure team.  This is how they spin up instances for you, and it was a cool enough idea that the Windows team built it into Win 7.

Point #2 — Yes, Microsoft is going to power private clouds.  Mark my words: this is going to be big.  In fact, why don’t you leave yourself a reminder to come back here in about five years so I can say, “I told you so.”  This is absolutely one of those technical announcements that’s completely underwhelming at introduction because it’s so disruptive that people don’t know how to deal with it.

When you read about MS’s Private Cloud products, watch for the bit about chargebacks.  You’ll probably miss this the first time you read it.  Again, this line-item doesn’t mean too much until you consider that this technology is coming from Azure.  You know — Azure — the platform where you can rent capacity and Microsoft sends you a bill at the end of the month.  How’d you like to be able to do that for your internal customers?  I thought so.

So what’s an architect to do if this technology won’t be fully appreciated for a number of years?

Simple.  Learn the basics of the technology and start architecting for the cloud even if your app and the cloud aren’t quite ready for one another.  Specifically,

  • Look at how cloud apps scale.  The way storage and processing scale in the cloud is different than what you’re used to.  Figure out what that means, and design to be compatible with this.
  • Revisit your storage assumptions.  Azure is going to support SQL Server, but it’s clear that SQL Server isn’t the 100% brain-dead automatic end-all-be-all storage choice that it once was.
  • Get comfortable with messaging and queuing.  This is how cloud components are connected.
  • Get comfortable with threads.  This should be on your list anyway, because of the rise of multi-core processors, but if you understand thread management, you’ll be more comfortable with processing threads distributed across the cloud.
  • Think about chargebacks.  If you’re suddenly able to track processing and storage utilization with great ease and accuracy, what does that mean for your shared applications?  How would you split up costs for services that are shared across departments?

There are some really powerful concepts here that are just starting to emerge, and now is the time to start wrapping your brain around them.

What can your enterprise do with private clouds?

Reblog this post [with Zemanta]

Post to Twitter Tweet This Post

Similar Posts

Google Reader

Blogroll

Blog Directories

 
Programming Blogs - Blog Catalog Blog Directory
 
Computers Blogs - Blog Top Sites
 
Banner
 
Lambert on Development - Blogged

Popular in .Net Development

Recent Posts

Popular Posts

Support this Site

Featured Articles

Lijit Search

Lijit Search