text:
@rem
@rem The MIT License (MIT)
@rem
@rem Copyright (c) 2014 Kristian Kutin
@rem
@rem Permission is hereby granted, free of charge, to any person obtaining a copy
@rem of this software and associated documentation files (the "Software"), to deal
@rem in the Software without restriction, including without limitation the rights
@rem to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
@rem copies of the Software, and to permit persons to whom the Software is
@rem furnished to do so, subject to the following conditions:
@rem
@rem The above copyright notice and this permission notice shall be included in all
@rem copies or substantial portions of the Software.
@rem
@rem THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
@rem IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
@rem FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@rem AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
@rem LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
@rem OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
@rem SOFTWARE.
@rem

@echo off

@rem ================================================================================
@rem ===
@rem ===   void main(String aSubroutine, String... someParameters)
@rem ===
@rem ===   This batch script contains a collection of utility functions.
@rem ===
@rem ===
@rem ===   @param aSubroutine
@rem ===          the name of a subroutine
@rem ===   @param someParameters
@rem ===          parameters required by the subroutine
@rem ===

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   Initialization
@rem ---

call:setUp

set "batchName=%0"
set "fullBatchPath=%~dpnx0"
set "infoFile=%~dp0%~n0%INFO_FILE_SUFFIX%"
set "errorsFile=%~dp0%~n0%ERRORS_FILE_SUFFIX%"
set subroutineName=%1
set "corePath=%~dp0..\core\"

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   Load prerequisites
@rem ---

call %corePath%define-constants.bat 2>nul
if "%ERRORLEVEL%"=="0" (

	@rem OK

) else (

	echo Error: Unable to initialize constants! >&2
	exit /b 3
)

call %corePath%define-macros.bat 2>nul
if "%ERRORLEVEL%"=="0" (

	@rem OK

) else (

	echo Error: Unable to initialize macros! >&2
	exit /b 4
)

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   Check the specified subroutine.
@rem ---

if "%1"=="" (

	call:handleError NoSubroutineError
	call:cleanUp
	%return% %returnCode%
)

findstr /r /i /c:"^%PUBLIC_LABEL_PREFIX%%1" "%~dpnx0" > nul
%ifError% (

	call:handleError InvalidSubroutineError %subroutineName%
	call:cleanUp
	%return% %returnCode%
)

shift
goto %PUBLIC_PREFIX%%subroutineName%

@rem ================================================================================
@rem ===
@rem ===   Public Subroutines
@rem ===

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void listSubroutines()
@rem ---
@rem ---   Lists all subroutines which are defined within this utility library.
@rem ---

:PUBLIC_listSubroutines

	for /f "delims=*" %%A in ('findstr /r /i /c:"^%PUBLIC_LABEL_PREFIX%" "%fullBatchPath%" 2^>nul ^| sort') do (

		set "name=%%A"

		setlocal EnableDelayedExpansion

			set "name=!name:%PUBLIC_LABEL_PREFIX%=!"
			!cprintln! !name!

		endlocal

		set name=
	)

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void info(String subroutineName)
@rem ---
@rem ---   Prints the info screen for the specified subroutine.
@rem ---
@rem ---
@rem ---   @param subroutineName
@rem ---          the name of a subroutine (without the internal prefix)
@rem ---

:PUBLIC_info

	set "subroutineName=%1"
	if '%subroutineName%'=='' (

		call:handleError MissingParameterError %0
		call:cleanUp
		%return% %returnCode%
	)
	set "subroutineName=%subroutineName:"=%"

	set "prefix=%PUBLIC_LABEL_PREFIX%%subroutineName%%SPACE%"
	set BATCH_NAME_PATTERN={batch-name}
	set TABULATOR_PATTERN={tab}

	findstr /r /i /c:"^%prefix%" %infoFile% >nul
	%ifError% (

		call:handleError InvalidSubroutineError %subroutineName%
		call:cleanUp
		%return% %returnCode%
	)

	setlocal EnableDelayedExpansion

		for /f "delims=*" %%A in ('findstr /r /i /c:"^%prefix%" "%infoFile%" 2^>nul') do (

			set "line=%%A"
			set "line=!line:%prefix%=!"

			if '!line!'=='' (

				@rem do nothing

			) else (

				set "line=!line:%TABULATOR_PATTERN%=%TABULATOR%!"
				set "line=!line:%BATCH_NAME_PATTERN%=%batchName%!"
			)

			!cprintln!.!line!
		)

	endlocal

	set BATCH_NAME_PATTERN=
	set TABULATOR_PATTERN=

	set prefix=
	set subroutineName=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void about()
@rem ---
@rem ---   Prints a general description of this batch script.
@rem ---

:PUBLIC_about

	set "prefix=%LABEL_PREFIX%about%SPACE%"
	set BATCH_NAME_PATTERN={batch-name}
	set TABULATOR_PATTERN={tab}

	setlocal EnableDelayedExpansion

		for /f "delims=*" %%A in ('findstr /r /i /c:"^%prefix%" "%infoFile%" 2^>nul') do (

			set "line=%%A"
			set "line=!line:%prefix%=!"

			if '!line!'=='' (

				@rem do nothing

			) else (

				set "line=!line:%TABULATOR_PATTERN%=%TABULATOR%!"
				set "line=!line:%BATCH_NAME_PATTERN%=%batchName%!"
			)

			!cprintln!.!line!
		)

	endlocal

	set BATCH_NAME_PATTERN=
	set TABULATOR_PATTERN=

	set prefix=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void today(String datePattern)
@rem ---
@rem ---   A subroutine which prints the current date to the console according to
@rem ---   the specified date pattern.
@rem ---
@rem ---   Supported patterns:
@rem ---
@rem ---      yyyy    Year
@rem ---      MM      Month in year
@rem ---      dd      Day in year
@rem ---
@rem ---
@rem ---   @param datePattern
@rem ---          a date pattern (see above)
@rem ---

:PUBLIC_today

	call:checkAndAssignParameter input %1
	%ifError% (

		call:handleError MissingParameterError
		call:cleanUp
		%return% %returnCode%
	)

	set YEAR_PATTERN=yyyy
	set MONTH_PATTERN=MM
	set DAY_PATTERN=dd

	set year=%date:~-4,4%
	set month=%date:~-7,2%
	set day=%date:~-10,2%

	setlocal EnableDelayedExpansion

		set "output=!input!"
		set "output=!output:%YEAR_PATTERN%=%year%!"
		set "output=!output:%MONTH_PATTERN%=%month%!"
		set "output=!output:%DAY_PATTERN%=%day%!"

	endlocal & %cprintln% %output%

	set input=

	set year=
	set month=
	set day=

	set YEAR_PATTERN=
	set MONTH_PATTERN=
	set DAY_PATTERN=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void now(String timePattern)
@rem ---
@rem ---   A subroutine which prints the current time to the console according to
@rem ---   the specified time pattern.
@rem ---
@rem ---   Supported patterns:
@rem ---
@rem ---      HH      Hour in day (0-23)
@rem ---      mm      Minute in hour
@rem ---      ss      Second in minute
@rem ---      ff      seconds fraction
@rem ---
@rem ---
@rem ---   @param timePattern
@rem ---          a time pattern (see above)
@rem ---

:PUBLIC_now

	call:checkAndAssignParameter input %1
	%ifError% (

		call:handleError MissingParameterError
		call:cleanUp
		%return% %returnCode%
	)

	set HOUR_PATTERN=HH
	set MINUTE_PATTERN=mm
	set SECOND_PATTERN=ss
	set FRACTION_PATTERN=ff

	setlocal EnableExtensions

		for /f "tokens=1-4 delims=:,.-/ " %%i in ('%cprintln% %time%') do (

			set hours=%%i
			set minutes=%%j
			set seconds=%%k
			set fraction=%%l
		)

		setlocal EnableDelayedExpansion

			set "output=!input!"
			set "output=!output:%HOUR_PATTERN%=%hours%!"
			set "output=!output:%MINUTE_PATTERN%=%minutes%!"
			set "output=!output:%SECOND_PATTERN%=%seconds%!"
			set "output=!output:%FRACTION_PATTERN%=%fraction%!"

		endlocal & %cprintln% %output%

	endlocal

	set input=

	set HOUR_PATTERN=
	set MINUTE_PATTERN=
	set SECOND_PATTERN=
	set FRACTION_PATTERN=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void findFile(String baseDirectory, String fileName)
@rem ---
@rem ---   A subroutine which looks for files with the specified name at the
@rem ---   specified location and prints a list of matching files to the console.
@rem ---
@rem ---
@rem ---   @param baseDirectory
@rem ---          a base directory which is to be searched
@rem ---   @param fileName
@rem ---          a file name
@rem ---

:PUBLIC_findFile

	call:checkAndAssignParameter baseDirectory %1
	%ifError% (

		call:handleError MissingBaseDirectoryError %0
		call:cleanUp
		%return% %returnCode%
	)

	if "%baseDirectory:~-1%" neq "%BACKSLASH%" (

		set "baseDirectory=%baseDirectory%%BACKSLASH%"
	)

	call:checkAndAssignParameter fileName %2
	%ifError% (

		call:handleError MissingFileNameError %0
		call:cleanUp
		%return% %returnCode%
	)

	for /f "delims=*" %%A in ('dir /A-D /B /S "%baseDirectory%%fileName%" 2^>nul ^| sort') do (

		%cprintln% %%A
	)

	set baseDirectory=
	set fileName=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void findFileSets(String baseDirectory, String filePatterns)
@rem ---
@rem ---   A subroutine which looks for files which match the specified pattern name
@rem ---   at the specified location and prints a list of matching files to the
@rem ---   console.
@rem ---
@rem ---   A file pattern is provided as a quoted list (e.g. ".pdf .txt .csv").
@rem ---
@rem ---
@rem ---   @param baseDirectory
@rem ---          a base directory which is to be searched
@rem ---   @param filePatterns
@rem ---          a set of file name patterns
@rem ---

:PUBLIC_findFileSets

	call:checkAndAssignParameter baseDirectory %1
	%ifError% (

		call:handleError MissingBaseDirectoryError %0
		call:cleanUp
		%return% %returnCode%
	)

	if "%baseDirectory:~-1%" neq "%BACKSLASH%" (

		set "baseDirectory=%baseDirectory%%BACKSLASH%"
	)

	call:checkAndAssignParameter filePatterns %2
	%ifError% (

		call:handleError MissingFilePatternsError %0
		call:cleanUp
		%return% %returnCode%
	)

	for %%i in (%filePatterns%) do (

		call utilities.bat findFile "%baseDirectory%" "*%%i"
	)

	set baseDirectory=
	set filePatterns=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void findDirectory(String baseDirectory, String directoryName)
@rem ---
@rem ---   A subroutine which looks for directories with the specified name at the
@rem ---   specified location and prints a list of matching directories to the
@rem ---   console.
@rem ---
@rem ---
@rem ---   @param baseDirectory
@rem ---          a base directory which is to be searched
@rem ---   @param directoryName
@rem ---          a directory name
@rem ---

:PUBLIC_findDirectory

	call:checkAndAssignParameter baseDirectory %1
	%ifError% (

		call:handleError MissingBaseDirectoryError %0
		call:cleanUp
		%return% %returnCode%
	)

	if "%baseDirectory:~-1%" neq "%BACKSLASH%" (

		set "baseDirectory=%baseDirectory%%BACKSLASH%"
	)

	call:checkAndAssignParameter directoryName %2
	%ifError% (

		call:handleError MissingDirectoryNameError %0
		call:cleanUp
		%return% %returnCode%
	)

	for /f "delims=*" %%A in ('dir /AD /B /S "%baseDirectory%%directoryName%" 2^>nul ^| sort') do (

		%cprintln% %%A
	)

	set baseDirectory=
	set directoryName=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void findDirectorySets(String baseDirectory, String directoryPatterns)
@rem ---
@rem ---   A subroutine which looks for directories which match the specified pattern
@rem ---   at the specified location and prints a list of matching files to the
@rem ---   console.
@rem ---
@rem ---   A directory pattern is provided as a quoted list (e.g. "test1 test2").
@rem ---
@rem ---
@rem ---   @param baseDirectory
@rem ---          a base directory which is to be searched
@rem ---   @param directoryPatterns
@rem ---          a set of directory name patterns
@rem ---

:PUBLIC_findDirectorySets

	call:checkAndAssignParameter baseDirectory %1
	%ifError% (

		call:handleError MissingBaseDirectoryError %0
		call:cleanUp
		%return% %returnCode%
	)

	if "%baseDirectory:~-1%" neq "%BACKSLASH%" (

		set "baseDirectory=%baseDirectory%%BACKSLASH%"
	)

	call:checkAndAssignParameter directoryPatterns %2
	%ifError% (

		call:handleError MissingDirectoryPatternsError %0
		call:cleanUp
		%return% %returnCode%
	)

	for %%i in (%directoryPatterns%) do (

		call utilities.bat findDirectory "%baseDirectory%" "*%%i"
	)

	set baseDirectory=
	set directoryPatterns=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void checkFile(String fullPath)
@rem ---
@rem ---   A subroutine which checks if the specified path represents a file or
@rem ---   directory. The result is printed to the console.
@rem ---
@rem ---   Return values:
@rem ---
@rem ---      1) file        the path represents a file
@rem ---      2) directory   the path represents a directory
@rem ---      3) invalid     the path doesn't represent an existing file or directory
@rem ---
@rem ---
@rem ---   @param fullPath
@rem ---          the full path of a file or directory
@rem ---

:PUBLIC_checkFile

	call:checkAndAssignParameter fullPath %1
	%ifError% (

		call:handleError MissingPathError %0
		call:cleanUp
		%return% %returnCode%
	)

	if not exist "%fullPath%" (

		%cprintln% invalid
		goto END_checkFile
	)

	set "currentDir=%CD%"

	cd /D "%fullPath%" > nul 2> nul
	%ifError% (

		%cprintln% file

	) else (

		%cprintln% directory
	)

	cd /D %currentDir%

:END_checkFile

	set fullPath=
	set currentDir=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void stringLength(String string)
@rem ---
@rem ---   The subroutine determines the length of the specified string and prints
@rem ---   the result to the console.
@rem ---
@rem ---
@rem ---   @param string
@rem ---          a string
@rem ---

:PUBLIC_stringLength

	call:checkAndAssignParameter string %1
	%ifError% (

		call:handleError MissingParameterError
		call:cleanUp
		%return% %returnCode%
	)

	setlocal EnableDelayedExpansion

		set index=0

	:stringLength_loop

		set char=!string:~%index%,1!

		if defined char (

			set /A index += 1
			goto stringLength_loop

		) else (

			%cprintln% %index%
		)

	endlocal

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void assignResult(String variableName, String commandString)
@rem ---
@rem ---   The specified command is executed and the console printout assigned to the
@rem ---   specified variable.
@rem ---
@rem ---   TODO
@rem ---
@rem ---   - the current implementation would assign the last line of the console
@rem ---     output to the variable.
@rem ---
@rem ---   - test when and how variables within the specified command string are
@rem ---     evaluated and check the repercussions thereof.
@rem ---
@rem ---   - provide examples for the command string, especially with regard to
@rem ---     special characters (e.g. chevrons) and how they need to be escaped.
@rem ---
@rem ---   - some kind of error handling is required, else the last line of the
@rem ---     executed command is assigned to the specified variable.
@rem ---
@rem ---   - an alternaive implementation assignArrayResult is required.
@rem ---
@rem ---
@rem ---   @param variableName
@rem ---          the name of a variable
@rem ---   @param commandString
@rem ---          a string representing a command invocation, including passed
@rem ---          parameters
@rem ---

:PUBLIC_assignResult

	call:checkAndAssignParameter variableName %1
	%ifError% (

		call:handleError MissingVariableNameError %0
		call:cleanUp
		%return% %returnCode%
	)

	if '%2'=='' (

		call:handleError MissingCommandStringError %0
		call:cleanUp
		%return% %returnCode%
	)

	setlocal EnableDelayedExpansion

		set string=%2
		set "string=!string:%LEFT_CHEVRON%=%LEFT_CHEVRON_REPLACEMENT%!"
		set "string=!string:%RIGHT_CHEVRON%=%RIGHT_CHEVRON_REPLACEMENT%!"
		set "string=!string:%LEFT_PARENTHESIS%=%LEFT_PARENTHESIS_REPLACEMENT%!"
		set "string=!string:%RIGHT_PARENTHESIS%=%RIGHT_PARENTHESIS_REPLACEMENT%!"
		set "string=!string:%AMPERSAND%=%AMPERSAND_REPLACEMENT%!"
		set "string=!string:%DOUBLE_PRIME%=!"

	endlocal & set "commandString=%string%"

	for /F "delims=*" %%i in ('%commandString%') do (

		set "%variableName%=%%i"
	)

	set variableName=
	set commandString=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void copyFiles(String baseDirectory, String targetDirectory, String filePatterns)
@rem ---
@rem ---   All files that match the specified file patterns are copied from the
@rem ---   specified base directory to the specified target directory.
@rem ---
@rem ---
@rem ---   @param baseDirectory
@rem ---          the source directory
@rem ---   @param targetDirectory
@rem ---          the target directory
@rem ---   @param filePatterns
@rem ---          a set of file name patterns
@rem ---

:PUBLIC_copyFiles

	call:checkAndAssignParameter baseDirectory %1
	%ifError% (

		call:handleError MissingBaseDirectoryError %0
		call:cleanUp
		%return% %returnCode%
	)

	if "%baseDirectory:~-1%" neq "%BACKSLASH%" (

		set "baseDirectory=%baseDirectory%%BACKSLASH%"
	)

	call:checkAndAssignParameter targetDirectory %2
	%ifError% (

		call:handleError MissinTargetDirectoryError
		call:cleanUp
		%return% %returnCode%
	)

	if "%targetDirectory:~-1%" neq "%BACKSLASH%" (

		set "targetDirectory=%targetDirectory%%BACKSLASH%"
	)

	call:checkAndAssignParameter filePatterns %3
	%ifError% (

		call:handleError MissingFilePatternsError
		call:cleanUp
		%return% %returnCode%
	)

	for /F "delims=*" %%i in ('call utilities.bat findFileSets "%baseDirectory%" "%filePatterns%"') do (

		set "newFileName=%%i"

		setlocal EnableDelayedExpansion

			set "newFileName=!newFileName:%baseDirectory%=%targetDirectory%!"
			echo xcopy /E /H /I /Y "%%i" "!newFileName!*"
			xcopy /E /H /I /Y "%%i" "!newFileName!*"

		endlocal
	)

	set newFileName=

	set baseDirectory=
	set targetDirectory=
	set filePatterns=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void copyDirectories(String baseDirectory, String targetDirectory, String directoryPatterns)
@rem ---
@rem ---   All directories that match the specified file patterns are copied (including
@rem ---   their contents) from the specified base directory to the specified target
@rem ---   directory.
@rem ---
@rem ---   A set of directory patterns is provided as a quoted list (e.g. "test1 test2").
@rem ---
@rem ---
@rem ---   @param baseDirectory
@rem ---          the source directory
@rem ---   @param targetDirectory
@rem ---          the target directory
@rem ---   @param directoryPatterns
@rem ---          a set of directory name patterns
@rem ---

:PUBLIC_copyDirectories

	call:checkAndAssignParameter baseDirectory %1
	%ifError% (

		call:handleError MissingBaseDirectoryError %0
		call:cleanUp
		%return% %returnCode%
	)

	if "%baseDirectory:~-1%" neq "%BACKSLASH%" (

		set "baseDirectory=%baseDirectory%%BACKSLASH%"
	)

	call:checkAndAssignParameter targetDirectory %2
	%ifError% (

		call:handleError MissingTargetDirectoryError %0
		call:cleanUp
		%return% %returnCode%
	)

	if "%targetDirectory:~-1%" neq "%BACKSLASH%" (

		set "targetDirectory=%targetDirectory%%BACKSLASH%"
	)

	call:checkAndAssignParameter directoryPatterns %3
	%ifError% (

		call:handleError MissingDirectoryPatternsError %0
		call:cleanUp
		%return% %returnCode%
	)

	for /F "delims=*" %%i in ('call utilities.bat findDirectorySets "%baseDirectory%" "%directoryPatterns%"') do (

		set "newDirectoryName=%%i"

		setlocal EnableDelayedExpansion

			set "newDirectoryName=!newDirectoryName:%baseDirectory%=%targetDirectory%!"
			echo xcopy /E /H /I /Y "%%i" "!newDirectoryName!"
			xcopy /E /H /I /Y "%%i" "!newDirectoryName!"

		endlocal
	)

	set newDirectoryName=

	set baseDirectory=
	set targetDirectory=
	set filePatterns=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void listOldDirectories(String baseDirectory, int numberOfDays)
@rem ---
@rem ---   The subroutine lists all directories within the specified base directory
@rem ---   which are older than the specified number of days.
@rem ---
@rem ---
@rem ---   @param baseDirectory
@rem ---          the base directoy
@rem ---   @param numberOfDays
@rem ---          a threshold to identify old files
@rem ---

:PUBLIC_listOldDirectories

	call:checkAndAssignParameter baseDirectory %1
	%ifError% (

		call:handleError MissingBaseDirectoryError %0
		call:cleanUp
		%return% %returnCode%
	)

	if "%baseDirectory:~-1%" neq "%BACKSLASH%" (

		set "baseDirectory=%baseDirectory%%BACKSLASH%"
	)

	if not exist %baseDirectory% (

		call:handleError NonexistantDirectoryError %0 %baseDirectory%
		call:cleanUp
		%return% %returnCode%
	)

	call:checkAndAssignParameter days %2
	%ifError% (

		call:handleError MissingDaysError %0
		call:cleanUp
		%return% %returnCode%
	)

	forfiles /D -%days% /P %baseDirectory% /C "cmd /c if /i @isdir==%TRUE% ( echo @path )" 2>nul

	set baseDirectory=
	set days=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void deleteOldDirectories(String baseDirectory, int numberOfDays)
@rem ---
@rem ---   The subroutine deletes all directories within the specified base directory
@rem ---   which are older than the specified number of days.
@rem ---
@rem ---
@rem ---   @param baseDirectory
@rem ---          the base directoy
@rem ---   @param numberOfDays
@rem ---          a threshold to identify old directories
@rem ---

:PUBLIC_deleteOldDirectories

	@rem TODO

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void inputText(String promptMessage)
@rem ---
@rem ---   The subroutine prompts the user to enter a text. The text is printed to
@rem ---   the console.
@rem ---
@rem ---
@rem ---   @param promptMessage
@rem ---          a prompt message
@rem ---

:PUBLIC_inputText

	call:checkAndAssignParameter promptMessage %1
	%ifError% (

		call:handleError MissingPromptMessageError %0
		call:cleanUp
		%return% %returnCode%
	)

	call:inputText enteredText "%promptMessage%"
	%ifError% (

		call:handleError InvalidTextError %0
		call:cleanUp
		%return% %returnCode%
	)

	%cprintln% %enteredText%

	set promptMessage=
	set enteredText=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void logMessage(String message)
@rem ---   void logMessage(String message, String outputFile)
@rem ---
@rem ---   The subroutine prints the specified message to the console. If an output
@rem ---   file has been specified then the message will be written to a file as well.
@rem ---
@rem ---
@rem ---   @param message
@rem ---          a log message
@rem ---   @param outputFile
@rem ---          (optional) the name of an output file
@rem ---

:PUBLIC_logMessage

	call:checkAndAssignParameter message %1
	%ifError% (

		call:handleError MissingMessageError %0
		call:cleanUp
		%return% %returnCode%
	)

	call:checkAndAssignParameter outputFile %2
	%ifError% (

		goto logMessage_onlyConsoleOutput
	)

	if "%message%"=="" (

		%cprintln%. >> %outputFile%

	) else (

		%cprintln% %message% >> %outputFile%
	)

:logMessage_onlyConsoleOutput

	if "%message%"=="" (

		%cprintln%.

	) else (

		%cprintln% %message%
	)

	set message=
	set outputFile=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void callProgram(String programPath, String executableName, String someParameters)
@rem ---
@rem ---   The subroutine calls the specified program. Before actually calling the program
@rem ---   several plausibility checks are performed (e.g. Does it exist? Is it a batch file?
@rem ---   etc.).
@rem ---
@rem ---
@rem ---   TODO
@rem ---   The subroutine can be trimmed with the use of shift and %* to pass all remaining
@rem ---   parameters.
@rem ---
@rem ---
@rem ---   @param programPath
@rem ---          the path where to find the executable
@rem ---   @param executableName
@rem ---          the name of the execuatble
@rem ---   @param someParameters
@rem ---          all parameters that are to be passed on invocation
@rem ---

:PUBLIC_callProgram

	call:checkAndAssignParameter programPath %1
	%ifError% (

		call:handleError MissingProgramPathError %0
		call:cleanUp
		%return% %returnCode%
	)

	call:checkAndAssignParameter executableName %2
	%ifError% (

		call:handleError MissingExecutableNameError %0
		call:cleanUp
		%return% %returnCode%
	)

	call:checkAndAssignParameter someParameters %3
	%ifError% (

		call:handleError MissingParametersError %0
		call:cleanUp
		%return% %returnCode%
	)

	%cprintln% DEBUG::program path ...... %programPath%
	%cprintln% DEBUG::executable name ... %executableName%
	%cprintln% DEBUG::some parameters ... %someParameters%

	set BATCH_SUFFIX=.bat
	set EXE_SUFFIX=.exe
	set COM_SUFFIX=.com

	if not exist "%programPath%%executableName%" (

		call:handleError NonexistantProgramError %0
		call:cleanUp
		%return% %returnCode%
	)

	set "foundSuffix=%executableName:~-4%"
	%cprintln% DEBUG::found suffix ...... %foundSuffix%

	set invocationPrefix=

	if "%foundSuffix%"=="%BATCH_SUFFIX%" (

		set invocationPrefix=call

	) else (

		if "%foundSuffix%"=="%EXE_SUFFIX%" (

			@rem OK, no prefix

		) else (

			if "%foundSuffix%"=="%COM_SUFFIX%" (

				@rem OK, no prefix

			) else (

				call:handleError NoExecutableSpecifiedError %0
				call:cleanUp
				%return% %returnCode%
			)
		)
	)

	%cprintln% DEBUG::%invocationPrefix% "%programPath%%executableName%" %someParameters%
	%invocationPrefix% "%programPath%%executableName%" %someParameters%
	%ifError% (

		call:handleError FailedInvocationError %0
		call:cleanUp
		%return% %returnCode%
	)

	set programPath=
	set executableName=
	set someParameters=
	set foundSuffix=
	set invocationPrefix=

	set BATCH_SUFFIX=
	set EXE_SUFFIX=
	set COM_SUFFIX=

goto END

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void loadProperties(String filename)
@rem ---
@rem ---   The subroutine loads properties from the specified file (i.e. the file
@rem ---   is processed and for each entry a environment variable is set).
@rem ---
@rem ---
@rem ---   @param filename
@rem ---          the relative of absolute path of a property file
@rem ---

:PUBLIC_loadProperties

	set "_fileName=%1"
	if '%_fileName%'=='' (

		call:handleError MissingFileNameError %0
		call:cleanUp
		%return% %returnCode%
	)
	set "_fileName=%_fileName:"=%"

	if not exist %_fileName% (

		call:handleError NonexistantFileError %0 "%_fileName%"
		call:cleanUp
		%return% %returnCode%
	)

	for /F "tokens=*" %%a in (%_fileName%) do (

		call:setProperty "%%a"
		%ifError% (

			%return%
		)
	)

	set _fileName=

%return%

@rem ================================================================================
@rem ===
@rem ===   Internal Subroutines
@rem ===
@rem ===
@rem ===   Implementation Guidelines
@rem ===
@rem ===   1) Names of "local variables" should be preceded by '_' to avoid naming
@rem ===      conflicts.
@rem ===
@rem ===   2) Calling other internal subroutines should be done with care due to
@rem ===      issues regarding the scope of "local variables" and "global variables".
@rem ===

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void checkAndAssignParameter(String _variableName, String _value)
@rem ---
@rem ---   The subroutine assigns the specified value to the specified variable.
@rem ---   Surrounding quotes are removed. If no value has been specified then the
@rem ---   subroutine exits with an error.
@rem ---
@rem ---   Note:
@rem ---   This internal subroutine doesn't check the specified parameters because
@rem ---   it expects them to be provided correctly by the caller. Additional
@rem ---   checks might be necessary to make the subroutine more robust, though.
@rem ---
@rem ---   TODO
@rem ---   There are still some issues with parameters that contain spaces and ".
@rem ---
@rem ---
@rem ---   @param _variableName
@rem ---          the name of a variable
@rem ---   @param _value
@rem ---          the value which is to assigned to the specified variable
@rem ---

:checkAndAssignParameter

	set "_variableName=%1"
	if '%_variableName%=='' (

		%return% 2
	)

	set "_value=%2"
	set "_newValue=%2"

	set "%_variableName%=%_value%
	setlocal EnableDelayedExpansion

		if '!%_variableName%!'=='' (

			endlocal

			set _variableName=
			set _value=
			set _newValue=

			%return% 3
		)

		set "_newValue=%_newValue:"=%"
	endlocal & set "%_variableName%=%_newValue%"

	set _variableName=
	set _value=
	set _newValue=

%return%

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void inputText(String _variableName, String _promptMessage)
@rem ---
@rem ---   The subroutine prompts the user to enter a text and stores the text in
@rem ---   the specified variable.
@rem ---
@rem ---
@rem ---   @param _variableName
@rem ---          the name of a variable
@rem ---   @param _promptMessage
@rem ---          a prompt message
@rem ---

:inputText

	set "_variableName=%1"
	if '%_variableName%'=='' (

		%return% 2
	)

	set "_promptMessage=%2"
	if '%_promptMessage%'=='' (

		%return% 3
	)

	set %_variableName%=

:inputText_repeat

	set /P %_variableName%=%_promptMessage%

	if not defined %_variableName% (

		goto inputText_repeat
	)

	set _variableName=
	set _propmptMessage=

%return%

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void setUp()
@rem ---
@rem ---   Initializes internally used constants. This subroutine is called at the
@rem ---   start of the script (i.e. macros and constants may not be available when
@rem ---   called).
@rem ---

:setUp

	set INFO_FILE_SUFFIX=.info
	set ERRORS_FILE_SUFFIX=.errors

	set LABEL_PREFIX=:
	set PUBLIC_PREFIX=PUBLIC_
	set PUBLIC_LABEL_PREFIX=%LABEL_PREFIX%%PUBLIC_PREFIX%

exit /b

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void cleanUp()
@rem ---
@rem ---   Deletes internally used variables. This subroutine is called before
@rem ---   exiting.
@rem ---

:cleanUp

	set LABEL_PREFIX=
	set PUBLIC_PREFIX=
	set PUBLIC_LABEL_PREFIX=
	set INFO_FILE_SUFFIX=
	set ERRORS_FILE_SUFFIX=

	set batchName=
	set fullBatchPath=
	set infoFile=
	set errorsFile=
	set subroutineName=
	set corePath=

%return%

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void extractLine(String variableName, String linePattern, String file name)
@rem ---
@rem ---   Looks within the specified file for a matching line (i.e. a line which
@rem ---   starts with the specified pattern) and assigns the line value to the
@rem ---   specified variable.
@rem ---
@rem ---
@rem ---   @param variableName
@rem ---          the name of a variable
@rem ---   @param linePattern
@rem ---          a search pattern
@rem ---   @param fileName
@rem ---          the name of the file which is searched
@rem ---

:extractLine

	set "variableName=%1"
	if '%variableName%'=='' (

		call:printErrorMessage "(%0) No variable name has been specified!"
		%return% %GENERIC_FRAMEWORK_ERROR%
	)
	set "variableName=%variableName:"=%"

	set "linePattern=%2"
	if '%linePattern%'=='' (

		call:printErrorMessage "(%0) No line pattern has been specified!"
		%return% %GENERIC_FRAMEWORK_ERROR%
	)
	set "linePattern=%linePattern:"=%"

	set "filename=%3"
	if '%filename%'=='' (

		call:printErrorMessage "(%0) No file name has been specified!"
		%return% %GENERIC_FRAMEWORK_ERROR%
	)
	set "filename=%filename:"=%"

	setlocal EnableDelayedExpansion

		for /f "delims=*" %%A in ('findstr /r /i /C:"^%linePattern%" "%filename%" 2^>nul') do (

			set "line=%%A"
			set "line=!line:%linePattern%=!"
		)

	endlocal & set "%variableName%=%line%"

%return%

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void printErrorMessage(String errorMessage)
@rem ---
@rem ---   Prints the specified error message to the console.
@rem ---
@rem ---
@rem ---   @param errorMessage
@rem ---          an error message
@rem ---

:printErrorMessage

	%cprintln% Error: %~1 1>&2

%return%

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void setProperty(String declaration)
@rem ---
@rem ---   The subroutine sets an environment variable according to the specified
@rem ---   declaration. Referenced variables will be resolved.
@rem ---
@rem ---
@rem ---   @param declaration
@rem ---          the declaration of a property (e.g. propertyName=someValue)
@rem ---

:setProperty

	set "_declaration=%1"
	if '%_declaration%'=='' (

		call:handleError MissingDeclarationError %0
		%return% %returnCode%
	)
	set "_declaration=%_declaration:"=%"
	if "%_declaration%"=="" (

		call:handleError MissingDeclarationError %0
		%return% %returnCode%
	)

	set "%_declaration%"

	set _declaration=

%return%

@rem ================================================================================
@rem ===
@rem ===   Error Handling
@rem ===
@rem ===   User defined errors should have an error code > 1 in order to distinguish
@rem ===   them from unforeseen errors.
@rem ===

@rem --------------------------------------------------------------------------------
@rem ---
@rem ---   void handleError(String errorName, String... someDetails)
@rem ---
@rem ---   A subroutine for handling errors. The first parameter is the error
@rem ---   identifier. Additionally further details can be specified which will be
@rem ---   included in the error message.
@rem ---
@rem ---
@rem ---   @param errorName
@rem ---          the identifier for an error
@rem ---   @param someDetails
@rem ---          additional details which added to the error message
@rem ---

:handleError

	set "CODE_SUFFIX=.code@"
	set "MESSAGE_SUFFIX=.message@"

	set "errorName=%1"
	if '%errorName%'=='' (

		call:printErrorMessage "(%0) Errorhandling cannot proceed beacuse no error was specified!"
		%return% %GENERIC_FRAMEWORK_ERROR%
	)
	set "errorName=%errorName:"=%"

	set errorCodeKey=%errorName%%CODE_SUFFIX%
	set errorMessageKey=%errorName%%MESSAGE_SUFFIX%

	set returnCode=
	call:extractLine returnCode %errorCodeKey% %errorsFile%
	if '%returnCode%'=='' (

		call:printErrorMessage "(%0) No error code has been specified for the error '%errorName%'!"
		%return% %GENERIC_FRAMEWORK_ERROR%
	)

	set message=
	call:extractLine message %errorMessageKey% %errorsFile%
	if "%message%"=="" (

		call:printErrorMessage "(%0) No error message has been specified for the error '%errorName%'!"
		%return% %GENERIC_FRAMEWORK_ERROR%
	)

	setlocal EnableDelayedExpansion

	set "tmp=%message%"
	shift

	set i=1

:handleError_loop

	if "%~1"=="" (

		goto handleError_showMessage
	)

	set placeholder={%i%}

	set tmp=!tmp:%placeholder%='%~1%'!

	shift
	set /A i=i+1

	goto handleError_loop

:handleError_showMessage

	endlocal & set "message=%tmp%"

	call:PrintErrorMessage "%message%"

	set CODE_SUFFIX=
	set MESSAGE_SUFFIX=

	set errorName=
	set errorCodeKey=
	set errorMessageKey=
	set message=

%return% %returnCode%

@rem ================================================================================
@rem ===
@rem ===  The end of this batch file.
@rem ===

:END

call:cleanUp

%return% %NO_ERROR%


text:
Manchin denies he's considering changing parties, calls report BS
Manchin says the report is nothing more than rumors, and that he has never considered changing parties.
Manchin on Oct. 7, 2021
(Photo by Win McNamee/Getty Images)
By Colton Salaz
Sen. Joe Manchin of West Virginia denied reports Wednesday that he was threatening to leave the Democratic Party over internal negotiations regarding President Joe Biden's massive spending bill.
"It's bullshit," Manchin said when asked by a reporter about the report from Mother Jones. "I have no control over rumors, you guys. No control over rumors."
At one point Manchin appeared close to losing his temper after being asked again by a different reporter if he was thinking of leaving his party.
"I can't control rumors," Manchin loudly declared while walking back to his office. "And anyways it's bullshit, bullshit spelled with a capital B."
According to The Hill, the liberal news outlet Mother Jones published a report accusing Manchin of threatening to become an Independent if Senate Democrats didn't scale back Biden's $3.5 trillion social infrastructure package.
The Mother Jones article didn't explain how it knew Manchin is considering a party-switch, citing sources as "people who have overheard Manchin" discussing it.
The report goes on to detail a two-step exit plan Manchin allegedly laid out. The first step includes him resigning from his Senate leadership position, and then waiting a week to see if it had any impact. The second step would be registering as an American Independent.
The centrist Democrat has long been rumored to potentially flirt with switching parties, however he has always vehemently denied such claims.
In July, Manchin told Fox News in an interview that he had "never considered" switching parties.
"If switching a party or whether you have a 'D' by your name or an 'R' by your name changes who you are as a person, then you're in the wrong profession," Manchin said in the interview. "It's all about you and not about the oath you take to the office, the oath to the Constitution, to protect and defend it."

redpajama_set_name: RedPajamaCommonCrawl


text:
Telephone – Invented By Alexander Graham Bell
The telephone became an important part of modern life in the 20th century. It still has a prominent place in our lives today. It is a ubiquitous tool of communication and information exchange. It was invented by Alexander Graham Bell in 1876. The first ever telephone appeared in 1877 in Wisconsin. Soon people installed this device in their homes. The first phone call was between Alexander Graham Bell and his assistant Thomas Watson. Bell initially recommended answering the phone with the term 'ahoy' but later Thomas Edison suggested the use of 'hello'.
Quick Facts: –
An earlier version of the telephone called 'teletofrono' had been registered by an Italian-American inventor Antonio Meucci.
Britain's first mobile phone (Cell Phone) call was made across the Vodafone network by veteran comedian Ernie Wise. It took place on 1 January 1985.
The first phone book was just one page long. It was published in 1878 just two years after the telephone's invention.
Graham Bell's patent was modestly titled 'Improvement in Telegraphy'.
In 1876, Alexander Graham Bell was offered to sell his invention patent to Western Union for $100,000 but he declined.
In 1880, Bell invented a wireless phone as well. He used a technology that was a rudimentary version of what we know as fibre optics today.
Mark Twain was one of the first to have a phone in his home.
When Bell died in 1922, all phones stopped ringing for one full minute.
There are roughly 150 million phone lines all over the world. This figure increases by thousands daily.
You may cut-and-paste the below MLA and APA citation examples:
Declan, Tobin. " Fun Facts for Kids about the Telephone ." Easy Science for Kids, Jul 2019. Web. 16 Jul 2019. < https://easyscienceforkids.com/all-about-telephone/ >.
Tobin, Declan. (2019). Fun Facts for Kids about the Telephone. Easy Science for Kids. Retrieved from https://easyscienceforkids.com/all-about-telephone/
Telephone Quiz / Question Paper
Telephone1
Can not find what you looking for?
We've recently added
Gulf of Carpentaria
Falcon - Birds of Prey
Paradise Harbour
Recent Posts in Science News for Kids
Chandrayaan-2 Facts
Facts about Chang'e 4
Mars InSight Probe
MASCOT Lander
Voyager Mission


Ahh! My day was off to a lovely start today (no cake pop theft on the subway). It's snowing, my train to school was on time for once, and I got the notification from the lovely Jessica at Product Hoochie saying she'd nominated me for the Liebster Award. I must admit I had no idea there were this many Wordpress awards out there, but I am so flattered and honored that this fellow curvy gal who also happens to be a very talented blogger thought Big&Beautiful&Bold was worthy. Thanks Jessica!
The Liebster Award was started in Germany in order to give lesser-known bloggers some recognition. You receive this award from a fellow blogger that feels your blog is both worthy and important to them.
1) Post eleven facts about yourself.
2) Answer the questions the tagger has set for you and create eleven questions for people you've nominated.
3) Choose eleven people to give this award to (with fewer than 200 followers) and link them in your post.
4) Go to their page and tell them.
5) Remember, no tag backs.
I have a recurring nightmare that I'm Alice and I get stuck in Wonderland.
I haven't set foot in a gym in over a year.
I never wear jeans – not because I don't think I look good in them or I can't find ones that fit – simply because I find them constricting and think dresses are better.
Root beer floats are one of my favorite things in the world.
I often pretend I am in a 1950s movie.
I blame romantic comedies for people's false expectations of love.
I watch Girls and feel depressed every time.
The opening scene of Newsroom always makes me smile.
I have a boyfriend and a best friend all in one (sorry, I had to slip in a mushy fact somewhere).
What is your "day job": I'm finishing up my BA at N.Y.U. and interning at Marie Claire.
What is your least favorite current fashion trend: Fur. I just don't get it.
What is the one thing you do that other people think is fantastic: Probably giggle – I often go on and on and can't stop.
What was your biggest adventure: I decided to spend a year abroad, mainly in Spain and the Czech Republic. It was the best year of my life.
What is your favorite cosmetic product: Rimmel lipstick – any shade!
What perfume do you like most: I like Secret's cocoa butter spray – it may not technically be perfume but it's all I use.
Who is your favorite person: Does it have to be a real person? In that case my boyfriend/best-friend/editor/therapist.
What is your favorite book: A tie between The Little Prince and Into the Wild.
What beauty product do you think would change the world: Hmm I don't really think any one thing can change the world, but I think if I had to pick a product it would be hair dye, particularly odd, bright colors. I think if more people dye their hair in a funky way it'd be a good way of showing they like showing individuality.
What is your favorite thing to write about?
How did you get interested in blogging?
Are you happy with how you look?
Who is your favorite musician/band/artist/etc.?
If you could marry any celebrity, who would it be?
Who is your favorite plus-size celebrity/public figure/person?
If you could have any profession in the world, what would it be?
Who is your favorite real person?


text:
William Robert Smith (August 18, 1863 – August 16, 1924) was an American lawyer, jurist, and politician who served seven terms as a United States representative from Texas from 1903 to 1917. He also served as a United States district judge of the United States District Court for the Western District of Texas from 1917 to 1924.

Education and career

Born on August 18, 1863, near Tyler in Smith County, Texas, Smith attended the country schools, then graduated from Sam Houston Normal Institute (now Sam Houston State University) in 1883 and read law in 1885. He was admitted to the bar and entered private practice in Tyler from 1885 to 1888, then moved in February 1888 to Colorado City, Mitchell County, Texas and continued private practice from 1888 to 1897. He was a Judge of the Texas District Court for the Thirty-Second Judicial District from 1897 to 1903.

Congressional service

Smith was elected as a Democrat to the United States House of Representatives of the 58th United States Congress and to the six succeeding Congresses, serving from March 4, 1903, to March 3, 1917. He was Chairman of the Committee on Irrigation of Arid Lands in the 62nd through 64th United States Congresses. He was an unsuccessful candidate for renomination in 1916. He moved to El Paso, Texas in October 1916 and returned to the private practice of law.

Federal judicial service

Smith was nominated by President Woodrow Wilson on April 11, 1917, to the United States District Court for the Western District of Texas, to a new seat authorized by 39 Stat. 938. He was confirmed by the United States Senate on April 12, 1917, and received his commission the same day. His service terminated on August 16, 1924, due to his death in El Paso, Texas. He was interred in Evergreen Cemetery in El Paso.

References

Sources

External links

1863 births
1924 deaths
Judges of the United States District Court for the Western District of Texas
United States district court judges appointed by Woodrow Wilson
20th-century American judges
Democratic Party members of the United States House of Representatives from Texas
United States federal judges admitted to the practice of law by reading law
Politicians from El Paso, Texas

redpajama_set_name: RedPajamaWikipedia


text:
Bethany Balcer and the talent we don't always see
Jeff Kassouf
Bethany Balcer scored 21 minutes into her first professional start, striking the equalizer on Easter Sunday for Reign FC as they played their first match at Cheney Stadium in Tacoma, Washington, their new home in this post-Seattle world.
The goal was a well-hit, composed strike. It wasn't as flashy as the bicycle kick that Orlando Pride defender Alanna Kennedy converted 15 minutes prior, but Balcer's strike stood to give Reign FC a share of the points in a 1-1 draw. And the significance of Balcer's goal and impressive first start is multi-layered, for player, coach and beyond.
With all respect to her, Balcer entered this season as a nobody to the wider world. Almost every rookie – particularly in the National Women's Soccer League, where rosters are small, and the learning curve can be sharp – starts her professional journey as one.
But Balcer, as we will continue to be reminded, played college soccer at Spring Arbor University, an NAIA school in Spring Arbor, Michigan, about an hour west of The Big House in Ann Arbor and 40 minutes south of Lansing. Balcer put together an incredible career in that relative obscurity, tallying 129 goals and 45 assists in 98 career college games. She was thrice named the NAIA national player of the year.
The entire article is accessible only to members of The Equalizer Extra. Already a member? Awesome! Please sign in below. If not, you can sign up below.
Related TopicsBethany BalcerCelia Jimenez DelgadoExtraFeaturedVlatko Andonovski
More in Analysis
NWSL allocation money: A bait and switch, or just good business?
A few days after the 2019 National Women's Soccer League Championship in October, the...
New year, new outlook in New Jersey: Where Sky Blue FC goes from here
The Lowdown: Houston Dash see new culture as road to progress


Ready For My Vyah Lyrics – Raftaar: This is a Punjabi wedding song (Shaadi Anthem), is sung by Deep Kalsi & Akriti Kakar while featuring Raftaar on his rap and Sonia Mann as female lead. The "lyrics of Ready For My Viah" are written and composed by Deep Kalsi. This music video is directed by Harry Singh & Preet Singh.
I'm Ready For My Viah!
If you show any mistake in lyrics of Ready For My Vyah Lyrics – Raftaar | Deep Kalsi, Please let me know in comments or mail us.


We know that life can be so busy, but your heart is important! Your family only needs 10 minutes of physical activity a day to see the benefits. It's easy! Join us during the month of February and take 10 minutes (or more!) a day to keep your whole family's heart healthy!
Go for a 10-minute walk.
Kick a soccer ball three times.
Get off your bus early.
Play a game of tag.
Park further from your destination.
Visit for a family fun day.
For the month of February, we are honouring all Healthcare Professionals for the work they do to keep us healthy. Receive 20% off general admission at Kidtropolis with a valid Healthcare Professional ID*.
Tag us on Facebook or Instagram and show us your heart healthy choices!


text:
Abbotsford council seeing fewer unanimous votes
AbbotsfordFirst splits occurring more often, but agreement still the norm
Abbotsford council hasn't exactly become a cauldron of conflict since the last federal election, but unanimous votes are no longer quite as prevalent as during Mayor Henry Braun's first term as mayor.
About eight per cent of all non-routine votes involved at least one dissension on council, an analysis of a year's worth of votes after last October's municipal election shows. And despite the appearance of just one new face on council, that's a sharp increase from the four years prior, when about 96 per cent of such votes were unanimous.
As in the previous term, Coun. Les Barkman has been the most frequent dissenter, with 13 minority votes. Coun. Bruce Banman, who assumed outgoing Coun. Moe Gill's seat following the 2018 election, has the second-most nay votes, at seven. (That's roughly on par with Gill's above-average rate over his final four-year term.)
AbbotsfordFirst councillors have also found themselves splitting from their colleagues more often. In the first year of the current term (this analysis does not include the last two council meetings), Couns. Ross Siemens, Kelly Chahal, Sandy Blue or Brenda Falk have failed to vote the same way on eight different occasions. That only happened nine times through the entirety of the last council term.
RELATED: United they vote: Abbotsford council votes are consistently unanimous
Siemens said he and his AbbotsfordFirst colleagues, while focused on the same governance issues, don't caucus before votes and inevitably look at issues differently.
"We come from a diverse background, so we will have a different lens or different emphasis we put on different issues that come forward," he said. "I think that manifests itself in how the votes are."
Braun has also found himself in the minority on three issues – the same amount as his entire first term.
(Coun. Dave Loewen was the only councillor to be on the prevailing side of every vote, while Coun. Patricia Ross cast four opposing votes, in line with the previous term.)
Although dissension is more common on council, it's still not the norm. The vast majority of council votes are still unanimous, and, with a couple exceptions, those that aren't, rarely involve city-wide issues or policies.
Barkman's record of opposition, for one, is magnified by the fact that he has frequently cast lone dissensions on individual development applications – particularly those involving parking or traffic issues. Like Siemens, the voting record inevitably reflects his background, particularly his experience as a former city worker.
Braun said the predictability of council is valuable, particularly on large issues, because it provides reassurance to investors, businesses and residents who apply to the city for various reasons.
He said the focus needs to remain on the underlying rules and regulations that influence how city staff deal with applications before they get to council.
"We now have laid out a plan that is predictable, so you should be treated the same as someone on the other end of town on the same thing."
Braun said dissensions that conflict with developments that meet city guidelines and rules should be redirected toward those underlying policies.
Notable dissensions from the council's first year:
• April: Braun and Chahal vote against increasing the amount of money spent on celebrating 25 years since amalgamation. (Loewen and Barkman were absent.)
• June: Banman, Barkman and Chahal vote against changes that reduce the maximum height and size of homes in central neighbourhoods. (Ross was absent.)
• October: Braun, Falk and Siemens vote against considering We Town in the McKee Peak neighbourhood plan.
• October: Siemens votes against a new solid-waste plan that would see the city continue to pick up waste for half the city, while contracting out the other half.
Do you have something to add to this story, or something else we should report on? Email:
tolsen@abbynews.com
@ty_olsen
Post-Christmas snow, rain heading for the Lower Mainland
Police investigate Christmas Day homicide on Vancouver Island


Our stylish monogram text with you little ones initials.
Tee-s available in White, Black or Heathered grey.
If no colour preference is left, White with stardust vinyl will be printed as standard.
Ages 2-7 years are supplied as a short sleeved white t-shirt.
Coloured tee's are only available from age 3-4yrs.


hot tub storage cabinet outdoor swimming pool towel rack hangers spa storage cabinet best of inexpensive towels wood ou hot tub chemical storage cabinet.
hot tub storage cabinet houzz discussions design dilemma before after polls pro to pro hot tub chemical storage cabinet.
hot tub storage cabinet full size of towel radiator hot towel caddy towel warmer rack floor cabinet outdoor towel warmer buying a used hot tub hot tub outpost ask for any original paperwork and look for the manufacturer label with spa serial number inside the cabinet.


Free Disney Online Games. Games With The Best Graphics. Goodgame Empire Miniclip. All Points Bulletin Game. Pretty Girl Games. Cn Games Ben 10. Gamebanana Tf2 Sprays. Xbox 360 Action Games. Free Jet Games. Gamer University.


The Leadership Education Advocacy Development (LEAD) Group was created because there is a fundamental need to promote and educate individuals with disabilities on their rights and responsibilities.
LEAD offers opportunities for new members to join the group by attending an education night. Education nights are designed to bring individuals receiving services together to learn about a variety of topics of interest, such as voting education and registration, or public transportation resources. The ultimate goal for LEAD is to partner with the community and meet with other advocacy groups to effectively advocate for legislative changes that will bring positive changes to people with disabilities.
Leadership: Will grow through practicing effective communication skills by learning to be a voice for themselves and others.
Education: Will be developed though learning about rights and responsibilities. Education through advocacy means to gain knowledge of the daily challenges that those with different disabilities face.
Advocacy: Will be developed though learning that the disability community deals with similar issues and how can we support each other to create positive change in how we live our lives.
Development: Refers to the personal growth each of us needs to explore to create the best version of ourselves. As a group, members will collaborate and create their own agendas and activities for each meeting.
Interested in joining or volunteering? Contact us!


text:
Surface water supply of the United States, 1918. Part II: South Atlantic slope and eastern Gulf of Mexico basins, [by] Nathan C. Grover, chief hydraulic engineer, Guy C. Stevens and C.G. Paulsen, district engineers. [U.S. Geological Survey Water Supply Paper 472.].
The work Surface water supply of the United States, 1918. Part II: South Atlantic slope and eastern Gulf of Mexico basins, [by] Nathan C. Grover, chief hydraulic engineer, Guy C. Stevens and C.G. Paulsen, district engineers. [U.S. Geological Survey Water Supply Paper 472.]. represents a distinct intellectual or artistic creation found in Bates College. This resource is a combination of several types including: Work, Language Material, Books.
The Resource Surface water supply of the United States, 1918. Part II: South Atlantic slope and eastern Gulf of Mexico basins, [by] Nathan C. Grover, chief hydraulic engineer, Guy C. Stevens and C.G. Paulsen, district engineers. [U.S. Geological Survey Water Supply Paper 472.].
Paulsen, Carl G
Catawba River (North Carolina)
Yadkin River (North Carolina)
House document (United States. Congress. House), 66th Congress, no. 223
House document / 66th Congress, 1st session. House
Context of Surface water supply of the United States, 1918. Part II: South Atlantic slope and eastern Gulf of Mexico basins, [by] Nathan C. Grover, chief hydraulic engineer, Guy C. Stevens and C.G. Paulsen, district engineers. [U.S. Geological Survey Water Supply Paper 472.].
Surface water supply of the United States, 1918. Part II: South Atlantic slope and eastern Gulf of Mexico basins, [by] Nathan C. Grover, chief hydraulic engineer, Guy C. Stevens and C.G. Paulsen, district engineers. [U.S. Geological Survey Water Supply Paper 472.]., (electronic resource)

 Data from Surface water supply of the United States, 1918. Part II: South Atlantic slope and eastern Gulf of Mexico basins, [by] Nathan C. Grover, chief hydraulic engineer, Guy C. Stevens and C.G. Paulsen, district engineers. [U.S. Geological Survey Water Supply Paper 472.]. - Bates College

Data Citation of the Work Surface water supply of the United States, 1918. Part II: South Atlantic slope and eastern Gulf of Mexico basins, [by] Nathan C. Grover, chief hydraulic engineer, Guy C. Stevens and C.G. Paulsen, district engineers. [U.S. Geological Survey Water Supply Paper 472.].


Celebrate the Canonization of Pope John Paul II into Sainthood on April 27, 2014 by purchasing our commemorative Pope John Paul II Prayer Cards, Holy Cards, Magnets, Bookmarks, Novena and Litany at 40%-70% off.
Honor our beloved Pope's entry into Sainthood. The great insights he provided us all will never be forgotten. It's no surprise that Pope Benedict XVI bypassed the normal 5 year waiting period for Canonization since Pope John Paul II was so revered.
Save 40%-70% on all Pope John Paul II items including holy cards, prayer cards, novena, litany, bookmarks, magnets and more Quantities are selling out fast with Canonization on April 27, 2014 drawing so much attention.


text:
Justia Regulation Tracker Agencies And Commissions International Trade Commission Certain New Pneumatic Off-the-Road Tires From India and Sri Lanka, 12128 [2017-03906]
Certain New Pneumatic Off-the-Road Tires From India and Sri Lanka, 12128 [2017-03906]
Download as PDF 12128 Federal Register / Vol. 82, No. 38 / Tuesday, February 28, 2017 / Notices Dated: February 2, 2017. Eric Miller, Acting Deputy Chief, Office of Offshore Regulatory Programs. [FR Doc. 2017–03855 Filed 2–27–17; 8:45 am] BILLING CODE 4310–VH–P INTERNATIONAL TRADE COMMISSION [Investigation Nos. 701–TA–552–553 and 731–TA–1308 (Final)] Certain New Pneumatic Off-the-Road Tires From India and Sri Lanka Determinations On the basis of the record 1 developed in the subject investigations, the United States International Trade Commission (''Commission'') determines, pursuant to the Tariff Act of 1930 (''the Act''), that an industry in the United States is materially injured by reason of imports of certain new pneumatic off-the-road tires from India, provided for in headings 4011, 8431, 8709, and 8716 of the Harmonized Tariff Schedule of the United States, that have been found by the Department of Commerce (''Commerce'') to be sold in the United States at less than fair value (''LTFV'') and subsidized by the government of India, and by reason of imports of certain new pneumatic off-the-road tires found by Commerce to be subsidized by the government of Sri Lanka.2 3 mstockstill on DSK3G9T082PROD with NOTICES Background The Commission, pursuant to sections 705(b) and 735(b) of the Act (19 U.S.C. 1671d(b) and 19 U.S.C. 1673d(b)), instituted these investigations effective January 8, 2016, following receipt of petitions filed with the Commission and Commerce by Titan Tire Corporation of Des Moines, Iowa (''Titan'') and the United Steel, Paper and Forestry, Rubber, Manufacturing, Energy, Allied Industrial and Service Workers International Union, AFL–CIO, CLC of Pittsburgh, Pennsylvania (''USW''). The final phase of the investigations was scheduled by the Commission following notification of preliminary determinations by Commerce that imports of certain new pneumatic offthe-road tires from India and Sri Lanka 1 The record is defined in sec. 207.2(f) of the Commission's Rules of Practice and Procedure (19 CFR 207.2(f)). 2 The Commission also finds that imports subject to Commerce's affirmative critical circumstances determination are not likely to undermine seriously the remedial effect of the countervailing duty orders on certain new pneumatic off-the-road tires from India and Sri Lanka. 3 Commissioner Dean A. Pinkert did not participate in these investigations. VerDate Sep<11>2014 18:46 Feb 27, 2017 Jkt 241001 were subsidized within the meaning of section 703(b) of the Act (19 U.S.C. 1671b(b)) and that imports of certain new pneumatic off-the-road tires from India were not dumped within the meaning of 733(b) of the Act (19 U.S.C. 1673b(b)). Notice of the scheduling of the final phase of the Commission's investigations and of a public hearing to be held in connection therewith was given by posting copies of the notice in the Office of the Secretary, U.S. International Trade Commission, Washington, DC, and by publishing the notice in the Federal Register on September 12, 2016 (81 FR 62760). The hearing was held in Washington, DC, on January 4, 2017, and all persons who requested the opportunity were permitted to appear in person or by counsel. The Commission made these determinations pursuant to sections 705(b) and 735(b) of the Act (19 U.S.C. 1671d(b) and 19 U.S.C. 1673d(b)). It completed and filed its determinations in these investigations on February 23, 2017. The views of the Commission are contained in USITC Publication 4669 (February 2017), entitled Certain New Pneumatic Off-the-Road Tires from India and Sri Lanka: Investigation Nos. 701–TA–552–553 and 731–TA–1308 (Final). By order of the Commission. Issued: February 23, 2017. Lisa R. Barton, Secretary to the Commission. [FR Doc. 2017–03906 Filed 2–27–17; 8:45 am] BILLING CODE 7020–02–P DEPARTMENT OF JUSTICE [OMB Number 1110–0056] Agency Information Collection Activities; Proposed eCollection eComments Requested; Extension of a Previously Approved Collection Justice Management Division, Department of Justice. ACTION: 30-day notice. AGENCY: The Department of Justice, Justice Management Division has submitted the following information collection request to the Office of Management and Budget (OMB) for review and clearance in accordance with established review procedures of the Paperwork Reduction Act of 1995. This proposed information collection was previously published in the Federal Register on January 25, 2017, Volume 82, Number 15, Page 8437 allowing for a 60 day comment period. SUMMARY: PO 00000 Frm 00050 Fmt 4703 Sfmt 4703 Comments are encouraged and will be accepted for an additional 30 days until March 30, 2017. FOR FURTHER INFORMATION CONTACT: If you have additional comments especially on the estimated public burden or associated response time, suggestions, or need a copy of the proposed information collection instrument with instructions or additional information, please contact Lubna Shirazi, Office of Information Policy, U.S. Department of Justice, Suite 11050, 1425 New York Avenue NW., Washington, DC 20530. SUPPLEMENTARY INFORMATION: Written comments and suggestions from the public and affected agencies concerning the proposed collection of information are encouraged. Your comments should address one or more of the following four points: —Evaluate whether the proposed collection of information is necessary for the proper performance of the functions of the Bureau of Justice Statistics, including whether the information will have practical utility; —Evaluate the accuracy of the agency's estimate of the burden of the proposed collection of information, including the validity of the methodology and assumptions used; —Evaluate whether and if so how the quality, utility, and clarity of the information to be collected can be enhanced; and —Minimize the burden of the collection of information on those who are to respond, including through the use of appropriate automated, electronic, mechanical, or other technological collection techniques or other forms of information technology, e.g., permitting electronic submission of responses. DATES: Overview of This Information Collection 1. Type of Information Collection: Extension of a currently approved collection. 2. The Title of the Form/Collection: Certification of Identity. 3. The agency form number, if any, and the applicable component of the Department sponsoring the collection: Form DOJ–361. Facilities and Administrative Services Staff, Justice Management Division, U.S. Department of Justice. 4. Affected public who will be asked or required to respond, as well as a brief abstract: Primary: American Citizens. Other: Federal Government. The information collection will be used by the Department to identify individuals E:\FR\FM\28FEN1.SGM 28FEN1
[Federal Register Volume 82, Number 38 (Tuesday, February 28, 2017)]
[Investigation Nos. 701-TA-552-553 and 731-TA-1308 (Final)]
Certain New Pneumatic Off-the-Road Tires From India and Sri Lanka
On the basis of the record \1\ developed in the subject
investigations, the United States International Trade Commission
(``Commission'') determines, pursuant to the Tariff Act of 1930 (``the
Act''), that an industry in the United States is materially injured by
reason of imports of certain new pneumatic off-the-road tires from
India, provided for in headings 4011, 8431, 8709, and 8716 of the
Harmonized Tariff Schedule of the United States, that have been found
by the Department of Commerce (``Commerce'') to be sold in the United
States at less than fair value (``LTFV'') and subsidized by the
government of India, and by reason of imports of certain new pneumatic
off-the-road tires found by Commerce to be subsidized by the government
of Sri Lanka.2 3
\1\ The record is defined in sec. 207.2(f) of the Commission's
Rules of Practice and Procedure (19 CFR 207.2(f)).
\2\ The Commission also finds that imports subject to Commerce's
affirmative critical circumstances determination are not likely to
undermine seriously the remedial effect of the countervailing duty
orders on certain new pneumatic off-the-road tires from India and
\3\ Commissioner Dean A. Pinkert did not participate in these
investigations.
The Commission, pursuant to sections 705(b) and 735(b) of the Act
(19 U.S.C. 1671d(b) and 19 U.S.C. 1673d(b)), instituted these
investigations effective January 8, 2016, following receipt of
petitions filed with the Commission and Commerce by Titan Tire
Corporation of Des Moines, Iowa (``Titan'') and the United Steel, Paper
and Forestry, Rubber, Manufacturing, Energy, Allied Industrial and
Service Workers International Union, AFL-CIO, CLC of Pittsburgh,
Pennsylvania (``USW''). The final phase of the investigations was
scheduled by the Commission following notification of preliminary
determinations by Commerce that imports of certain new pneumatic off-
the-road tires from India and Sri Lanka were subsidized within the
meaning of section 703(b) of the Act (19 U.S.C. 1671b(b)) and that
imports of certain new pneumatic off-the-road tires from India were not
dumped within the meaning of 733(b) of the Act (19 U.S.C. 1673b(b)).
Notice of the scheduling of the final phase of the Commission's
investigations and of a public hearing to be held in connection
therewith was given by posting copies of the notice in the Office of
the Secretary, U.S. International Trade Commission, Washington, DC, and
by publishing the notice in the Federal Register on September 12, 2016
(81 FR 62760). The hearing was held in Washington, DC, on January 4,
2017, and all persons who requested the opportunity were permitted to
appear in person or by counsel.
The Commission made these determinations pursuant to sections
705(b) and 735(b) of the Act (19 U.S.C. 1671d(b) and 19 U.S.C.
1673d(b)). It completed and filed its determinations in these
investigations on February 23, 2017. The views of the Commission are
contained in USITC Publication 4669 (February 2017), entitled Certain
New Pneumatic Off-the-Road Tires from India and Sri Lanka:
Investigation Nos. 701-TA-552-553 and 731-TA-1308 (Final).
By order of the Commission.
Issued: February 23, 2017.
Lisa R. Barton,
Secretary to the Commission.


This 1 gallon bottle has the calcium equivalent of 16 50lb bags of dry gypsum!
I had an area in the middle of my lawn that just wouldn't get thick and green. That part of the lawn would dry out very quickly in the heat of the summer. I had tried dry gypsum but it didn't seem to make any difference. I put liquid gypsum on that part of my lawn and about two weeks later that was the longest and greenest part of the lawn. I'll use it every year.
I have been a homeowner 5 times in my life time and always took care of my own landscaping. Now that I live in what I call; hostile soil environment, I decided to check with the pros to see what they use in very rocky soil. All that I heard was liquid gypsom. Several years ago I ordered one gallon the your product and by the next growing season everything just popped! I mean everything. It took me awhile to reorder and this morning I just treated my entire front yard with LG. I do have high expectations.
We are really happy with the results this year in our garden. The only change this year was the addition of the Liquid Gypsum. Our tomatoes look better than ever. We have tried for years to get the soil better in our garden but the clay has always seemed to be the issue. Thanks for such a great product and excellent service.
I garden on the side of a mountain and our soil is rock and clay. I have a very productive flower and vegetable garden and use Liquid Gypsum every summer to improve my soil. The tomatoes love it. Excellent product and easy to use.


Noone wants their watchdog to greet a burglar with kisses and a wagging tail! A good watchdog has a strong bark and looks intimidating. Raising an effective watchdog who is also kid-friendly as well as family-friendly takes lots of handling and training as a puppy.


text:
The Visible Impact of Citizen Science
By Greg Newman	in Project Spotlight	on June 4, 2018 November 8, 2019
Scientific publication is an important milestone for many citizen science projects, that can sometimes feel elusive. But, with a little front-end planning and guidance, it can be done. A paper by the American Trout Lily Project, hosted on CitSci.org, was recently published in the peer-reviewed journal Ecology! Their paper and their process for becoming published provides an excellent example of how citizen science can be respected by and have an impact on the greater scientific community. We interviewed Emily Austen, the lead researcher of the project about why she chose to study the American Trout Lily and how she was able to have her work published in a respected scientific journal. Emily says of publishing, "many journals are happy to publish data gathered by citizen scientists" and hopes others will begin to explore the possibility of publishing their own works as well. Publishing citizen science data allows for greater access to the data collected by projects and educates the scientific community about the topic of interest as well as increasing confidence in citizen science gathered data. Read the abstract for the American Trout Lily Project's published paper: "On the ecological significance of pollen color: a case study in American trout lily".
So, how did this great project come to be?
To find out we talked with Emily about how she set up her project for publishing success…
What was the inspiration for your project?
"The project arose from simple curiosity" she said. "I noticed pollen color variation in trout lilies several springs ago, and my first reaction was to turn to the scientific literature to learn more about it. I was surprised to find very little information on it, and started to think about all of the questions I'd like to answer some day."
Did anyone help you get started?
"I was lucky to find a postdoc advisor (Jessica Forrest at the University of Ottawa) who was happy to let me pursue the work."
What questions were you wanting to answer?
"One of the questions I wanted to answer was 'Where do red & yellow pollen occur? Do both color morphs occur throughout the species range?"
How was using citizen science helpful to your work?
"There is no way I could have answered this question without the help of citizen scientists. The range is just too big and the flowering season too short. Thanks to the data contributions of nearly 200 participants, we now know more about American trout lily!"
Was it your intention to have your work published?
Do you have any advice for those hoping to publish?
"People looking to publish in an academic journal will probably have the best success if they partner with someone familiar with these venues, at least for their first few articles. There are a few idiosyncrasies to the format. In particular, authors need to have a fairly deep knowledge of already-published scientific literature." (For more information on scientific literature reviews and how to conduct them stay tuned for several upcoming CitSci.org blogs) She continues, "Many journals are happy to publish data gathered by citizen scientists. I'm not all that knowledgeable about publishing in other types of media."
So, why the journal Ecology?
"I chose a journal with a strong reputation for publishing interesting natural history grounded in ecological & evolutionary theory. I thought the work on trout lily (including the citizen science component) would be a good fit, and the editors & reviewers agreed. Ecology isn't the only place where this work has found an audience, however. I was a guest on the "In Defense of Plants" podcast, which made a huge difference in getting the word out to citizen scientists! The work was also highlighted in the Ottawa Citizen newspaper. And, after the Ecology paper came out, it was featured on the Discover Magazine blog."
Did you credit your citizen scientists volunteers? If so, how?
"Absolutely! The very first line of the Acknowledgements section reads "We thank the 183 citizen scientists who collected morph occurrence data."
Emily mentioned that "while the Trout Lily Project is completed and no longer accepting member requests, there are lots of other great projects to join on CitSci.org". In the meantime, we'd like to extend our congratulations to the amazing volunteers and researchers that contributed to this important work. Many thanks to Emily Austen who organized this citizen science project and who allowed us to interview her about her experience. This project's success in publication shows just how impactful the work of the entire citizen science community is on the scientific community. We as citizen scientists have the power to collect real data and compile that data into a publication that will be used and seen by hundreds of scientific researchers in all realms of science. Look for more upcoming blogs about how to set your project up to improve your opportunities for scientific publication. Have a suggestion about a topic you'd like to see covered? Please contact us at webmaster@citsci.org
Austen, Lin, Forrest. 2018. On the ecological significance of pollen color: a case study in American trout lily (Erythronium americanum) https://doi.org/10.1002/ecy.2164
Tags: american trout lily project, citizen science, ecology, Emily Austen, publication
Published by Greg Newman
Director - CitSci.org	View all posts by Greg Newman
Previous postTraining Materials Needed
Next postShale Gas Development leads to Trout Unlimited Citizen Science Water Quality Monitoring Projects


text:
Bil's rating (out of 5): BBBB. United Kingdom/Belgium/Italy/Germany, 2018. Maze Pictures, Entre Chien et Loup, Palomar, Cine Plus Filmproduktion, Robert Fox Limited, BBC Films, Centre du Cinéma et de l'Audiovisuel de la Fédération Wallonie-Bruxelles, Daryl Prince Productions, Heimatfilm, Raindog Films. Screenplay by Rupert Everett. Cinematography by John Conroy. Produced by Sebastien Delloye, Philipp Kreuzer, Jörg Schulze. Music by Gabriel Yared. Production Design by Brian Morris. Costume Design by Giovanni Casalnuovo, Maurizio Millenotti. Film Editing by Nicolas Gaster.
Colin Morgan and Rupert Everett in The Happy Prince.
Rupert Everett labored for a decade to get this film about Oscar Wilde's final days made, turning down other projects to remain available for the green light and stoking interest in film producers by touring the world on stage with David Hare's similarly-themed Judas Kiss. The result, as it turns out, was well worth the trouble, as Everett (working as star, writer and director) has created a visually masterful and emotionally powerful film that gives us a far more complex Wilde than we've had on screen yet (and, surprisingly, writes a better script than Hare's play, which is far from his finest work). Following his years of hard labor in prison for having been found guilty of indulging in the "love that dare not speak its name", Wilde wanders the European continent under increasingly ill health and rapidly increasing depression, haunted by the past and lonely for the relationship that got him in trouble in the first place. Despite help from friends (Colin Firth as Reggie Turner and a lovely Edwin Thomas as his devoted Robbie Ross), Wilde can't get Lord Alfred "Bosie" Douglas (Colin Morgan) out of his head, worrying his friends that much more by giving up his wife's financial support (which was granted him on the grounds that he never see Bosie again) to take up with Bosie in Italy and head straight for his ruin. Everett has as strong a grasp on Wilde's wickedly funny wit as he does on his inner contradictions, a self-destructive survivor who rages against a world unwilling to accept him entirely but who also sees something romantic in his own pathetic end, bloated and ailing and begging for coins in a Paris bar. Everett smashes the pristine images of Wilde that proliferate over a century after his death, the flawless scribe who has become a saintly victim of prejudice and oppression, giving him instead the right amount of contradictions: his treatment by a society steeped in hypocrisy about sex is tragic, but you also get the impression that Wilde might just have fun ruining his life over Bosie even in today's more permissive age. Nothing is simple in this richly melodramatic film in which the supporting cast given ample opportunity to show off their own complexity, especially Emily Watson as Constance, not portrayed as an ignorant prig but as someone with sympathetic concerns for her husband that run alongside with her prejudices and personal feelings of vengeance. Despite the many hats he wears on this film, and even considering that the role demands non-stop chewing of scenery, it's marvelous how easily Everett gives attention to the actors he shares the screen with throughout the film.
Posted in 2018, BBBB, Rupert Everett, ZZDoneTagged André Penvern, Anna Chancellor, Antonio Spagnuolo, Béatrice Dalle, BBC Films, Belgium, Brian Morris, Centre du Cinéma et de l'Audiovisuel de la Fédération Wallonie-Bruxelles, Cine Plus Filmproduktion, Colin Firth, Colin Morgan, Daryl Prince Productions, Edwin Thomas, Emily Watson, Entre Chien et Loup, Franca Abategiovanni, Gabriel Yared, Germany, Giovanni Casalnuovo, Heimatfilm, Italy, Jacky Druaux, Jörg Schulze, John Conroy, Joshua McGuire, Julian Wadham, Kit Lloyd, LGBT Cinema, Maurizio Millenotti, Maze Pictures, Nicolas Gaster, Palomar, Philipp Kreuzer, Raindog Films, Robert Fox Limited, Rupert Everett, Sam Perry, Sebastien Delloye, Thierry de Coster, Tom Wilkinson, United KingdomBy Bil AntoniouLeave a comment
← The Land of Steady Habits (2018)
Destroyer (2018) →


text:
More than 40 years of Viewing Pleasure!
See more About >>
Big Screen Programming!
See more Programming >>
Now Starring... Our Network Partners!
See more Networks & Studios >>
Please pause for a word from our clients!
See more Clients >>
THE INNOVATIVE ENTERTAINMENT COMPANY THAT YOU'VE NEVER HEARD OF, BUT YOU'VE CERTAINLY SEEN!
Distributing, producing, creating, placing and packaging the finest in television and new media programming.
Since 1969, SFM has been doing just that domestically and internationally. Our commitment to producing, packaging and distributing the finest in a wide variety of media programming has earned us recognition as a worldwide leader.
Our vision is to expand our already extensive media library while also creating, producing and distributing original content. By leveraging our strategic alliances with advertisers and manufacturers, we are able to offer our clients a wide variety of services including, but not limted to, network placement, time buys, and licenses.
The SFM Entertainment NEWS FEED
SFM TO CO-EXECUTIVE PRODUCE THE 24TH FAMILY FILM AWARDS.
SFM Entertainment is proud to announce that Reelz will domestically air the 24th Family Film Awards with Dean Cain set to serve as host for the event. SFM is resuming an executive producer role together with Dr. Olympia Antonio Gellini, Founder and President of World Film Institute and creator of the event, Roger Neal and Dr. Jeannie Jinsheng Yi. The ceremony will take place at the Universal Hilton Hotel at Universal Studios in Los Angeles on Feb. 25, 2021.
COLGATE'S "THE DOCTORS" REVISTED.
The first, and arguably the best Soap Opera Series, "The Doctors" is now airing and streaming on RetroTV. "The Doctors" aired from 1963 until 1982, and has over 5000 episodes. Each has been meticulously restored, and new renunion footage has been recorded to welcome back this classic TV show.
DEATH VALLEY DAYS ON STARZ WESTERN CHANNEL!
"Death Valley Days" continues to provide strong ratings for the Starz Western Channel! Over 450 episodes are being showcased, Click Here!
NOW SHOWING from SFM Entertainment
As you know, SFM Entertainment has been in the entertainment industry for over 40(!) years, and we have the portfolio to prove it. Click Here for a list of the latest licensing deals for our quality programming... coming to an HD-TV near you!


This project is a fun, easy way to show your campus that you support your peers. Plus, it makes for a more engaging campus outreach, and it looks awesome on social media. All it takes is 2 large posters, a permanent marker, and a decent camera (or your smart phone!).
Gather your materials. You will need 2 large posters, permanent markers, a ruler, a pencil, and scissors to design your board. Make it fun with bright colored posters or fun colored permanent markers.
Create your design. Trace and cut out a large square in each board (large enough for someone to be seen easily in the background). Use a ruler to help create straight lines for better presentation. Trace the words that you want on your boards before writing them in permanent marker. Double check your spelling. Make your font legible and bold.
Get your campus involved! You can pair this project with tabling or simply go around campus and ask students if they support parenting students. Ask students and staff if they are willing to take a photo with the photo booth frame. Be sure to tell them that you will be posting these on your group's social media accounts.
Post on your group's social media accounts. The person in charge of taking photos should upload these images to your social media accounts into an album, or post a new photo each day to further extend your campaign.
Ask the right questions. Decide on a few introductory questions to engage students in your project. For example, you can ask passing students, "Hey, do you support pregnant students?" or "Hey! Would you be willing to show your support?" This way, you aren't fumbling for words as you approach your peers.
Add a comment. You may choose to ask participants their names or for a comment. "Why do you support pregnant students?" or "Why are you participating today?" These comments can be added to the photos when posted on your group's social media accounts. If you do this, keep a notebook that includes a short description of the person and their comment (so that you don't mix up statements!).
Have fun! Ask students to do a picture together or by themselves. Thumbs up and big smiles are always encouraged.
This project was done by the student group, The Pro-Life Club at the Ohio State University, in March 2016. Here are examples of their project (accessed via their Facebook page).


a.) pouting. Now, this is usual, but pouting and a washed out (thanks flash!) image do not a flattering picture take.
b.) Emo myspace style. Umm...just not.
or final option d.) My blinking due to flash.
We will ignore for the moment the fact that I really need a haircut, that the highlights are grown out and still only present in my bangs in random chunks. I am really excited about the new glasses though, even if they gave me headaches since I haven't worn glasses in so long, I can read street signs again!
Also: Proof my plants are still alive.


Ways to get linked to European snail mail purchase would-be brides?
A sentimental look lower back at 90s web design, and a caution to anyone whose web page is a great unintentional anachronism.
Bear in mind home buying once every COMPUTER was bistre, every web page had a very little Netscape icon on the home-page, Geocities and Tripod hosted you'll find one personal website, and "Google" was simply a funny-sounding word?
The mid-late 1990s were the playful earlier childhood days of the worldwide web, a time of great expectations for the future and quite low specifications for the actual. Those www.ucuzplastik.com had been the days when doing a web search meant poring through a couple of pages of listings instead of glancing with the first three results–but in least comparatively few of all those websites were unabashedly profit-driven.
Of course , when ever someone says that a webpage looks like it came from mil novecentos e noventa e seis, it's simply no compliment. You start to imagine high in volume background pictures, and minimal "email me" mailboxes with letters going into and in an endless trap. Amateurish, foolish, unprofessional, conceited, and unusable are all adjectives that pretty much describe how most websites were made just simply ten years in the past.
Why were websites too bad back then?
Knowledge. Few people recognized how to build an effective website back then, before regulators like Jakob Nielsen beginning evangelizing all their studies of web customer behavior.
Difficulty. In those days, presently there weren't rich software and templates that may produce a creatively pleasing, easy-to-use website in 10 minutes. Rather, you either hand-coded your web site in Notepad or used FrontPage.
Browsing through the Internet Archive's WayBack Equipment, it's hard not to think a twinge of nostalgia for a tough time once we were all rookies as of this. Even now, one of the best causes of taking a look at 90s web design is to steer clear of echoing history's website development mistakes. This could be an effective workout with regards to the tragic volume of the modern day personal homepages and enterprise websites that happen to be unintentionally perky.
Sometimes about 1998, websites all round the web discovered Display, the software that brought about convenient animation of pictures online. All of the sudden you could not any longer go to half the pages on the internet without seated through in least twenty five a few moments of any custom logo revolving, glinting, sliding, or bouncing through the screen.
Expensive "splash webpages, inches because these starting animation were called, became the internet's adaptation of getaway pictures. Everyone loved to show Flash prove site, and everybody hated to sit through another person's Flash production.
Of all the thousands of splash pages produced in the 1990s and the few still built today, not much ever communicated any useful information or perhaps provided virtually any entertainment. We were holding monuments for the egos of this websites' owners. Still, today, when so many business site owners are working so hard to wring every previous bit of performance out of their sites, it has the almost wonderful to think of a business owner actually adding ego well ahead of the revenue to have recently been derived from all of the visitors who hit the "back" press button rather than sit through an animated logo.
"Welcome to? inch Every single site homepage in 1996 had to have the word "welcome" somewhere, generally in the most significant headline. After all, isn't stating "welcome" more vital than saying the actual web page is focused on in the first place?
Qualifications images. Remember all those men and women that had their very own kids' pictures tiled in the background of every web page? Remember simply how much fun it was trying to guess what the words had been in the categories where the font color plus the color of the were precisely the same?
Dark history, lumination text message. My personal favorite was apple font about violet track record, though the all-pervasive yellowish white colored text message on blue, green or perhaps reddish colored was decent, also. Of course , anyone that can make their very own textual content harder to learn having a ridiculous attention-grabber is simply just spending money on the thanks to telling you they could not quite possibly have drafted anything well worth examining.
Entire sentences of text focused. All things considered, haven't millennia of flush-left margins just made our eye lazy?
"This Site Is Best Seen in Netscape 5. 666, you, 000×3300 image resolution. inch It was generally so sweet when webmasters in fact dreamed any person however mothers will good care enough to switch their browser build to consider random individual's website.
All-image no-text publishing. Some of the worst websites may really do the world the product of placing all their text in graphic formatting in order that no internet search engine might ever before find them. What sacrifice!
TV-envy was obviously a common mental health condition in nineties webdesign. Seeing that going video and in some cases Show had been even now within their infancy, web designers decided for basically producing the factors individual web pages maneuver just like Mexican jumping coffee beans.
In mil novecentos e noventa e seis, just before the start of Show, animated gifs were ramping up, dance, sliding, and rolling the way all over the retinas of net browsers aiming to look into the text message on the site.
For some time, a business person may even split crucial from the wannabe potential clients structured merely how (un)professional their particular business websites seemed. Regrettably, the introduction of template-based webpage writing application shows that even somebody without style or good sense whatsoever could make websites that look as good as the biggest-budget type of five yrs ago.
Naturally , there are still some websites in whose owners are most often looking to spark upset in animated gifs, background images, and unattractive text message. 're going to only have to trust that everyone is laughing with them, not for these people.


text:
Kaizen in the Garrison Brothers Bourbon Bottle Dipping Process
By Mark Graban	 On Sep 24, 2018 Last updated Sep 28, 2018
I'm excited that our sold-out "Symposium on Learning Organizations" group will be visiting Toyota's San Antonio plant on Wednesday. Later that day, we'll be touring the Garrison Brothers Distillery and, on Thursday, we are using their "barrel barn" as a venue for "Open Space" discussions, the Red Bead Experiment, and more. We have a group of 40 from many industries attending and we might run a similar event in a different location in the future.
I've blogged about Garrison Brothers and my stint as a bottling line volunteer before:
The Time I Volunteered at a Distillery and Couldn't Help Doing Kaizen
In that post, I shared pictures of me working to dip bottles of bourbon into a sealing wax. I was wearing a winter coat because it was February in Texas and there was a bit of snow and ice that week.
When I was back there recently, I saw some additional improvements that seem like "Kaizen" to me.
In one photo from my earlier post, you can see me dipping a bottle:
And here's that shows the tool we use to press a star into the top of the bottle:
I've been visiting or volunteering at Garrison Brothers for more than five years. Garrison Brothers has released new and innovative bourbons over time, but the bottling process remained pretty unchanged.
In that earlier blog post, I wrote about how I applied some personal "kaizen" or an improvement that made my work easier and improved quality.
When I was there a few weeks ago, I noticed that they had made some further improvements in the bottle dipping area. I always love to see improvement!
Here is somebody else dipping a bottle (and I was able to use this improved process too):
What's changed? Other than the fact they are dipping half bottles into black wax that day?
Their Improvements
1) There's a red template over the wax dipping pot. The template is big enough to dip the bottle in, but it now helps prevent things from being dropped in there. You don't want to drop your phone or that star stamper into the wax. And, you don't want to reflexively start to reach in there if you've dropped something, so it reduces some risk and improves safety.
2) The dippers now have to wear glasses, to help prevent wax from splashing up in somebody's eye if they drop something. When I was there a few weeks ago, one volunteer is a retired safety professional and he thought that the glasses might be overkill since they've now added the template. And, he pointed out that safety glasses are meant to protect against impact. Goggles are what you use to protect against splashes.
3) Dippers also wear protective arm guards, which were a bit uncomfortable and, again, the retired safety professional asked if that was also overkill since the risk of splashing is much lower now.
4) Dippers now also wear gloves, which I found to really help improve my grip on the bottle, which is probably good from an ergonomics perspective since you might not need to grip the bottle with as much squeezing force. And I bet you're less likely to drop a bottle.
5) The star stampers are now hung on a cable above the bottling line. This helps prevent them from, you guessed it, being dropped on the wax (or the floor). You can reach up and pull one down from its retractable cord. You can also tug on it so it stays closer to the height you need, reducing the need to reach up all the way each time.
See this annotated photo:
Now, we're not visiting Garrison Brothers because they are a "Lean distillery" by any means. But it's fun to look at a process and to talk to people who are both innovating and improving.
"Kaizen Upon Kaizen"
I had one additional Kaizen suggestion for the hanging stampers. In the practice of Kaizen, we sometimes make one improve and then, in the initial testing, find another way to make the improvement even more improved. In our book Healthcare Kaizen, Joe Swartz and I wrote about how his health system says "kaizen upon kaizen."
Since the stampers for both sides of the table were all hanging from a central cable that was centered over the bottling line, those hanging stampers sometimes got in the way of the flow of bottles on the rollers, as I've tried to illustrate below:
I talked to the bottling area manager and he thought my suggestion of having TWO cables — one for each side of the bottling line — made sense and would be relatively easy and inexpensive to implement.
I think these are great illustrations of "kaizen" improvements and potential kaizens.
Kaizen is meant to:
Be done by the people who are doing the work
Make your work safer and easier
Make it harder to make mistakes
I think Garrison Brothers is doing all of that.
One downside of the the red covers (I forgot to draw them in my mockup… because I am still getting used to that change) is that it would be harder for me to do my "silver wax stirring kaizen" that helps smooth out the wax to prevent bubbles or drips, as I show in this video:
I'll have to take a closer look at that while we're there. I'll certainly blog about the discussions and people's experiences at Toyota and Garrison Brothers. Maybe you can join us next time.
KaizenSafetyWhiskey
Reviews of "Measures of Success" – I'm Appearing on "Quality Digest Live" Today
More on Teaching TQM, TPS, Lean, and Kaizen to Doctors in Japan
What Do These Healthcare Leaders Mean by "Habitual Excellence?"
Lean Podcast #390 — Keith Ingels on "Adopting and Adapting" TPS to…
"My Favorite Mistake" Episode #11: Donnis Todd & Dan Garrison
Lean Podcast #385 — Emily Elrod on What it Means to Work "WISE"
Karen Dunn Skinner says 2 years ago
You are excited, but probably not as excited as David. However, he was a little disappointed when he realized that the TSA will prevent him from bringing back any samples!
Mark Graban says 2 years ago
Hi Karen – David should be able to bring samples back if he checks his suitcase at the airport…
Chris Burnham says 2 years ago
You had me at bourbon…Great post!