Follow me on Twitter at Twitter.com/wbm
FYI, I'm blogging most of my stuff over at More Wally now.
You might want to add my rss feed to your reader at:http://morewally.com/cs/blogs/wallym/rss.aspx
June 2006 - Posts - Wallace B. McClure

Wallace B. McClure

All About Wally McClure - The musings of Wallym on Web, HTML5, Mobile, Xamarin.iOS, Xamarin.Android, and Windows Azure.

News

Visual Studio Magazine Column Personal Blog

.NET

Book Authors

Business

Family

Friends

Georgia Tech Bloggers

Personal

Archives

June 2006 - Posts

Atlas June CTP is out

http://atlas.asp.net/default.aspx?tabid=47&subtabid=471

The Atlas June CTP is out.

The Information Technology (IT) Body Shop Scam

http://morewally.com/cs/blogs/wallym/archive/2006/06/29/106.aspx

In the IT world, there are these businesses that are called body shops.  They are a mechanism for companies to use people without having to about several factors:

  • Managing Individual contracts.
  • Insurance.
The problem with these types of organizations is that the people that work for them are typically are in and out looking for the quick buck

Today, Infoworld had one of the few editorials that I mostly agree with.  The fact that I find Infoworld terribly wrong on many things is a different discussion.  The editorial cast a fairly bad light on these body shops.
Some of the quotes are rather interesting:
  • An ugly truth about the IT job market is that opportunists too often dominate it. Honest employers and job candidates suffer because they’re forced to compete with cutthroats. Black hat employers see workers through the lens of the recession -- as property to be loaded, spent, and replaced like rounds in a Gatling gun.
  • An employer who uses boiler-room agencies to look for help misses out on prime prospects, and can end up with the agency’s dregs: joyless workers who came your way only after being run once too often through the agency’s soak cycle. But then, if you use contract-to-hire, you get what you deserve.
I remember back when I first got interested in writing my first book.  This girl from this body shop asked me to go to breakfast.  During breakfast, she made the deragotry comment "Why would you ever want to right a book?  At the end of the day, just go home."  The discussion pretty much ended at that point. 

I recieved a call from a body shop guy just a few weeks ago.  The only reason he got my info is because of a violation of a contract we have with another company, but thats a different story.  He gave out the old and tired shtick of how great I was (Obviously, he hadn't bothered to Google for me because he didn't know that I had written one book, let alone three.  He didn't know what a podcast or a blog where, geez what a loser.).  Since he had not done his homework, I also had to explain to him rates and what intellectual property is.  You can imagine how that discussion went.

Don't trust them and I don't like them.  They're in and out for the quick buck.  Me, I believe in the long term.  My suggestion is not to get wrapped up with them folks.
ASP.NET Podcast Show #57 - Wally on Interfaces

Subscribe.  You KNOW you want it.

 

Download.  Kinda like your father’s Oldsmobile.

 

URL: http://aspnetpodcast.com/CS11/blogs/asp.net_podcast/archive/2006/06/29/340.aspx

 

Show Notes:

namespace CallingInterface

{

      /// <summary>

      /// Summary description for Class1.

      /// </summary>

      public interface ICalling

      {

            bool GetConfig();

            bool Start();

            bool Stop();

            string Test();

            string ConfigFileLocation

            {

                  set;

                  get;

            }

      }

}

Dynamic Loading & Calling a mehod
      string strConfigFile;

      string strType = String.Empty;

      ArrayList aryListClassInfo;

      cLoader objLoad = new cLoader();

      AssemblyTypeClassInfo atci;

      strConfigFile = objLoad.GetConfigFile();

      Assembly assembly;

      aryListClassInfo = objLoad.LoadAssemblyInfoConfigFile(strConfigFile);

      aryListClassInfo = objLoad.LoadAssemblyInfoConfigFile(strConfigFile);

      foreach(Object obj in aryListClassInfo)

      {

            atci = (AssemblyTypeClassInfo)obj;

            assembly = Assembly.LoadFile(System.Windows.Forms.Application.StartupPath + @"\" + atci.AssemblyLocation);

            if (null != assembly)

            {

                  foreach(Type typDyn in assembly.GetTypes())

                  {

                        if ((typDyn.FullName == atci.ClassName) && (typDyn.IsClass == true))

                        {

                              try

                              {

                                    object objClass = Activator.CreateInstance(typDyn);

                                    if ( objClass is CallingInterface.ICalling  )

                                    {

                                          atci.TypeOfObject = typDyn;

                                          atci.objRef = objClass;

                                          typDyn.InvokeMember("ConfigFileLocation", BindingFlags.SetProperty | BindingFlags.Default, null, objClass, new Object[] {strConfigFile}); // Set a property

                                          object Result = typDyn.InvokeMember("GetConfig", BindingFlags.Default | BindingFlags.InvokeMethod, null, objClass, null);  // Call a method.

                                          Result = typDyn.InvokeMember("Start", BindingFlags.Default | BindingFlags.InvokeMethod, null, objClass, null);  // Call another method.

                                    }

                              }

                              catch(Exception exc)

                              {

                                    Console.WriteLine("Exception: " + exc.Message);

                              }

                              finally

                              {

                              }

                        }

                  }

            }

      }

WinFS standalone died, So what
As everyone and their brother in the development community knows, Microsoft has killed off the standalone version of WinFS for Windows.  Instead, they are going to integrate WinFS with Sql Server or something else and come out with a better product that will.........blah, blah, blah.

I honestly have to say, so what.  Personally, I am glad that they have pulled.  Have you ever used Lookout to do full-text searching in Outlook?  It is painful to see the processor on my laptop spike to 100% for hours as it tries to reindex my email.  Ever had a system run a full text index in sql server.  Thats another situation where the processor spikes to 100% for a long time (even when its setup up correctly).  Thanks, but I think I'll keep my processor.  WinFS on the desktop is probably just too much to handle for today's processors.

http://morewally.com/cs/blogs/wallym/archive/2006/06/29/104.aspx
ASP.NET Podcast Show #56 - Paul on Atlas and Load Testing
Subscribe

Download

Show Notes:
  • Personal Update
    • Work with Atlas
    • Getting a 4th degree black belt.
  • Work
  • Listener shout out to Peter Tassell
  • Web Load testing
    • Load testing for 10,000 concurrent users
    • Visual Studio Team Test, Perfmon, Excel
    • Strengths/likes, difficulties
    • Why 10,000 concurrent users?
    • Ideal setup of test rig
    • Setting up controllers, test agents
    • Automated recording and gathering of test data
    • Scheduling tips
Macs don't get no love
Code Camp Videos
I just ran across these the other day and I have to post about.  It looks like Russ Fustino (mostly Russ) and Joe Healy are producing videos of some of the Code Camps that they are involved with.  Wow, are they into community or what?!?  I love the music that Russ puts with them.
http://www.devfish.net/FullBlogItemView.aspx?BlogId=198
http://www.jaxdug.com/codecamp/JacksonvilleCodeCampPubClubs.wmv
http://www.netpubclub.net/Portals/0/Tampa/CodecampTampa2005.wmv
http://www.fladotnet.com/codecamp/codecamp_2005/codecamp.wmv

Doug Turnure's sample code and presentation files from Multi-threading in .NET

Doug came to Knoxville and did a really good talk on Multi-threading in .NET.  I have uploaded his sample code and presentation to my site, if you are interested in reading it.

Zip file with the presentation and source code: http://morewally.com/cs/files/4/presentations/entry90.aspx

Doug Turnure

Doug Turnure, a Microsoft Developer Evangelist in Atlanta, came to Knoxville and did a talk on Multithreading in .NET.  I've always enjoyed Doug's talks and this was no exception.  In March in Atlanta, I listened to Doug talk about interfaces and really enjoyed it.  Doug takes these complicated concepts and breaks them down into really simple items.  I didn't know this, but Doug had previously worked at Developmentor.  I guess that's why he is pretty good at explaining these concepts, he has worked as an instructor doing that.  To go one step further, I think that Atlanta, which is where Doug is based, is outside of his georgraphic area as a MS DE.

Anyway, thanks to Doug for coming to Knoxville and presenting.

AS400 / iSeries and .NET (ADO.NET)
copyied from: http://morewally.com/cs/blogs/wallym/archive/2006/06/27/87.aspx
I have been working with writing an interpretor for converting AS400 graphics to create images in .NET.  There is an RPG program out on the AS400 / iSeries that generates the necessary files.  There are a couple of things that I have found out.
  • You can use named parameters to call a stored procedure using V5R3 of the IBM Client Access Software.
  • If you get an error like: "The stored procedure cannot be found in SYSPROCS.  Unable to derive parameters."  This most likely means that the necessary stored procedure to map the RPG program to an iSeries DB2 stored procedure is not there.  Basically, if you can't see it in the IBM Operations Navigator, it doesn't exist.  You will need to set that up.  This may also be the case if you don't have the proper security to get at the stored procedure. Another common error that we got that was similar to the error above is:
    SQL0204 OER4016A in DIST4000C type *N not found.
    Description: An unhandled exception occurred during the execution of the
    current web request. Please review the stack trace for more information
    about the error and where it originated in the code.

    Exception Details: IBM.Data.DB2.iSeries.iDB2SQLErrorException: SQL0204
    OER4016A in DIST4000C type *N not found.


  • The iSeries uses a different set of terminology than Sql Server, Oracle, and other traditional client server databases.  This is due to its legacy of being around before the widespread use of the sql language.  As a result, the terminology is different.  There are several items of interest to not.  A "file" is a table.  A "library" is a database.  And on and on.
  • Remember that you are going through the database subsystem when you use the iSeries .NET Data Provider.  As a result, if you can't see things there or do things, you can't do anything.
Link to the IBM ADO.NET document for their driver.
More Posts Next page »