Gigabytes of Free Books from Microsoft!!!

Once again, Microsoft is giving away gigabytes of free books. Eric Ligman (Microsoft Director of Sales Excellence Blog) announced on July 11 that even more books than last year are freely available. If Microsoft is trying to gain loyalty by giving away free stuff, its working. 🙂
You have the option of downloading individual books or all of them in one shot with a PowerShell script. I recommend running this in Visual Studio Code with the Code Runner plugin. If you only cut and paste the code in VS Code and not save it, you’ll have to use the Select Language Mode (lower right corner) to choose PowerShell before you can run it. I downloaded books selectively and it resulted in 3.88 GB of files.
Anyways, I want to thank Microsoft for supporting developers and the IT community with the resources to do our jobs well.

How to Fix Multiline TextBox Word Wrap in Edge / IE 11

Internet Explorer 11 and Edge work in a different way with fixed width text boxes (see examples below) than previous versions earlier than 11. IE 11 and Edge inherits the white-space property from its parent. So, if text overflows in these browsers, it won’t wrap in the box.

     <textarea rows="4" cols="50">Lots of text ...</textarea>


     <asp:TextBox ID="TextBox_Address" runat="server" Rows="5" TextMode="MultiLine"></asp:TextBox>

This can be fixed by applying the following CSS to the text box:

     white-space: pre-wrap

Now overflowing text will wrap in the box in all IE and Edge versions.

How to Replace QLingo with JavaScript in a uStore Dynamic Document

Programmed elements in a dynamic document for XMPie uStore can be built using JavaScript instead of QLingo. Follow the steps below:

  1. Don’t use JavaScript in InDesign with the ADOR objects. All of the programming will take place in uPlan.

  2. In uPlan, create the variables and campaign dials for the ADOR objects that will be used as variables in functions.

  3. Create the function in JavaScript.

    function ShowPersonalCorporation (star1, star2, star3)
     if (star1 || star2 || star3)
       return "*Personal Real Estate Corporation";

  4. Call the function in the ADOR object.

    ShowPersonalCorporation (@{_Star1}, @{_Star2}, @{_Star3})

Testing for Null Values

In QLingo, you would test for a null value by using the IsNullOrEmpty function, which would return a value based on its result (true: display real estate info; false: display nothing):

if (!IsNullOrEmpty (@{_Star1}))


 “*Personal Real Estate Corporation”






The JavaScript equivalent is:

function ShowPersonalCorporation (star)


 if (star)

   return “*Personal Real Estate Corporation”;


How to Lock a Windows 10 Screen from a Console Command

I normally lock my computer when I step away from it to prevent other users from getting access to it which would give them full access to my web sites, databases, and other sensitive files. I do this as opposed to logging out of the computer. Locking the screen keeps you logged in but it requires you to enter your login password to open the desktop.
While working on a computer, you can press the Windows + L keys to lock the screen. If your logged in by VNC, closing your connection does not automatically lock your computer and it will remain in an unlocked state so that anyone can start using it. A simple way to lock your computer from a command prompt is to run:

rundll32.exe user32.dll,LockWorkStation

Opening a command prompt to do this is too much work, so create a batch file (Lock Workstation.bat), place that line in it, and keep the file on the Desktop for easy access. Then when you complete your remote session, lock the screen before you close the connection.