`10 Commandments to a Rave`

October 31, 2009

  1. Location, Location, Location – That’s Dead Right
  2. Carpe Diem
  3. It’s not where you’re from, it’s where you’re going
  4. Fear Nothing
  5. Send the word out to all that believe it
  6. Stand-Up. Make your voice heard
  7. Reject the Mainstream
  8. Never Fail
  9. Make the Music Beat. You can’t have a revolution if the music isn’t right
  10. It’s your choice. Find Your Own!

Thanx Deadmau5 & Kaskade – J

And couple more for all you Clubin’ MoFo’s!

I took the Vespoli Matrix out for a row and managed to overturn on a northbound run back up Wyandotte Lake. My right leg decided to cramp up at that catch. . . recovery. square blades. drop. catch. . . wait massive right leg cramp. loss of balance. (thee overturn ensues). Not having a lot of experience overturning a single, let alone re-mounting from the water, made for a learning experience.

I was fortunate to have a member, Al Hupp, from Kansas City Rowing Club (www.kcrowing.com) give instruction on how to get back into the boat. For anyone interested, Al gave instruction relevant to this reference at : http://www.eriecanalrowingclub.com (Florida Rowing Center)

Demonstrating how to get back into an overturned single shell.

Rowing of the Shell. . . with caution not to be hit by the rigging or oars.

Carefully reaching across, grabbing for the rigor on the opposite side of the shell, and slowly turning to let the water out.

Slowly turning the shell right back-up.

Now it’s time to re-position the oars extended outward back into the oar locks.

She then positions the oar handls on her site, into the rigging on the other site, to position it for an easy reach when she swims to the other side.

Now for the challenging mount. . . Depending on which side you’re on you will maintain, with one hand, both oar handles and using the other hand to hold a firm part of the rowing shell.

Then you want to paddle your legs towards the service so your body is almost flat on or near the top of the water’s surface.

Now that you’re in position, pull yourself to the top of the shell, and shortly after you’re on the shell, rotate your body into the seat

Now use your hand(s) on the oars, use them to balance the shell while you bring your feed back into the shell

And that’s how you get back into an overturned single shell

A helpful tip for resetting your Identity Seed Column Property. . .

Open Table > Design Mode > Select Column with Indentity Specification of ‘Yes’ and review the following settings:

  • (Is Identity) = Yes
  • Identity Increment = [user-defined value] (e.g. ‘1’)
  • Identity Seed = [user-defined] (e.g ‘1’)

Now for the actually Management Studio Statements. . . Open New Query Window :

  1. DBCC CHECKIDENT ([table name], NORESEED) — Will check identity information : current identity value ‘x’, current column value ‘1’.
  2. DBCC CHECKIDENT ([table name], RESEED, [numeric value]) — Will set the Identity Seed to [numeric value]
  3. Run Step # 1 to validate Step # 2 Change

If you’re scripting and looking to retrieve data from a relational or non-relational database this post should help. Whether you’re retrieving data from Microsoft or another database provider you will need the following API to interface with the database(s) : (A)ctiveX (D)ata (O)bjects

I put (2) examples together. . . 1st w/ Microsoft SQL Connection. . . 2nd w/ LDAP which will build on what you learn from the SQL example.

IMPORTANT – You are required to know connection credentials and be familiar with the data schema. If you don’t, consult with your database admin to gather these requirements.

Here is a VB Script example for connecting to a Microsoft SQL Server v2005 via ADODB API, and then retrieving the row output with a record set (rs) array. You can extend this in the user-defined sections (Highlighted in Blue)

Details of the following code :

  1. You will need access to the server’s file system via FSO (FileSystem Object). With FSO you can create new or access existing files. Do this by setting the FSO variable to the following.
  2. Declare the connection (con), command (com) and record set (rs) variables via DIM statement
  3. Set the connection variable (var)
  4. Set the command var
  5. Set the con properties : Provider. Connection String.
  6. Open the con
  7. Set com property to con : ActiveConnection
  8. Set com property with SQL query : CommandText
  9. Execute com and set results to rs array; cycle through records to rs array until end-of-file (EOF) is met; then end loop via Wend
  10. Close rs array

 VB Script for Microsoft SQL ADO Connection

Set fso = CreateObject(“Scripting.FileSystemObject”)
Dim con, com, rs

Set con = CreateObject(“ADODB.Connection”)
Set com = CreateObject(“ADODB.Command”)
con.Provider = “SQLOLEDB”
con.ConnectionString = “Driver={SQL Server};Server=[server name];Database=[database name];UID=[username];PWD=[password]
con.Open

Set com.ActiveConnection = con
   com.CommandText = “Select [field 1], . . . , [field n] from [table]”

Set rs = com.Execute

rs.MoveFirst

counter = 1

While NOT rs.EOF

[user defined logic]

rs.MoveNext

counter = counter + 1

Wend

rs.close

Once you have the data stored within the record set you can begin building your vbscript logic to determine what you want to do with the data stored within the record set (rs). This should get you rolling. . . If you have any questions about the above script or need help moving to the next step, let me know.

VB Script for Lightweight Directory Access Protocol Connection

Const LDAPSource = “LDAP://

Dim con, com, rs
    Set con = CreateObject(“ADODB.Connection”)
    Set com = CreateObject(“ADODB.Command”)
    con.Provider = “ADsDSOObject”
  con.Properties(“User ID”) = “[username]”
  con.Properties(“Password”) = “[password]
    con.Open

Set com.ActiveConnection = con
        com.CommandText = “Select [field 1], . . . , [field n] from ‘” & LDAPSource & “‘ where [condition(s)]

[ . .  record set logic . . ]

Don’t forget to close the record set logic . . .

I’m working with a situation that a production database was populating a notification table for a downstream process which would delete the data post-process. Here’s what would happen. . .Once a set of application rules inserted the formatted variables into respective fields a downstream process will retrieve the data, deliver notifications, and then re-query the database for that row and delete it.

So if you’re trying to retrieve the row(s) prior to the down stream process deleting it – you can use the following logic to continue looking until it finds data in the table. I did this to copy a production data row and then insert the results into a test/dev environment. This approach helped avoid impact of production processes to force data output.

NOTE : I initially built this without a timing mechanism so it would continually run until one or more rows returned – then a select statement follows to a specific set of fields from the table. To help matters, I introduced a delay in the loop, to avoid maxing out a CPU on the SQL Server, at a (5) second interval. . .

declare @count int
SET @count = 0

WHILE @count = 0
BEGIN
 set @count = (Select count(*) from [table name])
 waitfor delay ‘0:0:5’
END

Select * from [table name]

Thanx – J

Looking to consume SAS data via Sharepoint ? Look no further. SAS recently released v1.1 webparts for Microsoft Sharepoint. Allowing sharepoint site owners to present SAS Dashboards and Analytix on your site(s).

You have (2) webparts included :

  1. BI Dashboard Web Part
  2. Stored Process Web Part

If I understood the SAS Admin correctly, in order to use the BI Dashboard Web Part the company should own the SAS BI Dashboard Server. I would like to see this functionality and hear the advantages of this web part (e.g. drill downs, interactive behaviors, etc) since I do not have the luxury to try this.

However, the Store Procedure web part appears to be working great with the exception of one known problem – RSA Key Errors. Yet to determine if the issue is IIS or Sharepoint related. I’m not convinced this is not a SAS issue per se.

In the post-install config process you are instructed by SAS to modify key values in the webpartssetup.bat script which change the xml settings defined in the web.config file located at x:\inetpub\ . . * . . .\virtualdirectories\80 – After configuring the *.bat file, you execute it to the settings.

. . . Back to Sharepoint you pick/create your site collection – add your web part(s), modify shared webpart, and you should see the server settings reflected from the userdefined settings you defined for the web.config. In the web part control panel I choose an available web part and then exited edit page mode.

Over time. . . say daily . . . I try with a standard user account – to access the site and the web parts render an error saying :

An error occurred while attempting to access the Stored Process Web Application. Details : Failed to decrypt using provider ‘RsaProtectedConfigurationProvider’. Error message from the provider : The RSA key container could not be opened. (web.config line xyz)

 I’m not convinced that this is a SAS related issue, but how the RSA key is to contact Microsoft and decrypted the web.config settings? If our SAS admin touches the sharepoint site, he gets this error. If I used a sysadmin account to touch the sharepoint site – it seems to repair the underlining issue (again unknown) that will allow webpart(s) to stop failing. . . but tomorrow – back to the same error.

I’m scratching my head. . . Any thoughts SAS or Microsoft? Anyone?

Thanx – J

If you’re an administrator of BMC Service Desk Express 9.x , you might find these SQL Statements helpful for retrieving the following SDE ticket types.

–INCIDENT Type

SELECT COUNT(*) FROM _SMDBA_._TELMASTE_

–PROBLEM Type

SELECT COUNT(*) FROM _SMDBA_._PROBMGMT_

–CHANGE Type

SELECT COUNT(*) FROM _SMDBA_._CHANGE_

–WORK ORDER Type

SELECT COUNT(*) FROM _SMDBA_._WORKORD_

Expand upon the statements as you need to introduce JOIN or WHERE Clauses. . . The above will get you started anyway. If you need help – just ask.

Thanx – J

 

Incase you’re looking to find a value tucked within the database but can’t remember the table, let alone the field, you can introduce this ‘SEARCHALLTABLES’ stored procedure (see the following). It will take a search string as an input parameter, goes to search the following column types.

IMPORTANT NOTE : this will only search “ALMOST ALL” tables. It will search the tables that all users that have current access to the database. User created tables & System Tables are excluded from this procedure.

char, varchar, nchar – owned by ALL users within the current database. If you want to modify the DATA_TYPEs you can introduce those in the WHILE LOOP of the Stored Procedure.

Look for this –> AND DATA_TYPE IN (‘char’, ‘varchar’, ‘nchar’, ‘nvarchar’ , [new data type] )

Here’s the SQL Procedure

CREATE PROC SearchAllTables
(
@SearchStr nvarchar(100)
)
AS
BEGIN

CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))

SET NOCOUNT ON

DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
SET  @TableName = ”
SET @SearchStr2 = QUOTENAME(‘%’ + @SearchStr + ‘%’,””)

WHILE @TableName IS NOT NULL
BEGIN
SET @ColumnName = ”
SET @TableName =
(
SELECT MIN(QUOTENAME(TABLE_SCHEMA) + ‘.’ + QUOTENAME(TABLE_NAME))
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = ‘BASE TABLE’
AND QUOTENAME(TABLE_SCHEMA) + ‘.’ + QUOTENAME(TABLE_NAME) > @TableName
AND OBJECTPROPERTY(
OBJECT_ID(
QUOTENAME(TABLE_SCHEMA) + ‘.’ + QUOTENAME(TABLE_NAME)
), ‘IsMSShipped’
       ) = 0
)

WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
BEGIN
SET @ColumnName =
(
SELECT MIN(QUOTENAME(COLUMN_NAME))
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)
AND TABLE_NAME = PARSENAME(@TableName, 1)
AND DATA_TYPE IN (‘char’, ‘varchar’, ‘nchar’, ‘nvarchar’)
AND QUOTENAME(COLUMN_NAME) > @ColumnName
)

IF @ColumnName IS NOT NULL
BEGIN
INSERT INTO #Results
EXEC
(
‘SELECT ”’ + @TableName + ‘.’ + @ColumnName + ”’, LEFT(‘ + @ColumnName + ‘, 3630)
FROM ‘ + @TableName + ‘ (NOLOCK) ‘ +
‘ WHERE ‘ + @ColumnName + ‘ LIKE ‘ + @SearchStr2
)
END
END
END

SELECT ColumnName, ColumnValue FROM #Results
END

Once the STORED PROC is created you can execute the following . . .

EXEC SearchAllTables ‘[search string]’
GO

 

Aiming to reduce fat, gain muscle, and earn endurance this summer. With rowing on the mon-wed-saturday schedule, I needed an alternative, low-impact sport on the off-row days.  I’ve decide to start at 10+ miles  per/off-row days for the next (2) weeks before I bump the distance at increments of (2) per week following – until I can sustain a 50+ miles per/off-row day ride. A cake-walk for some, but I don’t want to burn out too early.

So here’s the plan. . . and hold me to it.

  • Cycle = (mi)les
  • Row = (m)eters

July 7th – 1st Run (mapped route)

1st wk

  • Jul 13th – 8,500 m (R)
  • Jul 14th – 8+ mi (C)
  • Jul 15th – 8,500 m (R)
  • Jul 16th – 10+ mi (C)
  • Jul 17th – Relax
  • Jul 18th – 10,000 m (R)

2nd wk

  • Jul 20th – 10,000 m
  • Jul 21st – 10+ mi
  • Jul 22nd – 10,000 m
  • Jul 23rd – 10+ mi
  • Jul 24th – Relax
  • Jul 25th – 10,000 m
  • Jul 26th – 10+ mi

 3rd wk

  • Jul 27th – 10,000 m
  • Jul 28th – 12+ mi
  • Jul 29th – 10,000 m
  • Jul 30th – 12+ mi
  • Jul 31st – Relax
  • Aug 1st- 10,000 m
  • Aug 2nd – 12+ mi

4th wk

  • Aug 3rd – 10,000 m
  • Aug 4th – 12+ mi
  • Aug 5th – 10,000 m
  • Aug 6th – 12+ mi
  • Aug 7th – Relax
  • Aug 8th – 10,000 m
  • Aug 9th – 12+ mi

5th wk

  • Aug 10th – 10,000 m
  • Aug 11th – 12+ mi
  • Aug 12th – 10,000 m
  • Aug13th – 12+ mi
  • Aug14th – Relax
  • Aug 15th – 10,000 m
  • Aug 16th – 12+ mi

6th wk

  • Aug 17th – 10,000 m
  • Aug 18th – 14+ mi
  • Aug 19th – 10,000 m
  • Aug 20th – 14+ mi
  • Aug 21st – Relax
  • Aug 22nd – 10,000 m
  • Aug 23rd – 14+ mi

.

.

.

.

and so on – – – I may increase the pace of distance if the goal doesn’t seem challenging enough.

 

<iframe src=”http://js.mapmyfitness.com/embed/blogview.html?r=263f198eec64121b9b16c7e876033d57&u=e&t=ride” height=”700px” width=”100%” frameborder=”0″><a href=”http://www.mapmyride.com/ride/united-states/ks/-lenexa/903124775734563169″>07/16/2009 Route</a><br/><a href=”http://www.mapmyride.com/find-ride/united-states/ks/-lenexa”>Find more Bike Rides in  Lenexa, Kansas</a></iframe><!– MMF PARTNER TOOL –>

I recently spoke with a Sharepoint Admin (Justin) from Transatlantic RE (transre.com) regarding a migration issue of content within any type of sharepoint list containing a field using “People or Group” type data. A value entered into this field is validated against WinAD which can be in the format of inital, name, sid, or email.

Justin mentions a problem in that the list, for example a project task list, contains this field called Assigned-To that takes the “People & Group” value type. In the process migrating from one site collection to another using the export/import method the list field is empty. (see below)

  • stsadm -o export -url -filename [file name]
  • stsadm -o import -url [destination url addy] -filename [file name]

After trying the above steps, I achieved the same problem; no value was retained during the above migration steps.

The only option I found feasible was the backup/restore methods what retains the list values for the individual(s) assigned within the list. Use these commands . . .

  • stsadm -o backup -url -filename [file name]
  • stsadm -o restore -url [destination url addy] -filename [file name] -overwrite

To understand when to use export/import vs backup/restore logic, look here : http://sharepointcoding.wordpress.com/2009/03/17/moss-2007wss-30-backup-restore-limitations/