Archive

Archive for the ‘Multimedia-is-any’ Category

Practice Chinese Stroke Order at varying speeds

Here we are providing over 80,000 animated GIF files for you to practice Chinese Stroke Order at varying (hopefully increasing) speeds of your choice (millisecs denotes the time you have for each stroke): strip, 1010millisecs, 1000millisecs, 990millisecs, 980millisecs, 970millisecs, 960millisecs, 950millisecs, 940millisecs, 930millisecs, 920millisecs, 910millisecs, 900millisecs, 890millisecs, 880millisecs, 870millisecs, 860millisecs, 850millisecs, 840millisecs, 830millisecs, 820millisecs, 810millisecs, 800millisecs, 790millisecs, 780millisecs, 770millisecs, 760millisecs, 750millisecs, 740millisecs, 730millisecs, 720millisecs, 710millisecs, 700millisecs, 690millisecs, 680millisecs, 670millisecs, 660millisecs, 650millisecs, 640millisecs, 630millisecs, 620millisecs, 610millisecs, 600millisecs, 590millisecs, 580millisecs, 570millisecs, 560millisecs, 550millisecs, 540millisecs, 530millisecs, 520millisecs, 510millisecs, 500millisecs, 490millisecs, 480millisecs, 470millisecs, 460millisecs, 450millisecs, 440millisecs, 430millisecs, 420millisecs, 410millisecs, 400millisecs, 390millisecs, 380millisecs, 370millisecs, 360millisecs, 350millisecs, 340millisecs, 330millisecs, 320millisecs, 310millisecs, 300millisecs, 290millisecs, 280millisecs, 270millisecs, 260millisecs, 250millisecs, 240millisecs, 230millisecs, 220millisecs, 210millisecs, 200millisecs, 190millisecs, 180millisecs, 170millisecs, 160millisecs, 150millisecs, 140millisecs, 130millisecs, 120millisecs, 110millisecs, 100millisecs, 090millisecs, 080millisecs, 070millisecs, 060millisecs, 050millisecs, 040millisecs, 030millisecs, 020millisecs, 010millisecs.   chinese-stroke-order-timestretched-blog-example

Downloading the originals from the most helpful site (also available by direct download) created by Tim Xie for the California State University, Long Beach, and applying my  bash shell script from here, then generating your own speed-differentiated versions, seems to difficult for most users. Even better, instead of perusing the above links, you could just hit my server once and download the whole lot of post-processed animated Gif files with different speeds from here.

Enterprise Library Logging Sample

Using Enterprise Library (still on 5), You can declaratively configure the logger properties (including desired formatting, see Textformatter template below)) in the app.config’s appsettings:

  <loggingConfiguration name="Logging Application Block" tracingEnabled="true"
  defaultCategory="General" logWarningsWhenNoCategoriesMatch="true">   <listeners>    <add name="Event Log Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    source="Enterprise Library Logging" formatter="Text Formatter 2"
    log="" machineName="." traceOutputOptions="None" />    <add name="Rolling Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    fileName="%AppData%\trpsoft\langlabemailer\trace-rolling.log"
    footer="" formatter="Text Formatter" header="" rollFileExistsBehavior="Increment"
    rollInterval="Day" rollSizeKB="1000" maxArchivedFiles="10" traceOutputOptions="None" />    <add name="Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    fileName="%AppData%\trpsoft\langlabemailer\exception.log" header=""
    footer="" formatter="Text Formatter" traceOutputOptions="None" />    <add name="Rolling Flat File Trace Listener 2" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    fileName="%AppData%\trpsoft\langlabemailer\exception-rolling.log"
    footer="" formatter="Text Formatter" header="" rollFileExistsBehavior="Increment"
    rollInterval="Hour" rollSizeKB="100" maxArchivedFiles="10" filter="All" />   </listeners>   <formatters>    <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    template="Timestamp	 {timestamp}	Message	 {message}	Category	 {category}	Priority	 {priority}	EventId	 {eventid}	Severity	 {severity}	Title	{title}	Machine	 {localMachine}	App Domain	 {localAppDomain}	ProcessId	 {localProcessId}	Process Name	 {localProcessName}	Thread Name	 {threadName}	Win32 ThreadId	{win32ThreadId}	Extended Properties	 {dictionary({key} - {value})}"
    name="Text Formatter" />    <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    template="Timestamp: {timestamp}{newline}
Message: {message}{newline}
Category: {category}{newline}
Priority: {priority}{newline}
EventId: {eventid}{newline}
Severity: {severity}{newline}
Title:{title}{newline}
Machine: {localMachine}{newline}
App Domain: {localAppDomain}{newline}
ProcessId: {localProcessId}{newline}
Process Name: {localProcessName}{newline}
Thread Name: {threadName}{newline}
Win32 ThreadId:{win32ThreadId}{newline}
Extended Properties: {dictionary({key} - {value}{newline}
)}"
    name="Text Formatter 2" />   </formatters> 
   <categorySources>    <add switchValue="All" name="General">     <listeners>      <add name="Rolling Flat File Trace Listener" />     </listeners>    </add>    <add switchValue="All" name="Exceptions">     <listeners>      <add name="Event Log Listener" />      <add name="Rolling Flat File Trace Listener 2" />     </listeners>    </add>   </categorySources>   <specialSources>    <allEvents switchValue="All" name="All Events" />    <notProcessed switchValue="All" name="Unprocessed Category" />    <errors switchValue="All" name="Logging Errors &amp; Warnings">     <listeners>      <add name="Event Log Listener" />     </listeners>    </errors>   </specialSources>  </loggingConfiguration>  <exceptionHandling>   <exceptionPolicies>    <add name="Log and Rethrow">     <exceptionTypes>      <add name="All Exceptions" type="System.Exception, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
      postHandlingAction="NotifyRethrow">       <exceptionHandlers>        <add name="Logging Exception Handler" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.LoggingExceptionHandler, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        logCategory="Exceptions" eventId="100" severity="Error" title="Enterprise Library Exception Handling"
        formatterType="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.TextExceptionFormatter, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling"
        priority="0" />       </exceptionHandlers>      </add>     </exceptionTypes>    </add>   </exceptionPolicies>  </exceptionHandling>  <appSettings> 

Import and call the logger like so:

using Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging;  

using Microsoft.Practices.EnterpriseLibrary.Logging;  

Logger.Write("regex:RegExRecordingFileGroup - target:" + "\t" + _filenamenoext + "\t" + strGroups); 

Which outputs: image and

image,

the  latter can be easily imported and analyzed in MS-Excel:

image

These are obviously only the simplest examples, study the Enterprise Library documentation for more customization

LRC classroom usage 2013/4

excel-powerpivot-visualization-chart-calendaranalytics-teacher-classroom-use

Paper @ CALICO 2014: Using NLP Platforms for Language Learning Material Production

…has been accepted for inclusion in the program for CALICO 2014, May 9-10 at Ohio University, (Athens, OH) and was presented on May 9: Here are abstract and slide deck:

Protected: Elti0162 Syllabus with learning materials for listening and speaking

2014/04/07 Enter your password to view comments.

This content is password-protected. To view it, please enter the password below.

Watch how to start and activate speech recognition from the desktop

Watch how to configure the speech recognition wizard on Windows 7


Choose the same options in your language (every time you log in, until we find a way to set these options on a per-machine level).

Manage some of your teacher computer settings per logged in user

  1. Another day, another hack, and inconsequential, unless of course you are in my situation:
  2. If you need a simple way to change some of your Sanako settings per logged in user
  3. but cannot use the logged-in user system built into Sanako Study 1200:

 

$path = "C:\ProgramData\Sanako\Study\Tutor\"

If (@UserName = "PRTOTECTTHEINNOCENT") Then	
; change the sanako default save to dual track supporting mff
	; prereq: customized settings files in the folder ready to rename 
	FileCopy($path & "mffTutor.Settings", $path & "Tutor.Settings", 1)
ElseIf (@UserName = "tplagwit") Then 
; change the sanako default save to dual track supporting wma, for testing
	FileCopy($path & "wmaTutor.Settings", $path & "Tutor.Settings", 1)
Else 
; keep the default mp3, but we may have to reset the tutorsettings on this unfrozen computer
	FileCopy($path & "mp3Tutor.Settings", $path & "Tutor.Settings", 1)
EndIf
; tutor.exe could be hardcoded to (re)load here
If ProcessExists("Tutor.exe") Then
	; determine: we could kill tutor to reload it, but that could be disruptive of a class
Else
	Run("C:\Program Files (x86)\SANAKO\Study\Tutor\Tutor.exe")
EndIf
Exit