joeware - never stop exploring... :)

Information about joeware mixed with wild and crazy opinions...

4/14/2011

joeware support model modification

by @ 6:58 pm. Filed under general

I hope no one feels they can honestly argue the point, but as a general rule I feel I truly like to help people; I would think that should be obvious based on the last decade of tools I have made freely available, the sharing of tons of possibly quite valuable information on this blog and other public forums, and who knows how many unsolicited direct emails I have received and responded to over the last 10-15 years.

That being said, it isn’t all an act of altruistic servitude. In part, receiving and responding to the emails has been fun for me and I used to often learn new things from the emails to boot. I can’t count the number of times someone would explain a situation to me and I would sit back and think, there is no way it works like that, only to test it and see that indeed, it does work like that whether that it was one of my utilities or more often, a Microsoft product I am familiar with.

To me, learning is always fun except when it involves learning from bad experiences like “Hey if you hit a sheet of ice when your car is traveling at 60 MPH the outcome is not generally good” or “don’t loan money to a friend because they are fairly likely to take advantage of you“. That learning and fun and just touching base with people around the world who have similar interests has always been enjoyable for me. That joy has value to me. Makes the time spent reading and responding worth it versus spending the time on other things.

Unfortunately, a trend in email question quality I started detecting maybe 5 years ago has been accelerating at a fierce rate the last couple of years and it has gotten to the point that a vast number of the emails I am receiving now are more irksome than happy making for me and pretty much a waste of time.

Those long time followers of this blog and anyone who has spoken to me in person is aware of this trend and my thoughts on it. But for the rest… The trend is people asking very basic questions that they could easily boogle[1] for the answer or asking me how to do their job properly when their boss gives them an assignment to figure something out or several other things that truly have no value to me at all, simply someone who doesn’t or can’t put in the work and are using me as their phone a friend.

As many of you know, I already have a job in IT, I don’t need to be doing other people’s jobs for free. Especially, and this may sound mean spirited but isn’t intended to be, but especially I don’t need to be spending my valuable spare time doing for free the job of people who have taken the jobs of friends and future friends of mine who did a better job but cost more. I won’t speak any more on that specific topic other than quality workers can and should cost a company some quality money. Don’t go into Morton’s Steakhouse, order a steak, and then demand McDonald’s pricing – you won’t get it. Alternately, don’t walk into McDonald’s and order a cheeseburger and then try to demand Morton’s quality – you won’t get it. If you want McDonald’s pricing, you get McDonald’s quality. That may work for you, it may not. But if it isn’t what you wanted in the long run, you can look in the mirror to see who to blame.

With all of that being said, below are the changes I am implementing. Note that these changes are, like everything involved with joeware, completely and utterly up to my final discretion. I make the tools, I do the work, I define the results. I am open to people stating other opinions and may even change future directions based on those opinions but, in the end, if you come to me, you are asking me to be the sole arbiter of anything that I do for you. That is the most succinct way of stating the EULA’s of most if not every company out there. Don’t believe me, go into any Burger King (which does it your way) and ask for a Coca Cola without High Fructose Corn Syrup and a turkey burger with sliced kohlrabi chips and see how far you get.

joeware support policy change

  1. Any request for help will be reviewed for quality. If I am ok with the quality and the request, I will respond as previously.
  2. If the quality is poor based on my sole judgment, I will decide whether or not to go forward with it. If I chose not to go forward at all, I will likely respond with an email that says, I can’t help you and possibly a link to this blog post.
  3. If I determine that the request is of the type “I don’t have time or energy or know how to go look this up myself” and I decide I am willing to help I will respond with this blog post and request that you donate $300 USD to the joeware tip jar located on the top left corner of the blog where it says tip jar: and PayPal Donate. That donation will result in me being willing to spend up to 30 minutes of my personal spare time in responding to the email, the amount of time is up to my personal discretion.image
  4. If I determine that the request is of the type “Tell me how to do my job”, the same results as #3.
  5. If I determine that the request is of the type “We want to add a feature or capacity to a product or make a new product  but we don’t know how to and we want you to tell us how to do it”, I will send a link to this blog, request that you donate $600 to the tip jar and then be willing to spend up to 30 minutes responding to the email.
  6. If the request is to get me on the phone[2], put $10,000 in the tip jar before even sending the email. I will then consider it.
  7. If I determine for any other reason that I want to, I will send a link to this blog post and the donation request with some arbitrarily defined amount for the tip.

 

I have wide discretionary powers in what I will and won’t deem poor quality and what I will and won’t deal with. Even before this “policy change” if the email was poor enough, I would only be helpful enough to send back a response that would be useful to someone who could and would try to figure something out. This just solidifies my stance, makes it public, and offers a mechanism to change my mind on what kind of response I would like to produce.

 

For everything else…

If you have found a bug in one of the tools, please email me. If you have an idea on something to make one of the tools better, please email me. If you have an idea of a new tool that needs to be written, please email me. Note that all of those emails and the associated ideas become MY property the instant they hit my inbox. You can tell anyone you like that you made the suggestion but for all legal and fiscal intents and purposes, they are my intellectual property.

Finally if you just want to say hi and/or that you found the tools or information or whatever useful or humourous or has made your life better, definitely feel free to email me – and don’t forget the tip jar. ;o)

 

      joe

 

[1] The term boogle is what I use to describe using either Bing or Google to search for something. Yes I realize there is a website out there called boogle.com which just does a Google search but I think boogle sounds better than ging.

[2] I get about 10-15 of these a month. If people want to donate the right amount for this, then hey, I can retire and spend full time on joeware.

Rating 4.87 out of 5

4/13/2011

Turtle Abuse!!!!

by @ 6:55 pm. Filed under humour
WTF!
Rating 3.00 out of 5

4/12/2011

ADAM… you have let me down. Sigh. :(

by @ 6:01 pm. Filed under tech

Yes that was a dramatic title, but I wanted you to read this.

I love Active Directory Application Mode and everyone who reads this blog knows it. However, I was let down today. I was automating the creation of an NC in a way that I hadn’t previously done. Actually it was automation of several NCs all for a single data management/reporting function and it will in the end, hopefully be a cookie cutter thing that I can deploy and redeploy as necessary. But enough about that…

So I built the initial NC manually, a series of AdMod commands and some scripts that built out the structures via more AdMod commands. Then I exported the structures with AdFind to a CSV file. Then I tried to import that CSV file and KahBlammie… It blows up on the first line which is the NC instantiation itself…

Basically I tried to create with the following (this isn’t in CSV Mode, this manual troubleshooting mode):

admod -hh . -add -b cn=ADAMRocks objectclass:++:top;container instancetype::5 –exterr

All seems ok with that though it is a little different than if I had typed it out by hand, more on that in a bit.

 

The error you ask?

DN: cn=ADAMRocks…: [DellLT17] Error 0x35 (53) – Unwilling To Perform

Extended Error: 00002079: SvcErr: DSID-03330A1A, problem 5003 (WILL_NOT_PERFORM), data 0

Error 2079…

  ERROR_DS_BAD_INSTANCE_TYPE                                    winerror.h
# The specified instance type is not valid.

Huh?

As I mentioned above, the command used followed what I was doing in CSV from an export, it differs slightly in what I would do normally if I typed the command manually and that is:

admod -hh . -add -b cn=ADAMRocks objectclass::container instancetype::5 –exterr

 

So I tried that and voila it worked. The whole issue is simply around how objectClass is being processed for the root object for the naming context. Once that one object is in place properly, the rest of the import for all of the other objects works perfect and they ALL have objectclass specified as a multi-value attribute.

So I didn’t see anything else I could do other than to tweak the CSV file. I am certainly not going to modify AdMod to try and account for this as that is getting a bit too touchy feeling with modifying what someone types in[1].

Anyway, I thought I would document it here so the next time I forget about it and hit it I can come back here to my long term memory store and read about what I did the last time. Winking smile In the meanwhile, perhaps it will be useful to someone else as well.

    joe

 

[1] Yeah there is some sort of balance I am trying to keep in place between what the user types and what the user might possibly intend.

Rating 3.00 out of 5

4/5/2011

joeware call home?

by @ 7:04 pm. Filed under tech

Just received this email which is the first of its kind that I have seen but wanted to give a global response in case anyone else has a question about it…

From: Steve [mailto:xxx@xxx]
Sent: Monday, April 04, 2011 8:11 AM
To: joe@joeware.net; support@joeware.net
Subject: What is causing the traffic?

Joe,

You tools are excellent!  I especially like the ‘OldCMP’ utility and your ‘staff’.  I have one question/concern….  I occasionally see a lot of traffic going through our content filter from joeware.net to my computer under my login.  What is causing those hits/ traffic?  This is happening even when none of your programs are in use.

Thank you,

Steve

My response was that I don’t know what it is, the joeware utilities DO NOT CALL HOME. Never have, I can’t say they never will but I will tell you very clearly if they start on the download page for the tool and likely in the blog as well where I will also explain why. I wouldn’t do that without some very seriously good reasons behind it. 

Rating 3.00 out of 5

Happy Birthday!

by @ 3:07 pm. Filed under general

Happy Birthday to my very old friend Deano. Smile 

If you are in Redmond, stop by and ask him if he needs a full walker or just a walking stick.

 

    joe

Rating 4.00 out of 5

Purple Martins are on the way!

by @ 12:28 am. Filed under general

http://purplemartin.org/scoutreport/

Rating 3.00 out of 5

4/1/2011

A Letter to the Men’s Helpline

by @ 6:00 pm. Filed under humour

Hi Andy, I really need your advice on a serious problem: 

I have suspected for some time now that my wife has been  cheating on me. The usual signs: if the phone rings and I answer, the caller hangs up. She goes  out with the girls a lot. I try to stay awake to look out for her when she comes home but I usually fall asleep.

Anyway, last night about midnight I hid in the shed behind the  boat. When she came home she got out of someone’s car, buttoning her blouse, then she took her panties out of her purse and slipped them on.

It was at that moment, crouched behind the boat, that I noticed a hairline crack in the outboard engine mounting bracket. 

Is that something I can weld or do I need to replace it?

Sincerely, 

Pete

Rating 4.50 out of 5

3/31/2011

Auto Incrementing Build Versions for c++ applications in Visual Studio 2010

by @ 11:32 pm. Filed under tech

Visual Studio 2010 has been a bit annoying for me. Some basic things that Borland has done for years isn’t handled by the built in functionality.

The issue I dealt with tonight was auto incrementing the build numbers for the executables. Again, in Borland/CodeGear C++ Builder you simply go to the tab with the properties of the application (or DLL) and simply click a check box saying you want a version number, specify the version number, then click another check box saying you want auto-incrementing of build numbers.

Where is that in VS2010? Couldn’t find it. So then I look at third party VS extensions. I find a couple of them, I install each in turn, neither seems to work. I look at a KB article from MSFT which I had no intention of going through all of that work so then I just wrote a quick and dirty perl script to do it that I attach to the app build process through a Post-Build Build event in the property sheet for the app.

Here is the script with its q-n-d instructions on how to use

#
# Quick and Dirty Script to implement a basic feature that Visual Studio should have
# that Borland has had for at least 10 years… Auto Build Version Increment
#
# Note that if there are any unicode characters in the version resource script file
# they will be screwed up after this runs.
#
# To get Visual Studio to execute, add
#      perl f:\dev\perl\vsBuildIncrement\vsBuildIncrement.pl $(ProjectDir) quiet
# to the Property Page for the app under All Configurations and All Platforms
#
#

$path=shift;
$quiet=shift;

@out=`dir $path\\*.rc* /b`;
chomp @out;

foreach $thisfile (@out)
{
  $updated=0;
  $filepath=$path."\\".$thisfile;
  if (!$quiet) {print "Processing $filepath…\n"};
  @file=`type $filepath`;
  map 
   {
    $thisline=$_;

    # FILEVERSION
    #  FILEVERSION 1,0,0,0
    if ($thisline=~/(.+)FILEVERSION (\d+),(\d+),(\d+),(\d+)/)
     {
      $newline=$1."FILEVERSION $2,$3,$4,".($5+1)."\n";
      if (!$quiet)
       {
        print "Replace\n";
        print "   $thisline";
        print "with\n";
        print "   $newline";
       }
      $updated=1;
      $_=$newline;
     }    

    # FileVersion
    #              VALUE "FileVersion", "1.0.0.0"
    if ($thisline=~/(.+)VALUE \"FileVersion\", \"(\d+).(\d+).(\d+).(\d+)\"/)
     {
      $newline=$1."VALUE \"FileVersion\", \"$2.$3.$4.".($5+1)."\"\n";
      if (!$quiet)
       {
        print "Replace\n";
        print "   $thisline";
        print "with\n";
        print "   $newline\n";
       }
      $updated=1;
      $_=$newline;
     }    

   } @file;

  if ($updated)
   {
    open OFH,">$filepath";
    print OFH @file;
    close OFH;
   }

}

Rating 4.00 out of 5

Lucas Films Data Center Video

by @ 10:39 pm. Filed under tech

http://www.datacenterknowledge.com/archives/2011/03/28/to-the-deathstar-tour-of-lucasfilms-data-center/

Rating 3.00 out of 5

Couple of Domain Local Group guidelines, free of charge…

by @ 7:03 pm. Filed under tech

Try not to use Domain Local Groups to grant READ access to data in any partition that can replicate to domain controllers outside of the Domain Local Group’s scope. This can cause a very inconsistent experience and absolute  chaos for anyone affected by that permissioning.

Like data that can go into the PAS of a Global Catalog or something that lives in the Configuration NC or App NCs that span domain controllers for multiple domains (like DNS App NCs).


ABSOLUTELY DO NOT USE Domain Local Groups to grant WRITE access to data in any partition that is writeable on domain controllers outside of the Domain Local Group’s scope.

Like data that lives in the Configuration NC or App NCs that span domain controllers for multiple domains (like DNS App NCs).

 

     joe

Rating 3.00 out of 5

[joeware – never stop exploring… :) is proudly powered by WordPress.]