Public musings, often on software development RSS 2.0
# Wednesday, July 20, 2005

After logging in, be sure to visit all the options under Configuration in the Admin Menu Bar above. There are 26 themes to choose from, and you can also create your own.

 

Wednesday, July 20, 2005 12:00:00 AM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
dasBlog
# Wednesday, June 15, 2005
One of those things that happens when you ride a consistent route is it's nice to get a feel for your best time.  Of course the trick is remembering your previous best time. Today Tim tracked our time out on the standard Flightline route that he, Adam and I have been riding since they started the environmental destruction to put in a couple new roads through our local mtn. bike area.  Today's time was 50 minutes 42 seconds.  So next time we need a reference we can get one.... we can do better... it's only 5 miles.
Wednesday, June 15, 2005 9:11:35 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Cycling
# Sunday, June 12, 2005

Time for a more technical entry here in my blog.  As you can probably tell, I have a pretty strong belief that my blog, should not be a flat one-dimensional product.  After all it's important that we maintain interests outside of our job, so as I sit here watching a bit of OLN's Cyclism Sunday I figure I'll put in a quick technical entry before I go for my own Sunday ride down the coast.

In this case I want to talk about the use of GUID's.  First I'm going to talk about the characteristics of what a GUID is...  Historically of course Microsoft introduced the GUID structure around the same time that UUID's were introduced.  SO let's start with what's a UUID.  Good definitions are available here: http://www.dsps.net/uuid.html and here: http://www.opengroup.org/onlinepubs/9629399/apdxa.htm.  As you can see the UUID is defined as a Universally Unique Identifier and it is a 128 bit or 16byte value.  A value of this size is represented bya seres of hexadecimal (base 16) pairs.  This format is the same one used by Microsoft in the implementation of the GUID.  One of my favorite lines which I remember hearing from a Microsoft employee was that Microsoft had named their implementation of UUID as GUID, because they didn't consider a value of this size to be unique across the universe but hopefully something which would be valid at the global level. 

in part I'm going to allow Microsoft to give us a complete defintion available from MSDN here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemguidclasstopic.asp  I happen to really like this definition from Microsoft because it clarifies something which people sometimes mistake: GUIDs are NOT guaranteed to be unique.  In fact let me quote the way that Microsoft phrases from this page: "Such an identifier has a very low probability of being duplicated."  This is an important statment because it recognizes the reality that GUIDs aren't guaranteed to be unique and shouldn't be treated as such in every instance.  The reason that a GUID can be treated as unique is that it uses a number range that is large enough to make random generation of the same values a low probability.  However, it is the use of random generation which also causes GUID's to repeat before the entire range of values can be used.

So what are the 'system' characteristics where a GUID makes sense?

Let me break the answer into a series of bulleted characteristics:

  • A decentralized model where several disconnected or different systems need to generate identifiers.
  • Identifiers will generally be unique. (meaning they might not always be unique, so uniqueness is not a true requirement)
  • it should be possible to easily change the identifier assigned to any given system with little or no impact to account for those instances where a duplicate GUID is created.  
  • the order that the identifiers are created and assigned should have no impact on behavior.

So what are some example systems where these characteristics fit well, well for starters the 'system' for which they were originally created, as identifiers for objects.  For developers using Microsoft technology GUIDs became famous during the progression of COM.  As an object is created a unique GUID is assigned to that object and when deployed those objects which may have been created by any software vendor should be unique.  Every now and then a collision does occur and sometimes those collisions even make it out into the world at large, but when that happens the next version of software can change out the GUIDs associated with that software with little or no system impact.  (Yes I've seen it in comercial products and I would prefer to not name the vendor involved, but in short they had an object which collided with a GUID used by a driver on certain PC's) Similarlly the value of the GUID that is assigned to an object does not change the performance of that object either during installation or at runtime.

Of course developers fell in love with this model and became focused on the word 'unique' in the title.  As a result, whenever a developer thinks they need a 'unique' value they immediately think of GUIDs.  However there are situations where a GUID is not a good solution, and in fact SQL Server presents a common one.  So in my next post I'm going to discuss why GUIDs should never be used as the unique identifier for rows in a transaction database.... I'll also discuss how a transaction database is different from a data warehouse and as a result why a GUID might work just fine for that solution.

Sunday, June 12, 2005 4:00:02 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Technology | SQL Server

I've blogged in the past on making apheresis donations to the San Diego Blod Bank.  In that post I discussed how the blood bank tries to ensure you always make a two unit donation of some form.  Since that post I had a couple updates.  The first is that I'm regularly finding myself as a double platlet donor.  This means I can potentially donate every two weeks, but more importantly it means that about every other donation (3 donations out of 4) I actually am a triple unit donor.  That's pretty cool, but I've also learned some more details of the advantages of this method of donation.

The first things I learned was that while I knew that platlets are used to help cancer patients and red cells are used for  anemia, blood during surgery etc, but I wondered what plasma was used for?  Turns out one of the primary uses of Plasma is for the treatment of severe burns.  Burn victims need additional blood volume because their bodies are essentially taking that liquid portion of their blood and using it to help rebuild damaged skin etc.  Since plasma makes up the majority of your actual blood volume having transfusions of it on hand can allow your boddy to heal faster.  I also learned that Plasma was one of the longest lasting blood products in terms of how long the blood bank can store it.

More importantly however is the second thing I learned.  While I'm type 0 which makes my red blood cells very valuable, Plasma works in the opposite fashion.  Thus people who are type AB whose blood type is fairly rare can make universal Plasma donations.  These plasma donations are then available to people of any blood type.  So remember regardless of your blood type, the local blood bank (whether the American Red Cross or San Diego Blood Bank here in San Diego) is pretty much in constant need of a donation of your blood.  After all ~95% of people will habe a blood donation at some point in their life, even though only ~5% of the population actually donates.

Sunday, June 12, 2005 2:22:31 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
About the Nerd
# Friday, June 10, 2005

I mentioned it's been awhile since I did a bike update.  Three log hits for this entry. 

First is my current mileage for the year, my odometer reads 4926, or just over 1075 for the year thus far.  Thus I'm getting the month of June to get ahead for the coming 6 months and to put me on track to possibly even reach all the way to 6,000 on my odometer by the end of the year.  A good portion of this was done over my vacation when I took my bike and every other morning of my vacation I got in a 52 mile ride from Laughlin, NV to Needles, CA on River Rd. which lies West of the Colorado River, then returning up Arizona Rt. 95 through Bullhead.  The 'fun' part of this ride, is when I leave at 7AM the light winds are from the South and in my face, but as the sun starts to heat the environment the winds shift and they come from the North so that by the time I am headed through Bullhead I am facing a steady 10-20mph wind from the North.  Its a good training ride, although portions of the road could really use some maintenance.

Second regards the Tour de Cure in East San Diego County.  The ride was the 21st of May.  The Tour de Cure is the American Diabetes association annual fund raising ride.  The ride is held around the country in different locations and the Spring, and this year only ride in San Diego (last year I helped organize a 100+ mile ride over Mt. Palomar, but we not holding that ride this year).  At any rate the 62.5 miles includes over 6,000 feet in elevation gain and generally draws between about 250-350 people.  We departed at 7:00AM and headed up into the mountains of East San Diego county.  Unfortunately it was a hot day with the temperature for the day hitting well over 90 degrees farenheit.  I was 5 minutes late starting so I got to ride without the benefit of a group for almost the entire day.

After the first 10 miles the route starts heading up and the next 22 miles (on the metric century course) are predominently uphill as your elevation goes from ~1000 to ~5000 ft. above sea level.  It took me from 7AM till 10AM to reach this halfway point and by the time I got there my left foot was numb... never a good sign so I spent a little time at the halfway point in the shade and watched one or two people drop out of the ride.  Then I started the return, fortunately it is mostly downhill (along a different route) but unfortunately it does have some good uphill sections.  In the end it took me till Noon to finish the ride and I did the 62.5 miles with an average speed of 13.9mph.  All told it was a great ride and we raised quite a bit of money for the ADA.

Finally, I'm going for a ride tomorrow with the NCCC again.  It's been like 5 weeks since I last rode with them and we're doing what is now known as Route 58.  Jeff Gross who lays out the Saturday rides has started posting them on his wife's website, so the route for tomorrow is here: http://www.kimberlygross.com/PageManager/Default.aspx?PageID=932815&NF=1.  The nice thing with Jeff's new system is he includes a map so you can get a feel of where the ride should go if you are unfamilar with it.  In this case he recently added a new portion to the end of the ride so instead of it being a 34 mile ride it's a 38 mile ride.  I put it into my topo software and came up with the following elevation profile which I'm including to test embedded graphics in my cross posting.  The total elevation gain for the ride is about 2500ft, and it should be a good ride.

Of course I've skipped over quite a bit in this quick update.  Let's see I've been managing to keep up a minimum of once a week to work on my bike and several mtn bike rides both with co-workers in Carlsbad and on my own up in the Mountains of Big Bear, including the use of the Sky Chair at Snow Summit to explore some of the Southern side of Big Bear Lake.  I'll try to get organized enough to post one or two pictures from up in the mountains this weekend.

Friday, June 10, 2005 11:29:54 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -

# Thursday, June 09, 2005

Many of you may be familiar with the Yellow wristbands supported by Lance Armstrong's live strong foundation to support the fight against cancer.  Some of you who know me may have noticed that I've transferred my yellow band to a red band... not that I'm particularly consistent on wearing any wristband, and nothing against cancer research. I have several family members (both living and deceased) touched by it. 

The red wrist bands support Diabetes and are available from the American Diabetes Association.  As most people know my wife Tracie and I are very involved in the fight against Diabetes (since I have Type 2 Diabetes).  You can order the wrist bands online from the ADA at: http://store.diabetes.org/products/product_category.jsp?FOLDER%3C%3Efolder_id=2534374302024093&bmUID=1123024922007   (Alternatively you can contact your local ADA office who can help you obtain a wrist band.)

They contain the ADA's message for Care-Cure-Committment since unlike many organizations the ADA isn't just out to find a cure, but also to ensure that the 18million or so Americans who have Diabetes (many similar to high blood pressure don't know it) learn to care for themselves.  The ADA plays an important role in Diabetes education especially in those communities such as the Hispanic and Native American populations where incidence of this genetic disease is much higher.

Thursday, June 09, 2005 1:07:49 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Diabetes
Look at Byetta and my historical numbers...
Thursday, June 09, 2005 12:56:05 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Diabetes
# Saturday, June 04, 2005

I found a few issues thus far with cross posting... I'm not sure however which system is truly at fault.

The first issue has to do with the date time stamp of my post.  It appears that in the interface Das Blog is sending GMT and that .Text isn't converting this to local time... it's not a big issue but an issue all the same.

The second issue is also minor but interetesting to see... So I the other day I tried to transfer one of my older entries from my personal blog over to blogs.interknowlogy.com by editing the entry from April and then selecting it for cross posting.   So far so good, my blog on blogs.interknowlogy.com shows this as a posting from April and sorts it near the bottom.  However, the common post area apparently just pulls the entries based on when they appear on the .Text engine.   As a result my post from April sorts near the top of the entries, which is interesting since it discusses the remaining snow here in Fawnskin/Big Bear CA... however the snow is mostly gone now and skiing ended several weeks ago. 

My next test is with an image, but I'm saving that for tomorrow when I'm home with a high speed connection.  Will it go smoothly and see how or if the interface will transfer the image... the interface may simply link to the image on my other site of some other event may occur... look for it tomorrow.

Saturday, June 04, 2005 9:48:35 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Technology
# Thursday, June 02, 2005

Just a quick note, on yesterday June 1st I was one of the presenters for a web cast from Windows IT Pro magazine related to Software Packaging Workflow Best Practices.  The presentation was sponsored and partially presented by Macrovision which is the company behind InstallShield. 

The presentation itself focuses on using workflow to manage the software packaging and delivery process.  To paraphrase the session synopsis, the session deal with best practices for managing the software package preparation process including the experience of the package requestor, the ability to approve or decline permission for the package to be installed, the ability to have a historical reference and the need to have integration between the various installation tools like SMS and AdminStudio that people are using.

My copresenter from Macrovision Steve Schmidt goes through a demonstration (not just slides) of the Macrovision AMS 2.5 product which is of course why Macrovision was interested in sponsoring this event.  That product is designed to provide a standard set of templates to allow you to manage the software packaging process.  You can see a rebroadcast of the event at:

https://event.on24.com/eventRegistration/EventLobbyServlet?target=registration.jsp&eventid=12491

Thursday, June 02, 2005 1:38:16 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Technology
# Monday, May 30, 2005

One of the great things with working with blogging software is the ability to cross post.  Tonight I sat down with my existing blog for about an hour and figured out how to configure that blog to cross post onto my new Blogs.Interknowlogy.com site.  Aside from the dearth of documentation it was actually a relatively simple procedure.  I use Das Blog on my other site while InterKnowlogy has decided to use .Text (for it's multiple blogger support).  Once I found the API hidden under the Services/metablogapi.aspx interface the pieces fell into place rather quickly.  In particular the Das Blog feature which allows you to autofill the majority of the information makes life easier as it dug up the services/metablogapi.aspx endpoint for me once I realized what it would autopopulate.

In this way instead of cutting and pasteing content or ignore one site in preference to another I can place content in both places at once.  The really nice feature is that Das Blog allows me to choose which posts I send across the wire to InterKnowlogy and doesn't just blindly send everything I choose to blog on here on NerdNotes.Net.  Now I just have to repost a couple of my early blogs.interknowlogy posts so I can have them all in a single location.

Quick followup, the cross post feature also supports remote editing and deletion of the posts so I can even correct my rather common mistakes in grammar and spelling.

Monday, May 30, 2005 9:11:59 PM (Pacific Daylight Time, UTC-07:00)  #    Comments [0] -
Musings | Technology
Archive
<July 2005>
SunMonTueWedThuFriSat
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2012
Bill Sheldon
Sign In
All Content © 2012, Bill Sheldon