Reaper Specific Settings
Configuration settings in the cassandra-reaper.yaml that are specific to Reaper
autoScheduling
Optional setting to automatically setup repair schedules for all non-system keyspaces in a cluster. If enabled, adding a new cluster will automatically setup a schedule repair for each keyspace. Cluster keyspaces are monitored based on a configurable frequency, so that adding or removing a keyspace will result in adding / removing the corresponding scheduled repairs.
autoScheduling:
enabled: true
initialDelayPeriod: PT15S
periodBetweenPolls: PT10M
timeBeforeFirstSchedule: PT5M
scheduleSpreadPeriod: PT6H
excludedKeyspaces: [myTTLKeyspace, ...]
excludedClusters: [myCluster, ...]
Definitions for the above sub-settings are as follows.
enabled
Type: Boolean
Default: false
Enables or disables autoScheduling
.
initialDelayPeriod
Type: String
Default: PT15S (15 seconds)
The amount of delay time before the schedule period starts.
periodBetweenPolls
Type: String
Default: PT10M (10 minutes)
The interval time to wait before checking whether to start a repair task.
timeBeforeFirstSchedule
Type: String
Default: PT5M (5 minutes)
Grace period before the first repair in the schedule is started.
scheduleSpreadPeriod
Type: String
Default: PT6H (6 hours)
The time spacing between each of the repair schedules that is to be carried out.
excludedKeyspaces
Type: Array (comma separated Strings)
The Keyspaces that are to be excluded from the repair schedule.
excludedClusters
Type: Array (comma separated Strings)
The Clusters that are to be excluded from the repair schedule.
datacenterAvailability
Type: String
Default: ALL
Indicates to Reaper its deployment in relation to cluster data center network locality. The value must be either ALL, LOCAL, EACH or SIDECAR. Note that this setting controls the behavior for metrics collection.
By default, Apache Cassandra restricts JMX communications to localhost only. In this setup, only the SIDECAR value is suitable.
For security reasons, it is possible that Reaper will have access limited to nodes in a single datacenter via JMX (multi region clusters for example). In this case, it is possible to deploy an operate an instance of Reaper in each datacenter where each instance only has access via JMX (with or without authentication) to the nodes in its local datacenter. In addition, Reaper will check the number of pending compactions and actively running repairs on all replicas prior to processing a segment.
ALL - requires Reaper to have access via JMX to all nodes across all datacenters. In this mode Reaper can be backed by all available storage types.
LOCAL - requires Reaper to have access via JMX to all nodes only in the same datacenter local to Reaper. A single Reaper instance can operate in this mode and trigger repairs from within its local data center. In this case, can be backed by all available storage types and repairs to any remote datacenters are be handled internally by Cassandra. A Reaper instance can be deployed to each datacenter and be configured to operate in this mode. In this case, Reaper can use Apache Cassandra or Astra as its storage.
Further information can be found in the Operating with a Multi DC Cluster section.
EACH - requires a minimum of one Reaper instance operating in each datacenter. Each Reaper instance is required to have access via JMX to all nodes only in its local datacenter. When operating in this mode, Reaper can use either of Apache Cassandra or Astra as its storage. In addition, metrics from nodes in remote datacenters must be collected through the storage backend. If any metric is unavailable, the segment will be postponed for later processing.
Further information can be found in the Operating with a Multi DC Cluster section.
SIDECAR - requires one reaper instance for each node in the cluster. Each Reaper instance is required to have access via JMX to its local node. When operating in this mode, Reaper can use either of Apache Cassandra or Astra as its storage.
Further information can be found in the Sidecar Mode section.
enableCrossOrigin
Type: Boolean
Default: true
Optional setting which can be used to enable the CORS headers for running an external GUI application, like this project. When enabled it will allow REST requests incoming from other origins than the domain that hosts Reaper.
enableDynamicSeedList
Type: Boolean
Default: true
Allow Reaper to add all nodes in the cluster as contact points when adding a new cluster, instead of just adding the provided node.
hangingRepairTimeoutMins
Type: Integer
The amount of time in minutes to wait for a single repair to finish. If this timeout is reached, the repair segment in question will be cancelled, if possible, and then scheduled for later repair again within the same repair run process.
incrementalRepair
Type: Boolean
Default: false
Sets the default repair type unless specifically defined for each run. Note that this is only supported with the PARALLEL repairParallelism setting. For more details in incremental repair, please refer to the following article.http://www.datastax.com/dev/blog/more-efficient-repairs
Note: It is recommended to avoid using incremental repair before Cassandra 4.0 as subtle bugs can lead to overstreaming and cluster instabililty.
blacklistTwcsTables
Type: Boolean
Default: false
Disables repairs of any tables that use either the TimeWindowCompactionStrategy
or DateTieredCompactionStrategy
. This automatic blacklisting is not stored in schedules or repairs. It is applied when repairs are triggered and visible in the UI for running repairs. Not storing which tables are TWCS/DTCS ensures changes to a table’s compaction strategy are honored on every new repair.
Note: It is recommended to enable this option as repairing these tables, when they contain TTL’d data, causes overlaps between partitions across the configured time windows the sstables reside in. This leads to an increased disk usage as the older sstables are unable to be expired despite only containing TTL’s data. Repairing DTCS tables has additional issues and is generally not recommended.
jmxAuth
Optional setting to allow Reaper to establish JMX connections to Cassandra clusters using password based JMX authentication.
jmxAuth:
username: cassandra
password: cassandra
#### `username`
username
Type: String
Cassandra JMX username.
password
Type: String
Cassandra JMX password.
jmxCredentials
Since 1.1.0 Optional setting to allow Reaper to establish JMX connections to Cassandra clusters with specific credentials per cluster.
jmxCredentials:
clusterProduction1:
username: user1
password: password1
clusterProduction2:
username: user2
password: password2
This setting can be used in conjunction with the jmxAuth
to override the credentials for specific clusters only.
The cluster name must match the one defined in the cassandra.yaml file (in the example above, clusterProduction1
and clusterProduction2
).
Adding a new cluster with specific credentials requires to add the seed node in the following format : host@cluster
To match the example above, it could be something like : <IP_ADDRESS>@clusterProduction1
When passed in as an environment variable, Reaper expects a comma-separated list of user:password@cluster
.
jmxConnectionTimeoutInSeconds
Type: Integer
Default: 20
Controls the timeout for establishing JMX connections. The value should be low enough to avoid stalling simple operations in multi region clusters, but high enough to allow connections under normal conditions.
jmxPorts
Type: Object
Optional mapping of custom JMX ports to use for individual hosts. The used default JMX port value is 7199. CCM users will find IP and port number to add in ~/.ccm/<cluster>/*/node.conf
or by running ccm <node> show
.
jmxPorts:
<IP_ADDRESS>: 7100
<IP_ADDRESS>: 7200
<IP_ADDRESS>: 7300
logging
Settings to configure Reaper logging.
logging:
level: INFO
loggers:
io.dropwizard: WARN
org.eclipse.jetty: WARN
appenders:
- type: console
logFormat: "%-6level [%d] [%t] %logger{5} - %msg %n"
threshold: WARN
- type: file
logFormat: "%-6level [%t] %logger{5} - %msg %n"
currentLogFilename: /var/log/cassandra-reaper/reaper.log
archivedLogFilenamePattern: /var/log/cassandra-reaper/reaper-%d.log.gz
archivedFileCount: 99
Definitions for some of the above sub-settings are as follows.
level
Type: String
Global log level to filter to. Where the level order is ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF. See the log4j documentation for further information.
loggers
Type: Object
Key value pair containing the logger class name as the key and other sub-settings as its value.
logFormat
Type: String
The output format of an entry in the log.
threshold
Type: String
The log level to filter the console messages to. Where the level order is ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF. See the log4j documentation for further information.
archivedFileCount
Type: Integer
The number of archive log files stored in the log rotation sliding window. That is the number of archived (compressed) log files kept at one point in time. If there are archivedFileCount
number of archived log files and the current (uncompressed) log file is archived, the oldest archived log file is deleted.
metrics
Type: Object
Configuration parameters for sending metrics to a reporting system via the Dropwizard interface. Reaper for Apache Cassandra ships the Graphite and DataDog reporters by default.
Further information on metrics configuration can be found in the Metrics section.
repairIntensity
Type: Float (value between 0.0 and 1.0, but must never be 0.0.)
Repair intensity defines the amount of time to sleep between triggering each repair segment while running a repair run. When intensity is 1.0, it means that Reaper doesn’t sleep at all before triggering next segment, and otherwise the sleep time is defined by how much time it took to repair the last segment divided by the intensity value. 0.5 means half of the time is spent sleeping, and half running. Intensity 0.75 means that 25% of the total time is used sleeping and 75% running. This value can also be overwritten per repair run when invoking repairs.
repairManagerSchedulingIntervalSeconds
Type: Integer
Default: 30
Controls the pace at which the Repair Manager will schedule processing of the next segment. Reducing this value from its default value of 30s to a lower value can speed up fast repairs by orders of magnitude.
repairParallelism
Type: String
Type of parallelism to apply by default to repair runs. The value must be either SEQUENTIAL, PARALLEL, or DATACENTER_AWARE.
SEQUENTIAL - one replica at a time, validation compaction performed on snapshots
PARALLEL - all replicas at the same time, no snapshot
DATACENTER_AWARE - one replica in each DC at the same time, with snapshots. If this value is used in clusters older than 2.0.12, Reaper will fall back into using SEQUENTIAL for those clusters.
repairRunThreadCount
Type: Integer
The amount of threads to use for handling the Reaper tasks. Have this big enough not to cause blocking in cause some thread is waiting for I/O, like calling a Cassandra cluster through JMX.
scheduleDaysBetween
Type: Integer
Default: 7
Defines the amount of days to wait between scheduling new repairs. The value configured here is the default for new repair schedules, but you can also define it separately for each new schedule. Using value 0 for continuous repairs is also supported.
segmentCountPerNode
Type: Integer
Default: 16
Defines the default amount of repair segments to create for newly registered Cassandra repair runs, for each node in the cluster. When running a repair run by Reaper, each segment is repaired separately by the Reaper process, until all the segments in a token ring are repaired. The count might be slightly off the defined value, as clusters residing in multiple data centers require additional small token ranges in addition to the expected. This value can be overwritten when executing a repair run via Reaper.
In a 10 nodes cluster, setting a value of 20 segments per node will generate a repair run that splits the work into 200 token subranges. This number can vary due to vnodes (before 1.2.0, Reaper cannot create a segment with multiple token ranges, so the number of segments will be at least the total number of vnodes in the cluster). As Reaper tries to size segments evenly, the presence of very small token ranges can lead to have more segments than expected.
server
Settings to configure the application UI server.
server:
type: default
applicationConnectors:
- type: http
port: 8080
bindHost: <IP_ADDRESS>
adminConnectors:
- type: http
port: 8081
bindHost: <IP_ADDRESS>
requestLog:
appenders: []
Reaper provides two separate UIs; the application UI which is configured via the applicationConnectors
settings and the administration UI which is configured via the adminConnectors
settings. The application UI provides functionality to create/manage cluster schedules, and the administration UI provides tools for monitoring and debugging the Reaper system.
port
For the applicationConnectors
this setting will be the port number used to access the application UI. For the adminConnectors
this setting will be the port number to access the administration UI.
Note that the port numbers for each must be different values when bound to the same host.
bindHost
For the applicationConnectors
this setting will be the host address used to access the application UI. For the adminConnectors
this setting will be the host address used to access the administration UI.
Note that to bind the service to all interfaces use value <IP_ADDRESS> or leave the value for the setting this blank. A value of * is an invalid value for this setting.
storageType
Type: String
The storage type to use in which Reaper will store its control data. The value must be either cassandra, astra or memory. If the recommended (persistent) storage type cassandra, or astra is being used, the database client parameters must be specified in the cassandra
section in the configuration file. See the example settings in provided the src/packaging/resources directory of the repository.
useAddressTranslator
Type: Boolean
Default: false
When running multi region clusters in AWS, turn this setting to true
in order to use the EC2MultiRegionAddressTranslator from the Datastax Java Driver. This will allow translating the public address that the nodes broadcast to the private IP address that is used to expose JMX.
jmxAddressTranslator
Since 2.1.0
Sometimes it’s not possible for Cassandra nodes to broadcast addresses that will work for each and every client; for instance, they might broadcast private IPs because most clients are in the same network, but a particular client could be on another network and go through a router. For such cases, you can configure a custom address translator that will perform additional address translation based on configured mapping.
jmxAddressTranslator:
type: multiIpPerNode
ipTranslations:
- from: "<IP_ADDRESS>"
to: "node1.cassandra.reaper.io"
- from: "<IP_ADDRESS>"
to: "node2.cassandra.reaper.io"
When running multi region clusters in AWS, set type to ec2MultiRegion
in order to use the EC2MultiRegionAddressTranslator from the Datastax Java Driver. This will allow translating the public address that the nodes broadcast to the private IP address that is used to expose JMX.
accessControl
Settings to activate and configure authentication for the web UI. Deleting or commenting that block from the yaml file will turn off authentication.
accessControl:
sessionTimeout: PT10M
shiro:
iniConfigs: ["file:/path/to/shiro.ini"]
repairThreadCount
Type: Integer
Since Cassandra 2.2, repairs are multithreaded in order to process several token ranges concurrently and speed up the process. This setting allows to set a default for automatic repair schedules. No more than four threads are allowed by Cassandra.
maxPendingCompactions
Type: Integer
Default: 20
Reaper will prevent repair from overwhelming the cluster when lots of SSTables are streamed, by pausing segment processing if there are more than a specific number of pending compactions. Adjust this setting if you have a lot of tables in the cluster and the total number of pending compactions is usually high.
maxParallelRepairs
Since 2.2.0
Type: Integer
Default: 2
Reaper allows concurrent segments from distinct repair runs running on the same nodes at the same time. In order to limit the repair load, it will only allow a limited number of repair runs to run concurrently (by default, two). Repair runs over the threshold will still start and be in RUNNING
state, but their segments will be postposned as long as there are too many repairs being processed.
Setting this value too high could put a lot of pressure on clusters and negatively impact their performance.
cryptograph
Optional settings to configure how confidential text (ie: passwords) are encyrpted/decrypted.
cryptograph:
type: symmetric
systemPropertySecret: SOME_SYSTEM_PROPERTY_KEY
type
The encryption technique used when encrypting, decrypting, or validating confidential text. Symmetric encryption is the default.
algorithm
Type: String
Default: PBKDF2WithHmacSHA512
The optional standard name of the requested secret-key algorithm. See the SecretKeyFactory section in the Java Cryptography Architecture Standard Algorithm Name Documentation for information about standard algorithm names.
cipher
Type: String
Default: AES/CBC/PKCS5Padding
The optional name of the transformation, e.g., AES/CBC/PKCS5Padding. See the Cipher section in the Java Cryptography Architecture Standard Algorithm Name Documentation for information about standard transformation names.
cipherType
Type: String
Default: AES
The optional name of the secret-key algorithm to be associated with the given key material. See Appendix A in the Java Cryptography Architecture Reference Guide for information about standard algorithm names.
iterationCount
Type: Integer
Default: 1024
The optional number of times the password is hashed.
keyStrength
Type: Integer
Default: 256
The optional length in bits of the derived symmetric key
salt
Type: String
Default: deadbeef
The optional salt used for creating the PBEKeySpec
systemPropertySecret
Type: String
The key of a system property that holds the shared secret for the symmetric encryption. If encrypted text is required, then this key and its value need to be defined in the environment before reaper can be started.
export SOME_SYSTEM_PROPERTY_KEY=mysharedsecret


Chris Sharma
Some of Sharma's most notable ascents:
- Realization - 5.15a - FA July 2001 (also known as "Biographie")
- Dreamcatcher - 5.14d - FA
- Es Pontas - 5.15a (speculated) - FA September 2007, unrepeated
- Papichulo - 5.15a - FA
- Jumbo Love - 5.15b - FA September 2008
- First Round First Minute - 5.15b - FA April 2011
- La Dura Dura - 5.15c - March 2013 - bolted by Sharma, FA by Adam Ondra
To find out more about the life and ascents of Chris Sharma, check out his Wikipedia page.


Module util
Random utility functions
Functions
| in_table (needle, haystack) | Checks if "needle" is in "haystack", and returns the key (and value) if so |
| tweak (val) | Returns a number between -25% and +25% of the original number. |
| round (val) | Rounds a number up if >= .5, down if <.5 |
| calc_distance (fromX, fromY, toY) | Uses the Pythagorean Theorem to calculate the distance between two points. |
| calc_distance_squared (fromX, fromY, toY) | Adds the squared X and Y distances between points. |
| ucfirst (string) | Convert the first letter of a string to uppercase. |
| ucfirstall (s) | Convert the first letter of every word in a string to uppercase. |
| lcfirst (string) | Convert the first letter of a string to lowercase. |
| lcfirstall (s) | Convert the first letter of every word in a string to lowercase. |
| explode (string, delim, Table.) | "Explode" a string into an array |
| vowel (string) | Returns true if the string starts with a vowel, false otherwise |
| get_random_element (t) | Gets a random element from a table. |
| get_random_key (t) | Gets a random key from a table. |
| get_largest (t) | Gets the largest numerical value from a table |
| copy_table (t) | Copies a table deeply (copies any sub-tables as well). |
| shuffle (t) | Shuffles the order of table. |
| count (t) | Counts the number of entries in a table (even if not sequentially numbered) |
| merge_tables (Any) | Combines multiple tables into one and returns the result. |
| sort_table (t, key) | Sorts a table |
| get_unit_vector (fromX, fromY, toY) | Determines what directions a set of coordinates is in from an origin point. |
| calc_angle (fromX, fromY, toY) | Calculate the angle between two points |
Functions
- in_table (needle, haystack)
-
Checks if "needle" is in "haystack", and returns the key (and value) if so
Parameters:
- needle Anything. The item to look for.
- haystack Table. The table to search through.
Returns:
- Anything or False. The index of the value being searched for. If it wasn't found, then FALSE.
- Anything or nil. The value being searched for. If it wasn't found, then nil.
- tweak (val)
-
Returns a number between -25% and +25% of the original number.
Parameters:
- val Number. The number to tweak.
Returns:
-
Number. The tweaked number.
- round (val)
-
Rounds a number up if >= .5, down if <.5
Parameters:
- val number to round.
Returns:
-
Number. The rounded number.
- calc_distance (fromX, fromY, toY)
-
Uses the Pythagorean Theorem to calculate the distance between two points.
Parameters:
- fromX Number. The origin X-coordinate.
- fromY Number. The origin Y-coordinate.
- toY Number. The destination Y-coordinate.
Returns:
-
Number. The distance.
- calc_distance_squared (fromX, fromY, toY)
-
Adds the squared X and Y distances between points. Use this if you're just comparing distances to see which is farther rather than needing to know what the distances actually are, since this is faster.
Parameters:
- fromX Number. The origin X-coordinate.
- fromY Number. The origin Y-coordinate.
- toY Number. The destination Y-coordinate.
Returns:
-
Number. The sum of the squared X and Y distances between the points.
- ucfirst (string)
-
Convert the first letter of a string to uppercase.
Parameters:
- string String. The string to process.
Returns:
-
String. The original string, but with the first letter uppercase.
- ucfirstall (s)
-
Convert the first letter of every word in a string to uppercase.
Parameters:
- s String. The string to process.
Returns:
-
String. The original string, but with the first letter of every word uppercase.
- lcfirst (string)
-
Convert the first letter of a string to lowercase.
Parameters:
- string String. The string to process.
Returns:
-
String. The original string, but with the first letter lowercase.
- lcfirstall (s)
-
Convert the first letter of every word in a string to lowercase.
Parameters:
- s String. The string to process.
Returns:
-
String. The original string, but with the first letter of every word lowercase.
- explode (string, delim, Table.)
-
"Explode" a string into an array
Parameters:
- string String. The string to turn into an array.
- delim String. The string used to delineate where each entry starts.
- Table. A table of strings.
- vowel (string)
-
Returns true if the string starts with a vowel, false otherwise
Parameters:
- string String.
Returns:
-
Boolean. Whether the string starts with a vowel or not.
- get_random_element (t)
-
Gets a random element from a table.
NOTE: This probably will not work properly if a table has both numbered AND associative keys.
Parameters:
- t Table. The table to get an element from.
Returns:
-
Anything. A random element from the table.
- get_random_key (t)
-
Gets a random key from a table.
NOTE: This probably will not work properly if a table has both numbered AND associative keys.
Parameters:
- t Table. The table to get an element from.
Returns:
-
Anything. A random keyfrom the table.
- get_largest (t)
-
Gets the largest numerical value from a table
Parameters:
- t Table. The table to look through.
Returns:
- Number. The largest number.
- Anything. The key of the largest number.
- copy_table (t)
-
Copies a table deeply (copies any sub-tables as well).
WARNING: This will probably hang if your table contains a table that contains the original table.
Parameters:
- t Table. The table to copy.
Returns:
-
Table. A copy of the original table.
- shuffle (t)
-
Shuffles the order of table. Does not change the original table, but returns a new one.
Also useful at turning an associative table into a numbered array
Note: Only use if you want the resulting table to have sequentially numbered values!
Parameters:
- t Table. The table to shuffle.
Returns:
-
Table. A new version of the shuffled table.
- count (t)
-
Counts the number of entries in a table (even if not sequentially numbered)
Parameters:
- t Table. The table the count.
Returns:
-
Number. The number of entries in the table.
- merge_tables (Any)
-
Combines multiple tables into one and returns the result. Does not respect the values of the keys - the resulting table will have sequentially-numbered keys.
Parameters:
- Any number of tables.
Returns:
-
Table. A new table with all the other tables merged together.
- sort_table (t, key)
-
Sorts a table
Parameters:
- t Table. The table to sort
- key Anything. The key to use to compare, if the table t contains subtables. Optional, if blank compares the values directly
- get_unit_vector (fromX, fromY, toY)
-
Determines what directions a set of coordinates is in from an origin point. Doesn't actually have anything to do with unit vectors.
Parameters:
- fromX Number. The origin X-coordinate.
- fromY Number. The origin Y-coordinate.
- toY Number. The destination Y-coordinate.
Returns:
- Number. -1 if toX is to the left of fromX, +1 if it's to the right, 0 if they're the same.
- Number. -1 if toY is up from fromY, +1 if it's down, 0 if they're the same.
- calc_angle (fromX, fromY, toY)
-
Calculate the angle between two points
Parameters:
- fromX Number. The origin X-coordinate.
- fromY Number. The origin Y-coordinate.
- toY Number. The destination Y-coordinate.
Returns:
-
Number. The angle


Confirm your payment
| Card number: | ************1111 |
| Expiry date: | 02/20 |
| Name on card: | Mr Test Tester |
| Billing address: | 1 Test Street, Teston, TE57 1NG |
| Payment for: | TC/2016/00019 - Lodgement Fee |
| Total amount: | £20 |
| Confirmation email: |<EMAIL_ADDRESS>|


Package readycli
Class CLI
java.lang.Object
readycli.CLI
- All Implemented Interfaces:
java.io.Serializable
public final class CLI
extends java.lang.Object
implements java.io.Serializable
Represents a CLI (Command-Line Interface). A CLI object can be created
through the
create(String, String)
method. A CLI object is
responsible of interacting with the user on the given out and in streams. A
CLI object allows to add new commands and to remove existing ones. Moreover,
a CLI object allows to show an application title when it starts and a command
prompt, that can be modified at runtime. A CLI object is not active and it
must be executed through the execute(PrintStream, InputStream)
method.- Author:
- Salvatore Giampa'
- See Also:
- Serialized Form
-
Method Summary
Modifier and Type Method Description CLI
addCommand(java.lang.String name, Command command)
Adds a command to theCLI
.static CLI
create()
Creates a newCLI
object with a null application title and a null command prompt.static CLI
create(java.lang.String title)
Creates a newCLI
object with a null application title and a null command prompt.static CLI
create(java.lang.String title, java.lang.String commandPrompt)
Creates a newCLI
object with the given application title and command prompt.void
execute()
Starts executing theCLI
, as theexecute(PrintStream, InputStream)
method does, but on the standardI
/O
.void
execute(java.io.PrintStream output, java.io.InputStream input)
Starts executing theCLI
until the current thread is interrupted.java.lang.String
getCommandPrompt()
Gets the current command prompt that is shown just before theCLI
starts to listen for the next command.java.lang.String
getTitle()
Gets the current title.void
printHelp(java.io.PrintStream output)
Lists the available commands of thisCLI
on the given out stream.CLI
removeCommand(java.lang.String name)
Removes a command to theCLI
.CLI
setCommandPrompt(java.lang.String commandPrompt)
Sets a new command prompt to show just before theCLI
starts to listen for the next command.CLI
setTitle(java.lang.String title)
Sets theCLI
title (e.g. the application name and the version).
-
Method Details
-
create
Creates a newCLI
object with the given application title and command prompt.- Parameters:
title
- the title to show when theCLI(String, String)
starts (e.g. the application name and the version)commandPrompt
- the prompt to show before starting to listen for commands (e.g. the current directory path)- Returns:
- the new
CLI
object
-
create
Creates a newCLI
object with a null application title and a null command prompt.- Returns:
- the new
CLI
object
-
create
Creates a newCLI
object with a null application title and a null command prompt.- Parameters:
title
- the title to show when theCLI(String, String)
starts (e.g. the application name and the version)- Returns:
- the new
CLI
object
-
addCommand
Adds a command to theCLI
. -
removeCommand
Removes a command to theCLI
.- Parameters:
name
- the name of the command to remove- Returns:
- this same
CLI
object
-
setCommandPrompt
Sets a new command prompt to show just before theCLI
starts to listen for the next command.- Parameters:
commandPrompt
- the new command prompt- Returns:
- this same
CLI
object
-
getCommandPrompt
public java.lang.String getCommandPrompt()Gets the current command prompt that is shown just before theCLI
starts to listen for the next command.- Returns:
- the current command prompt as string
-
setTitle
Sets theCLI
title (e.g. the application name and the version). -
getTitle
public java.lang.String getTitle()Gets the current title.- Returns:
- the current title as string
-
printHelp
public void printHelp(java.io.PrintStream output)Lists the available commands of thisCLI
on the given out stream.- Parameters:
output
- the out stream on which the list of command must be wrote.
-
execute
public void execute()Starts executing theCLI
, as theexecute(PrintStream, InputStream)
method does, but on the standardI
/O
.
Seeexecute(PrintStream, InputStream)
for more details.- See Also:
execute(PrintStream, InputStream)
-
execute
public void execute(java.io.PrintStream output, java.io.InputStream input)Starts executing theCLI
until the current thread is interrupted. When this method is invoked, theCLI
starts writing the title on the specified out stream. Then theCLI
writes a short message to show to the user how to list the available commands. Finally theCLI
writes the command prompt on the out stream and starts listening for new commands on the given in stream.- Parameters:
output
- the out stream on which the user can see CLI messages (can be the standard outSystem.out
)input
- the in stream on which the user writes the commands (can be the standard inSystem.in
)
-


Sharell Bryant
JavaScript API in your browser for processing, synthesizing, and analysing audio
const audioContext = new (
window.AudioContext || window.webkitAudioContext
);
Audio graph with modular routing
HTML Media elements
WebRTC MediaStream
JS synthesized audio
It's a wave
Oscillation of air molecules
let oscillator = audioContext.createOscillator();
let gainNode = audioContext.createGain();
oscillator.connect(gainNode);
gainNode.connect(audioContext.destination);
Sine
Square
Triangle
Sawtooth
A set of musical notes ordered by pitch
Allows you to build melodies and harmonies
Each scale evokes a different mood
Determines the note or the pitch
Measure how many times the waveform repeats in a given amount of time
Usually measured in Hz (reps per second)
Interval between one note and a note double or half its frequency
Octave equivalency means that they are named the same note
An octave is divided into 12 semitones
Each note on the piano is a semitone apart
Equal ratio between notes is 2(1/12)
function computeSemitones(rootNote) {
let currentNote = rootNote;
let semitones = [];
for(let i=0; i<=12; i++) {
semitones.push(currentNote);
currentNote *= Math.pow(2, 1/12);
}
return semitones;
}
W W H W W W H
C D E F G A B C
Diatonic scales have 5 whole tones
W H W W H W W
A B C D E F G A
Relative minor is 3 semitones below major root note
const scalePatterns = {
majorDiatonic: [0,2,4,5,7,9,11,12],
minorDiatonic: [0,2,3,5,7,8,10,12]
};
function computeScale(rootNote, pattern) {
const semitones = this.computeSemitones(rootNote);
return scalePatterns[pattern].map(scalePosition =>
semitones[scalePosition]
);
}
JavaScript library with drawing functionality
Can interact with text, input, video, webcam, and sound
Extends p5 with Web Audio API functionality
const songPatternA = [1,1,5,5,6,6,5,0,4,4,3,3,2,2,1,0];
const songPatternB = [5,5,4,4,3,3,2,0,5,5,4,4,3,3,2,0];
function setup() {
const twinklePattern = songPatternA.concat(
songPatternB,songPatternA
);
phraseA = new p5.Phrase(
'twinklePhraseA', playNotes, twinklePattern
);
partA = new p5.Part();
partA.addPhrase(phraseA);
partA.setBPM(30);
}
function playNotes(time, note) {
osc = new p5.Oscillator();
osc.setType('sine');
osc.start(time, scaleNotes[note - 1]);
osc.stop(1);
}
partA.start();
Web audio, music, or what we do at Teachers Pay Teachers!
@shrell


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @(isNewBusiness : Boolean, printFriendly: Boolean = false)(implicit messages:Messages) @import views.html.helpers._ @import scala.util.Try


Taliban leaders part of swap for hostages land in Qatar
by ReutersThree Taliban commanders who are part of a prisoner swap for two Western hostages held by the militant group have landed in Qatar, three Taliban sources familiar with the deal said on Tuesday.
The sources, including one in Qatar, home to the political leadership of the Taliban, said their hostages, American Kevin King and Australian Timothy Weeks, both university professors, would be released later on Tuesday.


Who will win Rangers vs Porto? Our writers deliver their Europa League predictions
Steven Gerrard's side host the Portuguese giants for a huge clash at Ibrox.
by Record Sport OnlineRangers are poised for a pivotal Europa League showdown as Porto head to Ibrox on Thursday night.
Steven Gerrard's side are well in contention to qualify for the knockout stage of the competition and the Rangers boss is targeting three points.
His side earned a draw at Estadio do Dragao last time out but are determined to go one better on home soil.
Can they secure a famous victory? Here's how our writers have called this massive fixture.
Keith Jackson
Porto have been going through the motions since dropping into this competition. Rangers were the better side a fortnight ago in Portugal and a similar level of performance in front of a full house at Ibrox should be enough to get the job done.
Rangers 2 Porto 0
Craig Swan
Rangers could have won in Portugal and that gives them a great opportunity to do the damage at Ibrox. However, the Portuguese are a wily and talented outfit and have enough ability to cause their own problems to Gerrard’s team. It may well end up the same scoreline as a fortnight ago.
Rangers 1 Porto 1
Scott McDermott
Porto can't play as poorly as they did in the reverse fixture at home so Rangers will have to be wary. But Gerrard's side have been terrific at Ibrox in the Europa League and with the stadium rocking they can pick up a precious three points. If Gers can pass it as well as they did in Portugal a fortnight ago, allied to the raucous atmosphere, they can get the win and give themselves a great chance of qualifying.
Rangers 2 Porto 1
Fraser Wilson
Another thrilling Euro night under the lights at Ibrox will keep Rangers' last 32 dream alive. Porto could be more of a threat in Glasgow than they were at home if they look to play on the counter but Rangers' top players are high on confidence - nobody more so than Alfredo Morelos who will inspire another creditable result and point in the quest for qualification.
Rangers 1 Porto 1
Mark McDougall
The draw in Porto should give Rangers enough confidence to get the job done at Ibrox and with 50,000 behind them they should be fired up. There's a confidence among this team that has been missing from past Rangers sides and even up against a club with the pedigree of Porto, they should be on the front foot. If they can get Ryan Kent in full flow going forward then they should sneak a win.
Rangers 1 Porto 0
Darren Cooney
"Ibrox will be rocking". Gerrard’s words ahead of the game and ones that hit the nail right on the head. Never underestimate the part the fans can play in a match so, with the rump of 50,000 fans inside the iconic stadium roaring on Gerrard’s side on a European night, you have to expect a Rangers win. Especially when Gerrard’s side can play a bit. Ryan Jack, Steve Davis and Morelos are all on top form which is another reason to back the home team.
Rangers 3 Porto 1
Liam Bryce
The draw in Portugal a fortnight past was Rangers' best European performance under Gerrard and will fill his players with renewed confidence. They displayed a control and composure vital to survival at this level, yet they'll also draw on the manic energy of Ibrox to unsettle a Porto side jeered off by their own fans at the weekend, despite winning. Rangers are on a high following their Hampden exploits and should grab another positive result to set up two mammoth final fixtures.
Rangers 1 Porto 1


Michael Schleichardt
https://github.com/schleichardt
You create threads to parallelize work.
How does a created thread report an exception to the caller?
If a lock is frequently hit, frequently computing time is wasted to suspend, check and resume the threads.
Wouldn't it be more useful for Threads to do something useful for the application instead of being suspended?
Imagine, you did it right, no deadlocks, performant code, readability.
Can you scale out?
ActorSystem system = ActorSystem.create("Bank");
ActorRef account = system.actorOf(
Props.create(BankAccountActor.class), "account");
ActorRef customer = system.actorOf(Props.create(CustomerActor.class), "you");
account.tell(new Deposit(5000), customer);
account.tell(new Withdraw(3000), customer);
account.tell(new Withdraw(3000), customer);
//no blocking, here may 0 to 3 messages processed by the BankAccountActor
public class BankAccountActor extends UntypedActor {
private final BankAccount account = new BankAccount();
//never use blocking code here, like waiting for future results
public void onReceive(Object message) throws Exception {
if (message instanceof Deposit) {
account.deposit(((Deposit) message).centAmount());
sender().tell(new Ack(), self());
} else if (message instanceof Withdraw) {
final long centAmount = ((Deposit) message).centAmount();
if (centAmount <= account.getBalanceInCents()) {
account.withdraw(centAmount);
sender().tell(new Ack(), self());
} else
sender().tell(new IllegalArgumentException(
"Insufficient balance"), self());
A higher throughput, please.
Wouldn't it be great to see not only the current state but previous states and how their are achieved?
For dev, test and prod you can use different databases by changing values in Typesafe Config/Play Configuration
#application.conf
akka.persistence.journal.plugin = "akka-contrib-mongodb-persistence-journal"
akka.contrib.persistence.mongodb.mongo.urls =
["<IP_ADDRESS>:27017","<IP_ADDRESS>:27017"]
akka.contrib.persistence.mongodb.mongo.journal-write-concern =
"Acknowledged"
#reference.conf in MongoDB plugin
akka-contrib-mongodb-persistence-journal.
class = "akka.contrib.persistence.mongodb.MongoJournal"
//actually it is a Scala class
abstract class UntypedEventsourcedProcessor {
//[...]
//the "new" name for onReceive
public abstract void onReceiveCommand(Object message);
//the "new" name for onReceive at the complete rebuild
public abstract void onReceiveRecover(Object message);
}
@Override public void onReceiveCommand(Object message) {
if (message instanceof DepositCommand) //[...]
else if (message instanceof WithdrawCommand) {
final long centAmount = ((DepositCommand) message).getCentAmount();
if (centAmount <= account.getBalanceInCents()) {
final ActorRef sender = sender();
persist(new WithdrawEvent(centAmount), new Procedure<WithdrawEvent>() {
@Override
public void apply(WithdrawEvent event) throws Exception {
updateState(event);
sender.tell(new Ack(), self());
}
});
} else sender().tell(new IllegalArgumentException("No sufficient balance"), self());
} else if (message.equals("snap")) saveSnapshot(account.copy());
@Override
public void onReceiveRecover(Object message) {
if (message instanceof SnapshotOffer)//binary snapshot
account = (BankAccount)((SnapshotOffer)message).snapshot();
else
updateState(message);
}
private BankAccount account = new BankAccount();
private void updateState(Object event) {
if (event instanceof DepositEvent) {
account.deposit(((DepositEvent)event).getCentAmount());
} else if (event instanceof WithdrawEvent) {
account.withdraw(((WithdrawEvent)event).getCentAmount());
}
}
What is the difference between this and the previous slide?
@Override
public void onReceiveRecover(Object message) {
if (message instanceof SnapshotOffer)
amount = (Integer)((SnapshotOffer)message).snapshot();
else
updateState(message);
}
private int amount = 0;
private void updateState(Object event) {
if (event instanceof DepositEvent) {
amount += ((DepositEvent)event).getCentAmount();
} else if (event instanceof WithdrawEvent) {
amount -= ((WithdrawEvent)event).getCentAmount();
}
}
In Event Sourcing it is hard to change events, but easy to change the in-memory model.
class PastView extends UntypedView {
@Override
public String processorId() {
return "some-processor-id";
}
@Override
public void onReceive(Object message) throws Exception {
if (message instanceof Persistent) {
// set state, persistent message contains event as payload
}
}
//since nethod returns 5 it only replays to events sequence number 5
@Override
public long autoUpdateReplayMax(){
return 5;//TODO as constructor parameter
}
And how do I do it on multiple servers for HA and updates?
The sequence number of the persisted events is generated inside the EventSourcedProcessor, not in the database (see Persistence.scala in Akka code base).
So in one cluster one Processor can only exist once.
With Akka Cluster Singleton you can deploy it on one machine, but they all need to fit into the RAM.
So what do I do if the they won't fit all in the RAM?
//setup
ClusterSharding.get(system).start("accounts",
Props.create(BankAccountActor.class), messageExtractor);
public interface MessageExtractor {
String entryId(Object message);//bankAccountId
Object entryMessage(Object message);//payload, new DepositCommand(500)
String shardId(Object message);//bankAccount.getId().hashCode % 5013
};
//send message
ActorRef region = ClusterSharding.get(system).shardRegion("accounts");
region.tell(new Evelope("bankAccountId", new DepositCommand(500)), getSelf());
from http://doc.akka.io/docs/akka/2.3.2/contrib/distributed-pub-sub.html
public class Publisher extends UntypedActor {
// activate the extension
ActorRef mediator =
DistributedPubSubExtension.get(getContext().system()).mediator();
public void onReceive(Object msg) {
if (msg instanceof String) {
String in = (String) msg;
String out = in.toUpperCase();
String topic = "content";
mediator.tell(new DistributedPubSubMediator.Publish(topic, out),
getSelf());
} else {
unhandled(msg);
}
}
}
from http://doc.akka.io/docs/akka/2.3.2/contrib/distributed-pub-sub.html
public class Subscriber extends UntypedActor {
LoggingAdapter log = Logging.getLogger(getContext().system(), this);
public Subscriber() {
ActorRef mediator =
DistributedPubSubExtension.get(getContext().system()).mediator();
// subscribe to the topic named "content"
mediator.tell(new DistributedPubSubMediator.Subscribe("content", getSelf()),
getSelf());
}
public void onReceive(Object msg) {
if (msg instanceof String)
log.info("Got: {}", msg);
else if (msg instanceof DistributedPubSubMediator.SubscribeAck)
log.info("subscribing");
else
unhandled(msg);
}
}
use WebSockets to publish events to the browser
http://www.playframework.com/documentation/2.3.x/JavaWebSockets
import akka.actor.*;
public class MyWebSocketActor extends UntypedActor {
public static Props props(ActorRef out) {
return Props.create(MyWebSocketActor.class, out);
}
private final ActorRef out;
public MyWebSocketActor(ActorRef out) {
this.out = out;
}
public void onReceive(Object message) throws Exception {
if (message instanceof String) {
out.tell("I received your message: " + message, self());
}
}
}
use Server-Sent Events to publish events to the browser
def onStart(channel: PlayChannel[JsValue]) {
actorRef ! SubscriberActor.SetChannel(channel)
}
val enumerator: Enumerator[JsValue] = Concurrent.unicast(onStart,
actorRef ! PoisonPill, (_, _) => actorRef ! PoisonPill)
Ok.feed(enumerator &> EventSource()).as("text/event-stream")
class SubscriberActor(topic: String) extends Actor {
def ready(channel: PlayChannel[JsValue]): Actor.Receive = {
case e: Any => channel.push(JsString(e.toString))
}
I hope your next green field application is event sourced.


Mrs. Miniver (1942)
Grade: 61
"Mrs. Miniver" won a mountain of Academy Awards, including Best Picture, Best Director, Best Screenplay, Best Cinematography, Best Actress and Best Supporting Actress. There were also nominations for Best Actor and Best Supporting Actor.
With all those awards, you would think that it would be a great film. But time has not been kind to "Mrs. Miniver". Released in the summer after the U.S. entered WWII, the film's depiction of heroic Brits enduring the bombings of the hated Nazis was just what America wanted to see. Americans wanted to feel good about the sacrifices that were being made to support the war effort. To criticize "Mrs. Miniver" would be unpatriotic, even treasonous.
With the Nazis long since safely vanquished, it is possible to detach the quality of the film itself from the large spoonful of propaganda that it delivers. We are left with a well-crafted production filled with saintly characters and manipulative plot elements. "Mrs. Miniver" is an above-average soap opera that falls well short of the glory cast upon it.
The story focuses on the Miniver family. Walter Pidgeon is the father, Greer Garson his wife. They have three children, one of them (Richard Ney) is now adult and fresh from Oxford. Ney becomes a fighter pilot and romances Teresa Wright, who is the daughter of elderly snob Dame May Whitty.
When faced with inevitable German bombings, the cast is uniformly stoic and brave. They are also the nicest people you will ever meet. Mrs. Miniver does slap a boasting German soldier, but is otherwise perfect. Pidgeon is perfect and unflappable. Wright is as sugar sweet as ever. Ney returns from Oxford as a pompous intellectual, to the bemusement of his parents. Upon meeting Wright, he becomes perfect as well, albeit with more energy as befits a young man in love. Even the forever-outraged Whitty, who expects the world to cater to her, is eventually tamed and trained by Garson.
Garson was 34 years old at the time of filming, and looks younger. She is too young to be the mother of a grown man. Ney, playing her son, was 24. Garson and Ney would later marry in real life. Garson was nominated for Best Actress every year between 1940 and 1946, except for a lapse in 1941. "Mrs. Miniver" was her only winning nomination.
<EMAIL_ADDRESS>http://members.tripod.com/~Brian_Koller/movies.html
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


Aellon
Solutions
World's best soft solutions providers
Home
We are Aellons
Visitha Manujaya
Team Leader
Hasintha Samith
Software Architect
Sathya Bandara
Human resource manager
Thilini Perera
Software Architect
Mariyam Ziyad
Documentation manager
Quick Contact
Tel:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
Email<EMAIL_ADDRESS>Aellon ink


--- layout: default --- {% include navheader.html %} {% include about.html %} {% include services.html %} {% include how_it_works.html %} {% include team.html %} {% include contact.html %} {% include address.html %}


CRUD and SQL
October 18, 2016
CRUD
CRUD is an acronym that stands for Create, Read, Update, and Delete. These are the basic functions of persistent storage.
SQL
SQL stands for Structured Query Language. It is a language used to communicate with databases.
CREATE
To create we use the SQL command, INSERT. This creates rows in a table.
READ
To read we use the SQL command, SELECT. This selects data from a table.
UPDATE
To update we use the SQL command, UPDATE. This updates a value in a table.
DELETE
To delete we use the SQL command, DELETE. This deletes a row from the table.


Format: YYYY/MM/DD HH:MM
Format: {YY}Y{MM}M{WW}W{DD}D{hh}h{mm}m{ss}s, comment: keep empty if no repetition is required
Select the device
Select the state


catch
blocks that are empty or may ignore an exception.
While occasionally intended, empty catch
blocks may complicate debugging.
Also, ignoring a catch
parameter might be wrong.
Finally, the static code analyzer reports if it detects that a catch
block may silently ignore important VM
exceptions like NullPointerException
. Ignoring such an exception
(without logging or rethrowing it) may hide a bug.
The inspection won't report any catch
parameters named ignore
or ignored
.
Conversely, the inspection will warn you about any catch
parameters named ignore
or ignored
that are actually in use.
Additionally, the inspection won't report catch
parameters inside test sources named expected
or ok
.
You can use a quick-fix to change the exception name to ignored
.
For empty catch blocks, an additional quick-fix to generate the catch body is suggested.
You can modify the "Catch Statement Body" template on the Code tab in
Settings | Editor | File and Code Templates.
Example:
try {
throwingMethod();
} catch (IOException ex) {
}
After the quick-fix is applied:
try {
System.out.println(System.in.read());
} catch (IOException ignored) {
}
Configure the inspection:
catch
blocks with comments.
catch
blocks that contain
statements or comments inside, while the variable itself is not used.
ignored
if they are in use.
New in 2018.1


Scaling Organizations - Scribing
In the process of growing a company there’s several hurdles based on the size of the company. What worked at 5 doesn’t work at 20, what works at 20 doesn’t work at 50, and what worked at 50 doesn’t work at 150. There’s a lot of talk about two pizza teams and scaling development teams out there. One thing I haven’t seen quite enough of is details around scribing and documenting things.
Planning
At teams of 2 and 3 you get everyone in a room. Perhaps 1 person says what you’re going to do and you all rally around it, or maybe it’s a day of debate and persuasion from all sides.
In the end though you all leave, get heads down, but all know what goal you’re working towards. At a larger company planning doesn’t scale quite this way. I’ve seen roadmapping and planning done a variety of ways as companies scale, but most times the thing they miss for far too long is documenting what comes out of it. Many may produce some level of artifact, but a cohesive wrap-up is often missed. Such an artifact should be easily digestible within a couple minutes, but also deep enough to answer many of the initial questions raised by the high level pieces.
Meetings
Meetings are a smaller level item than broader planning, and tend to go without thorough note taking than higher level planning. With growth you’ll have more meetings, trust me you will. The more meetings you have the more likely you may miss one or two you’re interested in. Or perhaps its as simple as some team members being out. Summer is especially hard around this. For a team of 10 it’s not uncommon that you may go all summer with at least 1 person not in the meeting and often two.
Keeping those that miss the meeting well informed of what happened at it is critical as you scale. This is slightly less important at an extremely large company, though still valuable, but critical as you scale to larger. As you’re scaling things are changing faster, and context can more easily get lost.
So how do you improve this?
Some practical tips:
- Have a set of running notes with someone consistently scribing is a great standard to set. If you missed a meeting you know where to go for it.
- Recording who was and was not at the meeting can be incredibly valuable. I’ve heard statements “I said X at Y meeting”, the only problem with that statement is I wasn’t at Y meeting.
- Not only recording the meeting notes, but explicitly calling out who’s not there can help to know if that information should be explicitly passed along vs. just missed.
- Within your long running document have a summary to wrap it up. While scribing is great it can lead to not seeing the forest for the trees at times.
And a few from others:
- Meetings need a purpose and an agenda. If I don’t know why I’m having a meeting, or what will be covered, I won’t go. If I’m organizing a meeting and can’t spare the time to produce an agenda and goal, I shouldn’t waste other people’s time with the meeting – @jacobian
- Any meeting over about 15-20 isn’t a meeting, it’s a presentation (which is OK too but make it clear that it’s a download, not a discussion). – @jacobian
If you aren’t aware I’m a big fan of email. Email is almost guaranteed that someone will at least open it (at least if its to them or a clear enough list). If you have something you want someone to read – email it. You can have a canonical wiki, or Trello board, or a variety of tools, but email will get more eyeballs than any of these. At the same time don’t email things that are already documented elsewhere.
Emails are great for highlighting the things people absolutely need to know about. Short and concise emails will also help to improve reach. Be careful to make these emails have a high ratio of information size to value. If you have a lot of extra follow on content send them somewhere else to read.
Finally don’t overuse email. If you’re sending the same thing every week people will become numb to this. Monitoring if your emails are being opened/responded to can help to know if you’re over-broadcasting.


Saturday, March 01, 2014
We woke about 4M with my phone ringing. Whoever by the time we found it wasn’t ringing. The battery was completely drained and that might have been the reason for the ring. Neither of us could go back to sleep for a while. When we did we slept in late. It has been an interesting day. We are concerned about Brad and JaNae and their situation. We got a letter offering a job mailing out information but I feel that it is a scam as they want us to send them $199.00 to show them our true intentions and willingness. I checked the chickens and they seem to be ok. I got 11 eggs plus the one hen is still sitting. David called and asked if we would be interested in going to Washington for a week, the first part of June. It sounds fun and we might be interested. This evening we went to the Sizzler in Bountiful where all of our children except Shellie, Roy and Nick were there to honor my 75th Anniversary. Mike and Becky paid for Mae’s and my dinner. Sandi and Nick bought me my new fishing license and put it inside a nice card. David, Shauna, Scott and Mishelle gave me a Gift Card from Sportsman’s Warehouse for $120.00 in a nice card. Jeff and Gail gave me a $100.00 bill in a nice card. Mae also gave me a new Jump Suite that we picked up at J.C. Penney’s. It has been a very great Birthday party as we ate and visited. Jeff and Gail invited us over to their place after we left the Sizzler. Mae and I were the only two that went. We played a game of Rummy Cube, in which Jeff won. It was 10PM when we got home. I entered this entry and we soon went to bed.
Sunday, March 02, 2014
I attended my High Priest Group Leadership meeting. I had forgotten that I was to give the lesson this morning. I called Mae to get her to bring the Ensign over. She was trying to find her keys to the car. We had taken them with us to St. George, but I couldn’t think where we put them. I therefore walked home and got Mae. Meetings went well and Morgan gave the lesson for me. After returning home for the Block program, Mae and I took a nap. We were woke by a phone call asking us to give to a donation. Then my phone rang again but it was Shellie so I visited with her. She and Roy are updating their Will and she wanted to know that if something was to happen to her and Roy, if we would be willing to care for Jase until he could take care of himself. We had a good visit. This afternoon Morgan, Charles and I went visiting Brother Roper and Sister Haydorn. Roger just had a knee replacement and is doing quite well. Sister Linda Haydorn is still in recovery from some operations and is looking much better than she was when we administered to her after the surgery. After getting home I called to get reports about Home Teaching for February. Irven and sandy came over and showed us a DVD on nutrition. It is now bed time so I had better get to bed.
Monday, March 03, 2014
I woke at 12:30AM thinking that it was time to get up. After looking at the clock I went back to bed and slept until the alarm woke me. Mae wasn’t that lucky and she didn’t get much sleep. I fixed my own breakfast but while I was eating Mae came out and said that she couldn’t go back to sleep. My morning runs went well. After letting the grade school off I drove over to the Kaysville Tanner Clinic where I got my DOT medical sheet, covering my CPAP usage. I then drove the office where I got my DOT medical examination. They gave me a new DOT card that is good for a year. It was 10:30AM when I got back to the bus shop. Bob took Irven, Sandy, Mae and I out to the Chuck-A-Rama and bought us dinner as our Birthday gifts. After getting home Mae and I took a nap before I took my PM runs. After getting home I got all the paper work put together and ready to send to the Drivers License Department. This evening we read our Priesthood/Relief Society lesson and then we watched a DVD (Love Finds a Home) and enjoyed that.
Tuesday, March 04, 2014
When I got up to take my shower there was no hot water. I finally went up stairs to see if Bob had taken a hot shower early this morning. He had turned the water on last night and had forgotten to turn it off. We ate breakfast and then I took a quick shower. My runs went well. When I got back to the compound I had to have my bus inspected by the High Way Patrol. That took an hour. Mae had a snack ready for me and then we went over to Jenny’s where she tested me. She did find some concerns but was able to cut my pills down by a lot. As we came out of her office we walked by a gray car that looked very similar to ours but when I saw it I about had a heart attack as the Left front head light and bumper were broken. We then noticed that it was not our car. Wow! Was that a relief! We just had time to get a bite to eat and I left for my PM runs. I stopped and had new windshield wipers put on my bus, but that took longer than I had planned so I was later getting to my Jr. High School. I didn’t have time to take a walk like I wanted to. My runs went well. After getting home we ate dinner, then I worked on my journals and then we went shopping at Costco. I finished my journal entry and soon went to bed.
Wednesday, March 05, 2014
This morning Mae prepared waffles for breakfast. My runs went well and I got home on time. Mae did some calling on flights to Arizona. We have decided that she will fly down and I will stay home. The expense for the two of us is too much and I would have to take a week and a half off work. Also it will be right at planting time for the garden. After returning home I took the Full Time Missionaries over to the 8th Ward Chapel in Clearfield. I took a nap and typed up the experience I had when I was in High School and Margaret had brought a fellow home. My PM runs went well and just as I was coming to the bus compound, Rosa called me asking me to drive a Field Trip tomorrow. Bryce called and informed Mae that Marvin Fisher passed away and he viewing is this evening. Marvin was in the Bishopric with John Nicholas and also served with Dad Porter when he was Bishop. We went over to Scott and Mishelle’s so I could measure some dresser drawers that need new runners installed in them. We then came home and changed and went to the Viewing. We remembered his daughter Carol who we visited with there, but we didn’t know any of the other family. I wrote up this journal entry and we soon went to bed.
Thursday, March 06, 2014
Mae wasn’t feeling the best this morning but she still got up and helped me get ready for work. I would have not let her except I will be gone all day with a Field Trip. After my AM runs I went to Cook Elementary where I picked up the children that are scheduled to go to Salt Lake, to the USU Utah History Museum. It took two bus and not knowing just where the Museum is and also the teacher that was with my bus, doesn’t know just where it is, I kept very close track the other bus. We found it ok because of the other bus driver. After unloading the children we drove to where we could park the busses. The other driver and I, after finding a rest room, came back to my bus. As we were visiting he started getting quite carried off about with some radical theories and after a while started telling me that there are leaders of the Church that have been leading the Church in directions good for their own prophet. I finally backed up and straight forward asked him if he felt that President Monson was one of them. He said that the last 7 Presidents were fallen. I stopped the conversation right there and got him off the bus. I called him an apostate to the church and refused to talk to him more. It really upset me. We returned the children to Cook Elementary and then I went straight to the Jr. High. I did have time to walk before the students came out. This evening Mae and I watched The move, “Mighty Macs” which we enjoyed. I am sure thankful for my sweetheart and for my Testimony of the Gospel of Jesus Christ, The Book of Mormon, my Testimony of the Prophet’s in these Last Days and for President Thomas Monson, his councilors and the Quorum of the Twelve. I do sustain them in their great calling of the Lord to lead the Church in these latter days.
Friday, March 7, 2014
Work went well and this afternoon we went over to Jeff and Gail’s to tend their children. We watched a DVD with the children before putting them to bed. When Jeff and Gail came home we played a game before coming home.
Saturday, March 8, 2014
We slept in and then went to the Bountiful Temple. Bob went with us but it was a bad experience for him. His hearing aids would not pick up the sound even with head phones on. I also left his neck amplifier in the locker so that added to the problem. We made it but it was disturbing. After leaving the Temple we went to Sizzler in Layton for Steak and All You Can Eat Shrimp. We sure enjoyed that. This evening we attended the Stake High Priest Quorum Banquet. It was nice but there was no program. Charles and Karen Saunder’s came over to our place for about an hour after the dinner. We played a game of Raco and Karen really whipped us.
Sunday, March 09, 2014
Today started Day-Light Saving Time. We weren’t sure when we went to bed if the Ipod reset itself automatically or not so I woke and hourly to check it and then reset the alarm to get me up at 6:30am. Meetings went well. After Sacrament meeting we stayed for choir practice. We then stopped and visited Brother Dee Francom. He is getting quite old and he thinks that we will soon move back to Pennsylvania with his daughter. We came home and got some lunch and took care of the chickens. We next went over to the care center in Layton and visited with Patriarch and Sister Johnstun. After that we went over to Jeff and Gail’s for dinner. After dinner we played games with them until 9PM before leaving to come home. I entered this journal entry and we went to bed.
Monday, March 10, 2014
Mae didn’t sleep well last night so she slept in this morning. I wish that I know what to do for her for there seems to be more night that she doesn’t sleep well than there is where she does. I had some toast and cereal before going to work. My morning runs went well. I spent most of my break composing a letter to Paul as to my testimony of the Prophets and Apostles. I am inserting a copy of that letter at the end of this entry. I don’t know if it will do any good but at least he will know how I feel. My PM runs went well. After returning home we got ready and went to Bryce and Deanna’s for dinner and to play games. It was kind of sudden but it was an enjoyable evening.
March 10, 2014
Paul
I apologize for the way our conversation went last week, but when you started accusing men that I have known, some even very personally, it really upset me. You said that you believed in Jesus Christ, and I presume that includes the Apostles of Christ. You also said that you believed in the Prophet Joseph Smith and some of the early Prophets of this dispensation, but have doubts concerning some of the last Prophets. Again, you said that you believe in the Book of Mormon. I am left to question how well you are acquainted with these latter Prophets or have studied their lives and teachings. Also, how well you have studied the Book of Mormon. May I suggest that you read, (and study) Alma chapter 5 and then may I suggest that you fast and pray for the spirit to testify to you of the truthfulness of these teachings.
You told me that you can produce evidence of some of these accusations, against these later Prophets and Apostles. Remember that it was Religious leaders that brought forth false evidence to Pilot that condemned Jesus to be crucified on the cross. Remember that it was false evidence from those that were personal associates of Joseph Smith, which caused him to be jailed and then they painted their faces with blackness and was in the mob that murdered Joseph and his brother Hyrum. I have seen many of these so called evidences against the Church and its leaders, even as early as when I was 14 years of age and the latest, just a few years ago, when I was brought a stack of anti-Mormon so called documents, that were literally 8 to 10 inches high. As I went through them I found some of the same ones that I had been given at age 14. The rest had no evidence that could be verified, only hear-say statements.
I have personally met with many of these leaders of the Church. I have read and studied many of their personal lives and teachings. I have set in leadership training in which they have taught. I have taught classes using their personal lives and teachings. I have had the privilege of eating lunch with one of the apostles and his wife and visiting one on one in a casual setting. Never once have I ever found anything that would cause me any question as to their integrity or loyalty to our Lord and Savior.
Think of what they give when they accept these callings. From the position of Jr. Apostle to the Prophet, they will never retire but will serve until they die. They will serve and travel where ever in the world they are sent and needed. They receive no monitary retirement benefits, but are paid for their personal and immediate expenses. Even in their late 80’s and even into their 90’s they still put in full days at the office. President Monson is now in his 90’s and keeps a full calendar that would exhaust most men several years younger. They leave no financial dowry or estate to their Family upon their death except for their personal testimony and example. I have heard of them being given time to meet with family members and having a day to spend at Disney Land if their Church assignment took them to that area and their assignment allowed them time. The positions they hold is not sought for but is controlled by the Lord through seniority and death.
Well that is enough for you to know how I feel, but may I suggest that before you judge them from someone else’s information, you should really get to know them.
Ken Browning
Tuesday, March 11, 2014
Mae prepared a new pancake for breakfast and they we very good. My AM runs went well although it was cold and stormy this morning. Mae called me just as I got back to the bus compound. She wanted me to stop and get some French bread, also stop at Jennie’s and pickup some items for her. It was 9:40AM when I got home and Bob and I had an appointment with David at 10AM so we had to hurry. It worked out ok. When I got home I took a nap and then worked more on the computer. My PM runs also went well. Mae had made homemade bread and sausage casserole when I got home. The house sure smelled good when I came in. The casserole was for someone else but most of bread is for us. After dinner Mae and I walked around to some of the Sisters and Dee Frankum and gave them some bread. We got our exercise in that way. It was 8PM when we got back home. We soon went to bed.
Wednesday, March 12, 2014
Mae didn’t sleep very well last night so I told her to try going back to bed. She got my breakfast ready and then tried, but still couldn’t. I had spent too much time “thinking about other things” and so didn’t have time to eat before going to work. I found problems with my bus and had to have a mechanic help me remove the radiator cap and fill radiator with coolant. I was still able to leave in time to get to my first pickup on time. The rest of my runs went well although I did have to visit with two grade school boys about their behavior on the bus. When I got home there was a letter from Altius for me. I put the information in our medical records before I discarded the letter. I went over to the church and helped Mae and Sister Garf set up and decorate a Relief Society social this evening. While waiting for our wife’s to finish Brother Garf and I got visiting. The subject of military and benefits came up. He said that I should be eligible for Veterans Benefits. I will have to look into it, as I was told that because they think I had a preexisting condition, I was not eligible for any benefits. My PM runs went well and when I returned home I took care of the chickens, then Mae had dinner ready. Scott came over and set our TV up to work on the Comcast or the DVD player. We watched the end of a show while eating. Mae then left to attend a Relief Society Birthday party. I watched the “Undefeated” starring John Wayne. It was a good show. I worked on my bus seating, making a few changes. I then got ready for bed. I expect Mae to be home any time now.
Thursday, March 13, 2014
I didn’t sleep very well last night. Mae and I seem to take turns at that. My AM runs went well but shortly after I got home, Mae went up to tend Gail’s children while she went to the Temple. I lay down to take a nap but the dispatch called and asked me to take a mid-day run. I said that I would so they gave me the bus number 331 and said that they would print me a route sheet. When I got over to dispatch there was no print out in my box, so I went into dispatch and asked for a route for 331. I found the bus and waited for an assistant to come. When one did not come I called dispatch on the radio and they told me to wait a little longer. Finally I left with out her as I only had 3 children to take home. I went to Lake Side Elementary and waited but the children didn’t come. I called dispatch and they said I was at the wrong school but should go to Adams Elementary. They would have an assistant meet me there. Adams is on the opposite side of the valley. Before I got there dispatch called me to tell me that the car that was taking my assistant to the school had broken down and ask if I could pick her up on the way. That was good timing as I was just a half a block from where her car was broke down. After getting my assistant we went to the school and got most of the children as many parents had came and got their child. With the help of the assistant we made it. I then took my PM runs and they went well. I was able to take a long walk between the mid-day run and my PM runs. I filled in my payroll information before coming home. I was tired. Mae soon had dinner ready and we ate it while we watched part of a TV show. We started another one but we had seen it before. We couldn’t find anything else so we turned it off and played Sequence. Mae won me 2 out of 3 rounds. We went to bed.
Friday, March 14, 2014
Both of us slept well last night. My bus runs went well this morning. After getting home I was on the computer getting some of my school records corrected. Mae took me to work for my PM runs. After I finished the runs Mae came back and got me. We went over to the Layton City Library and returned a book on tape. We then went to Dr. Wilcox an E.N.T. and Mae went to Tanner Clinic and got a Tetanus and Whooping Cough shot. She then came back and was with me while Dr. Wilcox checked my ears. He had me take another Audiology test and after looking at those he said I was a rather confusing problem. He doesn’t feel that Manears as David felt I might and he gave the reasoning why. He also does not understand why the first Audiology test would start this whole situation off. I felt very impressed with Dr. Wilcox’s thoroughness in testing me and explaining his feelings. When we left his office I asked Mae for my keys. She didn’t have them and at first I said that she had to have them as I didn’t. then as I thought through our step by step sequence I realized I hadn’t used my keys to drive the car from the bus shop to the doctor’s office. That meant that I must have left them in my school bus. We went to the Megaplex Theater in Ogden where we saw the movie “Son of God” which both Mae and I felt was a pretty close description of the Events as given in the New Testament. We hadn’t had time between the Dr. visit and the movie to get anything to eat, until we got home.
Saturday, March 15, 2014
We had to get up and be at the church house by 8AM to help with the weekly cleanup. That went quite well. After completing that job we went over to the bus compound and checked my bus and my keys were still hanging in the ignition switch. I had to apologize to Mae for my mistake. We then went to look at a car wash that is for sale. We were both hunger so we went to Golden Corral and ate. When we got home we went to bed for a while. When I went out to feed and water the chickens I found that we had two new chicks that had hatched by the black hen. They seem to be doing fine. This evening I started hooking up some equipment for Bob. Grant also came over to help. We have a door bell that will set off a flashing light and a vibrator in his chair. Grant then came downstairs and set up our remote control for our TV. Hopefully that will help us enjoy our TV better as we haven’t had control of the sound or mute of the TV without getting up and going to the TV. You wouldn’t think that would be such a big thing, but with most of the shows now on TV, 50% of the time is advertisements. I am not feeling very well this evening and would like to go to bed but I remembered that I needed to get an article for our Ward News Letter into Brother Sliger before mid-night. I had to have Mae help me as I was in such pain that I couldn’t sit at the computer. With her help we got it sent. I’m not sure if it was what was appropriate or not, but it went in. it was after mid-night before we went to bed.
Sunday, March 16, 2014
I really didn’t feel like getting up this morning. I walked to my meetings so that Mae would have the car. I later found out that Mae hadn’t got her keys out of the car yesterday so they were still locked in it this morning and she had to walk to Church anyway. I was to start taking the medication that Dr. Larsen prescribed for me this morning but Mae read all the disclaimers on it and decided that I shouldn’t take them, so I didn’t. I am confused as to just what I should do. This afternoon Mae called and visited with Jenney and she also feels that it will increase my Candida and possibility put it out of control. This afternoon we had our Home Teachers, Brother Bryn Taylor and Brother Crobin Rogers, come Home Teaching. Later Mae and I went Visiting Teaching and Home Teaching to Sister Fallis. We had a good visit with Leslie and we hope she will start coming back to Church. I worked on my Diary for a little while. Mae got on Face Time and we visited with Mike and also with David’s and his family. It’s now bed time so we had better close this now.
Monday, March 17, 2014
Mae slept in this morning and I got myself off to work. I forgot that today was St. Patrick Day until I started picking up the grade school children. My runs went well. After getting home, I worked on some of my history stories. I took a nap. Scott and Mishelle brought the twins over for Mae to tend while they went out for Mishelle’s Birthday. My PM runs went well. Scott and Mishelle had just got here to get the twins when I got home. I worked for sometime on my history again. Before going to bed Mae and I played some Rummy. I won this evening, that’s a switch. Good night.
Tuesday, March 18, 2014
I woke early and know that Mae had been up during the night, so I thought I would let her sleep in again. Mae heard me up and she got up and got my breakfast before I left. My runs went well. Dispatch asked for drivers that could help with field trips tomorrow, so after checking with Mae, I went in to volunteer. However they didn’t have a trip I could take because of the restriction on hours. Mae and I went shopping for my laser sights for our pistol. Sportsman Warehouse has them on back order but they can’t order one just for me. I am not happy about that. I tried calling other Sportsman Warehouse but they all give me the same story. My PM runs went well. Mae went over to Clearfield High School to register for a class for her and Sandi. I was on the phone and internet for quite a while researching the Laser Sight. It’s now bed time so I had better quite for tonight.
Wednesday, March 19, 2014
I took my normal bus runs and they went well. Mae went to lunch with Joanne Bond, her cousin. I did some checking on materials to make drawer slides and found that the materials will be just about as expensive as building them, besides the work. I got the shop to repair the emergency rear door on my bus. I did some checking on the Lazier sight for my pistol but didn’t get very far. I am having quite a bit of pain through my left leg. My ears are getting worse and my hearing aids only make things worse. This evening we went over to Jeff and Gail’s where Jeff and I worked on Ben’s Pine Wood Derby.
Thursday, March 20, 2014
My runs went well except when I was doing my grade school run, I was traveling east on E. Gentile around the Golf Course when a yellow and black Jeep came around the curve and took more than his share of the road. It is a very narrow road anyway and as I was afraid that he was going to come into my lane, I turned right and caught a tree branch with my right rear view mirror and broke the mirror. I had to report it to the Safety Coordinator and now I have a report that must be filled out. The shop had a new mirror installed so I could take my bus this afternoon. This evening Mae and I attended the Republican Caucus meeting for our district. I am hurting quite a lot from pain coming from the Sciatica Nerve and my ears are even worse. During the meeting Mae and I were chosen to be delegates for our district at the state Republican Party on April 26th.
Friday, March 21, 2014
My AM runs went well. When I got home I took a nap and worked on composing a letter to the Mayor of Layton about the trees on E. Gentile Road. About 11:30AM Bob knocked on the wall. He had me come upstairs as a Clinton City Police officer needed to talk to me. I went up and he introduced himself and said that a complaint had been turned into the Mayor about me having a rooster. The officer apologized that he had to inform me but he had received a letter from the Mayor and so had to do he duty. I told him that I would get rid of the rooster although I felt that this property was under the Grandfather exemption. My PM runs went well. When I got home I found that Mae had taken a walk and tripped on the sidewalk in front of Shirley Olson’s. She had banged up her knees but had hurt her right arm. Her hand is quite bruised but her arm hurts. I took her to the Tanner Clinic after hours where they x-rayed her arm and put it in a half cast so that she doesn’t move it. A radiologist will look at the x-ray on Monday morning and then the Dr. will call us. At this point it doesn’t look like it was broken but they will know for sure on Monday. We got some Chicken at the Madox in Layton. We ate while watching a TV show. When the chickens went in to roost, I went out and caught the rooster, the banty rooster and the hen that has broken her leg. I put them in cages and will butcher the three of them tomorrow.
Saturday, March 22, 2014
I woke at 4 AM thinking about our chickens and rooster problem. Am I right to, just because a new neighbor moved in, get rid of my rooster? I know that there is a new city ordinance that states that there can be no roosters within city limits, but when was that put into effect? I killed the Banti Rooster and the hen that had broken her leg but I let my big rooster go. I prepared breakfast of omelets for Mae and I. After cleaning up the kitchen I started work on installing a new electrical outlet in the bathroom. Mae found a Hair Dresser in Clearfield to wash, dry and set her hair as she cannot use her right arm. This afternoon we drove into Costco where I got my hearing aids adjusted and readjusted. We did buy a few items while there and brought a salad back home for our dinner. We watched a cute show on TV “A Hand for the Little Lady”. It sure kept you interested and wondering how it was going to turn out. I figured out the plot about half way through but Mae didn’t see it until right at the end. Mae’s assisting teacher called this evening and is sick so won’t be at Church tomorrow.
Sunday, March 23, 2014
We got up at 6:30 this morning and both hurried to get ready. Although Mae is a little slow with her casted right arm she still is going and plans on giving the lesson. While I was getting dressed Mae also prepared breakfast.  My hearing aids gave me problems during Sacrament meetings and I finally took them out. I missed much of the talks. I was going to prepare dinner with Mae’s direction and although I helped Mae really got dinner. We laid down this afternoon and took a nap. After getting Shellie called just to talk to her mom. I wish I could talk to Roy about his demands, but the last time I tried that it really backfired on me. While Mae talked to Shellie, I finished typing a letter to the Mayor of Layton. This afternoon we drove up and visited with Patriarch and Sister Johnston. We had a nice visit with them. When we got home I gathered the eggs and then came in and got us some fruit and toast to eat this evening. Lindsey called and talked to Mae and the next thing I am told is that Mae is going to go over tomorrow and help tend their children because Lindsey can’t lift over 5 LB for a while. I can’t believe Mae would volunteer to help with her arm in the shape it is in. Bob is having quite a bit of swelling in his left hand where his cat bit him a couple of days ago. We have had him soak his hand in Epson Salt and hot water. That is helping. Mae typed Georgia and Rick a letter this evening while I did up the dishes and took out the trash. While she typed the letter, I finished this journal entry. It’s now time to get to bed.
Monday, March 24, 2014
Mae didn’t sleep the best and though I tried to get her to go back to bed, she got up and got me off. My runs went well. After getting home Mae and I went to the City Offices and found that unless Bob got an permit when he bought the home, then this property comes under the ruling of “No Roosters in Clinton City”, but she said that we could have up to 50 chickens on this lot. As much as I am unhappy about killing our rooster, I guess Saturday morning I will “Kill the Old Black Rooster” and we will roast him for dinner. Bob has been trying to get his cat into a cage but she will not corporate. I called the Animal Control and they will come and get her. We ate lunch and as we finished David came over to put new batteries in his trailer. We couldn’t figure out the wiring. Mae suggested that we look at Scott’s but when I did that I realized that Scott’s trailer only has two wires and David’s trailer has 6 plus a jumper. I guess David will take it up to a dealer and pay them to hook it up. He said that when he took the old batteries out, he should have taken a picture before unhooking it. Too late now! The Animal Control came just as I left for work. They took the cat away for Bob. The Dr. Called Mae back and it looks like she does have a broken arm. David was still here when he called so David was able to visit with the Doctor and understand the procedure better. She will have to go back into the Doctor on Wednesday. We had super and are now going up to Bob’s and watch a show he has recorded for us to see. The show is “The Happiest Millionaire” and we did enjoy it but when it got 9:30PM we told Bob that we would have to finish it tomorrow night. It was 10PM before we got to bed.
Tuesday, March 25, 2014
Mae got up and got most of breakfast ready for me. Having a broken arm sure doesn’t slow her down very much. On my morning runs we had “emergency evacuations” with the children getting off the bus through the rear door. At both schools the drill went well and the students were very good about it. When I returned to the bus compound I had to get a light replaced on the bus. They have worked on this light several times so this time they replaced two complete fixtures. That took me some extra time, so when I got home Mae had already showered and was trying to get dressed. She had made a fruit drink and toast for me to eat before we went into the Audiologists at Costco for another adjustment on my hearing aids. We made a couple of other stops afterwards. When we got home we ate some lunch and I got a 15 minute nap before going back to work. My PM runs went well. I gave both groups of children a candy treat to express appreciation for their corporation this morning. I helped Mae prepare dinner. Scott came over and borrowed a couple of pipe wrenches to work on his plumbing. We went up stairs and watched the ending of the show we watched last night. Bob is getting quite forgetful and is hard to convince him of some things. I can see some of Mom’s traits showing up in him and that worries me. I am not sure about going through that again. When we went to set the alarm for tomorrow morning the Ipod was still on the computer charging. Mae got up during the night and brought the Ipod into the bedroom.
Wednesday, March 26, 2014
We both slept well last night. My morning runs went well. I got home before 9AM and we had something to eat before going over to Dr. Cook who after checking the x-ray’s tested Mae’s arm movement. He feels that it is healing ok and gave Mae some exercises to do twice a day and we will see him next week. I made almond butter today but the Vitamix heated up on the third batch and we had to let it cool down. My PM runs went well and I got home before 4:30PM. We attended the Pine Wood Derby at Gale’s Ward in which Ben raced his car. He didn’t win the first race but won the next four. I only stayed for his 2nd race and then I left as the High Priest Group Leadership was going visiting with the Bishopric. I went with Brother Taylor and he and I visited Sister Shirley Olsen and then the Thomas’s.
Thursday, March 27, 2014
My runs went well both in the morning and the evening. Mae went into Jennie’s this afternoon. This evening Bob and I went Home Teaching. We did not find the Casey’s at home but had a nice visit with the Thurman’s. mae and I watched a movie on TV this evening before going to bed.
Friday, March 28, 2014
Because of Teacher’s Preparation Day there was no school today. We slept in and after breakfast we took Mae to Dr. Bennett for a treatment. After that we went to J & J Nursery where we bought some strawberry plants. I washed Mae’s hair this morning. I also cut my own hair and Mae did do a little trimming for me. Sister Thomas came over and put Mae’s hair up for her. I went to the city offices and talked to them about repairing Sister Olsen’s sidewalk. I was told that they would remove all bad areas and repair it completely. I cleaned the chicken coop this afternoon. Mae and I went out to eat this evening. We first went to the Chuck A-Rama in Ogden but they were to full so we went to the Golden Corral where we enjoyed a good dinner. We watched a movie before going to bed. I have no school today and it was sure nice. It was also nice that this evening is a Saturday evening and I have another day off tomorrow.
Saturday, March 29, 2014
We did sleep in but we had also stayed up later last night. I started getting ready to butcher the roster. While the water was heating I laid out the garden to plant the strawberries. Mae came out and helped me. We got one row planted. I butchered the rooster and then had to put things back away. By the time I finished it was time for us to eat and then got to Provo where Beckey’s had their 50th Wedding Anniversary. It was quite nice. It was 4:30PM when we left to come home. Traffic was bad so that also slowed us down. Sandy wanted to attend Woman’s Conference with Mae so they were here when we got home. Mae and Sandy went right over to the chapel where it was broadcast by way of Satellite. Irven went over with me and we helped put up the chairs. We came home and played games for a while. It has been a very busy day and we were tired when we went to bed.
Sunday, March 30, 2014
Mae didn’t sleep well last night so I had her stay home and rest. I attended meetings but we didn’t have our High Priest Group Leadership meeting this morning so I did get to sleep a little longer. My hearing aid still didn’t work very well today and by the time I got home from meetings I just took them off. We cooked the rooster for dinner today but were disappointed on how it turned out. Sandi and Nick came out getting here about 2PM. We really enjoyed the day with them. We played some games and then ate. After cleaning up from dinner we played more games. Mick and I won four out of five games. Sandi and Nick talked to us about finishing their basement off into an apartment and moving out there when Bob has to leave this home either because of health or when he dies. We have talked about that idea and maybe we should do more considering of the idea. Sandi showed me some exercisers that should help with the sciatica nerve problem.
Monday, March 31, 2014
Today is Spring Break so there was no school today. We slept until 10AM before getting up to have breakfast. After breakfast I went out and planted the remainder of two rows of strawberries. We had eight extra plants so we took them to Neil Knudsen as yesterday Neil said that all of his strawberries winter killed so he is going to replant. Mae went with me and we visited for a while. Mae and I then went for a walk. Mae has been busy with the washing. Bob prepared some cabbage casserole yesterday and so he sent down some for us that we ate for lunch. Mae got on the phone with Shellie and visited with her for quite a while. I started to use the rotta-tiller and found that the starter rope was jammed up. I worked on it for about an hour getting it apart and put back together. I have been giving quite a bit of thought to the suggestion that we finish Sandi and Nick’s basement of for an apartment for Mae and I. I don’t know just how I feel about it. This evening Mae and I watched a “Walton” show and then another show that was quite good.


RT @garybernhardt: The video of "The Birth & Death of JavaScript", a history from 1995 until 2035, is up. So many hours of my life! https:/…
4/19/2014, 1:35:31 PM
Favs: 0
Retweets: 0
link--- layout: tweet ---
RT @garybernhardt: The video of "The Birth & Death of JavaScript", a history from 1995 until 2035, is up. So many hours of my life! https:/…
4/19/2014, 1:35:31 PM
Favs: 0
Retweets: 0
link


|
XenForo
1.5.12
|
Public Member Functions | |
| getThreadRedirectById ($threadId) | |
| getExpiredThreadRedirects ($expiredDate) | |
| getThreadRedirectsByKey ($redirectKey, $likeMatch=false) | |
| createRedirectThread ($targetUrl, array $newThread, $redirectKey='', $expiryDate=0) | |
| insertThreadRedirect ($threadId, $targetUrl, $redirectKey='', $expiryDate=0) | |
| deleteThreadRedirects (array $threadIds) | |
| updateThreadRedirect ($threadId, array $update) | |
| Public Member Functions inherited from XenForo_Model | |
| __construct () | |
| setLocalCacheData ($name, $value) | |
| resetLocalCacheData ($name=null) | |
| getModelFromCache ($class) | |
| setAllowCachedRead ($allowCachedRead) | |
| fetchAllKeyed ($sql, $key, $bind=array(), $nullPrefix='') | |
| limitQueryResults ($query, $limit, $offset=0) | |
| addFetchOptionJoin (array &$fetchOptions, $join) | |
| getConditionsForClause (array $sqlConditions) | |
| getOrderByClause (array $choices, array $fetchOptions, $defaultOrderSql='') | |
| addPositionLimit ($table, $limit, $offset=0, $column='position') | |
| prepareLimitFetchOptions (array $fetchOptions) | |
| prepareStateLimitFromConditions (array $fetchOptions, $table='', $stateField='message_state', $userField='user_id') | |
| standardizePermissionsAndUserId (&$permissions, &$userId=0) | |
| standardizeNodePermissionsAndUserId ($nodeId, &$permissions, &$userId=0) | |
| standardizePermissionCombinationIdAndUserId (&$permissionCombinationId, &$userId=0) | |
| standardizeViewingUserReference (array &$viewingUser=null) | |
| standardizeViewingUserReferenceForNode ($nodeId, array &$viewingUser=null, array &$nodePermissions=null) | |
| unserializePermissionsInList (array $items, $serializedKey, $targetKey='permissions') | |
| getContentTypesWithField ($fieldName) | |
| getContentTypeField ($contentType, $fieldName) | |
| getCutOffCondition ($column, $condition) | |
| assertValidCutOffOperator ($operator, $allowBetween=false) | |
Additional Inherited Members | |
| Static Public Member Functions inherited from XenForo_Model | |
| static | create ($class) |
| Protected Member Functions inherited from XenForo_Model | |
| _getLocalCacheData ($name) | |
| _getDataRegistryModel () | |
| _getCache ($forceCachedRead=false) | |
| _getDb () | |
| Protected Attributes inherited from XenForo_Model | |
| $_cache = null | |
| $_db = null | |
| $_allowCachedRead = true | |
| $_localCacheData = array() | |
| $_modelCache = array() | |
| createRedirectThread | ( | $targetUrl, | |
| array | $newThread, | ||
$redirectKey = '' , |
|||
$expiryDate = 0 |
|||
| ) |
Creates a thread that redirects to the target URL.
| string | $targetUrl | Target URL. May be relative or absolute. |
| array | $newThread | Information about a thread. State must be visible or not specified |
| string | $redirectKey | A unique key for relating this redirect to something else. For example, when redirecting to another thread, this is used to relate the redirect record to the thread it points to. If that thread is moved, we may need to remove the redirect. |
| integer | $expiryDate | Timestamp for expiry. 0 means never expires |
| deleteThreadRedirects | ( | array | $threadIds | ) |
Deletes the specified thread redirects.
| array | $threadIds |
| getExpiredThreadRedirects | ( | $expiredDate | ) |
Gets thread redirects that have been expired.
| integer | $expiredDate | Last expiration date |
| getThreadRedirectById | ( | $threadId | ) |
Gets thread redirect information by the thread ID.
| integer | $threadId |
| getThreadRedirectsByKey | ( | $redirectKey, | |
$likeMatch = false |
|||
| ) |
Gets all thread redirects that share a particular key (or key pattern). Usually, this will be no more than one, but that is not guaranteed.
| string | $redirectKey | |
| boolean | $likeMatch | If true, finds keys that match a LIKE pattern (% for wildcard, _ for single character) |
| insertThreadRedirect | ( | $threadId, | |
| $targetUrl, | |||
$redirectKey = '' , |
|||
$expiryDate = 0 |
|||
| ) |
Inserts a raw thread redirect record.
| integer | $threadId | ID of redirect thread |
| string | $targetUrl | Target URL. May be relative or absolute. |
| string | $redirectKey | A unique key for relating this redirect to something else. For example, when redirecting to another thread, this is used to relate the redirect record to the thread it points to. If that thread is moved, we may need to remove the redirect. |
| integer | $expiryDate | Timestamp for expiry. 0 means never expires |
| updateThreadRedirect | ( | $threadId, | |
| array | $update | ||
| ) |
Updates the specified thread redirect.
| integer | $threadId | |
| array | $update | Fields to update |