Rants Tagged with “Programming”

<<  <  1  2  3  4  5  6  >  >>  (Total Pages: 6/Total Results: 59)

Excellent Post from Tim Ewald about the Future of Web Services

   I posted a long winded reply, but it's mostly a love-fest response.  It is definitely worth a read.

Is AOP the TLA of this decade?

Much has been talked about how AOP (Aspect Oriented Programming) will change the world of developers.  Much has been hyped about how it is the deathnell of OOP and will finally bring us to "Secretary's can write programs..." that ushered in Components more than a dozen years ago.  Don't believe that hype.  Here is an interesting story dispelling some of those common misconceptions.
 
I am on the other side of the fence.  I am a skeptic by nature, so I think that AOP is a powerful tool that must be used with caution.  It can make debugging very difficult (IMHO).  But like XML in the 90's, it has its place but it will not cure all ills. 
 

Community Server 1.0 Released!

Nice alternative to .Text/DasBlog.  Includes Blog, Forum and Photo Gallery support.

Is Data Access Really This Hard?

I've been spending some time lately reviewing how companies are doing data access in .NET.  When I look at how most of them have crufted up solutions, I am amazed.  The model that Microsoft supports seems so obvious to me, but I am neck deep in it.  I'd like to hear from my readers their specific experience with creating data access in .NET; with an eye to why or why not use COM+ for transactions; Typed DataSet or DataReaders; Business Objects or Messages.  I am trying to understand where the community is.

Thanks in advance...

Enjoying Compact Framework Development

I've been bitten by the Compact Framework bug.  I am doing an upcoming talk at the Atlanta Mobility Users group so I've been working on some SQL Server CE code.  But it wasn't until I started to play with the SmartPhone SDK that I really fell in love.  I think the PocketPC form-factor is going the way of the calculator watch.  Having my PIM functions in a phone makes much more sense.  I truly love the form-factor of my Nokia 6800 with fold out keyboard, but for most of the apps I want, I have to use their clunky browser.  I started playing with the simplified UI of the SmartPhone SDK and I really like it.  In fact, I liked it so much I ordered a new phone; the Motorola MPx220.  I get it tomorrow, so i'll post a review soon!

SharePoint and "Debugging is not supported under this trust level"

This nasty problem confused the heck out of me.  Luckily I wasn't the only one.  James Saull ran into it on a machine with SharePoint installed (same as me).  Removing the virtual directory (or whole Virtual Server) from the SharePoint Application Pool got me 1/2 way there.  Last trick (as James mentioned in his blog), was to add the following to my web.config file: 
<trust level="Full" originUrl="" />

Wacked!

 

My Compact Framework Database Article is Up

My new article is up on DevSource about Databases for the Compact Framework.  Take a look!

Rico's Walkthrough of Finding Memory Leaks in the CLR (or your code)

I am blogging about this more so I have a place to find it if I ever need it...originally from Gunnerson's blog.  Great stuff Rico!

COM Objects and IDisposable?

I haven't dealt with a ton of COM interop up to this point in my .NET life.  I was surprised to find out that there is not a good story for deterministic deconstruction of COM objects...or maybe there is and I didn't see it.

What I've come up with is a bit of a hack to wrap a com object in a IDisposable wrapper so that I can use the using{...} syntax to determine Release() calls (not really destruction, but good enough for most cases).  The code looks like this:

/// 
/// Wraps an instance of a COM object in order to
/// provide deterministic deconstruction (or Release really).
/// 
public class DisposableCom : IDisposable
{
  /// 
  /// Public constructor to take a single COM object
  /// to call Release on upon Disposal.
  /// 
  /// 
  public DisposableCom(object comObject)
  {
    // Hack to allow us to Set a COM object that is initially null
    // but want only allow COM objects
    IntPtr typeInfo = Marshal.GetITypeInfoForType(comObject.GetType());
    if (typeInfo.Equals(null))
    {
      Marshal.Release(typeInfo);
      throw new ApplicationException("DisposableCom can only accept COM objects");
    }
    else
    {
      Marshal.Release(typeInfo);
    }

    _comObject = comObject;
  }

  ~DisposableCom()
  {
    ((IDisposable)(this)).Dispose();
  }

  private object _comObject = null;

  #region IDisposable Members
  void IDisposable.Dispose()
  {
    GC.SuppressFinalize(this);
    if (_comObject != null) Marshal.ReleaseComObject(_comObject);
  }
  #endregion
}

Can anyone find any holes in this idea?

"I Don't Do Patterns" et al.

I just read this blog entry for Michael Earls and it got me wondering.  I am one of these neanderthals that has been coding since before I could drive.  I see the value of “Patterns” as a common language to help solve problems, but I am not a huge fan of “Everything is a Pattern” mentality that peeked sometime in the late nineties.  I was talking to Chris Sells one day about patterns and we came to the conclusion that patterns are great because they created a common language for stuff that we've been using for years.  The problem comes in when a developer tries to fit every problem into the GOF patterns. 

At the end of the day, we all use patterns, even if we refuse to call them that.  Both extremes have their own problems:

  • “patterms are everything” developers tend to waste time trying to fit their domain problems into the GOF patterns;
  • “I don't do patterns” developers tend to miss the point of reusing common solutions for common problems.

“I don't think in patterns, but I certainly do them...”