On this page.... RSS 2.0 | Atom 1.0 | CDF
# Thursday, March 10, 2005

I was just talking (writing, actually) to some buddies about why we can't have multiple inheritance.  James Avery pointed me to this blog by Wesner Moise, discussing the complications and potential perf hits we could take with MI.  He says that Eiffel's done it using the compiler so that you can have default implementations for interface methods that get emitted where (I presume) you don't implement it yourself.

Truly, I don't care what we call it.  I just would like the convenience of being able to have default implementations of methods that can be shared among multiple types and can be overridden.  If you want to call it default implementations for interface, multiple inheritance, mix-ins, or whatever, I really could care less as long as I don't have to copy and paste the same code over and over (or maintain all those copies) or write calls to helper methods (and write the corresponding helper types and methods).

I also don't particularly care if it is two or three levels of indirection to make the call.  That's really getting a bit overly concerned with performance; developer time, my time, is far more important than a few clicks on the processor, even multiplied a novemdecillion times.  We can upgrade and scale out relatively cheaply, but we only have so much quality developer time.

Thursday, March 10, 2005 3:32:52 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  | 

Thanks to Server Intellect!  Ever since I put dotNetTemplar.Net up, I've just kind of tolerated that my activity tracking doesn't work.  It was one of those things where you just don't feel like hassling with figuring it out.  dasBlog was sooo easy to set up, I wasn't about to complain or spend much time messing with it, especially since activity tracking is not too terribly important to me--it's just a nice to have.

Fast forward a few months.  I keep getting told by Cindy that she's getting referrals from me, so I finally get fed up and decide to figure it out.  First of all, I upgraded to the latest version of dasBlog, thinking maybe there was a fix in the upgrade.  Not so, but I did get some nice perf enhancements and a CAPTCHA comment spam blocker (and yes, I know these aren't perfect, but they're better than nothing).  And I'm now getting emails for referrals as well.

So my next step, as any good developer will tell you, was Google.  Searching on "tracking not working dasblog" didn't turn up much.  I tried a few variations and found some blogs by folks talking about dasBlog and/or tracking, but nothing along the lines of what I was looking for.

Then I decided to log into the kickin' control panel for my Server Intellect hosting, thinking it might be some setting (probably permissions) that I could change.  Well, I found out I can't do everything in the control panel (i.e., change permissions on directories), but I did find out that the logs directory only had files from 11/21/2004-11/26/2004.  Bringing up those dates in my activity tracker actually showed data (wow!), so I then was almost sure it was a permissions thing. 

Since I can't change/check that myself, I emailed Server Intellect at 6:11am, asking them to check the permissions.  The response, which I received just about an hour later (I guess for once I'm up earlier than someone), was that dasBlog does logging under ThreadPool threads and that my site runs under impersonation.  The configured site impersonated identity has the requisite permissions to write to the logs directory (and the SiteConfig and content--hence most of dasBlog works); however, the ThreadPool doesn't inherit the identity of the impersonated user, so the logging threads couldn't write to the logs directory.  They granted the ThreadPool's identity those perms on the logging directory, and voila, I'm actually seeing activity tracking data again!

Of course, now knowing the problem, a Google search on "ThreadPool thread doesn't inherit the impersonation settings" brings up a blog by Omar Shahine that shows this isn't the first time Server Intellect (formerly EAServe) has run into this problem.  I guess they need to add a "are you running dasBlog" checkbox to their signup form so they know to enable this or perhaps add it to their KB.  I'm not complaining, though--as soon as I reported the problem, it was fixed. 

So thanks again, Server Intellect!  Now maybe I can figure out a way to get the ThreadPool to inherit the identity of the queuing thread without having to know the logon info for that identity...

Thursday, March 10, 2005 7:55:08 AM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, March 8, 2005
It's official: I'll be presenting Introduction to Object-Relational Mapping in .NET on March 23, 2005 at the Tampa DNUG.  If you're interested, please sign up to come at: http://www.fladotnet.com/reg.aspx?EventID=164.
Tuesday, March 8, 2005 10:01:02 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, March 7, 2005

It's a beautiful problem to have--trying to decide how to organize your code into namespaces (and even classes) meaningfully.  But it can also be paralyzing.  I think I could sit here for hours debating the merits of one way of organization over another until I come up with the perfect approach.  But then, I'd be wasting a lot of time.

So in order to avoid namespace paralysis and not waste time, here is one approach you can use to get past it and move on and yet leave it open to relatively easy change later.  Group related code into one namespace and then use using (Import in VB) statements in the consuming code to use that namespace.  Then if at a later time you find that perfect name for your space, you can change it and only need to update the using/Import statements.  Of course, you run the risk of naming conflicts at that time, but this isn't the best of all possible worlds either.  Deal with it. 

Don't know if anyone else runs into this problem, but I'm in it now and need to move on, so here's my pep talk. Hope it helps some other overly analytical types like myself. :)

Monday, March 7, 2005 2:08:14 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [2]  | 
# Saturday, March 5, 2005

After a few weeks of moving, moving the data center at GTE FCU (note the new HQ in the top graphic), moving to a new job, and moving to a new house--we're finally pretty much settled in.  The move of the data center, while a long and hectic week (especially for the infrastructure guys), went off quite well with little notable down time for the systems, and I just got my first paycheck from ASPSOFT this week.  We just finished hanging most of our wall hangings at home, and I'm writing this from my new study (yay! I've got a study! with a nice view!), hanging out with my five-month-old son.  It was a crazy few weeks, but I think it's over and I can find a good groove again.

Apparently, though, I don't have much on Jim Blizzard, who just moved down from the Northwest to join us Tampa nerds.  Welcome to Tampa, Jim!  Any friend of Joe's is a friend of mine. :)  Looking forward to meeting you at the upcoming Tampa Nerd Dinner!

Saturday, March 5, 2005 2:16:47 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [1]  | 
# Monday, February 21, 2005

Today my day was made much better when I saw the trailer for the new Hitchhiker's Guide to the Galaxy.  The previous movie was so bad--it put me to sleep, literally!  This one promises to be much better; it might actually be funny (like the book).  AWESOME!!

Monday, February 21, 2005 11:13:15 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [2]  | 

Someone recently asked about the usage of hyphens in response to my post about semicolons.  First of all, I'd say that technically speaking, I think the question revolves around dashes, not hyphens, although depending on the word processor, dashes are created by using hyphens (two, to be exact).  Now the question posed was how they differ from semicolons.  Simply put, dashes are used to interject additional information into the text with emphasis.  In fact, text set off with dashes doesn't even have to be an independent clause--you can put whatever you want here, almost! 

Semicolons, on the other hand, are not necessarily used for emphasis or even the addition of information, and they always, unless used in a list, require a complete, independent clause.  The semicolon is used to stress the relation of the current clause with what went before.  A dash is used to offer additional information, much like commas or parentheses can be used.  But the idea is that a dash means you want to emphasize what you're saying while commas or parentheses are used to offer additional information that can be ignored.

When I use or read a dash, I imagine the person to be speaking that bit emphatically--with emotion.  If I read something in parentheses, I imagine the speaker to be sneaking that bit in a hurried and low voice, almost as if the speaker didn't want you to lose sight of what is being said but thought it worth mentioning all the same. 

Recently, I've seen the use of the word orthagonal in various technical discussions when I think the meaning desired by the writer is more along the lines of tangential or peripheral.  The reason I bring it up is that this is what the parentheses are good for--mentioning information that is tangential.  Conversely, if one uses dashes, one wants the reader to pay attention--it is integral that this be read.  So I'd say the key associations are:

parentheses - tangential and hurried

dashes - integral and emphasized

(Oh, and by the way, a hyphen is used to connect multi-word terms and, in the past, for line continuation.  It's not the same thing as a dash, which introduces a phrase, although, as mentioned, you can use two hyphens to indicate a dash.)

Monday, February 21, 2005 11:05:53 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  | 
# Saturday, February 12, 2005

Steve Smith, El “Grande Tiempo” Presidente, did some much needed changes to the ASPAlliance site this week and just deployed them.  These, in conjunction with some database work we did a couple months ago, have really made the site fly.  I want to write an article on the changes I made to the database to help others out when their stuff is performing badly, but no promises!  Suffice it to say (for now) that you should just read up a bit on query tuning and indexing in general as well as lock contention and escalation. :)

Those of you who visited much in the months preceding circa November 2004 will know that it was in much need of help, but I think the site is looking great and functioning really well now.  Check it out and please let me know if you have any problems or suggestions.

Edited: You may need to CTRL-F5 to get the new stuff to display properly in case IE is caching the CSS.

Saturday, February 12, 2005 1:36:14 AM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, February 7, 2005

Last Friday (February 4th), I gave my notice at GTE Federal Credit Union.  I’ve accepted a position with the angryCoder’s company, ASPSOFT, Inc.  Nothing bad precipitated this event; it is just a matter of timing where I think it just makes sense to move into a more dynamic role, working with folks who are as interested in and as good (or better) at software development and .NET as I am. 

I’ve truly enjoyed my time at the credit union, and I still highly recommend it to folks looking for that kind of position.  I also completely recommend it as a financial institution—I’ve seen how they run the place, and I’ve got almost all of my finances with them now.  If you want a financial institution that is interested in you as an individual and offers great rates on loans and dividends, this is the place to be.

At ASPSOFT, I am looking forward to expanding my skill set further and engaging with diverse clientele while working with some of the best people in the business.  My first assignment, strangely enough, is going to be working with GTE FCU to finish out the main project I was working on.  I’m glad we were able to work this out because it is a win for everyone and will make a very smooth transition.

Going forward, I hope to expand ASPSOFT’s involvement in the Tampa area and beyond.  If you are looking for .NET architecture guidance from industry-recognized and published experts, be it through consulting, outsourcing, or training and mentoring, ASPSOFT can definitely help you out.  Give us a ring and let’s see what we can do!

Monday, February 7, 2005 2:39:55 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [5]  | 
# Tuesday, January 11, 2005
Tuesday, January 11, 2005 4:22:38 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [1]  | 

Disclaimer
The opinions expressed herein are solely my own personal opinions, founded or unfounded, rational or not, and you can quote me on that.

Thanks to the good folks at dasBlog!

Copyright © 2019 J. Ambrose Little