Archive

Archive for the ‘software’ Category

How to fix MS-Word not creating PDF Bookmarks for your Headings

  1. Problem: No navigation bar in Acrobat Reader when viewing your PDF created from MS-Word.
  2. Solution: Check this setting first in the Save as PDF Options: image
  3. But: Word 2013’s  “Save as PDF” with “Create Bookmarks”  may remains greyed out since it won’t even see your own heading styles, even if you based these styles on the built-in heading styles (which are known to contain  “hidden magic” not easily replicated) , including their outline level, if
    1. Heading appears in Content control.
    2. Heading appears in Table.
  4. Workaround:
    1. Move headings out of Content Controls (you can still “lock”the text with Grouping, which will be enabled on the Developer Tab once you select at least a conten control and text (meant for form field labels).
    2. Move headings outside of tables.

Can speech recognition tools be soundly applied for speaking practice in second language acquisition programs? Paper at SLRF 2014

For your convenience, I provide two versions of this presentation: the slide deck:

And a screencast of my presentation:

(Unfortunately, PowerPoint 2013 seems to have introduced a bug in alignment of narration and video. If they fix it, I will republish),

How to fix primary screen on Linux laptop not coming out of sleep

  1. Problem: My Debian (Jessie) Linux laptop has issues with juggling a secondary screen and sleeping at the same time. More specifically, it seems:
    1. It seems if you come out of sleep with a secondary screen connected, even if you put the laptop to sleep with “it” (o.k., not the same “it”, just spec-wise the equivalent FULL HD LCD screen on VGA – being able to easily move the laptop to work in multiple places is kind of the point of having one in the first place), the primary laptop screen seems to remain asleep completely. FN keys to switch primary and secondary screen on laptop have no effect.
    2. If you disconnect the secondary screen, Linux does fall back onto the primary screen, however, “forgets” to turn the backlight on. FN keys to up brightness have no effect
    3.   have not found a reliable way avoiding the issue  – maybe always disconnecting secondary screen before putting laptop to sleep? If you don’t want to have to do this, or forget, try to use this:
  2. Workaround:
    1. While I could get to the tty shell on secondary screen using CTRL+ALT+F1, but using xrandr --auto gave can't open display.
    2. However, try installing this utility which I found recommended in a different context:
      1. aptitude search xbacklight
      2. xbacklight               - simple utility to set the backlight level
      3. aptitude install xbacklight
      4. Switch to a non-elevated user (or else you’ll get: No protocol specified" , "Primary laptop", "Can't open display :0", Why can't I run GUI apps from 'root': "No protocol specified"? : " In Debian $XAUTHORITY is usually not set explicitly.", "xauth list xauth:  file /root/.Xauthority does not exist" ).
      5. Then issue: xbacklight -set 50 OR issue xbacklight -inc 50.
      6. Viola: “Fiat lux”…
      7. Sleep takes out your primary screen and you are not good at blind starting, finding and typing into your Konsole? Right-click on the desktop of your secondary scree, “Run command”, and issue the same command line.
      8. Thank you, xbacklight.

VBA script to more easily examine the properties of your Content Control-based forms

  1. The routine loops through the Content Controls and outputs properties as text into the VBA-Editor immediate window,
  2. from where it can be easily converted into an Excel-table which makes it easy t o spot and mark inconsistencies and outright oversights, like so: image
Sub ccPropertiesPrint()
On Error Resume Next
Dim strHeadings, strProps As String
Dim count As Integer
Dim response

strHeadings = strHeadings & "~" & "count"
strHeadings = strHeadings & "~" & "Tag"
strHeadings = strHeadings & "~" & "Title"
strHeadings = strHeadings & "~" & "Type"
strHeadings = strHeadings & "~" & "DefaultTextStyle"
strHeadings = strHeadings & "~" & "Application"
strHeadings = strHeadings & "~" & "BuildingBlockCategory"
strHeadings = strHeadings & "~" & "BuildingBlockType"
'strHeadings = strHeadings & "~" & "Checked"
'strHeadings = strHeadings & "~" & "Creator"
'strHeadings = strHeadings & "~" & "DateCalendarType"
'strHeadings = strHeadings & "~" & "DateDisplayFormat"
'strHeadings = strHeadings & "~" & "DateDisplayLocale"
'strHeadings = strHeadings & "~" & "DateStorageFormat"
'strHeadings = strHeadings & "~" & "DropdownListEntries"
strHeadings = strHeadings & "~" & "ID"
strHeadings = strHeadings & "~" & "LockContentControl"
strHeadings = strHeadings & "~" & "LockContents"
strHeadings = strHeadings & "~" & "MultiLine"
'strHeadings = strHeadings & "~" & "Parent"
strHeadings = strHeadings & "~" & "ParentContentControl"
strHeadings = strHeadings & "~" & "PlaceholderText"
strHeadings = strHeadings & "~" & "Range"
strHeadings = strHeadings & "~" & "ShowingPlaceholderText"
strHeadings = strHeadings & "~" & "Temporary"
'strHeadings = strHeadings & "~" & "XMLMapping"
Debug.Print strHeadings
  If ActiveDocument.ContentControls.count > 0 Then
    For Each oCC In ActiveDocument.ContentControls
    'debug
    'If oCC.Type = 9 Then 'debug: repeating
count = count + 1
If count = 50 Then
'dim response = vbmsgboxresponse
    Exit For
End If
    
' useless cannot access immediate window If count = 15 Then response = MsgBox("paused", vbOKOnly) End If
strProps = "" 'start over
strProps = strProps & "~"
strProps = strProps & count 'CStr(count)
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.Tag, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.Title, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.Type, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.DefaultTextStyle, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.Application, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.BuildingBlockCategory, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.BuildingBlockType, Chr(13), "#"), Chr(10), "#"))
'strProps = strProps & "~"
'strProps = strProps & CStr(Replace(Replace(oCC.Checked, Chr(13), "#"), Chr(10), "#"))
'strProps = strProps & "~"
'strProps = strProps & CStr(Replace(Replace(oCC.Creator, Chr(13), "#"), Chr(10), "#"))
'strProps = strProps & "~"
'strProps = strProps & CStr(Replace(Replace(oCC.DateCalendarType, Chr(13), "#"), Chr(10), "#"))
'strProps = strProps & "~"
'strProps = strProps & CStr(Replace(Replace(oCC.DateDisplayFormat, Chr(13), "#"), Chr(10), "#"))
'strProps = strProps & "~"
'strProps = strProps & CStr(Replace(Replace(oCC.DateDisplayLocale, Chr(13), "#"), Chr(10), "#"))
'strProps = strProps & "~"
'strProps = strProps & CStr(Replace(Replace(oCC.DateStorageFormat, Chr(13), "#"), Chr(10), "#"))
'strProps = strProps & "~"
'strProps = strProps & CStr(Replace(Replace(oCC.DropdownListEntries.count, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.ID, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.LockContentControl, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.LockContents, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.MultiLine, Chr(13), "#"), Chr(10), "#"))
'strProps = strProps & "~"
'strProps = strProps & CStr(Replace(Replace(oCC.Parent, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.ParentContentControl, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.PlaceholderText, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.Range, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.ShowingPlaceholderText, Chr(13), "#"), Chr(10), "#"))
strProps = strProps & "~"
strProps = strProps & CStr(Replace(Replace(oCC.Temporary, Chr(13), "#"), Chr(10), "#"))
'strProps = strProps & "~"
'strProps = strProps & CStr(Replace(Replace(oCC.XMLMapping, Chr(13), "#"), Chr(10), "#"))
Debug.Print vbCrLf & strProps & vbCrLf
'End If 'oCC.Type=9  then 'debug: repeating
 Next
 End If
End Sub

Has the “text effects” cheese been moved only in Word 2013 styles?

Used to have its own separate button – don’t despair, it is still there, now under the “Format” button:

word-styles-text-effects-

How to get Square brackets (and hide comments) with ISO690 in Word 2013 bibliography styles

2014/09/14 2 comments
  1. Lots of people online seem to be looking for square brackets with citations in ISO690 style in Word 2013, but having no luck with getting the Bibliography XSL  for older Word versions to work. Trying to edit the old XSL still results in it not loading into the MS-Word Citation Style dropdown.
  2. What is needed is a way to parse the XSL and debug load errors. In the meantime… Smiley
  3. I had better luck with starting from the current Word2013 ISO style. If you stream Office365, this is now in %appdata%\Microsoft\Templates\LiveContent\15\Managed\Word Document Bibliography Styles
    1. Puzzlingly, there is also a %appdata%\Microsoft\Bibliography\Style which some of your edited files get copied to – go figure….
    2. The ISO690 file  I based my variation on is called : TC102851224[[fn=iso690nmerical]].xsl
    3. Copy this file to  %appdata%\Microsoft\Templates\LiveContent\15\User\Word Document Bibliography Styles\
    4. Open it with a text editor (I use NotePad++).
    5. Change “Openbracket” section like so: And the corresponding for closebracket
      <!– trp:   –>
      [
    6. Same principle change for the corresponding for “Closebracket
      1. Lst time I carelessly introduced printing space characters before my closing brackets – just copy the leading chars from a working XML line if you run into this problem.
  4. I also needed to not print “Comment”-field of the source in my bibliography”
    1. Search for:
    2. Comment out the “print”-action inside (easier than changing each bibliographgy type):<!– trp:   
      –>
  5. Change the style name. MS-Word 2013 uses “StyleNameLocalized” instead of “StyleName”, so I added a qualifier to each localized name within the test:

    ISO 690YOURNAMEHERE

  6. Restart MS-Word, and with luck, your styles will show in the ribbon References section style dropdown: image. Apply them (using F9):image
  7. Download: TC102851224[[fn=iso690nmericalsquare0comments]]

How to change the display language and speech recognition language on Windows 8 computers

2014/09/07 1 comment
  1. I seem to be getting a lot of hits on this post for Windows 7 where the globalized language features are still limited to Enterprise and Ultimate SKU (and especially not available in Home and Home basic which most language learning users will work with).
  2. Windows 8 to the rescue, as per Steven Sinofsky’s blog post:
  3. Or if you need a visual step-by-step, here is me adding German to English on Windows 8.1 Professional:image image
  4. clip_image001

    clip_image002

    clip_image003

    clip_image004

    clip_image005

    clip_image006

    clip_image007

    imageimage

    Just 1 easy option now is they input language: image

Skype video conference live machine translation –“way to go…”?

… as in “has a way to go”- there are many more such difficulties in natural language for machine translation.

These sample screenshots from a recent demo show a lot of them in a nutshell.

You can probably sense that something is wrong with this company representative’s smile, skype-machine-translation-recode1

even if you do not speak German. If you do: 

skype-machine-translation-recode2 makes sense NOT!

… as in “NOT!” Smiley (Don’t forget, though, that there is an initial speech recognition layer in this demo which seems to have become almost transparent as a technology now? See Gartner’s hype cycle of 2014.)