Archive for category Technical

Is the “FREE” Windows 10 Really the Beginning of a Major “Rip-Off”?

OK.. OK.. sounds like I am being an alarmist..

It started several weeks ago when Stargazer (my Windows 7 laptop pc) had some (Windows) updates and it asked me if I wanted to get a FREE upgrade to Windows 10 when it is released. Of course I registered for it (can you really refuse??)? Now I have a “NAG” sitting on my system reminding me.. “.. it’s coming ..” (so is winter).

I was aware Microsquish was going to do this because of general info flying around the net for some time. It looked “good” to me.. a FREE upgrade – yea right… There had to be a catch somewhere and now (thanks to Gordon Kelley – contributor to Forbes) we ALL know just what it is.. and it’s really nasty “rat hole”.

Once you upgrade they will have their hooks in solid.. and the “free” will turn into a cash stream for them.. from your pocket to theirs.

Here’s a link to Gordon’s article. Please read and get educated FAST!

, , , , , , ,

Leave a comment

“Work Smarter – Not Harder”.. Really??? – How Stupid!

The internet is full of garbage postings about how we should “… work smarter – not harder..”

Here’s the REAL Secret: Smart people are HARD Workers!

Mike Rowe (host of “Dirty Jobs”) has a great blog/post that debunks the “Work Smarter – Not Harder” myth.

The definition of work is:

Work equals Force times distance time the cosine of “theta” ¬†– where theta is the angle between the force and displacement vector(s). SO when theta is zero degrees the Force and displacement are in the same direction and you get the biggest bang for your effort! The more Force (the “harder” you work) you put into it the more you get out of it. Force is the Agent Of Change.

For you “DIY” folks out there.. here’s a great example of why Work Smarter – Not Harder falls apart:
Scenario:
House full of squeaky (door) hinges. How do you fix them?
Plan A: Oil them – Not Hard – but NOT Smart! You end up with mess and a quiet hinge for a very short time.
Plan B: “WD-40” (Remember it stands for “Water Displacement formula number 40 ūüėČ – It’s not “oil” – but it’s messy and does not last long either! Another ¬†Not Hard – but NOT Smart!

Plan C: Use Vaseline – Definitely Smart and Hard! You have to:
1 – remove each hinge pin (one at a time) – can be hard but a small hammer, a pin punch and a flat blade screwdriver really help)
2 – clean the pin (maybe use “409” to really get it clean)
3 – wipe the pin with Vaseline ad put a “dob” on the hole on the top of the hinge where the pin goes
4 – put the pin back and tap it down (hard/flush)
5 – Repeat steps 1 thru 4 for the remaining 2 (or 3) hinges on that door
6 – clean up any mess (paper towels and 409 helps here
7 – repeat steps 1 thru 6 for each door in your home
This will take you some time to do (the “hard”/Force in the Work equation). However, when you are done you have nice quiet door hinges and it lasts for a quite a while. (Good) Work has a satisfaction factor to it that you do not see in the basic (physics) formula. There is something about doing something and doing it right which makes us feel really good (and ready for a nice cool beer – or two ūüėČ

So if we are just trying to be “Smart” and not putting any FORCE into our Work.. we are just going nowhere ūüėČ

Leave a comment

File Transfer Without Wires!

Most of us own a smartphone (w/camera) and/or a tablet (w/camera). So HOW do you transfer all those pictures to your laptop/desktop?

Do you:

A – use a “cloud service” (like dropbox)?

B – Use a memory card?

C – a usb cable

D – ????

I just found a BETTER WAY – WiFi File Transfer by smarterDroid (yep – this is an Android tool ūüėČ It comes in two “versions”: A FREE one and a paid for one ($1.40 – yes a dollar forty) the free one is limited to 5mb files.

To use it, just download from the play store (look for wifi file) to your droid device(s).. fire it up.. open a browser to the ip address:port specified and have at it.

NOTE:¬†The app is really a web server and you are connectling directly – NOT thru a “cloud service” so your data is protected.

Leave a comment

FireFox 23 will be a Game Changer w/https sites

There’s¬†an¬†option¬†in¬†FF¬†(version¬†18.0¬†and¬†up)¬†called:
security.mixed_content.block_active_content

When¬†FF¬†23¬†is¬†released¬†(20.0¬†is¬†the¬†current¬†release)¬†this¬†option¬†will¬†be¬†enabled¬†by¬†default.¬†What¬†this¬†means¬†is¬†ANY¬†“mixed”¬†https¬†page¬†will¬†NOT¬†load¬†non¬†https¬†content.

So¬†if¬†you¬†have¬†constructed¬†a¬†site¬†that¬†has¬†any¬†http¬†links¬†in¬†it¬†and¬†your¬†site¬†is¬†on¬†SSL¬†(https)¬†then¬†users will¬†experience¬†“failures”.

QUES: Is this a good thing?

ANS:¬†YES!¬†Attacks¬†using¬†“bad¬†links”¬†are¬†buried¬†in¬†https¬†sites¬†everywhere. You typically see a popup asking if you want to display the “non-https” content. When you do you take a BIG risk of infecting your system, getting hacked, etc. KUDOS to the FF team for taking this step to block non-https data by default!

I would strongly suggest you test this out NOW to make sure things will work right when FF 23 is released. Using FF 18.0 and up you simply need to:
A – key in about:config in the url/address line
B Рsearch for the key: security.mixed_content.block_active_content
C – change the value to true

 

FYI – Chrome has already made such a change (you get a warning)..

 

, , , ,

Leave a comment

IE 10 installs automatically on Windows Updates

If you have Automatic Update turned on:
” Users of Windows 7 Service Pack 1 (SP1), and 64-bit version of Windows Server 2008 R2 SP1 will receive Internet Explorer 10 as an important update if they have Automatic Updates enabled, or if they perform a manual scan for updates on Windows Update.”

NOTE: installations which use “WSUS” – Windows Server Update Services” and control the updates to their installations can easily block this. For individual PC’s NOT being managed by WSUS (most of us ūüėČ there is a “blocker kit“.

Here is the direct download: IE10-BLOCKER

, , , ,

Leave a comment

SalesLogix Mobile Web Application 2.0 – A Video

A while back there was a video made/posted by the SalesLogix Training group on the Mobile Web Application (version 1.x). Along with the recent release of SalesLogix Version 8.0 was the release of Mobile 2.0.

2.0 builds on the the original functionality of the 1.x release (specifically 1.2) and gives us a much nicer (mobile) user experience. One of the things I especially like are what are called “List Actions” (I call them “Immediate Actions”). “IA’s” are available on all of the “List Views”. You get to them by simply clicking on the Icon (rather than the text) and they appear ¬†in a new line just below the list item.

For a look at “IA’s” and other things, jump over to uTube and take a look:

 

Oh yes, you do NOT have to upgrade your 7.5.4 SalesLogix to 8.0 to run Mobile 2.0 – BUT there are some features which ONLY work with 8.0 (SData). ¬†I’ll be posting just what these things are in a future blog.

, , , , , ,

Leave a comment

Finally – One Place for all things Web Development?

Sounds too good to be true, doesn’t it? Only time will tell.

On Monday, October 8, 2012 there was an announcement by W3C on the alpha release of Web Platform Docs. ¬†The purpose of this is to establish a single point/place where we all can go for “All Things Web Development”.

Her’s a blog posting by Jean Paoli (President – Microsoft Open Technologies) on the announcement:

http://blogs.msdn.com/b/interoperability/archive/2012/10/08/w3c-s-web-platform-docs-your-go-to-for-all-things-web-development.aspx

 

Bear in mind this site is only a few days old but it has names like Adobe, Facebook, Google, HP, Microsoft, Mozilla, Nokia, Opera that are stewards of the project. If they pull this off it will save all of us TONS of time (translate $$$) in development/research as related to web efforts.

Let us wish them the best and contribute to the effort for the common good! So jump over and take a look NOW!

, , , , , , ,

Leave a comment

SalesLogix Synchronization – Running as a Service

It’s amazing how many times I run¬†across¬†a situation where the Main Sync (and/or Secondary Sync Servers) are running under the (Windows)Task Scheduler. At first, this does not seem to be an issue. However, on closer examination there’s a high degree of probability the (WTS) job is not passing in the “correct” sequence of “switches” (options).

The way this usually rears its ugly head is:
A – the job runs too long and another one tries to start up
B – the job fails to start for some unknown reason
C – the job “hangs” for some unknown reason(s)

The Saleslogix team solved this problem a LONG time ago with the introduction of “Sync As A Service”. Basically it is all “built-in” and¬†the¬†admin interface is thru the (WG)Admin application (click on “System” in¬†the¬†NavBar and then on the Sync Automation Services tab) and all you need to know to get started is in the HELP file (under Synchronization -> Running Synchronization from a Service).

All this is fine for the MAIN DB.. BUT what about the Remote Office you ask.. Well, as of¬†the¬†(current) latest release (7.5.4.xxxx) there is no automation for Sync on¬†the¬†RO…. BUT you can “fake it” via Windows Task Scheduler. Here’s info on how to do this from my KB – NOTE – DISCLAIMER – The following procedure may not be fit for any useful purpose – use at YOUR OWN RISK! It is an EXAMPLE of one I use at customer sites:

Using the Windows Scheduler you can schedule a Remote Office (or even a Remote User) to have synchronization run automatically.
  Here is how:
    TASK tab
      run:
         "C:\Program Files\SalesLogix\SyncClient.exe" /B "SLXRemote" /E /Q /L /G /Y /R /C /A /S /TD /TU
      Start in:
         "C:\Documents and Settings\All Users\Start Menu\Programs\SalesLogix"
      Run as:
        domain\administrator (NOTE: This is how I do it.. you may want to use another user)

    SCHEDULE tab
      Schedule: Daily
      start time: 05:15
      Repeat Task every 15 minutes
      Until 24 hours
      Schedule Task Daily Every 1 days

    SETTINGS tab
      Stop task if it runs for 2 hours 0 minutes
      Don't start task if the computer is running on batteries
      Stop the task if battery mode begins.

    SECURITY tab
      Group/Users
      Administrators Full control

NOTE: Running Synch as a Service using the OOTB (Out Of The Box) approach also has additional benefits:
A РYou can use the Synch Monitor Tool to see what it is doing. If it is NOT on your (LAN connected) PC than simply copy it (SLXMonitorConsole.exe w/the help file SLXMonitor.chm) to your system Рto the SalesLogix App Directory, make a desktop shortcut and then configure (see Help FIle).
B – When it runs as a service it will insert a record in the SYNCJOBHISTORY table.

There is a LOT more to say about synch.. but let us leave it for another day – Happy Synching!

, , , , ,

Leave a comment

SQL Azure vrs. Amazon RDS SQL Server – Which Way?

SQL Server Central recently published an article on the (above) subject on July 11,2012. The author (Peter Marriott) makes an interesting statement:
“..It doesn‚Äôt take long to realise that Amazon RDS SQL Server is a very different beast from SQL Azure.”

He goes into features, power and size, Backup and Availability, Administration, and finishes up with a good “pro/con” set of statements on both approaches.

My takeaway was (IMHO) if you really want a “scale-able¬†system”, Amazon is the way to go – NOT Azure! However, I do invite you to go and read the (fairly short and concise) article and comment.

, , , , , , ,

Leave a comment

How Do I Run a VBScript OUTSIDE of SalesLogix?

VBScripts CAN be run completely outside of SalesLogix. BUT you do not have access to the SalesLogix Application object.

First you need to be able to make a connection to the (SalesLogix) Provider. The key part here is to pass in a valid (SalesLogix Provider) connection string. I usually create a “.udl” file to do all the heavy lifting here. This is what the contents of a typical “.udl” looks like:

 [oledb]
; Everything after this line is an OLE DB initstring
Provider=SLXOLEDB.1;Password=mypassword;Persist Security Info=True;User ID=admin;Initial Catalog=SALESLOGIXV754DEV;Data Source=GOBIDEV;Extended Properties="PORT=1706;LOG=ON;CASEINSENSITIVEFIND=ON;AUTOINCBATCHSIZE=1;SVRCERT=;"

Now we need to concentrate on the actual script itself. For this example we assume the “.udl” file is called MyConnection.udl and is located at the root of “C” (C:\MyConnection.udl) :

 
Sub Main
  Dim objCon  'SalesLogix Connection Object
  Dim sConnString
  Dim strSQL00
  Dim objMyRS
  Dim blnNewSlxConnection

  'Get a connection to SalesLogix - Cannot use the Application Object in an Agent or outside of SalesLogix
  ' We have to do all of this "outside"
  sConnString= "File Name=C:\MyConnection.udl"

  'Now connect up
  Set objCon = CreateObject("ADODB.Connection")
  If Err.Number <> 0 Then
    blnNewSlxConnection= False
    If IsObject(objCon) Then
      Set objCon = Nothing
    End If
    Err.Clear
    Exit Sub
  Else
    blnNewSlxConnection= True
    objCon.ConnectionString = sConnString
    objCon.Open
  End If

  'Do some work - get data from USERINFO table
  strSQL00 = "SELECT * FROM sysdba.USERINFO"
  Set objMyRs = CreateObject("ADODB.Recordset")
  With objMyRS
    .CursorType = adOpenStatic
    .CursorLocation = adUseClient
    .LockType = adLockBatchOptimistic
    .Open strSQL00, objCon
  End With
  'Now pull in data from USERINFO... and do something with it
  If Not (objMyRS.EOF Or objMyRS.BOF) Then
    'OK
    With objMyRS
      If .RecordCount > 0 Then
        'We have data - now do work...
        While NOT (.EOF or .BOF)
          strUserID = .Fields("USERID").Value
          strLastName = .Fields("LASTNAME").Value
          'Now do some work w/this data
          Call WriteResultsToTraceFile(strUserID,strLastName)
          .MoveNext
        Wend
     Else
       'No data found...
     End If
  End With
  'All done..close shop
  If IsObject(objMyRS) Then
    objMyRS.Close
  End If
  Set objMyRS = Nothing
  If IsObject(objCon) Then
    objCon.Close
  End If
  Set objCon = Nothing

The above is a very simple framework and certainly can be expanded. I have created an include file that contains several of the key functions:

Function NewSlxConnection(ByVal sConnString, objCon)
Function CloseSlxConnection(objCon)
Function GetRecordSetObj(objCon,ByVal strSQL)
Sub CloseRecordSetObj(objRS)
Function ChkError(strInfo)
Function FixQuote(ByVal sSrcLine)
Function ExecuteSQL(objCon, ByVal sSQL00)
Function GetScalarValue(objCon, ByVal sSQL00)
Function GetMultipleScalarValue(objCon,ByVal strSQL, ByVal iRecCount, strValue)
Function GetMultipleValuesFromDB(objCon, ByVal strSQL, strValue)
Function CreateIdFor(objCon, ByVal sTableName)
Function CreateBlockOfIDFor(objCon,ByVal strTableName, ByVal sRecCount, strRecordID)
Function IsEmptyRecordset(ByRef objRS)
Function GetRecordCount(objCon,ByVal TableName, ByVal PKName, ByVal sWhere)

We use this include file in all our external VBScripts and for a small fee we do license it to anyone who is interested (along with some samples/examples).

, , , , ,

Leave a comment