Mentry is a library package for Tcl/Tk versions 8.0 or higher, written in pure Tcl/Tk code. It contains:
A multi-entry widget consists of any number of entry widgets separated by labels, all embedded in a frame. Appropriately chosen configuration options make this conglomerate look like one single entry containing preinserted text pieces having invariant positions within the widget. The initial width of an entry component also determines the maximal number of characters that can be inserted into it; when reaching this limit in an entry having the input focus, the latter is set automatically to the next enabled entry component. The same action is triggered by typing a character contained in the label following the current entry, if the latter is non-empty.
Within a mentry widget, the Left
, Right
,
Home
, End
, and BackSpace
keys work
across entry boundaries, while Control-Left
and
Control-Right
play the same role as Tab
and
Shift-Tab
in the case of ordinary entries.
Some of the above features are implemented with the aid of the widget callback package Wcb, written in pure Tcl/Tk code as well. The Mentry package requires version 3.1 or higher of Wcb, whose download location is
https://www.nemethi.de
It is very easy to create a multi-entry widget. For example, the command
mentry::mentry .me -body {3 - 3 - 4}
will create a mentry widget consisting of two entries of width 3 and one
of width 4, separated by "-"
characters. With the
command
foreach w [.me entries] { wcb::cbappend $w before insert wcb::checkStrForNum }
you can make sure that the three entries will only accept numeric input, thus providing a comfortable and safe user interface for editing 10-digit phone numbers.
Mentry is available for free download from the same URL as Wcb. The
distribution file is mentry3.17.tar.gz
for UNIX and
mentry3_17.zip
for Windows. These files contain the same
information, except for the additional carriage return character preceding
the linefeed at the end of each line in the text files for Windows.
Mentry is also included in tklib, which has the address
https://core.tcl.tk/tklib
Install the package as a subdirectory of one of the directories given by
the auto_path
variable. For example, you can install it as
a directory at the same level as the Tcl and Tk script libraries. The
locations of these library directories are given by the
tcl_library
and tk_library
variables,
respectively.
To install Mentry on UNIX, cd
to the desired directory
and unpack the distribution file mentry3.17.tar.gz
:
gunzip -c mentry3.17.tar.gz | tar -xf -
On most UNIX systems this can be replaced with
tar -zxf mentry3.17.tar.gz
Both commands will create a directory named mentry3.17
, with
the subdirectories demos
, doc
, and
scripts
.
On Windows, use WinZip or some other program capable of unpacking
the distribution file mentry3_17.zip
into the directory
mentry3.17
, with the subdirectories demos
,
doc
, and scripts
.
The file mentryThemes.tcl
in the scripts
directory is only needed for applications using the package Mentry_tile (see
next section).
Notice that in tklib the Mentry demos
directory is replaced
with the subdirectory mentry
of the examples
directory. Please take this into account when reading the examples below.
The Mentry distribution provides two packages, called Mentry and
Mentry_tile. The main difference between the two is that
Mentry_tile enables the tile-based, theme-specific appearance of mentry
widgets; this package requires Tcl/Tk 8.4 or higher and tile 0.6 or
higher. It is not possible to use both packages in one and the same
application, because both are implemented in the same mentry
namespace and provide identical commands.
To be able to access the commands and variables defined in the package Mentry, your scripts must contain one of the lines
package require mentry ?version? package require Mentry ?version?
You can use either one of the two statements above because the file
mentry.tcl
contains both lines
package provide mentry ... package provide Mentry ...
Likewise, to be able to access the commands and variables defined in the package Mentry_tile, your scripts must contain one of the lines
package require mentry_tile ?version? package require Mentry_tile ?version?
Again, you can use either one of the two statements above because the file
mentry_tile.tcl
contains both lines
package provide mentry_tile ... package provide Mentry_tile ...
You are free to remove one of the above lines from mentry.tcl
and mentry_tile.tcl
, respectively, if you want to prevent the
corresponding packages from making themselves known under two different names
each. Of course, by doing so you restrict the argument of
package require
to a single name per package.
Please note that ActiveTcl versions 8.5 and later use a modified
package mechanism, which only exports the all-lowercase names
mentry
and mentry_tile
. For this reason,
the examples below use the statement
package require mentry
, and their tile-based counterparts
invoke the command package require mentry_tile
.
Since the packages Mentry and Mentry_tile are implemented in the
mentry
namespace, you must either invoke the
namespace import mentry::pattern ?mentry::pattern ...?
command to import the procedures you need, or use qualified names
like mentry::mentry
. In the examples below we have chosen
the latter approach.
To access Mentry variables, you must use qualified
names. There are only three Mentry variables (and one more when using
Mentry_tile) that are designed to be accessed outside the namespace
mentry
:
mentry::version
holds the current version
number of the Mentry package.mentry::library
holds the location of the
Mentry installation directory.mentry::usingTile
has the value
0
in the package Mentry and the value 1
in
Mentry_tile.mentry::themeDefaults
holds the
theme-specific default values of a series of Mentry configuration
options.As mentioned above, a mentry widget consists of entry and label widgets, embedded in a frame. While in the Mentry package all of these components are Tk widgets, the Mentry_tile package uses both Tk frame, tile entry, and Tk label widgets. Due to several incompatibilities between Tk and tile, it is currently not possible to replace all Tk widgets making up a mentry with their tile counterparts. Actually, the entry components of a tile-based mentry are embedded into Tk frame widgets, which in turn, together with the labels, are packed into a specially constructed tile entry rather than a frame. This somewhat complicated layout is needed because in several themes it is not possible to draw flat, borderless tile enty widgets.
From the above it follows that the package Mentry_tile will only work
as expected if the Tk frame
and label
commands
haven't been overridden by using namespace import -force
ttk::*
at global scope. While earlier tile releases
suggested using this command at global scope for the really adventurous, in
newer tile versions this is considered a Really Bad Idea, causing many things
to break. Instead, you should explicitly invoke
ttk::frame
, ttk::label
, etc. whenever you want to
use a tile widget.
Another restriction to be taken into account is due to the fact that in
earlier tile versions the (ttk::)style theme use
command could only be used to set the current theme, but not to retrieve
it. For this reason, if the package Mentry_tile cannot get the current
theme with the aid of ttk::style theme use
then it
makes use of the variable ttk::currentTheme
or
tile::currentTheme
(depending on the tile version), which is set
by the ttk::setTheme
or tile::setTheme
command. From this it follows that if the tile version being used
doesn't support the ttk::style theme use
command
without an argument then the tile-based mentry widgets will only have the
expected appearance if the platform-specific default theme is either left
unchanged or replaced with another theme by invoking the library procedure
ttk::setTheme
or tile::setTheme
, depending on the
tile version. (See also the mentry::setTheme
command.)
After these cautions concerning the use of tile, the rest of this section describes the differences between the packages Mentry and Mentry_tile.
The Mentry_tile package checks whether the required Tk and tile versions are present, by executing the commands
package require Tk 8.4 if {$::tk_version < 8.5 || [regexp {^8\.5a[1-5]$} $::tk_patchLevel]} { package require tile 0.6 }
The second command above reflects the fact that, beginning with Tk 8.5a6, tile is integrated into the Tk core and therefore it should only be loaded explicitly when using an earlier Tk version.
Apart from this and the _tile
suffix in the
package require
command, the only difference (from the
programmer's point of view) between the packages Mentry and Mentry_tile is
related to the supported configuration options: The following Tk
(entry) widget options, present in the Mentry package, are not supported by
Mentry_tile, because they are not available for tile (entry) widgets:
-borderwidth
, -disabledbackground
,
-disabledforeground
, -highlightbackground
,
-highlightcolor
, -highlightthickness
,
-insertbackground
, -insertborderwidth
,
-insertofftime
, -insertontime
,
-insertwidth
, -readonlybackground
,
-relief
, -selectbackground
,
-selectborderwidth
, and -selectforeground
.
Notice that the -background
option doesn't work as expected
if the current theme is Arc
, plastik
,
tileqt
, vista
, or xpnative
, because
these themes silently ignore any attempt to change the background color of a
tile entry widget.
Finally, take into account that, when using the tileqt
theme,
the version number of the tile::theme::tileqt
package must be
0.4 or higher, and tileqt
itself won't work with tile versions
earlier than 0.7.
Let's resume the example mentioned in the
Overview in a bit more systematical manner. First, we will write a
procedure for creating a mentry widget that allows to display and edit
10-digit phone numbers and accepts any configuration options supported by the
mentry::mentry
command:
#------------------------------------------------------------------------------ # phoneNumberMentry # # Creates a new mentry widget win that allows to display and edit 10-digit # phone numbers. Sets the type attribute of the widget to PhoneNumber and # returns the name of the newly created widget. #------------------------------------------------------------------------------ proc phoneNumberMentry {win args} { # # Create a mentry widget consisting of two entries of width 3 and one of # width 4, separated by "-" characters, and set its type to PhoneNumber # eval [list mentry::mentry $win] $args $win configure -body {3 - 3 - 4} $win attrib type PhoneNumber # # Allow only decimal digits in all entry components; use # wcb::cbappend (or wcb::cbprepend) instead of wcb::callback # in order to keep the wcb::checkEntryLen callback, # registered by mentry::mentry for all entry components # for {set n 0} {$n < 3} {incr n} { set w [$win entrypath $n] wcb::cbappend $w before insert wcb::checkStrForNum $win adjustentry $n "0123456789" bindtags $w [linsert [bindtags $w] 1 MentryPhoneNumber] } return $win }
The first argument win
is the name of the widget, and the
keyword args
represents a list of configuration options and
their values, just like in the case of the standard Tk widgets. The
value {3 - 3 - 4}
of the -body
option specifies that the mentry
should consist of two entries of width 3 and one of width 4, separated by
labels displaying the "-"
character.
Each mentry widget may have any number of private attributes, which
can be set and retrieved with the aid of the attrib
subcommand of the Tcl procedure
corresponding to the widget. We use this subcommand to define the
type
attribute of the newly created widget and set it to the
value "PhoneNumber"
. Although this is not strictly
necessary, it will enable us to distinguish a phone number mentry from other
multi-entry widgets.
The mentry::mentry
command registers the wcb::checkEntryLen
callback with each entry
component of the mentry widget to restrict the number of characters that can
be inserted into it to the initial width specified in the -body
option. Besides this constraint, we want our entries to accept only
decimal digits, therefore we use the wcb::cbappend
command to add the
procedure wcb::checkStrForNum
to the callback list of each entry component. By invoking
wcb::callback
instead of
wcb::cbappend
(or wcb::cbprepend
), we would replace
the callback list with the one consisting of the single element
wcb::checkStrForNum
.
Now we know that each entry component of the mentry widget will only
accept a limited number of decimal digits. But are the widths of the
entries large enough to hold the maximal number of 3 or 4 decimal digits,
respectively? In the case of a fixed-width font the answer is
definitely "yes", and the same holds true for most proportionally-spaced
fonts. There are, however, fonts in which not all decimal digits have
the same width. For this reason, we invoke the adjustentry
subcommand for each
entry component, passing to it as last argument a string consisting of the
allowed characters, which in this example are the decimal digits. This
subcommand will increase the entry widget's width if needed, to make it just
large enough for texts of the component-specific maximal length, consisting
of characters specified by that string.
Our second procedure outputs a phone number to a mentry widget having a
type
attribute value of "PhoneNumber"
:
#------------------------------------------------------------------------------ # putPhoneNumber # # Outputs the phone number num to the mentry widget win of type PhoneNumber. # The phone number must be a string of length 10, consisting of decimal digits. #------------------------------------------------------------------------------ proc putPhoneNumber {num win} { # # Check the syntax of num # if {[string length $num] != 10 || ![regexp {^[0-9]*$} $num]} { return -code error "expected 10 decimal digits but got \"$num\"" } # # Check the widget and display the properly formatted phone number # checkIfPhoneNumberMentry $win $win put 0 [string range $num 0 2] [string range $num 3 5] \ [string range $num 6 9] }
We use the put
subcommand
of the Tcl procedure corresponding to the mentry widget to display the three
substrings of the given phone number in the corresponding entries, starting
with the entry whose index is specified as the first argument following the
word put
.
Next, we need a procedure that returns the phone number contained in a
mentry widget having a type
attribute value of
"PhoneNumber"
:
#------------------------------------------------------------------------------ # getPhoneNumber # # Returns the phone number contained in the mentry widget win of type # PhoneNumber. #------------------------------------------------------------------------------ proc getPhoneNumber win { # # Check the widget # checkIfPhoneNumberMentry $win # # Generate an error if any entry component is empty or incomplete # for {set n 0} {$n < 3} {incr n} { if {[$win isempty $n]} { focus [$win entrypath $n] return -code error EMPTY } if {![$win isfull $n]} { focus [$win entrypath $n] return -code error INCOMPL } } # # Return the phone number built from the # values contained in the entry components # $win getarray strs return $strs(0)$strs(1)$strs(2) }
The procedure runs over the indices of the entry components of the given
mentry widget and invokes the isempty
and isfull
subcommands of the Tcl command
corresponding to the given mentry widget. If one of the entries is
found to be empty or incomplete, the procedure gets its path name by calling
the entrypath
subcommand, sets the focus to that entry, raises an error, and returns the
value "EMPTY"
or "INCOMPL"
, respectively. The
application invoking this procedure should then display an appropriate error
message corresponding to the return value.
Notice that the number 3
in the for
loop above
is nothing else than [$win entrycount]
. Also, it would
be sufficient to check whether all entry components are full, because an
empty entry is at the same time incomplete. The preliminary check
whether an entry is empty is just made for the user's convenience.
To build the phone number from the values contained in the entry
components, we use a temporary array variable and invoke the getarray
subcommand, which copies the
contents of the entries to the corresponding array elements.
The last two procedures presented above contain an invocation of the
command checkIfPhoneNumberMentry
, which is implemented as
folows:
#------------------------------------------------------------------------------
# checkIfPhoneNumberMentry
#
# Generates an error if win is not a mentry widget of type PhoneNumber.
#------------------------------------------------------------------------------
proc checkIfPhoneNumberMentry win {
if {![winfo exists $win]} {
return -code error "bad window path name \"$win\""
}
if {[string compare [winfo class $win] "Mentry"] != 0 ||
[string compare [$win attrib type] "PhoneNumber"] != 0} {
return -code error \
"window \"$win\" is not a mentry widget for phone numbers"
}
}
This procedure retrieves the value of the type
attribute of
its argument to check whether the latter denotes a mentry widget for phone
numbers (remember that this attribute was set to the value
"PhoneNumber"
in the procedure
phoneNumberMentry
).
Finally, recall that in the procedure phoneNumberMentry
, we
inserted the binding tag MentryPhoneNumber
into the list of
binding tags of the mentry's entry components, just after their path
names. The binding script for this tag shown in the code below handles
<<Paste>>
(<Control-v>
or
<Command-v>
) events in these entry widgets by pasting the
current contents of the clipboard into the mentry, provided that it is a
valid 10-digit phone number:
bind MentryPhoneNumber <> { pastePhoneNumber %W } #------------------------------------------------------------------------------ # pastePhoneNumber # # Handles < > events in the entry component w of a mentry widget for # 10-digit phone numbers by pasting the current contents of the clipboard into # the mentry if it is a valid 10-digit phone number. #------------------------------------------------------------------------------ proc pastePhoneNumber w { if {[llength [info procs ::tk::GetSelection]] == 1} { set res [catch {::tk::GetSelection $w CLIPBOARD} num] } else { ;# for Tk versions prior to 8.3 set res [catch {selection get -displayof $w -selection CLIPBOARD} num] } if {$res == 0} { set win [winfo parent $w] catch { putPhoneNumber $num $win } } return -code break "" }
The five procedures discussed above are implemented in the file
phonenumber.tcl
, contained in the demos
directory. This script also puts them together to build a small
application displaying the following figure:
Here is the relevant code fragment:
package require mentry set title "Phone Number" wm title . $title # # Add some entries to the Tk option database # source [file join [file dirname [info script]] option.tcl] . . . # # Frame .f with a mentry displaying a phone number # frame .f label .f.l -text "A mentry widget for phone numbers:" phoneNumberMentry .f.me pack .f.l .f.me # # Message strings corresponding to the values # returned by getPhoneNumber on failure # array set msgs { EMPTY "Field value missing" INCOMPL "Incomplete field value" } # # Button .get invoking the procedure getPhoneNumber # button .get -text "Get from mentry" -command { if {[catch { set num "" set num [getPhoneNumber .f.me] } result] != 0} { bell tk_messageBox -icon error -message $msgs($result) \ -title $title -type ok } } # # Label .num displaying the result of getPhoneNumber # label .num -textvariable num . . . putPhoneNumber<PHONE_NUMBER> .f.me focus [.f.me entrypath 0]
Ethernet addresses are usuallly written in the form
"XX:XX:XX:XX:XX:XX"
, where each "X"
is a
hexadecimal digit. The file ethernetaddr.tcl
in the
demos
directory contains the steps needed to create and use a
multi-entry widget for displaying and editing Ethernet addresses. It
implements the procedures ethernetAddrMentry
,
putEthernetAddr
, and getEthernetAddr
; the last two
invoke the helper procedure checkIfEthernetAddrMentry
, while the
first one is implemented as follows:
#------------------------------------------------------------------------------ # ethernetAddrMentry # # Creates a new mentry widget win that allows to display and edit Ethernet # addresses. Sets the type attribute of the widget to EthernetAddr and returns # the name of the newly created widget. #------------------------------------------------------------------------------ proc ethernetAddrMentry {win args} { # # Create a mentry widget consisting of 6 entries of width # 2, separated by colons, and set its type to EthernetAddr # eval [list mentry::mentry $win] $args $win configure -body {2 : 2 : 2 : 2 : 2 : 2} $win attrib type EthernetAddr # # Install automatic uppercase conversion and allow only hexadecimal # digits in all entry components; use wcb::cbappend (or wcb::cbprepend) # instead of wcb::callback in order to keep the wcb::checkEntryLen # callback, registered by mentry::mentry for all entry components # for {set n 0} {$n < 6} {incr n} { set w [$win entrypath $n] wcb::cbappend $w before insert wcb::convStrToUpper \ {wcb::checkStrForRegExp {^[0-9A-F]*$}} $win adjustentry $n "0123456789ABCDEF" bindtags $w [linsert [bindtags $w] 1 MentryEthernetAddr] } return $win }
Notice again the invocation of the adjustentry
subcommand of the Tcl
command associated with the mentry widget, for each of its entry
components. This is necessary, because in the case of a
proportionally-spaced font the characters A
- F
need more room than the digits 0
- 9
(and it is not
even guaranteed that the latters have the same width).
The procedure putEthernetAddr
expects as its first argument a
string of the form "XX:XX:XX:XX:XX:XX"
, where each
"XX"
must be a hexadecimal string in the range 0
-
255
:
#------------------------------------------------------------------------------ # putEthernetAddr # # Outputs the Ethernet address addr to the mentry widget win of type # EthernetAddr. The address must be a string of the form XX:XX:XX:XX:XX:XX, # where each XX must be a hexadecimal string in the range 0 - 255. Leading # zeros are allowed (but not required), hence the components may have more (but # also less) than two characters; the procedure displays them with exactly two # digits. #------------------------------------------------------------------------------ proc putEthernetAddr {addr win} { set errorMsg "expected an Ethernet address but got \"$addr\"" # # Check the syntax of addr # set lst [split $addr :] if {[llength $lst] != 6} { return -code error $errorMsg } # # Try to convert the 6 components of addr to hexadecimal # strings and check whether they are in the range 0 - 255 # for {set n 0} {$n < 6} {incr n} { set val 0x[lindex $lst $n] if {[catch {format "%02X" $val} str$n] != 0 || $val < 0 || $val > 255} { return -code error $errorMsg } } # # Check the widget and display the properly formatted Ethernet address # checkIfEthernetAddrMentry $win $win put 0 $str0 $str1 $str2 $str3 $str4 $str5 }
The procedure getEthernetAddr
raises an error if any entry
component of the given mentry widget is empty. It accepts also entry
strings of length one, but in the return value all components will have
exactly two digits:
#------------------------------------------------------------------------------ # getEthernetAddr # # Returns the Ethernet address contained in the mentry widget win of type # EthernetAddr. #------------------------------------------------------------------------------ proc getEthernetAddr win { # # Check the widget # checkIfEthernetAddrMentry $win # # Generate an error if any entry component is empty # for {set n 0} {$n < 6} {incr n} { if {[$win isempty $n]} { focus [$win entrypath $n] return -code error EMPTY } } # # Return the properly formatted Ethernet address built # from the values contained in the entry components # $win getarray strs return [format "%02X:%02X:%02X:%02X:%02X:%02X" \ 0x$strs(0) 0x$strs(1) 0x$strs(2) 0x$strs(3) 0x$strs(4) 0x$strs(5)] }
We will not show the rest of the code here, because it is very similar to the one presented in the preceding section. The mentry widget for Ethernet addresses looks like in the following figure:
Multi-entry widgets can be used to display and edit date and time in a great variety of formats. The Mentry package contains ready-to-use commands for this purpose:
mentry::dateMentry
creates a
new mentry widget for displaying and editing a date according to the format
passed to the command as a three-character string consisting of the field
descriptor characters "d"
, "m"
, and
"y"
or "Y"
, known from the clock
format
command. Another argument expected by the
procedure is the string (usually a single character) to be displayed in the
labels separating the three components of the date.mentry::timeMentry
creates a
new mentry widget for displaying and editing a time according to the format
passed to the command as a two- or three-character string consisting of the
following field descriptor characters of the clock
format
command: "H"
or "I"
, followed
by "M"
, and optionally the letter "S"
. An
"H"
as first character specifies the time format
"%H:%M"
or "%H:%M:%S"
(i.e., with the hour
between 0
and 23
), while the letter
"I"
stands for "%I:%M %p"
or
"%I:%M:%S %p"
(i.e., with AM/PM indicator). The
procedure expects the separator string (which is usually the
":"
character) as another command-line argument.mentry::dateTimeentry
creates a new mentry widget for displaying and editing a date & time
according to the format passed to the command as a 5- or 6-character
string, with the first three characters consisting of the letters
"d"
, "m"
, and "y"
or
"Y"
, followed by two or three further field descriptor
characters of the clock format
command, which must
be: "H"
or "I"
, then "M"
, and
optionally the letter "S"
. The procedure expects two
more arguments, specifying the separators to be used in the date and time
parts of the mentry widget, respectively.Before describing the other date- and time-related commands provided by
the Mentry package, let's see how the first two of the above are invoked in
the file datetime1.tcl
, located in the demos
directory:
package require mentry set title "Date & Time" wm title . $title # # Add some entries to the Tk option database # source [file join [file dirname [info script]] option.tcl] # # Date and time formats supported by this demo # script and the corresponding field separators # array set dateFmts {0 mdy 1 dmy 2 Ymd} array set dateSeps {0 / 1 . 2 - } array set timeFmts {0 IMS 1 HMS} array set timeSeps {0 : 1 : } # # Choose the date & time formats; don't use the %p field descriptor # for displaying the AM/PM indicator, because it doesn't work on # UNIX if Tcl/Tk 8.4 or higher is used in a non-default locale # wm withdraw . set clockVal [clock seconds] if {[clock format $clockVal -format "%H"] < 12} { set meridian AM } else { set meridian PM } set dateIdx [tk_dialog .choice $title "Please choose a date format" {} -1 \ [clock format $clockVal -format "%m/%d/%y"] \ [clock format $clockVal -format "%d.%m.%y"] \ [clock format $clockVal -format "%Y-%m-%d"]] set timeIdx [tk_dialog .choice $title "Please choose a time format" {} -1 \ [clock format $clockVal -format "%I:%M:%S $meridian"] \ [clock format $clockVal -format "%H:%M:%S"]] wm deiconify . # # Frame .f with mentries displaying the date & time # frame .f label .f.lDate -text "Date: " mentry::dateMentry .f.date $dateFmts($dateIdx) $dateSeps($dateIdx) \ -justify center frame .f.gap -width 10 label .f.lTime -text "Time: " mentry::timeMentry .f.time $timeFmts($timeIdx) $timeSeps($timeIdx) \ -justify center pack .f.lDate .f.date .f.gap .f.lTime .f.time -side left
Before displaying the main window, the script lets the user choose one out
of three date and one out of two time formats. The corresponding
command-line arguments passed to mentry::dateMentry
and
mentry::timeMentry
are taken from the arrays
dateFmts
, dateSeps
, timeFmts
, and
timeSeps
.
The following figure corresponds to the choices dateIdx =
2
and timeIdx = 1
:
The demo script datetime2.tcl
displays both the date and time
in the same mentry widget, with the aid of the third command described
above:
#
# Frame .f with a mentry displaying the date & time
#
frame .f
label .f.l -text "Date & time: "
mentry::dateTimeMentry .f.me $dateFmts($dateIdx)$timeFmts($timeIdx) \
$dateSeps($dateIdx) $timeSeps($timeIdx) \
-justify center
pack .f.l .f.me
The Mentry package exports two further commands for date, time, and date & time mentries:
mentry::putClockVal
outputs
the date, time, or date & time corresponding to an integer clock value
specified as its first argument to a date, time, or date & time mentry
widget, passed to it as the second parameter. Like the
clock format
command, the procedure accepts the
optional argument pair -gmt boolean
.mentry::getClockVal
returns
the clock value corresponding to the date, time, or date & time contained
in the date, time, or date & time mentry specified as its first
argument. Like the clock scan
command, the
procedure accepts the optional argument pairs -base
clockValue
and -gmt
boolean
. On failure, the procedure sets the focus to
the first erronous entry component, generates an error, and returns one of
the values contained in the following code fragment taken from the scripts
datetime1.tcl
and datetime2.tcl
:
#
# Message strings corresponding to the values
# returned by mentry::getClockVal on failure
#
array set msgs {
EMPTY "Field value missing"
BAD "Invalid field value"
BAD_DATE "Invalid date"
BAD_YEAR "Unsupported year"
}
The string "EMPTY"
is returned if any entry component
(except the one containing the seconds) was found to be empty. The
value "BAD"
means a day, month, or hour value of
0
(the hour must not be 0
if the AM/PM
indicator is present). The string "BAD_DATE"
is
returned when the <year, month, day> triple is invalid (note that
the procedure is aware of leap years). Finally, even if this triple
is valid, the conversion (made with the aid of the clock
scan
command) can fail because of an unsupported year value
(e.g., between 38
and 70
); in this case the
string "BAD_YEAR"
is returned.
The demo script datetime1.tcl
invokes the last two commands
as follows:
# # Button .get invoking the procedure mentry::getClockVal # button .get -text "Get from mentries" -command { if {[catch { set dateTime "" set base [mentry::getClockVal .f.date] set clockVal [mentry::getClockVal .f.time -base $base] set dateTime [clock format $clockVal -format "%c"] } result] != 0} { bell tk_messageBox -icon error -message $msgs($result) \ -title $title -type ok } } # # Label .dateTime displaying the result of mentry::getClockVal # label .dateTime -textvariable dateTime . . . set clockVal [clock seconds] mentry::putClockVal $clockVal .f.date mentry::putClockVal $clockVal .f.time focus [.f.date entrypath 0]
To obtain the clock value from the mentry widgets .f.date
and
.f.time
, we first pass the name of the date mentry to the
command mentry::getClockVal
and then use the result as the value
of the -base
option when passing the name of the time mentry to
the same procedure.
The demo script datetime2.tcl
is simpler:
# # Button .get invoking the procedure mentry::getClockVal # button .get -text "Get from mentry" -command { if {[catch { set dateTime "" set clockVal [mentry::getClockVal .f.me] set dateTime [clock format $clockVal -format "%c"] } result] != 0} { bell tk_messageBox -icon error -message $msgs($result) \ -title $title -type ok } } # # Label .dateTime displaying the result of mentry::getClockVal # label .dateTime -textvariable dateTime . . . set clockVal [clock seconds] mentry::putClockVal $clockVal .f.me focus [.f.me entrypath 0]
The Mentry distribution contains also tile-based counterparts of the demo
scripts discussed above. As described in the More on
Mentry_tile section of this tutorial, it is quite easy to port an
application using the Mentry package to one based on Mentry_tile. For
example, let's see how to transform the demo script
phonenumber.tcl
into a tile-based one, called
phonenumber_tile.tcl
. The changes are shown below in
red color:
package require mentry_tile set title "Phone Number" wm title . $title # # Add some entries to the Tk option database # source [file join [file dirname [info script]] option_tile.tcl] . . . proc pastePhoneNumber w { . . . if {$res == 0} { set win [winfo parent [winfo parent $w]] . . . } } . . . # # Improve the window's appearance by using a tile # frame as a container for the other widgets # ttk::frame .base # # Frame .base.f with a mentry displaying a phone number # ttk::frame .base.f ttk::label .base.f.l -text "A mentry widget for phone numbers:" phoneNumberMentry .base.f.me pack .base.f.l .base.f.me # # Message strings corresponding to the values # returned by getPhoneNumber on failure # array set msgs { EMPTY "Field value missing" INCOMPL "Incomplete field value" } # # Button .base.get invoking the procedure getPhoneNumber # ttk::button .base.get -text "Get from mentry" -command { if {[catch { set num "" set num [getPhoneNumber .base.f.me] } result] != 0} { bell tk_messageBox -icon error -message $msgs($result) \ -title $title -type ok } } # # Label .base.num displaying the result of getPhoneNumber # ttk::label .base.num -textvariable num . . . putPhoneNumber<PHONE_NUMBER> .base.f.me focus [.base.f.me entrypath 0]
That's all! The resulting window has a nice theme-specific appearance:
The only Mentry-specific changes in the code above consist of the use of
the _tile
suffix in mentry_tile
and a second
invocation of winfo parent
in the procedure
pastePhoneNumber
(for technical reasons, the entry components of
a tile-based mentry widget are grandchildren of the mentry).


Dear miners, sellers, and buyers:
In order to create a more cohesive community, that is geared towards promoting a better PIRATE to the rest of the world, I pose the following questions/thoughts:
What do you feel is, or should be, the price determining factor(s) of ARRR?
Hashrate alone? Is 32 cents at 124k diff and 11-15 cents at 40k diff a valid notion?
Does/should KMD/USD have an impact on ARRR/KMD price? Do we, as a community just peg price to KMD no matter what KMD value is?
These are just the base questions I have and hope that the can be answered and prove to springboard into a larger conversation about the true value of PIRATE as well as the perceived monetary value.
Thanks,
CG


Ouside of the Earth
Let’s keep thinking about that rocket. How would it move if it turned off its engines right after it got out of Earth’s atmosphere (into space)? Would it move in a straight line? A circle? Look at the two options below and write down your guess. (As always, don’t be afraid of getting things wrong!)
In order to understand this better, let’s clarify a few concepts.
Any two objects have a gravitational attraction between them. Technically, your computer is pulling you towards it right now(!) - it’s just that the computer has very little mass so this attraction doesn’t do very much. However, as you walk away from your computer, the gravitational attraction between you and your computer gets even smaller.
On Earth, in order to keep flying forward, an airplane has to keep its engines running at all times. This is because of air resistance. However, in space there is no air. This means that if a rocket turns off its engines, it won’t speed up anymore… but it won’t slow down either- there’s no air making it slow down! So if a rocket turns off its engines once it is in space, it will keep moving at the same speed it was before the engines were turned off.
This is why we aren’t pulled off the Earth towards the sun. Even though the sun has more mass than the Earth, the sun is so far away that it pulls us much less than the Earth does.
Now let’s get back to the original question. What happens when the rocket turns off its engines right after it gets into space?
When the rocket turns off its engines, it stops pushing against the Earth’s gravity.
Because Earth’s gravity wants to pull the rocket back down to Earth, it begins to fall. However, it’s still moving very fast (remember- no air resistance in space)! Since it’s moving so fast, it misses the Earth as it falls. This happens over and over again - gravity keeps trying to pull the rocket down, but because the rocket is moving fast it keeps missing the Earth. This causes the rocket to start orbiting the Earth, kind of like the moon.
Play around with the simulation below to see how changing the mass of the two bodies impacts the shape of their orbits. (Remember that changing the mass changes the gravity between the bodies, which is why the orbits change!)
- The ^ symbol in the simulation means the number of zeroes that number has. For example 6*10^24 (Earth's mass) is the number 6 with
24 zeroes! The Earth is huge! (All mass is in kilograms.)
Try to make an orbit that looks similar to the orbit of the Earth around the sun. Maybe try making two stars and see how they orbit around each other. Explore!
Why do you think the orbit of two objects with very different masses looks different than the orbit of two objects with the same mass? Try comparing the original orbit (small body: 6*10^24, large body 2*10^30) with the orbit when the small body is at exponent 29 (6*10^29) and the large body is at exponent 30 (2*10^30).


Bill Gates - Microsoft
Bill Gates later founded Microsoft and it became a household name and Bill Gates became the worlds richest man, who controls and monopolizes the computer industry and reached the top with their software’s and operating systems surpassing IBM.
But Internet World Wide Web www was still not known to the great minds of Microsoft. At the same time a student from university of Illinois Mark Andreessen created a web browser Mosaic And then released it in the student community of university as a beta version which became very popular at that time. What turned the heads is Mosaic is a graphic web browser contains audio video color everything.


Elastex v0.1.2 Elastex
This module contains the run functions used to make a HTTP request
Summary
Functions
Builds request for http call
Runs the request using the elastex url from config file
Runs the request using the url from the conn map parameter
Functions
Specs
build(%Elastex.Builder{action: term, body: term, headers: term, id: term, index: term, method: term, options: term, params: term, type: term, url: term}, map) :: %Elastex.Builder{action: term, body: term, headers: term, id: term, index: term, method: term, options: term, params: term, type: term, url: term}
Builds request for http call.
Specs
run(%Elastex.Builder{action: term, body: term, headers: term, id: term, index: term, method: term, options: term, params: term, type: term, url: term}) :: any
Runs the request using the elastex url from config file


{% extends "global/Page.html" %} {% load static otree %} {% block title %}Consent Form{% endblock %} {% block content %}
The data collected are for the sole purpose of organizing scientific experiments and will not be disclosed to third parties.
Before the start of the experiment, the tasks will be explained. During the experiments data are generated by the decisions of the participants. These data are scientifically evaluated by the researcher. The decision data is anonymized and cannot be assigned to any person. Participation in the experiments is anonymous. The generated, anonymized data will be used to produce scientific research and lectures. This work will be published.
The participants in the online experiment will be paid (in the form of online shopping vouchers) after the experiment. The amount may depend on your own decisions and the decisions of other participants during the experiment.
At the request of a participant, their collected data from the subscriber database will be deleted without restriction.
We never deceive participants. For example, if we inform you that another participant is making a choice on which you then can react, this is indeed the case.
Please click button to agree to take the survey
{% endblock %}


identity<T>
|
|
| Category: functors |
Component type: type |
Description
Identity is a Unary Function that represents the identity
function: it takes a single argument x, and returns x.
Example
int main()
{
int x = 137;
identity<int> id;
assert(x == id(x));
}
Definition
Defined in function.h
Template parameters
|
Parameter
|
Description
|
Default
|
|
T
|
The function object's argument type, and return type. [1]
|
|
Model of
Adaptable Unary Function
Type requirements
None.
Public base classes
unary_function<T, T>
Members
New members
All of identity's members are defined in the
Adaptable Unary Function
requirements. Identity does not introduce any new members.
Notes
[1]
It is essential that the return type and the argument type are
the same: generalizing identity to allow them to differ would not
work. The reason is that identity returns a const reference to
its argument, rather than a copy of its argument. If identity were
allowed to perform a conversion, then this would be a dangling reference.
See also
The function object overview,
select1st, select2nd, project1st, project2nd
Copyright © 1996 Silicon Graphics, Inc.
|


Solid State is a simple node based RTS (Real-time Strategy) with a heavy emphasis on fast decision making. Take back control of your server as your battle against Rogue data threatens the very existence of the Solid State. Using your tech tree, you can specialize for a play style that suits you. Take back corrupted nodes on diverse play fields that contain buildings that change the very nature of the fight.
Solid State is a 5 week, student made project at Michigan State University. Solid State features 11 Levels and roughly 1 hour of game play.


_Caligula_ no stars (out of ****)
Since its initial release in 1979, no film quite like _Caligula_ has ever been made--and with good reason; it is widely known to be one of the worst films ever made, and anyone who's seen it would be hard-pressed to argue with that assessment. But as with a lot of bad would-be art, this cinematic oddity holds a truly bizarre fascination, especially in this fully restored, 20th anniversary edition, which is slowly making its way around to big screens around the country.
On the big screen is the only way one can, ahem, "appreciate" this gaudy, flat-out bizarre exercise in cinematic fragmentation. Whatever chance this film had of turning out well was done in by the participants' conflicting intentions, which can be broken down into three perspectives. From one, there are original screenwriter (the adapter remains uncredited) Gore Vidal and the Serious British Actors (including no less than Sir John Gielgud and Peter O'Toole), who obviously believed they were making a serious exposť of the decadence of the Roman empire, namely the reign of the megalomaniacal title character (Malcolm McDowell). Then there's original director Tinto Brass, whose insistence on filling every last shot of film with some artfully-lit nudity comes straight from the school of mainstream exploitation cinema. Last--and certainly not least--comes (in _every_ sense of the word) producer and _Penthouse_ publisher Bob Guccione, who wrested control of the film from Brass and then shot and edited in some balls-out (literally) hardcore pornography.
The finished product, as one can glean, is one giant mess. Any given scene can shift from McDowell's overacting to nonchalant glimpses of full frontal men and women to explicit closeups of sexual penetration. It makes for a jarring watch--but certainly never a boring one. In fact, it's this identity crisis that lends the film its biggest virtue: unintentional comedy. As disgusting as it is for most audience, how can one _not_ laugh at the film's centerpiece cum shot, which has to be the first and only in screen history that has been scored to a full-blown orchestral crescendo and climax?
These "additional scenes directed and photographed" by Guccione and Giancarlo Lui come out of nowhere and have only tangential connection to the story--no surprise since the main actors were called on to do just that, and only anonymous extras get down and dirty. For example, the film's famous girl-on-girl scene is sloppily intercut with a rather tame threesome between Caligula, his wife Caesonia (Helen Mirren, whose role consists of standing around in various states of undress, spouting very little dialogue), and beloved sister Drusilla (Teresa Ann Savoy). The tiny plot "thread" that connects them is that the two women ("played" by _Penthouse_ pets Anneka DiLorenzo and Lori Wagner) spy on the three from a secret room, get hot, and get it on; eventually, their activities win more screen time than those of the three bonafide characters. I must admit that the lesbian encounter is the only hardcore interlude that can be considered remotely erotic, but that doesn't make its inclusion any more ludicrous, especially in light of the fact that the secret room, which is shown in an earlier scene as being dark and empty, features a big, fully made bed and is lit with a seductive red light.
But it's not as if there's a whole lot of plot to begin with, anyway. The apparent point of the film is to show that Caligula was--to put it bluntly--one sick motherfucker.  It's a point that comes clear within a half hour at most.  Before that point, however, we see Caligula's sadism in graphic detail; in one especially notorious scene, Caligula's guards cut off a man's penis--in tight closeup--then feed it to dogs. We also see everything--and I mean everything--that goes down (literally) at the many orgies Caligula stages. And then there's Caligula himself. To McDowell's credit, he threw all inhibitions out the window and spared no risk in taking this role. But then there's the matter of the risks he's made to take: he prances around in a skimpy toga; he wildly dances in the rain completely nude; he vomits in slow-motion; he rapes the bride at a wedding reception, then fists the groom; he licks a dead female body up and down; he even gets to sleep with a horse. That McDowell performs these tasks with such deranged gusto actually helps--what would otherwise be stomach-turning and offensive is rendered ridiculously laughable.
Which is what _Caligula_ is behind all the violence, sex, and various bodily fluids: an idea so preposterously bad as to be hilarious (big-budget pornographic historical epic?). The rerelease poster boasts, "Just as shocking twenty years later." Indeed it is, but not in the way intended. Moreso than, say, the sight of a group of guys ejaculating into a bowl (yes, that's in there), what is truly shocking is that _Caligula_ ever got made.
Michael Dequina<EMAIL_ADDRESS>|<EMAIL_ADDRESS>|<EMAIL_ADDRESS>|<EMAIL_ADDRESS>Mr. Brown's Movie Site: http://welcome.to/mrbrown CinemaReview Magazine: http://www.CinemaReview.com on ICQ: #25289934 | on AOL Instant Messenger: MrBrown23
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


“Engineering Leadership” series of posts cover some tips and techniques for engineering managers to setup, scale and run high performing, long term focusses engineering teams. Current “Hiring & Onboarding 202” post does NOT intend to walk through how to identify right talent in the hiring process but explains how to have a result driven hiring process.
Having built multiple engineerings sites ground up till 50+ engineers in the past, I always consider hiring as one of the important processes to constantly learn, unlearn and evolve in the current competitive talent landscape. Many great leaders who could scale engineering orgs have peculiar and effective hiring methodologies. Hiring right talent fast has been single most successful factor in accelerating many leaders’ career path and ensuring they can deliver.
Challenges
Some of the challenges I faced and I frequently heard from my leaders during hiring process.
- “I need to build the team ASAP. Help me.”
- “Recruitment team is slow. I do not have enough of pipeline.”
- “Hiring 8 SDEs in 2 months? - This is impossible. Are we moving too fast?”
- “Hiring fast may dilute quality. What about sustainable growth for org.”
- “Candidates are not willing to relocate. Hiring in my City is hard”
- “I think we need to pay higher for this role?”
- “We have an offer rejection… The candidate did not show up on day of joining.”
What worked for me
Below are some of the things that worked for me where I was able to setup multiple engineering teams. The situations include -
- Setting up a ~ 30 member team from scratch in < 5 months.
- Growing a 60 member team to ~ 100 in < 6 months.
- Helping my over all org to move from 30 to 150 in < 1 year.
1. Own the Hiring, Hold yourself and team for a high Ownership bar
I have always owned the hiring process and outcomes myself and advice leaders to do the same. Recuitment team is a stakeholder and helps in your team setup. Avoid delegating hiring process to recruitment team and play the role of enabler. Have a high bar in each step that you are responsible for such as -
- Explain the hiring needs clearly, providing forecasting for head count.
- Always prioritze your positions. Not everything is a high priority.
- Provide clear job descriptions, examples and be part of sourcing.
- Scout for internal referenes. Reward the referrals.
- Exploratory discussions with candidates.
- Arragne interview panels as required.
- Be responsive. You are likely to receive larger feed of prospects to screen and decide on. Candidates pick your team if you are faster.
- Help other leaders in hiring by providing interview bandwidth.
2. Be a Good Partner to the Recruitment Team
Generally recruitment teams are handling multiple roles and are always packed. They co-own the goal of hiring for multiple leaders. Engineering leads who partner and collaborate well with recruitment teams yield better success. A few tips -
- Give ideas and quality feedback to your recruitment team.
- Feed the team with enough details of your business/product so they can communicate better with candidates.
- Understand their working style and make yourself available.
- Get to know your agencies beyond direct recruitment team. Help in sourcing by sharing internal refferals, your linked in contacts and etc.
- Don’t have metric driven relationship with recruiting. Socialize and learn the hiring trends across industry.
- Know the talent landscape/Limitations. Be flexible to ideas from team.
3. Have Regular Cadance and Consistent Process
Generally engineering leaders are packed with tons of things on a daily basis. Hiring can;t be taken as a part time activity as it demands quality time and constant focus.
- Have a weekly/biweekly or even more frequent regular catchups with recruitment teams.
- Have time blocked in your calendar to speak with candidates for exploratory discussions and interviews.
- Have template to exchange visibility on hiring process with your recruitment team and engineering leadership.
4. It’s all about hiring fast!! Every step should index for speed.
Some leaders are worried about sustainability and quality when they hire fast. They are concious about ‘hiring mistakes’. I disagree with that thought process. You always need to hire fast! Quality and sustainability comes together by holding high bar in candidate selection but not by being slow. Also, onboarding and initial engagement for candidates need to be taken into consideration when setting up teams especially new sites.
- Tweak your entire process to be faster. Identify the bottlenecks and make them faster.
- Sourcing: Explore all options available for sourcing. Sourcing is the top of your hiring funnel. Have a strong sourcing process.
- Interviews: Ensure interview panels are available. Reward interviewers for time spent. Coach panels. Maintain good interview experience bar.
- Debrief/Decision Making: Have timeline for giving your decision once onsites are done.
- Offer rollout and roll sell calls: Have clear and faster offer rollout mechanism and roll sell process for hired candidates.
5. Hold a High Bar. It Ensures Quality and Sustainability.
No matter what’s the speed at which you want to hire, hold a high and right hiring bar. Remember that high bar does not mean too many rejections. It has to deal with ensuring correct job leveling guidelines, souring right, having right interview loop consturcuted, having a bar raising and culure fitment discussions, providing visibility of the bar to candidates so they are well prepared. It;s not possible to ensure a 100% fit and successful hiring process but always improve iteratively. Note that having a wrong hire and replacing them is very costly.
6. Focus on Internal Talent Hiring.
Internal transfers are common in any medium to large size companies. Try to tap onto prospective internal candidates through good visibility for your team. Ensure that you are not ‘poaching’ any one. Your team’s reputation is key in attracting internal candidates who are looking for options. Internal hires are key when you are starting teams fresh as they bring in lots of tribal knowledge of the company and culture. They hit the road running fast.
When you are looking at internal hires -
- Follow internal procedures. Don’t skip the loop.
- Share as much as open information about team with the prospects. Understand mutual fitment.
- Talk to current manager, review the feedback and allow a graceful transfer process.
- Be transparent about career aspirations and growth oppurtunites of internal candidates.
7. Travel, Conduct Hiring Events. Go Blitz hiring!
You should reach out to talent in groups then letting them reach out to you. I could always hire faster by travelling across the country and some times cross borders. For example , When we had to help my sisters teams grow from 30 to 150 based on Bangalore, we travelled to 5 cities conducting hiring events twice a month. 70% of our hiring was done through these events.
- Prepare strong interview panels and recruiters who like to travel.
- Plan the hiring events across cities. Give time to the team for preparations.
- Plan ahead for a sufficient candidate foot fall on day of hiring. Let candidates go through pre- screening to ensure quality.
- Organize the event day well. Plan to roll out offers on the same day possibly or ASAP.
8. Post Offer Engagement.
Rolling out offers does not ensure candidates joining your team. We are in an extremely competitive space so focus well on post offer engagement.
- As a hiring manager stay in touch with offered candidate. Give them details on team, interesting work items, ramp up plan and etc.
- Connect offered candidates with some senior peers in team.
- Enourage them to read on some relevant topics.
- Have them possibly visit your office for a coffee chat or a socializing event.
9. Learn. Share the Feedback with Relevant Stakeholders.
Talent landscape, job market dynamics change very fast. Keep reviewing how hiring events, offer processes and get learnings each time something comes up your way. Obseve for pattrens of low quality pipeline, interview delays, bad candidate experience, offer rejections, no shows and learn from them. A few examples include -
- If an offer for a given role is being rejected due to compensation, it’s time to share it relevant team and review the same.
- If quality of pipeline or speed of interviews are not upto the mark, share this feedback and attempt to fix.
- Understand the hiring experiences of your peers.
You are not done yet… !
Onboarding 202
Hope all went well and the employee has joined your org. It’s very important to have a smoother onboarding process to ensure he settles down in his new role. This is an important step to ensure the hard work of hiring process starts seeing rewards.
- Ensure you set expectations for onboarding in your first meeting. Give him first hand over view of team, stakeholders, his role, product’s vision and other applicable information that inspires the candidate and re assures/resets the image he had created of the environment during his wait to join.
- Share the Personalised Plan for him. Introduce to key stakholders and team. Have a plan where he will be paces well and is learning as per his style. Generally engineers learn by doing.
- Have a buddy and a mentor to assist during the initial days of his work. As a hiring manager, ensure you spend time with him initially.
- Setup check points to connect and exchange details on how the onboarding plan is. Seek feedback on how the plan can be improved. Generally issues like obsoleteness of the documentation, better approach for current problems and etc. are shared by new team members.
- Create an overall inclusive and welcoming environment to accept these while ensuring current limitations are communicated to them.


public interface PeriodPlot extends SetPlot
SetPlot
where each data value in a set corresponds to a period of time.| Modifier and Type | Method and Description |
|---|---|
<D> void |
addData(SetRangeMapper<D> t,
D object)
Basic method for mapping an object into the plot
|
<F> boolean |
addMapData(QueryMapper<F> t,
F fac)
Populate plot using a
QueryMapper and a factory
Each point of the graph is generated by a call to the QueryMapper |
getCounts, getLegends, getNumSets, getTable, hasLegends, permSets, setLegends, setNumSets
<D> void addData(SetRangeMapper<D> t, D object) throws java.lang.Exception
t
- object
- InvalidTransformException
java.lang.Exception
<F> boolean addMapData(QueryMapper<F> t, F fac) throws InvalidTransformException
QueryMapper
and a factory
Each point of the graph is generated by a call to the QueryMapper
F
- type of factoryt
- QueryMapper to usefac
- Factory to queryInvalidTransformException


First text paragraph.
And another one.
This time, spanning over multiple rows.
This text should be in italics.
And this one should be in bold.
W = m * c2
Starch hydrolysis: C6H10 + H2O → C6H12O6
Lets show an image.
An unordered list of items:
This is the order in which we take meals:


Resource management¶
Every application usually ships with various resources, such as image and data
files, configuration files and so on. Accessing those files in the folder
hierarchy or in a bundled format for various platforms can become a complex
task. The Resources
class allows you to manage different application
data in a certain directory, providing a dictionary-style access functionality
for your in-application resources.
Let’s assume, your application has the following installation layout
Application Directory
Application.exe
Application.conf
data/
background.jpg
button1.jpg
button2.jpg
info.dat
Within the Application.exe
code, you can - completely system-agnostic -
define a new resource that keeps track of all data
items.
apppath = os.path.dirname(os.path.abspath(__file__))
appresources = Resources(os.path.join(apppath, "data"))
# Access some images
bgimage = appresources.get("background.jpg")
btn1image = appresources.get("button1.jpg")
...
To access individual files, you do not need to concat paths the whole
time and regardless of the current directory, your application operates
on, you can access your resource files at any time through the
Resources
instance, you created initially.
The Resources
class is also able to scan an index archived files,
compressed via ZIP or TAR (gzip or bzip2 compression), and subdiectories
automatically.
Application Directory
Application.exe
Application.conf
data/
audio/
example.wav
background.jpg
button1.jpg
button2.jpg
graphics.zip
[tileset1.bmp
tileset2.bmp
tileset3.bmp
]
info.dat
tilesimage = appresources.get("tileset1.bmp")
audiofile = appresources.get("example.wav")
If you request an indexed file via Resources.get()
, you will receive
a io.BytesIO
stream, containing the file data, for further processing.
Note
The scanned files act as keys within the Resources
class. This
means that two files, that have the same name, but are located in different
directories, will not be indexed. Only one of them will be accessible
through the Resources
class.
API¶
-
class
sdl2.ext.
Resources
([path=None[, subdir=None[, excludepattern=None]]])¶ The Resources class manages a set of file resources and eases accessing them by using relative paths, scanning archives automatically and so on.
-
add
(filename : string)¶ Adds a file to the resource container. Depending on the file type (determined by the file suffix or name) the file will be automatically scanned (if it is an archive) or checked for availability (if it is a stream or network resource).
-
add_archive
(filename : string[, typehint="zip"])¶ Adds an archive file to the resource container. This will scan the passed archive and add its contents to the list of available and accessible resources.
-
add_file
(filename : string)¶ Adds a file to the resource container. This will only add the passed file and do not scan an archive or check the file for availability.
-
get
(filename : string) → BytesIO¶ Gets a specific file from the resource container.
Raises a
KeyError
, if the filename could not be found.
-
get_filelike
(filename : string) → file object¶ Similar to
get()
, but tries to return the original file handle, if possible. If the found file is only available within an archive, aio.BytesIO
instance will be returned.Raises a
KeyError
, if the filename could not be found.
-
get_path
(filename : string) → string¶ Gets the path of the passed filename. If filename is only available within an archive, a string in the form
filename@archivename
will be returned.Raises a
KeyError
, if the filename could not be found.
-
scan
(path : string[, subdir=None[, excludepattern=None])¶ Scans a path and adds all found files to the resource container. If a file within the path is a supported archive (ZIP or TAR), its contents will be indexed aut added automatically.
The method will consider the directory part (
os.path.dirname
) of the provided path as path to scan, if the path is not a directory. If subdir is provided, it will be appended to the path and used as starting point for adding files to the resource container.excludepattern can be a regular expression to skip directories, which match the pattern.
-
-
sdl2.ext.
open_tarfile
(archive : string, filename : string[, directory=None[, ftype=None]]) → BytesIO¶ Opens and reads a certain file from a TAR archive. The result is returned as
BytesIO
stream. filename can be a relative or absolute path within the TAR archive. The optional directory argument can be used to supply a relative directory path, under which filename will be searched.ftype is used to supply additional compression information, in case the system cannot determine the compression type itself, and can be either “gz” for gzip compression or “bz2” for bzip2 compression.
If the filename could not be found or an error occurred on reading it,
None
will be returned.Raises a
TypeError
, if archive is not a valid TAR archive or if ftype is not a valid value of (“gz”, “bz2”).Note
If ftype is supplied, the compression mode will be enforced for opening and reading.
-
sdl2.ext.
open_url
(filename : string[, basepath=None]) → file object¶ Opens and reads a certain file from a web or remote location. This function utilizes the
urllib2
module for Python 2.7 andurllib
for Python 3.x, which means that it is restricted to the types of remote locations supported by the module.basepath can be used to supply an additional location prefix.
-
sdl2.ext.
open_zipfile
(archive : string, filename : string[, directory : string]) → BytesIO¶ Opens and reads a certain file from a ZIP archive. The result is returned as
BytesIO
stream. filename can be a relative or absolute path within the ZIP archive. The optional directory argument can be used to supply a relative directory path, under which filename will be searched.If the filename could not be found, a
KeyError
will be raised. Raises aTypeError
, if archive is not a valid ZIP archive.


--- layout: default ---
The Side Scroller 3D Kit is an easy to use template for creating side scroller type of games in 3D!
The Side Scroller 3D Kit is an easy to use template for creating side scroller type of games in 3D! Supports both desktop and mobile platforms The template is created using Blueprints, is fully documented and allows easy customization.
The player character has the ability to jump, attack, and roll.
Melee monsters, ranged monsters, elite monsters as well as bosses are also provided.
This package has pickup items(HP, Gold) and traps of 2 type


{% extends 'base.html' %} {% set active_page = "profile" %} {% block content %} Welcome, {{ name }}! There's nothing here yet. {% endblock content%}
There's nothing here yet.


The only changes since release <IP_ADDRESS> are:
pvDataCPP (5.0.4)
- Fixed bitset serialization (issue #24)
- Fixed truncation in BitSet::or_and (issue #27)
pvAccessCPP (4.1.3)
- Monitor fix: element no longer queued when overrun in progress.
pvaSrv (0.11.4)
- Fixed more issues:
#38, #41, #44, #46, #48 (fields, structures, enums)
- Added support for Cygwin and MinGW
- Fixed issues #34, #35 (weak pointers and locking)
pvaSrv (0.11.3)
- Fixed pvaSrv does not always get first monitor (issue #1)
- Fixed Maximum number of free monitor elements is 2, regardless of queue size
(issue #23)
- Fixed No updates after restarting monitors (issue #24)


TAXcess
An online service you can use to file, pay and view your Manitoba business tax accounts. It’s simple, secure and available 24 hours a day, seven days a week. Sign up at www.manitoba.ca/TAXcess.
BizPaL
An online service that simplifies the business permit and licence process for entrepreneurs, governments and third party business service providers by providing one-stop access to permit and licence information for all levels of government.
AccessManitoba
Access multiple provincial government programs and services for you or your business online.
Companies Office online name reservation
Reserve your business name online.
Land Titles Survey Index
The Survey Index provides you with access to a database of survey plans available at the Land Titles Office.
Manitoba Online
Save yourself a trip to our offices — Manitoba OnlineTM provides subscribers with immediate access to provincial government databases.
Online Gas Permits
Apply and pay online for permits needed before installing new and replacement gas and oil burning equipment. Permit numbers for residential work are issued 24/7 and are valid immediately upon payment.
Personal Property Registry
Search all records of personal property registered as security for a loan or collateral in Manitoba.


Welcome to the
Click here for more about
this website
Click here to go to the MCHS
website
Click here to go to the MCC
of OGS website
|
CDs of
important |
1860
Alexander, Wm. Alexander
Source: Spirit of Democracy 8 February 1860
DIED December 14th,
1859, in Cedar County, Iowa, formerly of this County, WM. ALEXANDER, only son
of Westwood and Amanda Jane Wilson, aged 8 years and 8 days.
And hast thou left me love!
My fair sweet rose!
Thou st joined
the blest above
Beyond earth s
throes.
And shall thy smile no more
Its soothing sweetness being
Like Eden sunshine o er
My sorrowing!
.
I have no place of rest
Far thou art fled,
The ice is on my breast
My love is dead!
The cords about my heart
Are shaken thrilled, and sere
Tis bitterness
to part
With one so dear.
.
Farewell! As thou dost wander
Beyond my sight,
No love than ours was fonder
My heart s delight!
But we shall meet above,
To part no more,
Where blooms my angel love
On that blest shore.
BY A FRIEND
Atkinson, George B. Atkinson
Source: Spirit of Democracy 11 January 1860
GEORGE B. ATKINSON,
departed this life December 27th, 1859, at his residence in Boston,
Belmont County, Ohio, aged 57 years and 8 months; after an illness of near six
months, which arose from Chronic Bronchitis, but ultimately resulting in
paralysis.
 He was an honorable member of the M. E.
Church for 19 years, in which he gave full evidence of living the life of a
devoted Christian. He leaves a pleasant
home, brightened by the smiles of his affectionate children, and endeared by
the presence of a fond companion who is left; together with a large circle of
friends and relatives to morn his loss; but they have a happy consolation: that their loss, is his great gain, for the
scriptures say, Blessed are the dead that die in the Lord: It is God that has
bereft us: He can all our sorrows heal.
Mourn not ye loved ones left behind,
But wait by faith the Master s time;
His grace sustains the trembling mind,
While mercy whispers, I am thine.
WM. S. WINNETT.
Barker, Hon. Joseph Barker
Source: Spirit of Democracy 25 January 1860
The Marietta papers notice
the death of Hon. Joseph Barker, the oldest white native of Ohio. He was born at the mouth of the Muskingum in
1790, and was the fourth white male born in the North Western Territory.
Booth, Camilla Booth
Source: Spirit of Democracy 1 February 1860
DIED In Clarington, Jan.
19th, of Inflammation of the brain, CAMILLA, youngest child of W. F.
and E. Booth, aged 4 years, 10 months and 15 days.
Camilla was a tender bud of much promise,
and early displayed a strong attachment to things of a Divine nature. To one of her moral qualities the clime of
Heaven was better suited than that of earth.
The early departure of one so lovely has
excited feeling of deep sorrow which nothing can sooth but the soul cheering
truth that of such is the kingdom of Heaven.
I take these little lambs, said he,
And lay them in my breast;
Protection they shall find in me,
In me be ever blest.
J. F. J.
Brailsford, Barney Brailsford
Source: Spirit of Democracy 18 January 1860
The man found dead near Suppers school
house, as noticed by us last week, was an elderly man named Barney Brailsford. He had
started to mill with his grain on his back, in company with his son. He sat down on a stump to rest himself, and
his son went on. In a short time
afterward he was found by some school children, lying by the side of the stump,
dead. No marks of violence were found
upon his person, and it is probable that his death was caused by habitual
intoxication.
Bulger
Source: Spirit of Democracy 1 February 1860
Suicide A woman
named Bulger committed suicide, at Wheeling, last
Wednesday, by jumping from the suspension bridge. She had become deranged in consequence of the
loss of her child and sister.
Carman, S. O. Carman
Source: Spirit of Democracy 13 June 1860
Dead Body Found.
A dead body was found floating in the
river two miles below Clarington, on the 2nd inst. An inquest was held by E. B. Cox, Esquire,
and the verdict of the jury was, that the deceased came to his death by
drowning. He had on a dark cloth or
cassimere frock coat; his pant were of a dark green color, and considerably
worn; his hair was dark brown or nearly black; in person he was rather short
and heavy set. The following articles
were found upon his person: a pocket
knife with four blades and a pearl handle, a pair of spectacles with brass
frames, two small keys, a pocket comb, a lead pencil, a memorandum book, a porte-monale containing several notes of hand and other
papers mostly dated at Union, Ohio. From
the papers it appears that his name was S. O. Carman. The memorandum book contained a journal of
his travels this spring, showing that he has been at Chicago, Zanesville,
Wheeling, Philadelphia, Bordentown and other places.
Clark, Mrs. Jane Clark
Source: Spirit of Democracy 25 April 1860
For the Spirit
On Sunday the 1st inst. after
an illness of three days, MRS. JANE CLARK, wife of Joseph C. Clark, of
Summerfield O. in the 23rd year of her age.
Not dead, but gone home to God!
How delightful to know that death is not
the end of life; but only a change of its form and manner. How blessed the assurance that our young
friend, whose loss we now mourn, is not lost, but only gone before us to
enjoy that higher life, whose loves and affections the rude hand of
death can never mar.
I have enjoyed and intimate acquaintance
with Mr. And Mrs. Clark since their happy marriage, and never have I known a
more loving, confiding wife, or a more humble devoted Christian than she was.
Her last illness was very severe, but she
bore her sufferings with fortitude; and on Sunday morning at eleven o clock,
she fell asleep, with a smile of Heavenly quiet lighting up her features.
.
Like morning light too soon
withdrawn,
So didst thou pass away;
Thy gentle spirit from us gone,
Has closed an opening day.
.
As sinks the babe in slumbers sweet,
So hast thou gone to rest,
And gently faded from our sight,
To live among the
blest.
.
The flower just bloomed, but not to fade,
To other hands is given;
The outer form in dust is laid,
The inner blooms in Heaven!
.
Ah not in vain our tears are shed;
They are the gifts of of (sic) love
To one, here numbered with the
dead,
But gone to live
above.
.
No more we ll weep; but strew fair flowers
Around thy earthly
tomb.
Thy home is now in heavenly bowers,
Where brighter flowers
do bloom.
SUMMERFELD, O. W. W.
Cooper, William Cooper
Source: Spirit of Democracy 4 April 1860
At his residence in this
place, on the 29th ult., Mr. WILLIAM COOPER, aged about 46 years.
Davis, Francis (sic) Alice Davis
Source: Spirit of Democracy
22 February 1860
DIED. On the 16th inst, in this
place, of laryngitis; FRANCIS (sic) ALICE DAVIS, daughter of Thomas and Jane
Davis, aged 4 years 7 months and 20 days.
.
As bowed by sudden storm, the rose
Sinks on the garden s breast;
Down to the grave our Daughter goes
In silence there to
rest.
.
No more with us here tuneful voice
The hymn of praise shall swell
No more her cheerful heart rejoice
When peals the Sabbath bell.
.
Yet, if in yonder cloudless sphere,
Amid a sinless throng,
She utters in her Saviour s
ear
The everlasting song.
.
No more we ll mourn the absent friend,
But lift our earnest prayer,
And daily every effort lend
To raise and join her
there.
Duvall, Mary Duvall
Source: Spirit of Democracy 15 February 1860
DIED On the 7th day of
February, in Green township, at the residence of her
son, MARY DUVALL, in the 95th year of her age.
Mrs. Duvall has resided in this county
about 36 years, previous to which she lived in Green county,
Pennsylvania. She has been a widow for
over 28 years.
During her childhood she attended school
in the neighborhood. One morning her
stepfather said to her mother, I think we will not let Polly go to school
today: I have had strange feeling about the Indians. Her mother tried to laugh away what seemed
his superstitious fears, but he persisted, and said, it
will be but one day lost from school anyhow and we will not let her go. She was consequently detained at home, and in about three or four hours, they heard the news
of the school teacher and all the scholars being killed by the savages. She met with many other adventures, and made
other escapes from the Indians during her early life.
She had been, at the time of
her death a consistent and faithful member of the Christian Church for more
than 30 years. She lived a life which
led all her neighbors to say that she was as near perfection as it was possible
for humanity to be. Rarely indeed is an
example set so worthy of imitation.
She had many descendants to the fifth
generation; and could say rise up daughter and go to thy daughter, for thy
daughter s daughter has a daughter.
Few persons live to so great an age and
fewer still retain their faculties in as great perfection as she did.
Easthon, Margaret Easthon
Source: Spirit of Democracy 28 March 1860
On the 20th inst, Margaret Easthon, wife of James Easthon,
aged forty eight years.
Evans, Mary A. Evans
Source: Spirit of Democracy 8 February 1860
[From the Greene Co. Pa,
Republican]
--On the 24 inst., at her residence in
this place, Mrs. MARY A. EVANS, wife of Lewis K. Evans, in the 22d year of her
age.
The deceased was a daughter of Mr. Wm.
Steel, of Monroe county, Ohio, and a member of the Wesleyan Methodist Church,
of that place, having joined when only twelve years old. Although her acquaintance here was short,
sort as it was, she endeared herself to all that knew her, by her gentleness of manner and kindness
of heart. Bereft of her only child, who
died but a few days before, and suffering under affliction and pain; yet, in
view of death, she was calm and serene.
How beautiful and expressive her language:-- Death! Call it not death it
is only a sweet sleep. Victory! Victory!
My only trouble is that my husband and mother grieve for me. Grieve not for me, but meet me in
Heaven. Thus she spake
as husband and mother bent over her, watching every word and anticipating every
wish. Did you hear that sweet music
from angels harps. Oh! I thought I was almost within
the heavenly gates. Christ is extending to me the golden
harp, and beckons me to come. I
love you Lewis, but I must love Christ first.
She requested singing and prayer, and sang
sweetly the Christian s Hope without assistance. Although she had many
endearing relations to bind her to earth, yet she yielded all without a murmur,
and pillowed her head on Jesus breast, and breathed her life out sweetly
there.
Tis religion
that can give
Sweetest pleasures while we live;
Tis religion
can supply
Solid comforts when we die.
After death its joys will be
Lasting as Eternity
Evans, Wm. Evans
Source: Spirit of Democracy 8
February 1860
[From the Greene Co. Pa,
Republican]
DIED On the 20th
inst., at the residence of its parents, in this place, Wm. EVANS, infant son of
Lewis K. and Mary A. Evans, in the 2nd day of its life.
Gebhart, George Washington Gebhart
Source: Spirit of Democracy 11 April 1860
In Graysville on the 7th inst.,
GEORGE WASHINGTON, infant son of G. W. & M. A. Gebhart,
aged 3 days.
.
I take these lambs said He,
And lay them in my breast
Protection they shall find in me,
In me be ever blest.
Grimshaw, Alice Grimshaw
Source: Spirit of Democracy 7 March 1860
DIED On the 25th
ult., in Newcastle; Alice, wife of Dr. Samuel Grimshaw,
aged 44 years, 4 months and 15 days.
Gross,
Maria Phillippina Gross
Maria
Phillippina Gross died December 28, 1860. She was
born January 21, 1858, the daughter of Adam and Elisabetha
Knopp Grosz.
Hamer, Katharine Hamer
Source: Spirit of Democracy 25 January 1860
DEATH OF MRS. HAMER. We sorrowfully learn by the Kentucky Ninth Legion
that Mrs. Katharine Hamer died in Mason County, Ky.,
on the 20th ult. She was the
relict of General Thomas L. Hamer, one of the bravest
of soldiers, one of the most erudite of lawyers, one of the wisest and truest
of statesmen, one of the most brilliant of orators, and in every way a kind and
finished gentleman. Mrs. Hamer was an excellent lady, beautiful in person and gifted
with all those graces which make life amiable.
Harper, Elizabeth Harper
Source: Spirit of Democracy 29 February 1860
DIED---February 6th
1860, Mrs. ELIZABETH HARPER, wife of Harrison Harper, aged 39 ears, 10 months
and 16 days, leaving behind her an infant 10 days old. She died with a bright and glorious hope of
eternal rest.
Husband and children dear,
Weep no more for me,
My days are past. Kind friends adieu
T o meet on earth no more with you.
Oh, may we meet on Canaan s shore,
Where pain and
sickness are no more.
.
Sister this life s journey is run,
A crown of glory thou has
won.
Early hast thou gone to rest,
Numbered with the happy blest.
.
Since death has taken thee away,
To
climes of an eternal day;
So in the grave thy body lies,
Away to heaven thy spirit flies.
.
Angels they will waft thee there,
A crown of glory thou shat wear;
So Christ will welcome thee above,
And thou wilt sing redeeming love.
.
Since thou hast joined the blissful
throng,
To sing the everlasting song;
Oh may we rise with thee to dwell,
With Christ forever, so fare you well.
W.
P. Evans.
Hatcher,
M. L. Hatcher, Esq.
Source: Spirit of Democracy 29 February 1860
M. L. Hatcher, Esq., member of the St. Clairsville Bar, died at his residence, in this place, on
Sunday last, after a short illness. He
leaves a wife and several small children.
He was a very worth man; and for the short time he had been engaged in
the practice of the law, had made a very favorable impression upon his
associates, whose proceedings will be found below. St. Clairsville Gazette.
Hoffman, Margaretha Hoffman
Margaretha Hoffman died April 12, 1860. She was born April 8, 1830, Alsace, the
daughter of Michael and Magdalena Christ Kastler. She was the spouse of George
Hoffman, married March 25, 1830.
Horkheimer, Isaac Horkheimer
Source: Spirit of Democracy 4 April 1860
Isaac Horkheimer,
of Barnesville, well known to many citizens of this county, died on the 22nd
ult.
Hornbrook, Eva May Hornbrook
Source: Spirit of Democracy 25 January 1860
DIED Suddenly, on
Saturday the 7th of January, 1860, EVA MAY, infant of Edwin and
Eliza Hornbrook, aged 3 months and 21 days.
Dearest Eva thou has
left us,
We thy loss most deeply
feel;
But tis God that has bereft us,
He can all our sorrow heal.
Wheeling papers please copy.
Hutcheson, Rebecca Hutcheson
Source: Spirit of Democracy 13 June 1860
At the residence of her
son Robert S. Hutcheson. In Woodsfield, on the 10th inst., MRS. REBECCA
HUTCHESON, aged 77 years.
Lindamood, Hannah Mariah Lindamood
Source: Spirit of Democracy 8 February 1860
DIED On the 8th day of January,
1860, Mrs. HANNAH MARIAH LINDAMOOD, widow of Edmond Lindamood,
of Bethel township, Monroe county, Ohio, in the 27th
year of her age.
Another worth Disciple of our blessed Saviour has gone to her reward. For several years she was known as a
consistent member of the Lutheran Church, but as an exemplary Christian in
heart and life. During her last illness,
which continued only 9 days, she bore her affliction with a fortitude that only
Divine Grace could have enabled her to manifest, and with a resignation that
banished all anxiety from her heart, as she felt that she was ready to depart,
and be with Christ which is far better.
Her remains were consigned in the narrow house of clay, in the
graveyard. She left a husband and 4
children to mourn her loss.
JAMES LINDAMOOD.
Lupton, Lewis Lupton
Source: Spirit of Democracy 11 April 1860
For the Spirit.
TRIBUTE OF RESPECT
At regular communication of Monroe Lodge,
No, 139, A. F. & A. Masons, held at Woodsfield on Wednesday the 4th
of April, 1860, the following resolutions were unanimously adopted:
WHEREAS, It has please the Supreme
Architect of the Universe, in his inscrutable wisdom, to call from our midst
our worthy and esteemed brother, LEWIS LUPTON, and assigned to him his work in
the Grand Lodge of Eternity; therefore, be it
Resolved, That
in the death of Brother LUPTON, the fraternity has lost a true and faithful
brother, his family a dutiful son and affectionate brother, and community a
good and promising citizen.
Resolved, That we deeply sympathize with his relatives
in their sad bereavement and in token of our regret for our worthy brother, we
will wear the usual badge of mourning.
Resolved, That
a copy of there resolutions be furnished the family of the deceased, and that
the Spirit of Democracy be requested to publish the same.
JOHN S. WAY, W. M.
J D. STAUVER, Sec y.
Mallory, Martha Anne Leone
Mallory
Source: Spirit of Democracy 28 March 1860
On the 15inst, (sic) Martha Anne Leone,
infant daughter of Wm. H. and Amada J. Mallory, aged one year, nine months and
six days.
.
Parents, dry that falling tear,
Tis sin in Heaven s
sight
To weep for one which Love sent here,
And Mercy moved from mortal bright;
The spark that gives thy pity vent,
Burns brighter in
God s firmament.
.
O! View with thy all-glowing love
The beautiful star-lit sky,
And think beyond where angels move
The treasure of thy heart is nigh;
For each of those bright stars that shine
Shall perish ere that
child of thine.
.
And, thought the light of Heaven dethrone
The pallid empress of the night,
Faith s deathless vision may be thrown
Beyond the glorious arch of light,
Till trave ling
paths by Jesus trod
It views thy absent Leone with God.
May, Lieut. May
Source: Spirit of Democracy 18 January 1860
DEATH OF LIEUT. MAY. This
brave and distinguished officer in the U. S. Army, died in Washington city on
Sunday last. He distinguished himself at
the battles of Palo Alto, and Resaca De La Palma, at the taking of Monterey and
the siege of Vera Cruz, and the battle of Cerro Gordo.
McCollough, Margery McCollough
Source: Spirit of Democracy December 28, 1859
On Friday evening, Dec. 9th,
in Beallsville, Monroe County, Ohio, of Acute Rheumatism, after a short
illness, Mrs. MARGERY, wife of Dr. J. G. McCollough,
aged 26 years, 9 months and 19 days.
The deceased was beloved by all who knew
her. Her hospitality and kindness will
not soon be forgotten. Whilst most
affectionate and kind in all the relations of life, she was unassuming and
retiring.
Mrs. M. was reared up under Presbyterian
influence. And in the fall of 1858 she
was on profession of her faith, received into this communion of the
Presbyterian Church of Beallsville.
Prior to her connexion (sic) with the Church,
and ever afterward, she gave full evidence of living a consistent and devoted christian.
In this sudden and afflictive dispensation
of Providence, this bereaved family have lost a member, in whom was blended all
the sympathy, love and tenderness of a wife and mother. A husband and two children, with numerous
other relatives, mourn her absence; but they have the happy consolation that
their loss is her unspeakable gain.
She rests from her labors.
Mourn not ye loved ones left behind,
But wait by faith the Master s time;
His grace sustains the trembling mind,
While mercy whispers, I am thine.
St. Clairsville and Cadiz papers please copy.
Norris, Elizabeth Norris
Source: Spirit of Democracy 4 April 1860
On the 8th ult.,
at her residence in Adams Township, this county, Mrs. ELIZABETH NORRIS, in the
70th year of her age.
O Connor, Hiram D O Connor
Source: Spirit of Democracy 6 June 1860
DROWNED, at Clarington, on Saturday the 26th
day of May, HIRAM D. only son of Dr. J. D. and Ruth O Connor,
aged eight years, three months and twenty-six days.
.
When death comes slowly but surely to our
dwellings, we are prepared to meet him; but when without one moments warning, a
beloved child is thus suddenly and sadly taken, in life s early morning, the
stroke come to the hearts of the mourners with fearful force.
Hiram is dead! At home, there is a blank that never can be
filled. At school, a vacant seat there,
he is sadly missed. He has gone. But even in his death we think of him with
pleasure; our remembrances of him are sweet.
Though he was very young, he had shown to those who knew him well, the
promise of a useful man. The little work
he had to do, was well and promptly done. He was never late at school. He was an obedient, respectful, affectionate
and truthful boy. We knew not how
strong a hold he had on our affections, till thus thorn away. And if around a stranger s heart he had
entwined himself so closely, who shall attempt to measure the sorrow of fond
parents over the grave of an only son?
We would not intrude upon your grief, dear friends, but ye cry out with
one of old.  But with your mourning may Our Father
mingle hope. You ll meet your boy
again.  Trust Him for He can heal the broken
hearted. Trust Him for He doeth all
things well.
Porter, William H. Porter
Source: Spirit of Democracy December 28 1859
WILLIAM H. PORTER, departed this life,
December the 15th, A. D. 1859, at his residence in Boston, Belmont
County, Ohio, aged 33 years, and was interred according to the honors of the
order of the Sons of Temperance, of which he was a member; after which, the
division repaired to their hall, and passed the following resolutions.
Resolved, That in the death of
Brother Porter, the division has lost a faithful member, and the community a
good citizen.
Resolved, That
we sympathize, deeply with the bereaved widow aged parents and brothers and
sisters, who are left to mourn their loss.
Resolved, That
a copy of this be presented to the widow; and also to the editors of the
Barnesville Intelligencer and Woodsfield papers for publication.
Committee WM. S. WINNETT
and JACOB L. ELLIOTT.
Randolph, James F. Randolph
Source: Spirit of Democracy 11 January 1860
Died, on Sunday morning,
January 8th, 1860 of hemorrhage of the lungs, JAMES F. RANDOLPH, at
the residence of his father, Joel F. Randolph, Esq., in Woodsfield.
The deceased was born in Woodsfield, on
the 18th day of August, 1835, and resided here nearly all his
life. Studious beyond most of his
associates, and without the vices which sometimes lead youth astray, he early
acquired a good education, and gave high promise of future usefulness. After laborious preparation, he was admitted
to the Bar at the August Term of the District Court in Monroe County, 1856. No doubt he would have succeeded, for he
lacked neither capacity, industry nor energy; but he
had scarcely engaged in practice when he was appointed to a desk in the
Treasury Department at Washington City.
There he discharged his duty in the utmost satisfactory manner, but his
sedentary habits and close application to books impaired his health so much
that during last summer he was compelled to return home. Through the attention of his physicians and
friends, however, he was so much improved as to return for a short time to
Washington; but his disease had not been arrested; and he was soon compelled
again to return home. On Sunday morning
no immediate danger was apprehended indeed, hope was entertained that he would
live many months if not entirely recover, but a slight fit of coughing brought
on the hemorrhage, and suddenly the melancholy lesson was again forced upon us,
the in the midst of life we are in
death.
The writer of this brief sketch knew him
well; he has full opportunity to know his honesty and truth and manly
independence; and he feels how much kindness, how much sincere friendship, has
gone out of the world; how much goodness really dwelt in that heart which has
been so untimely stilled in death. This
slight tribute is all that he may now present at the grave this and the
offering which long friendship, warm and unbroken, ought
not so withhold, and cannot.
Green be the turf above thee,
Friend of my better days;
None knew thee but to love thee,
Nor named thee but to
praise.
J. W. O.
Rea, Thomas Rea
Source: Spirit of Democracy 11 April 1860
On the 25th
ult., at his residence in Salem township, Mr. THOMAS REA, at an advanced age.
Robins, Elihu Robins
Source: Spirit of Democracy 2 May 1860
At the Monroe County Infirmary, on the 26th
of April, 1860, ELIHU ROBINS, formerly of Franklin township,
aged about 21 years.
Scott, Mary Anne Scott
Source: Spirit of Democracy 7 March 1860
DIED At the
residence of her father, on the 26th ult., Mrs. MARY ANNE, consort
of Mr. Adam Scott, of Washington Co., O., aged 22 years and 5 months.
The subject of this notice, was a daughter
of Mr. James Stallings, and was born in Belmont County, Ohio. She embraced religion, or was born again, in
Monroe county when about 12 years of age.
She remembered her Creator in the days of her youth.
She lived in the enjoyment of religion,
and found it the one thing needful in life, and a
divine reality in sickness and death.
She leaves behind her a bereaved husband, a little prattling girl, and
other friends to mourn their loss, but not without hope. She left them a rich legacy, a goodly
example, which if they follow they will surely meet her in that world of bliss
and glory, where sickness and sorrow, pain and death, are felt and feared no
more.
Her
disease was pulmonary consumption, under whose withering influence she lingered
for many a year. She bore her affliction
with Christian fortitude and resignation, sustained by the grace of God. As a daughter she was dutiful, as a wife
affectionate, as a mother kind, as a Christian faithful. Having lived the life of the righteous, she
was permitted to die his death, and now she rests from her suffering. May God comfort the bereaved ones.
This occasion was improved by a discourse,
by the writer, from Rev. 14 13.
Marietta papers please copy.
Stafford Circuit, Pittsburg
Conference.
WM. GAMBLE, JR.,
Feb. 27, 1860
Strenrod, Cornelius Strenrod
Source: Spirit of Democracy 11 April 1860
On the same day, at his
residence in Ohio township, of consumption, Mr. CORNELIUS STRENROD.
Thompson, John I. Thompson
Source: Spirit of Democracy 25 April 1860
DEATH of JOHN I. THOMPSOM.---This gentleman died at Mount Olivet, this county, on
Sunday morning. He had been afflicted
with Bronchitis for several years, and during the past winter had been confined
to his home.--The news of his death will fill many hearts with sorrow. He was at one time connected with the Barnesville
Classical Institute, and it never was so prosperous as when under his
control. Barnesville Intelligencer.
Trall, Lewis Trall
Source: Spirit of Democracy 25 January 1860
Lewis Trall
who was a soldier in Bonapart s Russian campaign,
died in Clairsville on the 7th inst. at
the age of 73.
Tyler, Medora Tyler
Source: Spirit of Democracy 25 April 1860
On the 10th
inst MEDORA; child of Gideon L. and Mary Tyler.
Sleep on sweet child
And take thy rest,
God called the (sic) home
He thought it best.
Watson, Maria Jane Watson
Source: Spirit of Democracy 14 March 1860
On the 11th inst., in
Washington township, MARIA JANE, wife of James Watson, aged 31 yrs., 2 ms., and
13 days.
Williams, James Williams
Source: Spirit of Democracy 7 March 1860
DIED On Thursday March 1st,
at 4 o clock, P. M., JAMES WILLIAMS, youngest son of George H. and Lauretta R. Davenport, aged six years and six months.
Close the door lightly,
Bridle the breath,
Our little angel
Is talking with death,
Gently he woos him,
He wishes to stay,
His arms are about him
He bears him away.
.
Music comes floating
Down from the dome;
Angels are chanting
The sweet welcome
home.
Come stricken
weeper!
Come to the bed,
Gaze on the sleeper
Our Willie is dead!
.

Let his grave-slumber
Be mid the sweet flowers.
V. F.
R.
Workman, Amos Workman
Source: Spirit of Democracy 13 June 1860
At his residence in
Adams township, this county, on the 27 day of April, 1860, AMOS WORKMAN, in the
36th year of his age.
The deceased leaves a wife, 7 small
children and a large circle of friends to mourn his departure, but, they mourn
not as those that have no hope, for he gave abundant evidence of the power of
the religion which he professed, to sustain the soul in a conflict with its
last enemy. His reason remained
unimpaired to the last, and his dying conversation and experience are full of
interest to the Christian. As he
approached the Jordan of Death, his prospects grew What a verification of the language of
David. Yea, though I walk through the
valley of the shadow of death, I will fear no evil, for thou art with me; thy
rod and thy staff they comfort me.  The bereaved children are without the pious
example, and the tender sympathies of a Christian father on earth. Let them imitate his pious life and remember
his dying advice that they may have comfort in their bereavement. Then may they sing in hope and resignation:
Dearest father thou hast left us,
Here, thy loss we deeple
(sic) feel;
But t is God who hath bereft us,
He
can all our sorrows heal.
.
And again we hope to meet thee,
When the day of life is fled,
Then in Heaven with joy to greet three,
Where no farewell
tear is shed.
St. Clairsville
Gazette and Citizen, please copy.
Last modified October 9, 2009 by reh
Click here for the Short-Cut Table of Contents


Raden Satria Yudha Purba Jagad
.Net Developer
I am a student majoring in IT. I love the computer world since elementary school, about grade 3 elementary school. At that time was rampant online game in indonesia. And since then I am more confident with my interest to plunge in the IT world.
Some of the programs I have created are desktop apps, and mobile android. Languages that I have mastered are: C #, java, xml, and html + css.