By: Team W09-1
Since: Feb 2019
Licence: MIT
- 1. Setting up
- 2. Design
- 3. Implementation
- 4. Documentation
- 5. Testing
- 6. Dev Ops
- Appendix A: Suggested Programming Tasks to Get Started
- Appendix B: Product Scope
- Appendix C: User Stories
- Appendix D: Use Cases
- Appendix E: Non Functional Requirements
- Appendix F: Glossary
- Appendix G: Product Survey
- Appendix H: Instructions for Manual Testing
1. Setting up
1.1. Prerequisites
-
JDK
9
or laterWarningJDK 10
on Windows will fail to run tests in headless mode due to a JavaFX bug. Windows developers are highly recommended to use JDK9
. -
IntelliJ IDE
NoteIntelliJ by default has Gradle and JavaFx plugins installed.
Do not disable them. If you have disabled them, go toFile
>Settings
>Plugins
to re-enable them.
1.2. Setting up the project in your computer
-
Fork this repo, and clone the fork to your computer
-
Open IntelliJ (if you are not in the welcome screen, click
File
>Close Project
to close the existing project dialog first) -
Set up the correct JDK version for Gradle
-
Click
Configure
>Project Defaults
>Project Structure
-
Click
New…
and find the directory of the JDK
-
-
Click
Import Project
-
Locate the
build.gradle
file and select it. ClickOK
-
Click
Open as Project
-
Click
OK
to accept the default settings -
Open a console and run the command
gradlew processResources
(Mac/Linux:./gradlew processResources
). It should finish with theBUILD SUCCESSFUL
message.
This will generate all resources required by the application and tests. -
Open
MainWindow.java
and check for any code errors-
Due to an ongoing issue with some of the newer versions of IntelliJ, code errors may be detected even if the project can be built and run successfully
-
To resolve this, place your cursor over any of the code section highlighted in red. Press kbd:[ALT + ENTER], and select
Add '--add-modules=…' to module compiler options
for each error
-
-
Repeat this for the test folder as well (e.g. check
HelpWindowTest.java
for code errors, and if so, resolve it the same way)
1.3. Verifying the setup
-
Run the
seedu.ultistudent.MainApp
and try a few commands -
Run the tests to ensure they all pass.
1.4. Configurations to do before writing code
1.4.1. Configuring the coding style
This project follows oss-generic coding standards. IntelliJ’s default style is mostly compliant with ours but it uses a different import order from ours. To rectify,
-
Go to
File
>Settings…
(Windows/Linux), orIntelliJ IDEA
>Preferences…
(macOS) -
Select
Editor
>Code Style
>Java
-
Click on the
Imports
tab to set the order-
For
Class count to use import with '*'
andNames count to use static import with '*'
: Set to999
to prevent IntelliJ from contracting the import statements -
For
Import Layout
: The order isimport static all other imports
,import java.*
,import javax.*
,import org.*
,import com.*
,import all other imports
. Add a<blank line>
between eachimport
-
Optionally, you can follow the UsingCheckstyle.adoc document to configure Intellij to check style-compliance as you write code.
1.4.2.  See UsingTravis.adoc to learn how to set it up.
After setting up Travis, you can optionally set up coverage reporting for your team fork (see UsingCoveralls.adoc).
|
Note
|
Coverage reporting could be useful for a team repository that hosts the final version but it is not that useful for your personal fork. |
Optionally, you can set up AppVeyor as a second CI (see UsingAppVeyor.adoc).
|
Note
|
Having both Travis and AppVeyor ensures your App works on both Unix-based platforms and Windows-based platforms (Travis is Unix-based and AppVeyor is Windows-based) |
1.4.3. Getting started with coding
When you are ready to start coding,
-
Get some sense of the overall design by reading Section 2.1, “Architecture”.
-
Take a look at Appendix A, Suggested Programming Tasks to Get Started.
2. Design
2.1. Architecture
The Architecture Diagram given above explains the high-level design of the App. Given below is a quick overview of each component.
|
Tip
|
The .pptx files used to create diagrams in this document can be found in the diagrams folder. To update a diagram, modify the diagram in the pptx file, select the objects of the diagram, and choose Save as picture .
|
Main
has only one class called MainApp
. It is responsible for,
-
At app launch: Initializes the components in the correct sequence, and connects them up with each other.
-
At shut down: Shuts down the components and invokes cleanup method where necessary.
Commons
represents a collection of classes used by multiple other components.
The following class plays an important role at the architecture level:
-
LogsCenter
: Used by many classes to write log messages to the App’s log file.
The rest of the App consists of four components.
Each of the four components
-
Defines its API in an
interface
with the same name as the Component. -
Exposes its functionality using a
{Component Name}Manager
class.
For example, the Logic
component (see the class diagram given below) defines it’s API in the Logic.java
interface and exposes its functionality using the LogicManager.java
class.
How the architecture components interact with each other
The Sequence Diagram below shows how the components interact with each other for the scenario where the user issues the command delete 1
.
delete 1
commandThe sections below give more details of each component.
2.2. UI component
API : Ui.java
The UI consists of a MainWindow
that is made up of parts e.g.CommandBox
, ResultDisplay
, PersonListPanel
, StatusBarFooter
, BrowserPanel
etc. All these, including the MainWindow
, inherit from the abstract UiPart
class.
The UI
component uses JavaFx UI framework. The layout of these UI parts are defined in matching .fxml
files that are in the src/main/resources/view
folder. For example, the layout of the MainWindow
is specified in MainWindow.fxml
The UI
component,
-
Executes user commands using the
Logic
component. -
Listens for changes to
Model
data so that the UI can be updated with the modified data.
2.3. Logic component
API :
Logic.java
-
Logic
uses theUltiStudentParser
class to parse the user command. -
This results in a
Command
object which is executed by theLogicManager
. -
The command execution can affect the
Model
(e.g. adding a homework). -
The result of the command execution is encapsulated as a
CommandResult
object which is passed back to theUi
. -
In addition, the
CommandResult
object can also instruct theUi
to perform certain actions, such as displaying help to the user.
Given below is the Sequence Diagram for interactions within the Logic
component for the execute("delete 1")
API call.
delete 1
Command2.4. Model component
API : Model.java
The Model
,
-
stores a
UserPref
object that represents the user’s preferences. -
stores the UltiStudent data.
-
exposes an unmodifiable
ObservableList<Homework>
that can be 'observed' e.g. the UI can be bound to this list so that the UI automatically updates when the data in the list change. -
does not depend on any of the other three components.
2.5. Storage component
API : Storage.java
The Storage
component,
-
can save
UserPref
objects in json format and read it back. -
can save the UltiStudent data in json format and read it back.
2.6. Common classes
Classes used by multiple components are in the seedu.addressbook.commons
package.
3. Implementation
This section describes some noteworthy details on how certain features are implemented.
3.1. Undo/Redo feature
3.1.1. Current Implementation
The undo/redo mechanism is facilitated by VersionedUltiStudent
.
It extends UltiStudent
with an undo/redo history, stored internally as an UltiStudentStateList
and currentStatePointer
.
Additionally, it implements the following operations:
-
VersionedUltiStudent#commit()
— Saves the current UltiStudent state in its history. -
VersionedUltiStudent#undo()
— Restores the previous UltiStudent state from its history. -
VersionedUltiStudent#redo()
— Restores a previously undone UltiStudent state from its history.
These operations are exposed in the Model
interface as Model#commitUltiStudent()
, Model#undoUltiStudent()
and Model#redoUltiStudent()
respectively.
Given below is an example usage scenario and how the undo/redo mechanism behaves at each step.
Step 1. The user launches the application for the first time. The VersionedUltiStudent
will be initialized with the initial UltiStudent state, and the currentStatePointer
pointing to that single UltiStudent state.
Step 2. The user executes delete 5
command to delete the 5th homework in the UltiStudent. The delete
command calls Model#commitUltiStudent()
, causing the modified state of the UltiStudent after the delete 5
command executes to be saved in the UltiStudentStateList
, and the currentStatePointer
is shifted to the newly inserted UltiStudent state.
Step 3. The user executes add mc/CS2103T …
to add a new homework. The add
command also calls Model#commitUltiStudent()
, causing another modified UltiStudent state to be saved into the UltiStudentStateList
.
|
Note
|
If a command fails its execution, it will not call Model#commitUltiStudent() , so the UltiStudent state will not be saved into the ultiStudentStateList .
|
Step 4. The user now decides that adding the homework was a mistake, and decides to undo that action by executing the undo
command. The undo
command will call Model#undoUltiStudent()
, which will shift the currentStatePointer
once to the left, pointing it to the previous UltiStudent state, and restores the UltiStudent to that state.
|
Note
|
If the currentStatePointer is at index 0, pointing to the initial UltiStudent state, then there are no previous UltiStudent states to restore. The undo command uses Model#canUndoUltiStudent() to check if this is the case. If so, it will return an error to the user rather than attempting to perform the undo.
|
The following sequence diagram shows how the undo operation works:
The redo
command does the opposite — it calls Model#redoUltiStudent()
, which shifts the currentStatePointer
once to the right, pointing to the previously undone state, and restores the UltiStudent to that state.
|
Note
|
If the currentStatePointer is at index UltiStudentStateList.size() - 1 , pointing to the latest UltiStudent state, then there are no undone UltiStudent states to restore. The redo command uses Model#canRedoUltiStudent() to check if this is the case. If so, it will return an error to the user rather than attempting to perform the redo.
|
Step 5. The user then decides to execute the command list
. Commands that do not modify the UltiStudent, such as list
, will usually not call Model#commitUltiStudent()
, Model#undoUltiStudent()
or Model#redoUltiStudent()
. Thus, the UltiStudentStateList
remains unchanged.
Step 6. The user executes clear
, which calls Model#commitUltiStudent()
. Since the currentStatePointer
is not pointing at the end of the UltiStudentStateList
, all UltiStudent states after the currentStatePointer
will be purged. We designed it this way because it no longer makes sense to redo the add mc/CS2101 …
command. This is the behavior that most modern desktop applications follow.
The following activity diagram summarizes what happens when a user executes a new command:
3.1.2. Design Considerations
Aspect: How undo & redo executes
-
Alternative 1 (current choice): Saves the entire UltiStudent.
-
Pros: Easy to implement.
-
Cons: May have performance issues in terms of memory usage.
-
-
Alternative 2: Individual command knows how to undo/redo by itself.
-
Pros: Will use less memory (e.g. for
delete
, just save the person being deleted). -
Cons: We must ensure that the implementation of each individual command are correct.
-
Aspect: Data structure to support the undo/redo commands
-
Alternative 1 (current choice): Use a list to store the history of UltiStudent states.
-
Pros: Easy for new Computer Science student undergraduates to understand, who are likely to be the new incoming developers of our project.
-
Cons: Logic is duplicated twice. For example, when a new command is executed, we must remember to update both
HistoryManager
andVersionedAddressBook
.
-
-
Alternative 2: Use
HistoryManager
for undo/redo-
Pros: We do not need to maintain a separate list, and just reuse what is already in the codebase.
-
Cons: Requires dealing with commands that have already been undone: We must remember to skip these commands. Violates Single Responsibility Principle and Separation of Concerns as
HistoryManager
now needs to do two different things.
-
3.2. [Proposed] Data Encryption
{Explain here how the data encryption feature will be implemented}
3.3. Logging
We are using java.util.logging
package for logging. The LogsCenter
class is used to manage the logging levels and logging destinations.
-
The logging level can be controlled using the
logLevel
setting in the configuration file (See Section 3.4, “Configuration”) -
The
Logger
for a class can be obtained usingLogsCenter.getLogger(Class)
which will log messages according to the specified logging level -
Currently log messages are output through:
Console
and to a.log
file.
Logging Levels
-
SEVERE
: Critical problem detected which may possibly cause the termination of the application -
WARNING
: Can continue, but with caution -
INFO
: Information showing the noteworthy actions by the App -
FINE
: Details that is not usually noteworthy but may be useful in debugging e.g. print the actual list instead of just its size
3.4. Configuration
Certain properties of the application can be controlled (e.g user prefs file location, logging level) through the configuration file (default: config.json
).
4. Documentation
We use asciidoc for writing documentation.
|
Note
|
We chose asciidoc over Markdown because asciidoc, although a bit more complex than Markdown, provides more flexibility in formatting. |
4.1. Editing Documentation
See UsingGradle.adoc to learn how to render .adoc
files locally to preview the end result of your edits.
Alternatively, you can download the AsciiDoc plugin for IntelliJ, which allows you to preview the changes you have made to your .adoc
files in real-time.
4.2. Publishing Documentation
See UsingTravis.adoc to learn how to deploy GitHub Pages using Travis.
4.3. Converting Documentation to PDF format
We use Google Chrome for converting documentation to PDF format, as Chrome’s PDF engine preserves hyperlinks used in webpages.
Here are the steps to convert the project documentation files to PDF format.
-
Follow the instructions in UsingGradle.adoc to convert the AsciiDoc files in the
docs/
directory to HTML format. -
Go to your generated HTML files in the
build/docs
folder, right click on them and selectOpen with
→Google Chrome
. -
Within Chrome, click on the
Print
option in Chrome’s menu. -
Set the destination to
Save as PDF
, then clickSave
to save a copy of the file in PDF format. For best results, use the settings indicated in the screenshot below.
4.4. Site-wide Documentation Settings
The build.gradle
file specifies some project-specific asciidoc attributes which affects how all documentation files within this project are rendered.
|
Tip
|
Attributes left unset in the build.gradle file will use their default value, if any.
|
| Attribute name | Description | Default value |
|---|---|---|
|
The name of the website. If set, the name will be displayed near the top of the page. |
not set |
|
URL to the site’s repository on GitHub. Setting this will add a "View on GitHub" link in the navigation bar. |
not set |
|
Define this attribute if the project is an official SE-EDU project. This will render the SE-EDU navigation bar at the top of the page, and add some SE-EDU-specific navigation items. |
not set |
4.5. Per-file Documentation Settings
Each .adoc
file may also specify some file-specific asciidoc attributes which affects how the file is rendered.
Asciidoctor’s built-in attributes may be specified and used as well.
|
Tip
|
Attributes left unset in .adoc files will use their default value, if any.
|
| Attribute name | Description | Default value |
|---|---|---|
|
Site section that the document belongs to.
This will cause the associated item in the navigation bar to be highlighted.
One of: * Official SE-EDU projects only |
not set |
|
Set this attribute to remove the site navigation bar. |
not set |
4.6. Site Template
The files in docs/stylesheets
are the CSS stylesheets of the site.
You can modify them to change some properties of the site’s design.
The files in docs/templates
controls the rendering of .adoc
files into HTML5.
These template files are written in a mixture of Ruby and Slim.
|
Warning
|
Modifying the template files in |
5. Testing
5.1. Running Tests
There are three ways to run tests.
|
Tip
|
The most reliable way to run tests is the 3rd one. The first two methods might fail some GUI tests due to platform/resolution-specific idiosyncrasies. |
Method 1: Using IntelliJ JUnit test runner
-
To run all tests, right-click on the
src/test/java
folder and chooseRun 'All Tests'
-
To run a subset of tests, you can right-click on a test package, test class, or a test and choose
Run 'ABC'
Method 2: Using Gradle
-
Open a console and run the command
gradlew clean allTests
(Mac/Linux:./gradlew clean allTests
)
|
Note
|
See UsingGradle.adoc for more info on how to run tests using Gradle. |
Method 3: Using Gradle (headless)
Thanks to the TestFX library we use, our GUI tests can be run in the headless mode. In the headless mode, GUI tests do not show up on the screen. That means the developer can do other things on the Computer while the tests are running.
To run tests in headless mode, open a console and run the command gradlew clean headless allTests
(Mac/Linux: ./gradlew clean headless allTests
)
5.2. Types of tests
We have two types of tests:
-
GUI Tests - These are tests involving the GUI. They include,
-
System Tests that test the entire App by simulating user actions on the GUI. These are in the
systemtests
package. -
Unit tests that test the individual components. These are in
seedu.ultistudent.ui
package.
-
-
Non-GUI Tests - These are tests not involving the GUI. They include,
-
Unit tests targeting the lowest level methods/classes.
e.g.seedu.ultistudent.commons.StringUtilTest
-
Integration tests that are checking the integration of multiple code units (those code units are assumed to be working).
e.g.seedu.ultistudent.storage.StorageManagerTest
-
Hybrids of unit and integration tests. These test are checking multiple code units as well as how the are connected together.
e.g.seedu.ultistudent.logic.LogicManagerTest
-
5.3. Troubleshooting Testing
Problem: HelpWindowTest
fails with a NullPointerException
.
-
Reason: One of its dependencies,
HelpWindow.html
insrc/main/resources/docs
is missing. -
Solution: Execute Gradle task
processResources
.
6. Dev Ops
6.1. Build Automation
See UsingGradle.adoc to learn how to use Gradle for build automation.
6.2. Continuous Integration
We use Travis CI and AppVeyor to perform Continuous Integration on our projects. See UsingTravis.adoc and UsingAppVeyor.adoc for more details.
6.3. Coverage Reporting
We use Coveralls to track the code coverage of our projects. See UsingCoveralls.adoc for more details.
6.4. Documentation Previews
When a pull request has changes to asciidoc files, you can use Netlify to see a preview of how the HTML version of those asciidoc files will look like when the pull request is merged. See UsingNetlify.adoc for more details.
6.5. Making a Release
Here are the steps to create a new release.
-
Update the version number in
MainApp.java
. -
Generate a JAR file using Gradle.
-
Tag the repo with the version number. e.g.
v0.1
-
Create a new release using GitHub and upload the JAR file you created.
6.6. Managing Dependencies
A project often depends on third-party libraries. For example, UltiStudent depends on the Jackson library for JSON parsing. Managing these dependencies can be automated using Gradle. For example, Gradle can download the dependencies automatically, which is better than these alternatives:
-
Include those libraries in the repo (this bloats the repo size)
-
Require developers to download those libraries manually (this creates extra work for developers)
Appendix A: Suggested Programming Tasks to Get Started
Suggested path for new programmers:
-
First, add small local-impact (i.e. the impact of the change does not go beyond the component) enhancements to one component at a time. Some suggestions are given in Section A.1, “Improving each component”.
-
Next, add a feature that touches multiple components to learn how to implement an end-to-end feature across all components. Section A.2, “Creating a new command:
remark
” explains how to go about adding such a feature.
A.1. Improving each component
Each individual exercise in this section is component-based (i.e. you would not need to modify the other components to get it to work).
Logic
component
Scenario: You are in charge of logic
. During dog-fooding, your team realize that it is troublesome for the user to type the whole command in order to execute a command. Your team devise some strategies to help cut down the amount of typing necessary, and one of the suggestions was to implement aliases for the command words. Your job is to implement such aliases.
|
Tip
|
Do take a look at Section 2.3, “Logic component” before attempting to modify the Logic component.
|
-
Add a shorthand equivalent alias for each of the individual commands. For example, besides typing
clear
, the user can also typec
to remove all persons in the list.
Model
component
Scenario: You are in charge of model
. One day, the logic
-in-charge approaches you for help. He wants to implement a command such that the user is able to remove a particular tag from everyone in the UltiStudent, but the model API does not support such a functionality at the moment. Your job is to implement an API method, so that your teammate can use your API to implement his command.
|
Tip
|
Do take a look at Section 2.4, “Model component” before attempting to modify the Model component.
|
-
Add a
removeTag(Tag)
method. The specified tag will be removed from everyone in the UltiStudent.
Ui
component
Scenario: You are in charge of ui
. During a beta testing session, your team is observing how the users use your UltiStudent application. You realize that one of the users occasionally tries to delete non-existent tags from a contact, because the tags all look the same visually, and the user got confused. Another user made a typing mistake in his command, but did not realize he had done so because the error message wasn’t prominent enough. A third user keeps scrolling down the list, because he keeps forgetting the index of the last person in the list. Your job is to implement improvements to the UI to solve all these problems.
|
Tip
|
Do take a look at Section 2.2, “UI component” before attempting to modify the UI component.
|
-
Use different colors for different tags inside person cards. For example,
friends
tags can be all in brown, andcolleagues
tags can be all in yellow.Before
After
-
Modify
NewResultAvailableEvent
such thatResultDisplay
can show a different style on error (currently it shows the same regardless of errors).Before
After
-
Modify the
StatusBarFooter
to show the total number of people in the UltiStudent.Before
After
Storage
component
Scenario: You are in charge of storage
. For your next project milestone, your team plans to implement a new feature of saving the UltiStudent to the cloud. However, the current implementation of the application constantly saves the UltiStudent after the execution of each command, which is not ideal if the user is working on limited internet connection. Your team decided that the application should instead save the changes to a temporary local backup file first, and only upload to the cloud after the user closes the application. Your job is to implement a backup API for the UltiStudent storage.
|
Tip
|
Do take a look at Section 2.5, “Storage component” before attempting to modify the Storage component.
|
-
Add a new method
backupAddressBook(ReadOnlyAddressBook)
, so that the UltiStudent can be saved in a fixed temporary location.
A.2. Creating a new command: remark
By creating this command, you will get a chance to learn how to implement a feature end-to-end, touching all major components of the app.
Scenario: You are a software maintainer for addressbook
, as the former developer team has moved on to new projects. The current users of your application have a list of new feature requests that they hope the software will eventually have. The most popular request is to allow adding additional comments/notes about a particular contact, by providing a flexible remark
field for each contact, rather than relying on tags alone. After designing the specification for the remark
command, you are convinced that this feature is worth implementing. Your job is to implement the remark
command.
A.2.1. Description
Edits the remark for a person specified in the INDEX
.
Format: remark INDEX r/[REMARK]
Examples:
-
remark 1 r/Likes to drink coffee.
Edits the remark for the first person toLikes to drink coffee.
-
remark 1 r/
Removes the remark for the first person.
A.2.2. Step-by-step Instructions
[Step 1] Logic: Teach the app to accept 'remark' which does nothing
Let’s start by teaching the application how to parse a remark
command. We will add the logic of remark
later.
Main:
-
Add a
RemarkCommand
that extendsCommand
. Upon execution, it should just throw anException
. -
Modify
AddressBookParser
to accept aRemarkCommand
.
Tests:
-
Add
RemarkCommandTest
that tests thatexecute()
throws an Exception. -
Add new test method to
AddressBookParserTest
, which tests that typing "remark" returns an instance ofRemarkCommand
.
[Step 2] Logic: Teach the app to accept 'remark' arguments
Let’s teach the application to parse arguments that our remark
command will accept. E.g. 1 r/Likes to drink coffee.
Main:
-
Modify
RemarkCommand
to take in anIndex
andString
and print those two parameters as the error message. -
Add
RemarkCommandParser
that knows how to parse two arguments, one index and one with prefix 'r/'. -
Modify
AddressBookParser
to use the newly implementedRemarkCommandParser
.
Tests:
-
Modify
RemarkCommandTest
to test theRemarkCommand#equals()
method. -
Add
RemarkCommandParserTest
that tests different boundary values forRemarkCommandParser
. -
Modify
AddressBookParserTest
to test that the correct command is generated according to the user input.
[Step 3] Ui: Add a placeholder for remark in PersonCard
Let’s add a placeholder on all our PersonCard
s to display a remark for each person later.
Main:
-
Add a
Label
with any random text insidePersonListCard.fxml
. -
Add FXML annotation in
PersonCard
to tie the variable to the actual label.
Tests:
-
Modify
PersonCardHandle
so that future tests can read the contents of the remark label.
[Step 4] Model: Add Remark
class
We have to properly encapsulate the remark in our Person
class. Instead of just using a String
, let’s follow the conventional class structure that the codebase already uses by adding a Remark
class.
Main:
-
Add
Remark
to model component (you can copy fromAddress
, remove the regex and change the names accordingly). -
Modify
RemarkCommand
to now take in aRemark
instead of aString
.
Tests:
-
Add test for
Remark
, to test theRemark#equals()
method.
[Step 5] Model: Modify Person
to support a Remark
field
Now we have the Remark
class, we need to actually use it inside Person
.
Main:
-
Add
getRemark()
inPerson
. -
You may assume that the user will not be able to use the
add
andedit
commands to modify the remarks field (i.e. the person will be created without a remark). -
Modify
SampleDataUtil
to add remarks for the sample data (delete yourdata/addressbook.json
so that the application will load the sample data when you launch it.)
[Step 6] Storage: Add Remark
field to JsonAdaptedPerson
class
We now have Remark
s for Person
s, but they will be gone when we exit the application. Let’s modify JsonAdaptedPerson
to include a Remark
field so that it will be saved.
Main:
-
Add a new JSON field for
Remark
.
Tests:
-
Fix
invalidAndValidPersonAddressBook.json
,typicalPersonsAddressBook.json
,validAddressBook.json
etc., such that the JSON tests will not fail due to a missingremark
field.
[Step 6b] Test: Add withRemark() for PersonBuilder
Since Person
can now have a Remark
, we should add a helper method to PersonBuilder
, so that users are able to create remarks when building a Person
.
Tests:
-
Add a new method
withRemark()
forPersonBuilder
. This method will create a newRemark
for the person that it is currently building. -
Try and use the method on any sample
Person
inTypicalPersons
.
[Step 7] Ui: Connect Remark
field to PersonCard
Our remark label in PersonCard
is still a placeholder. Let’s bring it to life by binding it with the actual remark
field.
Main:
-
Modify
PersonCard
's constructor to bind theRemark
field to thePerson
's remark.
Tests:
-
Modify
GuiTestAssert#assertCardDisplaysPerson(…)
so that it will compare the now-functioning remark label.
[Step 8] Logic: Implement RemarkCommand#execute()
logic
We now have everything set up… but we still can’t modify the remarks. Let’s finish it up by adding in actual logic for our remark
command.
Main:
-
Replace the logic in
RemarkCommand#execute()
(that currently just throws anException
), with the actual logic to modify the remarks of a person.
Tests:
-
Update
RemarkCommandTest
to test that theexecute()
logic works.
A.2.3. Full Solution
See this PR for the step-by-step solution.
Appendix B: Product Scope
Target user profile:
-
has a need to manage a significant number of contacts
-
prefer desktop apps over other types
-
can type fast
-
prefers typing over mouse input
-
is reasonably comfortable using CLI apps
Value proposition: manage contacts faster than a typical mouse/GUI driven app
Appendix C: User Stories
Priorities: High (must have) - * * *
, Medium (nice to have) - * *
, Low (unlikely to have) - *
| Priority | As a … | I want to … | So that I can… |
|---|---|---|---|
|
new user |
see usage instructions |
refer to instructions when I forget how to use the App |
|
user |
add a new person |
|
|
user |
delete a person |
remove entries that I no longer need |
|
user |
find a person by name |
locate details of persons without having to go through the entire list |
|
user |
hide private contact details by default |
minimize chance of someone else seeing them by accident |
|
user with many persons in the UltiStudent |
sort persons by name |
locate a person easily |
{More to be added}
Appendix D: Use Cases
(For all use cases below, the System is the AddressBook
and the Actor is the user
, unless specified otherwise)
Use case: Delete person
MSS
-
User requests to list persons
-
AddressBook shows a list of persons
-
User requests to delete a specific person in the list
-
AddressBook deletes the person
Use case ends.
Extensions
-
2a. The list is empty.
Use case ends.
-
3a. The given index is invalid.
-
3a1. AddressBook shows an error message.
Use case resumes at step 2.
-
{More to be added}
Appendix E: Non Functional Requirements
-
Should work on any mainstream OS as long as it has Java
9
or higher installed. -
Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage.
-
A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse.
{More to be added}
Appendix F: Glossary
Appendix G: Product Survey
Product Name
Author: …
Pros:
-
…
-
…
Cons:
-
…
-
…
Appendix H: Instructions for Manual Testing
Given below are instructions to test the app manually.
|
Note
|
These instructions only provide a starting point for testers to work on; testers are expected to do more exploratory testing. |
H.1. Launch and Shutdown
-
Initial launch
-
Download the jar file and copy into an empty folder
-
Double-click the jar file
Expected: Shows the GUI with a set of sample contacts. The window size may not be optimum.
-
-
Saving window preferences
-
Resize the window to an optimum size. Move the window to a different location. Close the window.
-
Re-launch the app by double-clicking the jar file.
Expected: The most recent window size and location is retained.
-
{ more test cases … }
H.2. Deleting a person
-
Deleting a person while all persons are listed
-
Prerequisites: List all persons using the
list
command. Multiple persons in the list. -
Test case:
delete 1
Expected: First contact is deleted from the list. Details of the deleted contact shown in the status message. Timestamp in the status bar is updated. -
Test case:
delete 0
Expected: No person is deleted. Error details shown in the status message. Status bar remains the same. -
Other incorrect delete commands to try:
delete
,delete x
(where x is larger than the list size) {give more}
Expected: Similar to previous.
-
{ more test cases … }
H.3. Saving data
-
Dealing with missing/corrupted data files
-
{explain how to simulate a missing/corrupted file and the expected behavior}
-
{ more test cases … }


--- title: "Author Bio" type: profiles module: _includes/page-author.html scss: _assets/stylesheets/_page.scss usage: "Author details shown with an avatar and short biography." ---
Just another boring, tattooed, time traveling designer from Buffalo. I enjoy eating chicken wings and sketching on an iPad. More about me.


Passionate
Whether it's programming, music, or video game design, I love opportunities to fully immerse myself in new concepts and skill sets. My drive as a developer stems from my passion to absorb any information I can get my hands on.
In August of 2019, I began learning software development skills at CodeCrew Code School. After 6 months of continuously learning new languages and frameworks every 3-4 weeks, I proved to myself and those around me that I have the ability to adapt to any environment I'm thrown into and pick up new knowledge quickly.
Adaptable
Multifaceted
From receiving my bachelor's degree in music performance at Austin Peay State University to graduating from CodeCrew Code School, I'm always looking to expand my repertoire of skills. Versatility is an important characteristic of any person, whether they are working independently or with larger groups. I take pride in my ability to offer a unique perspective to any work environment.


This application is designed to run in mobile devices that support WebGL
Ball bouncing survival game built on top of Unity written in C#
This project is initiated as a class assignment of CSCI 526 - Advanced Mobile Devices and Game Consoles at the University of Southern California in the summer of 2020.
Contact Tracers is a survival game. It involves different kinds of healthy balls that bounce in random directions within the screen.  Players should make sure that the healthy ball doesn’t get in contact with the deadly virus by either moving away from it or protect it by freezing a healthy ball to a safe ball. An infected ball can be cured using a cure ball, which moves in random directions and appears for every 10 seconds throughout the game. Your goal is to score enough to move to the next level.
Arcade / Strategy
Survive each level by keeping the number of infected balls below the threshold until the time runs out
COVID-19 pandemic has swept through nations across the world in 2020, and has posed an unprecedented crisis. The virus is primarily transmitted through close contact amongst people. Various preventive measures and containment methodologies have been proposed. A multitude of governments, most notably, have encouraged wearing face masks, social distancing and in some cases conducted contact tracing.
Contact Tracers was designed in this time of intense difficulty. Players are expected to isolate one or more entities from the rest, and keep track of who is infected. As demonstrated in the game play, battling an infectious disease does involve a collaborative effort of all the members. Raising awareness, in this sense, can be one of the crucial components of limiting the number of cases.
Draw a line between the virus and a healthy ball to move away from the virus Draw a circle around a healthy ball to freeze it and protect from viruses.
A Cure ball moves in random directions and appears for every 10 seconds during the game. Upon collision with an infected ball, it transforms the infected ball to a healthy one.
Players can draw a circle around any healthy ball to freeze it and keep it safe from viruses. Note that only, only two balls can be frozen at a time.
At the end of each level,


This game is simply known as environmental consequences. Every action you take will have an effect. During the course of this game you will alternate being multiple characters in a small community. There are no right or wrong answers here.
Press the button below to continue:


--- title: Blacklisting in InstantClick ---
Some links need not to be preloaded with InstantClick. Blacklisting allows you to do that.
What to blacklist, and to NOT whitelist:
<head>
.
Some links are already blacklisted internally, and can’t be whitelisted:
target
or download
attribute.
To blacklist a link, add it a data-no-instant
attribute.
| 1 |
|
It may sometimes be more convenient to blacklist a group of links, instead of adding data-no-instant
attributes to all of them.
To blacklist all links in a parent element, add data-no-instant
to that element.
If you’ve blacklisted a parent element and would like to whitelist a link (or all the links in a sub-parent), add a data-instant
attribute to that link or sub-parent.
What’s happening behind the scenes is InstantClick goes through all the parent elements, from the current link to <html>
, if it finds a data-no-instant
attribute it considers the link blacklisted and stops looping through the parents. If it finds a data-instant
it considers the link whitelisted.
If you’d like to blacklist all links by default, and then whitelist links one by one, or whitelist only links in a container, add a data-no-instant
attribute to the <body>
and a data-instant
attribute to the container/links.
The following is deprecated and will likely be removed in 4.0. It’s only useful to know if you’re dealing with a website that has it activated (the true
argument is passed to InstantClick.init
).
The Correct Way™: If you want to accomplish the same as the whitelist mode, just add data-no-instant
to your <body>
, as described in “Whitelist a link or group of links”.
The whitelist mode is enabled by passing a true
argument to InstantClick.init
.
| 1 2 3 4 5 |
|


This applications sync to your Google Calendar and gives you useful information about your meeting schedule. Click the button below to proceed.
{{item.summary}}
{{(formatDate(item.start.dateTime))}}


Referer
| Referer | Type | Count |
|---|---|---|
| Nobody has viewed your profile in the last 7 days | ||
| {{ item.referer }} | {{ item.type }} | {{ item.count }} |
New vs Returning Visitors
| Type | Count |
|---|---|
| Nobody has viewed your profile in the last 7 days | |
| {{ item.firstTime? 'New' : 'Returning' }} | {{ item.count }} |


XStream is used in a lot of commercial and open source projects and is used in production since years.
Bamboo is build server for continuous integration and release management. Note, XStream itself used Bamboo at former Codehaus for continuous integration.
Confluence is an enterprise wiki that makes it easy for your team to collaborate and share knowledge.
Jenkins CI is also a build server for continuous integration and release management.
The Apache Muse Project is a Java-based implementation of the WS-ResourceFramework (WSRF), WS-BaseNotification (WSN), and WS-DistributedManagement (WSDM) specifications. It is a framework upon which users can build web service interfaces for manageable resources without having to implement all of the "plumbing" described by the aforementioned standards. Applications built with Muse can be deployed in both Apache Axis2 and OSGi environments, and the project includes a set of command line tools that can generate the proper artifacts for your deployment scenario.
The scope of the NanoContainer project is to complement the PicoContainer project, providing it with additional functionality. The project comprises of several components which can either be adoptions in various guises of PicoContainer (e.g. composition by-class-name rather than by-class), or adaptations to external components bringing them closer to the Dependency Injection ideal - particularly Constructor Injection.
Murq is a persistence framework with an emphasis on simplicity. It is also capable of storing binary data and meta data, supports search functionality and makes internationalization seamless.
XBird is a light-weight XQuery processor and database system written in Java. The light-weight means reasonably fast and embeddable. It uses the XStream persistence API for object persistence
EJOE is a lightweight Java remoting framework built to send and receive objects through pluggable (de)serialization mechanisms. XStream provides the default (de)serialization mechanism.
OpenCraft is an alternative/custom Minecraft server, written in Java, compatible with the original protocol. XStream provides the persistence layer.
jBossESB is the next generation of EAI - better and without the vendor-lockin characteristics of old. It uses a flexible architecture based on SOA principles such as loose-coupling and asynchronous message passing, emphasizing an incremental approach to adopting and deploying an SOI. XStream can be used as one possibility for the messaging part.
Restlet is a lightweight REST framework for Java that lets you embrace the architecture of the Web and benefit from its simplicity and scalability. By leveraging our innovative REST engine, you can start blending your Web Sites and Web Services into uniform Web Applications!
The framework uses XStream as extension for a representation of objects in XML or JSON and a ConverterService based on this functionality.
ActiveSOAP is a lightweight & easily embeddable REST and SOAP stack based on StAX with support for WS-Addressing and WSIF. ActiveSOAP uses StAX (the Standard API for pull parsing) to implement the SOAP protocols and then it delegates to plugin Handler objects for the heavy duty processing of the XML payloads. This means that you only need to pay for what you need; use fast pull based event parsing or full data binding mechanisms like JAXB or XStream or DOMish APIs like XMLBeans when they make sense.
Mule is the leading open source ESB (Enterprise Service Bus) and integration platform. It is a scalable, highly distributable object broker that can seamlessly handle interactions with services and applications using disparate transport and messaging technologies. Transformers are used to convert inbound data to an object type required by the UMO Component or outbound to an object type required by the transport such as a JmsMessage. Mule uses Transformers to convert event data between the different endpoints. They can be configured on endpoints that receive data to ensure that the expected object type is always received by a Mule Component. XStream is used for standard XML to Java object transformation.
Blojsom is Java-based, full-featured, multi-blog, multi-user software package that was inspired by blosxom. blojsom aims to retain a simplicity in design while adding flexibility in areas such as the flavors, templating, plugins, and the ability to run multiple blogs with a single blojsom installation. XStream is used for export.
FlatTree is a Java library for reading and writing of flat files: CSV, FLR (fixed length record) or mixed structures. It features a tree-style processing API, adapters for SAX, Stax and XStream for transformation, data binding or serialization.


My name is John, and I'm a freelance web developer and computer programmer.
I hail from the Land of Enchantment, but I currently reside in Trappe, Pennsylvania.
After spending a few years bouncing between majors in college, I decided to give programming a try. I took two semesters of classes loaded with as much code as possible and finally realized that my weirdly list-like logical thinking and my desire to build things did have a home.
Subsequently fed up with the spoon-feeding method of university instruction, I made the decision to attend the Coder Camps C#/.NET Full-Stack Web Development Bootcamp. That combination of specialized training and my concrete background in everything from biology and chemistry to Shakespeare and stand-up comedy help me to develop things that people love. I used to be a physical trainer and a well-established server and bartender, but I've finally landed in the tech industry where I belong.
Let me show you what I can do;
September 2015 - Present
Coder Camps Full-Stack C# Development Bootcamp
August 2012 - May 2015
Central New Mexico Community College
Computer Science conc. Computer Programming
August 2011 - May 2012
University of New Mexico
School of Engineering
Feel free to email me with questions, comments or just to say hello!


{% extends 'main/base.html' %} {% load static %} {% block head_title %} Welcome | {{block.super}} {% endblock %} {% block jumbotron %}
During the design of an fMRI experiment, many parameters have to be decided prior to any data collection. Examples include: sample size, order of stimuli, timing of stimuli,... These parameters all have an effect on the outcome. A good design will optimise the balance between the power and the cost of the study. The results from a well planned design are more trustworthy and reproducible than any (pseudo-) random design.
This website is a collection of small toolboxes to help design an fMRI study. NeuroPower helps deciding on the sample size, while NeuroDesign finds optimal order and spacing of stimuli.
Everything happens online, so there's no need to download or install anything. Try it out now, or be sure to check back for our newest developments.
Update Oct 11, 2020:
The server is currently under maintenance. Something went wrong, and it makes little sense to revive the latest online version. Neuropower really needs a big update/rewrite. We (actually me, this is still a 1 person project tbh) are working on an update. This update has several goals:
NeuroPower is a toolbox that allows you to compute the necessary sample size for your fMRI study to obtain a certain level of statistical power. Our method can be used for whole-brain analyses, as well as for region-of-interest analyses. All you need is a statistical map and some information about the research. Try it here.
NeuroDesign searches for an experimental design to help researchers obtain the optimal detection power or estimation effeciency. The method is based on a Genetic Algorithm to optimize different optimisation goals.


[§708-892.6] Computer damage in the third degree. (1) A person commits the offense of computer damage in the third degree if the person knowingly accesses a computer, computer system, or computer network without authorization and thereby recklessly causes damage.
(2) Computer damage in the third degree is a class C felony. [L 2014, c 213, §1]


{% extends "layout.html" %} {% set title = 'Overview' %} {% block body %}
RMG is an automatic chemical reaction mechanism generator that constructs kinetic models composed of elementary chemical reaction steps using a general understanding of how molecules react.
The original RMG, written in Java, is described at http://rmg.sourceforge.net/ and developed on github as RMG-Java.
These pages describe the newer Python version of RMG that we call RMG-Py. It is developed on github as RMG-Py.
RMG is free, open-source software, and is under active and ongoing development. If you are interested in assisting with its development, please let us know. While you are free to use/modify RMG components as you wish, we would like to co-ordinate with you. Please contact Professor William H. Green or the The RMG Development Team for further information.|
User's Guide Developer's Guide Theory Guide API Reference |
Contents Search page General Index Module Index |


Landing Page
Special Projects
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.
TAYLOR JOHNSTON
05.25.17
Alden Library is sometimes noisy, full of students who often have food and drinks, but it’s also one of the largest research libraries in North America.
With more students using the library now than in recent years, Alden Library will undergo three construction projects this summer to make it more accessible to more students and different types of learners.
“As all the students will see when they come back in the fall … we try to accommodate a lot of different learners and the types of learning spaces they want,” Kelly Broughton, assistant dean for Research and Education Services, said. “We have group rooms, open group spaces. We try to have quiet space as much as possible.”
In the first of the projects, the fourth floor will open 24 hours five days a week starting Fall Semester. By adding overnight swipe access to the building, the library will be able to keep the second and fourth floors open 24 hours Sunday through Thursday.
That change, however, will make renovations to the bathrooms on the fourth floor necessary since they will have to accommodate students during all hours of the day.
Emily Matthews | FILE
A portion of the second floor of Alden Library is closed for the first phase of renovations.
Another project happening is that the Academic Advancement Center will move from the first floor to the second floor to be more accessible and visible to students.
“They help students with their study skills so whether you’re struggling in a chemistry class or you’re a junior who wants to boost their GPA up a couple of points so you’re getting into a better law school, they’re there to help,” Scott Seaman, dean of Ohio University Libraries, said.
The Academic Advancement Center move and the renovations on the fourth floor will cost a total of $2.1 million. About $1.8 million of that money will be used to relocate the Academic Advancement Center, and the remainder will be used on the restrooms on the fourth floor.
“The remainder of that is going to electrical and plumbing work on the fourth floor so that we will have restrooms available in the middle of the night for students,” Seaman said.
Additionally, the fifth floor will receive new carpeting and furniture to promote quiet study and individual work. That project will cost about $110,000, and it will be paid by donor dollars.
“The second floor is pretty loud,” he said. “The fourth floor is medium loud. This space will be deep quiet. I think this space on the fifth floor is going to turn out really, really well. The views from the fifth floor are terrific.”
As the last project to be finished by Fall Semester, Alden Library will implement a chat service where students can chat or text a librarian if they need help. The librarian then will come to the student who needs help, whether they are on a laptop, desktop or wherever in the library.
“They can text us and we’ll come to them,” Broughton said. “I think that’s the most important thing for (students) to know. It can be overwhelming and scary, but we’re here to help.”
The projects are to be completed in early August before students return to campus, Greg Robertson, associate vice president for Architecture, Design & Construction, said.
“We try to finish our construction projects before the students return to minimize disruption,” he said. “If there’s anyway we can get it in, we will. Otherwise you might see some work going on.”
Back to The Orientation GuideLanding Page
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.


Since 1955, we’ve been proud to serve the world some of its favorite food. And along the way, we’ve managed not just to live history, but create it: from drive-thru restaurants to Chicken McNuggets to college credits from Hamburger U and much more. It’s been quite the journey, and we promise this is just the beginning-we’ve got our hearts set on making more history.


Washing, Waxing & Buffing Tile Floors
Washing, Extracting, Shampooing Carpets & Upholstery Floors
604-897-6025
Open Today 9:00 am - 9:00 pm
<EMAIL_ADDRESS>Washing, Waxing & Buffing Tile Floors
Washing, Extracting, Shampooing Carpets & Upholstery Floors
Sidings and Front Deck Cleaning
Wash, Wax and Interior Polish
Removal of dust and sanitization of vents for better airflow
Detailed Cleaning, Excessive Water Removal, Eco-Fresh Odour Removal
Check out some of our works!
We would love to hear from you!
Our Powerful Truck Mounted that can provide 'Deep Steam Cleaning Services'. We also offer Carpet & Upholstery-Stain, Dirt, Allergen Odour Removal. With free deodorizing, we make sure your carpets are free from germs, bacteria and dust mites. Steam cleaning services are also available for rugs, door mats and Vehicles.


Honor V30 photo sample disclosed by Honor - Gizchina.com
by Marco LancasterHonor V30 photo sample disclosed by Honor
5 (100%) 1 vote
Honor doesn’t seem to be shy with its upcoming Honor V30 series. With the device’s arrival coming closer, the company started to disclose some teasers for it. Earlier today, we same two short video clips showcasing the phone’s triple camera array as well as its 5G capabilities. Now, Huawei’s subsidiary decided to publish a photo sample via Weibo.
The teaser is available on Honor’s official Weibo account if you’re familiar with the Chinese social media. The camera sample offers a glimpse at the type of photos we can expect from the Honor V30. That said, we can see a beautiful shot that seems to have accurate colors and is rich in details. However, it’s impossible to really state the quality of the referred camera as well as the size of the snapper since the image has been resized to 8MP.
Judging by rumors, the Honor V30 and its V30 Pro sibling will come with a 60MP sensor. This sensor will be a first among Huawei and Honor smartphones. It would be a massive upgrade over the last year’s Honor V20 which shipped with a 48MP main sensor.
In light of this teaser campaign, a storefront with Honor V30 promotional material was disclosed in China (via SlashLeaks). Unfortunately, it doesn’t give out much information outside of the 5G connectivity. The Honor V30 and 30 Pro will be announced on November 26, but we believe that more leaks will pop-out until the release.


{% extends "base.html" %} {% block content %}
{% trans %}403 Permission denied - Sorry, it seems you do not have permissions to access this page.{% endtrans %}
{% trans %}If you think it is a mistake, please contact an administrator.{% endtrans %}
{% trans %}If you are an administrator and think this is a mistake, please contact us.{% endtrans %}
{% trans %}We do our best to reply to each request individually within 24 hours. Thank you!{% endtrans %}


Select - Labels
Gender
Female
Male
Hair Color
Brown
Empty Value
Black
Red
Hair Color
Brown
Blonde
Black
Red
Hair Color
Brown
Blonde
Black
Red


Welcome to the
Click here for more about
this website
Click here to go to the MCHS
website
Click here to go to the MCC
of OGS website
|
CDs of
important |
1848
Adams, John Quincy Adams
Spirit of Democracy,
It becomes the melancholy duty of the press of this
country, to announce the death of the venerable ex-President, JOHN QUINCY
ADAMS.
This mournful event took place in Speaker s room, at the
Capitol, on Wednesday evening, the 23d ult., at twenty minutes past
The National Intelligencer, of the 21st, thus
notices the illness of Mr. Adams.
Just after the yeas and nays were taken on a question, and
the Speaker had risen to put another question to the House, a sudden cry was
heard on the left of the chair, Mr. Adams is dying! Turning our eyes to the
spot, we behold the venerable man in the act of falling over the left arm of
his chair, while his right arm was extended, grasping his desk for support. He
would have dropped upon the floor had he not been caught in the arms of the
member sitting next him. A great sensation was created in the House; members
from all quarters rushing from their seats and gathering round the fallen
statesman, who was immediately lifted into the area in front of the clerk s
table.
The Speaker instantly suggested that some gentleman move an
adjournment, which being promptly done, the House adjourned.
A sofa was brought, and Mr. Adams, in a state of perfect
helplessness, though not entire insensibility was gently laid upon it. The sofa
was then taken up to the Rotunda, where it was set down and the members of both
Houses and strangers who were fast crowding around were with some difficulty
repressed and an open space cleared in its immediate vicinity; but a medical
gentleman, a member of the House, (who was prompt, active, and self possessed
throughout the whole painful scene,) advised that he be removed to the door of
the Rotunda opening on the east portico, where a fresh wind was blowing. This
was done; but the air being chilly and loaded with vapor, the sofa was, at the
suggestion of Mr. Winthrop, once more taken up and removed to the Speaker s
apartment, the doors of which were forthwith closed to all but professional gentlemen,
several of whom arrived in succession as the news spread into the city.
While lying in this apartment, Mr. Adams partially
recovered the use of his speech and observed, in faltering accents, This is
the end of earth, but quickly added, I am composed. ---
Members had by this time reached Mr. A. s abode with the
melancholy intelligence, and, soon after, Mrs. Adams and his nephew and niece
arrived and made their way to the appalling scene. Mrs. A. was deeply affected,
and for some moments quite prostrated by the sight of her husband, now
insensible, the palor of death upon his countenance, and those sad
premonitories fast making their appearance which fall with such a chill upon
the heart.
The
Adams, John Quincy
Spirit of Democracy,
The mournful and deeply impressive event, the anticipation
of which, during the last three days, has created so profound an emotion
through our community, and almost wholly suspended the legislative business of
the country, has come at last, in the Speaker s room of the House of
Representatives, at twenty minutes past seven o clock this evening.
The manner and the circumstances of the death of
this illustrious and venerable patriot and statesman form the fitting close of
a life devoted even from early boyhood to the service of his country. His
public career commenced in 1781, when he was but fifteen years of age. At that
time he acted as secretary to one of the American legatious. Since then during
a period of sixty-seven years he has been constantly, almost without a single
interval, in public official stations.
The last solemn visitation of
Crowned with his country s
highest honors representing to a younger generation the old Heroic Age of our
republic the last venerated survivor of the chief magistrates of our
revolutionary era as if to the end that the great example of his life might be
most conspicuous and impressive, his spirit has passed away, as it were before
the eyes of his assembled countrymen, from the very midst of those halls of
national council, wherein, by his commanding participation in the labors of two
generations of statesmen, he had achieved his great and worldwide renown!
Mr. Adams was born on
Every mark of respect will be
paid to his memory.
Adams, John Quincy
Spirit of Democracy,
The remains of ex-President Adams have been conveyed to
their final resting place, at
The processions formed at the various cities, through which
the remains passed, were grand and impressive.
Addis, Joseph Addis
Spirit of Democracy,
Died At his residence in this
township, on Saturday last, MR. JOSEPH ADDIS, aged 28 years.
Ashley,
Spirit of Democracy,
The Union of Sunday says: It is with profound regret that
we have to state the death of Chester Ashley, esq., one of the
He was walking about in perfectly apparent health on
Monday, was attacked on Tuesday, and is now no more. This rapid and melancholy
event has filled both Houses of Congress and this whole community with the
deepest commiseration.
Yesterday the Senate was but a short time in session, and
adjourned out of respect to their dying colleague. In an hour afterwards he
breathed his last. Very soon after the melancholy tidings was
received at the House, they too adjourned.
General Ashley was an influential and respectable member of
the dignified body to which he has belonged for several years. He was Chairman
of the Judiciary Committee; and his voice, though not often heard in the chamber,
was always heard with respect.
He was beloved in his domestic circle, and
amiable in his private relations. We cannot adequately express the sympathy
which the whole community feel for his amiable wife
and daughter, who administered the last offices of love to the expiring
Senator. We leave it to his other friends to sketch his political life, and do
full justice to his portrait.
It is a remarkable
circumstance, that one of the Senators from
Astor, John Jacob Astor
Spirit of Democracy,
John Jacob Astor, the wealthiest capitalist of the
Barker, James Barker
Spirit of Democracy,
MR. JAMES BARKER, a revolutionary soldier, died a few days
since at
Three years ago last 4th July
the old gentleman dined with President Polk, and received great honorary
attentions.
Barnes, Isaac Barnes
Spirit of Democracy,
On Wednesday morning last, at his residence in
Barrett, David Barrett
Spirit of Democracy,
At the residence of his father, in this
township, on the 3d. inst, DAVID BARRETT, aged
20 years and two months.
The deceased called his relatives around him, a short time
previous to his death, and informed them that his time on earth was but short.
He bid the all an affectionate farewell; saying that his mother would soon
follow him and died singing and praying. (COM)
Bottenfield, Samuel Bottenfield
Spirit of Democracy,
Died On Thursday morning, the 23d ult., at his residence in
Perry township, in this county, Rev. Samuel
Bottenfield, aged about 56 years.
It becomes our painful duty to announce the decease of this
worthy and devoted Christian. Seldom has that fell monster, death, snatched
from our midst one who has been longer or more
favorably known to the citizens of this county than the subject of this notice.
As a citizen he was beloved and
esteemed by all who knew him as a husband, tender and affectionate as a parent,
kind and benevolent as a Christian, devoted and pious and as a minister of the
holy religion of Jesus, firm and steadfast. Long, very long, will it be ere the
deceased, and the many virtues which characterized his life, are forgotten by
the neighborhood in which he lived; or indeed, by any who had the pleasure of
his acquaintance.
He leaves an affectionate
wife, and a large family, to mourn his loss; but they sorrow not as those who
are without hope.
Yes, the Christian s course is run,
Ended in
his glorious strife,
Fought the fight, the work is done,
Death is
swallow d up in life!
Borne by angels on their wings,
Far from
earth the spirit lies;
Finds his God, and sits and sings,
Triumphing in Paradise.
.
Born into the world above,
They our
happy brothers greet;
Bear
him to the throne of love,
Place him at the Savior s feet:
Jesus
smiles, and says, `Well done,
Good and faithful servant thou?
Enter,
and receive thy crown,
Reign with me triumphant now.
Cain, Riley Cain
Spirit of Democracy,
Died At the residence of his
brother-in-law, James Kiger, in Clarington, on the 4th inst MR. RILEY CAIN, in the 22d year of
his age. He was the youngest son of Richard and Hannah Cain, who are among the
oldest and most estimable of our citizens.
The deceased was a young man of excellent moral character,
and has left a large circle of friends, to mourn his early loss.
He had never united himself to any church, yet he was firm
in the opinion that he was going to the arms of his Redeemer, where he would
finally meet, not only his own friends, but the whole human family. O.C.
Cake, Harriet Cake
Spirit of Democracy,
In Sistersville, Va., on the 6th
ult, in the 25th year of age, MRS. HARRIET CAKE, wife of the Rev. B.
T. Cake.
Chase, Mrs. Samuel Chase
Spirit of Democracy,
MRS. CHASE, relict of Samuel Chase, one of the signers of
the Declaration of Independence, died in
Coats, Geo. A. Coats
Spirit of Democracy,
Died On the 8th inst.
at the residence of his father, in Centre tp., GEO. A. COATS, aged 23 years.
Cree, Isabella Cree
Spirit of Democracy,
Died On Sunday last, very suddenly, at the house of Mr. J.
Gibson, in this township, Mrs. Isabella Cree, relict of the late James Cree,
Sen., aged 86 years.
Cree, Isabella Cree
Spirit of Democracy,
Died On Sunday last, very suddenly, at the house of Mr. J.
Gibson, in this township, Mrs. Isabella Cree, relict of the late James Cree,
Sen., aged 86 years.
Dennis, Arminda Dennis
Spirit of Democracy,
Died On Tuesday morning last, at the residence of Mr. Isaac
Smith, in this place, Miss Arminda Dennis, daughter of Isaac Dennis, of
Dillon, Mary Dillon
Spirit of Democracy,
Died Departed this life
Dye, Isaac Newton Dye
Spirit of Democracy,
Died On Friday, the 29th ult., ISAAC NEWTON, son
of John L. and Sarah Jane Dye, aged 1 year, 9 months and 11 days.
As vernal flowers that scent the morn,
But wither
in the rising day,
Thus was this infant s lovely dawn
Thus swiftly fled his life away.
.
He died before his infant soul
Had ever
burned with wrong desires
Had ever spurned at heaven s control,
Or ever quenched its sacred fires.
.
He died to sin, he died to care
But for a
moment felt the rod;
Then rising on the view less air,
Spread his
light wings and soared to God.
.
And thus shall faith s consoling power
The tears
of love restrain;
O who that saw thy parting hour,
Could wish thee back again.
.
Triumphant in thy closing eye,
The hope
of glory shone;
Joy breathed in thy expiring sigh
We felt
the pang alone.
Fairchild, A. Fairchild
Lile, John Lile
Richardson, A. Richardson
Spirit of Democracy,
HORRIBLE STEAMBOAT EXPLOSION
The following particulars of the awful explosion of the A.
N. Johnston, are given in the
The explosion took place about 10 miles above Maysville.
The
It was about past 1 on Wednesday morning, and all the
passengers were in their berths, Mr. Williams and lady were in the ladies
cabin. A horrible crash aroused them. Mr. W. feeling the steam penetrating the state
room, seized his wife, who had sprung up, and enveloping both her, himself in
the bedclothes, saved themselves from being scalded by
the steam and hot water, which soon wet everything around. Looking out in a few
minutes, he found that one of the boilers had been blown aft directly through
the boat, tearing away the floors of both cabins, and carrying off the front of
the state rooms on the opposite side to them. Front of the wheel houses the
gentlemen s cabin was all blown away or fallen down. Mr. W. and lady got on the
guard beside their stateroom, which, fortunately was on the side towards the
shore, (close to which the boat lay,) and by the assistance of the captain got
safe to land. They were the last that left the wreck, through which the fire was
then rapidly spreading.
On the shore there were two small cabins, but they could
afford little accommodation for the sufferers. Mr. Williams procured a skiff,
and with his lady and a gentleman started for Maysville, 10 miles below, to
send up aid. They got down about
She had three boilers, and it is thought the flues of all
collapsed. One is supposed to have gone down through the hull, and occasioned
the rapid sinking which took place; another passed aft, as already mentioned,
tearing everything before it, and landed in a cornfield some 300 yards below;
while the third broke into two pieces, one of which was found in the bank close
by, and the other in the cornfield some 250 yards above.
As near as can be told, there were 95 cabin passengers, and
65 deck; from 60 to 80 are killed or missing. There were 6 ladies on board all
saved; 4 or 5 children, also saved. The Boone brought down to Maysville some
30, and to this city 6 or 8 of those more or less scalded or wounded, together
with some who escaped with little or no injury.
Five of those at Maysville were not expected to live when
the Boone left. There were 27 horses on board 6 were saved. The second engineer
said, just before he died, that he had tried the boilers just before the
accident and found plenty of water in them; but the cook says he heard the
engineer complaining several times, after they left the city, that the pumps
did not work well.
The horror of the scene immediately after the explosion, is represented as horrible and heart-rending in
the extreme. The groans of the badly injured, the shrieks of the women, the
confused and eager efforts of nearly all, not disabled, to escape from the
wreck, beggar description. It must have been a horrid waking out of a deep
sleep in the still hour of the night.
One woman with three children, threw the elder two
overboard, and, with the youngest in her arms, sprang after them. They were all
rescued.
Had the explosion taken place any considerable distance
from shore, scarcely one would have escaped to tell the tale; and as it was,
Mr. Williams thinks that himself and lady, and two or three others, at most,
are all who escaped entirely unhurt.
The struggles and shrieks of the horses, as the fire
reached them, are said to have been most horrible to see and hear. Mr. Williams
says that after he reached the shore he saw one man struggling among them,
seeming to be entangled among some of the broken fragments of the wreck, and on
the point of being destroyed by the flames. He turned away from the sight, but
afterwards learned that the Man had escaped. It was probably the same one an
old man who related his strange escape to the officers of the Drennan. He was
asleep in the room behind the pilot house, and at the explosion fell down
through the broken and tumbling decks, and forced his way, all scorched and
bruised, through the struggling horses, and through the water to the shore.
Some idea of the force of the explosion may be gathered
from the fact that one of the boilers was thrown 150 yards up through part of
the cabin and struck in a field, then re-bounded some 30 feet; another was
broken in two, and part thrown, more than 200 yards in another direction. The
boat was literally wrecked by the explosion, and the
aft wrecked by the explosion, and the aft half of the cabin soon destroyed by
fire.
In regard to the death of Mr. A Fairchild, first clerk of
the A. N. Johnston, the Cincinnati Queen city says: He was blown some 100 yards
on shore! sprang up, ran some distance into a house, ran under a bed, and when
persons got to him, he was just dying.
Few of the passengers saved anything, and several lost
large sums of money. The ladies, of whom there were five only on the boat,
escaped unhurt, but without even their clothes.
Nothing can be arrived at with any certainty as to the
names of those lost. The books are all destroyed the clerks both dead. Most of
the dead were probably washed away by the river, and many of the names will
never be known.
The Maysville Eagle furnishes the following list of killed,
scalded and missing:
OFFICERS AND CREW
A. Fairchild,
Jacob Johnston 2nd clerk missing.
Jno.
Wm. H. Dorsey pilot badly bruised.
John Lile 2nd
engineer dead.
Math.
James Belville carpenter missing.
James Fennell bar-keeper bruised.
J. Ollom watchman slightly scalded.
William Ring fireman unknown.
Isaac Lamdin do do.
F. Bennett do do.
Fred Yockey do do.
Alex Irvine 2nd
cook slightly wounded.
A. Burroughs 2nd
stew. badly
scalded.
PASSENGERS SCALDED
J. M. Caruthers Bol.co. Miss. badly.
H. Kinner Big
A Richardson* Wheeling do.
W. Selzel
Dr. A. C. Gillespie N. O. do.
Alex Bailey
N. L. Dorsey Wheeling do.
John Galbreth
Jos. Jones Jefferson
co. O. do.
J. W. Jones do arm broke.
Jessie Seville Cincinnati
John Buckley do.
P. Long Wheeling
B. B. Killin Pittsburg
Jos. S. Nixon do.
S. S. Sanders Cincinnati
J. R. Oster do.
Calvin Walker do.
J. G. Trimble Prestonsburg,
Ky.
Edward Trimble do do.
Robert McGowen
James D. Lamb
James B. Hall do do.
John Donally Baltimore
Nathan Davis Lawrence
co. Ky.
Jesse Mathews (river-man)
John Spillman Sciotoville,
O.
Jacob Shafer Ohio
W. E. Stewart Brooke
co, Va.
* since
dead
Falwell, Wm. Falwell
Spirit of Democracy,
Calais, Monroe co, O June 8, 1848
James R. Morris, Esq.
Dear Sir:--One of our citizens, MR. WM. FALWELL, removed last spring to Clarington, and
returned to this place some ten days since for the purpose of attending to some
business. For several days after his arrival here he was quite unwell, but had
recovered to a considerable degree, and was noticed to be partially deranged in
mind.
On Tuesday morning he sent
for his wife and family, and on the evening of the same day remarked that he
did not want to see them.
He was, at the suggestion of
his physicians, watched but notwithstanding the care of those whom the task was
assigned, he eluded their watch on Wednesday morning, and slipped into a small
tobacco house, in his own tan-yard, with a concealed rope, and after fastening,
the two ends of the rope to the two top tie-poles, put a slip-noose round his
neck, and jumped off, and in a moment was in eternity.
He was buried on Friday in
Yours,
& c
Griffith, Benjamin Griffith
Spirit of Democracy,
On Saturday, the 26th ult, at his residence in
this township, MR. BENJAMIN GRIFFITH, aged about 38 years.
Haines, Jacob Haines
Spirit of Democracy,
Died At his residence in this
township, on Tuesday, the 2d. inst, MR JACOB HAINES,
Sen; aged about 73 years.
Holley, John M. Holley
Spirit of Democracy,
We are sorry to state the death of John M. Holley, Esq., a whig member of Congress from the State of
He breathed his last at
His remains have gone by sea to
Holley, John M. Holley
Spirit of Democracy,
We are sorry to state the death of JOHN M. HOLLEY, Esq. a
Whig member of Congress from the State of
He breathed his last at
His remains have gone by sea to
Howell, Cassa Jane Howell nee Morris
Spirit of Democracy,
Died On Monday last, at the residence of her father in
Kearney, Stephen W. Kearney
Spirit of Democracy,
Death of General Kearney
We have already announced by telegraphic dispatch from
General Kearney was born in
When the war with
PAGE 3 Gen. Kearney died at
Kennedy, James Kennedy
Spirit of Democracy,
Mr. James Kennedy, an old and well known citizen of this
county, living near Lewisville, left home, in company with his son, on Tuesday
the 22d ult., for Pittsburgh. They took passage on the steamboat Highland Mary,
at Sunfish, and about
After remaining there some time, one of the crew of the
boat observed him, in the act of rising to his feet, fall backwards over the
guards into the river. The boat was immediately stopped, but up to our latest
accounts the body had not been found.
P.S. Since the above was written, we learn that the body of
Mr. Kennedy was found about eight miles below the place where the accident
occurred.
His remains were taken through this place on Wednesday
last.
Kessler, Captain Kessler
Wolhleber, Christian Wolhleber
Seigel, Andrew Seigel
Spirit of Democracy,
On yesterday we published a letter from
On the 27th ultimo, Lieut. Mohr, Capt. Kessler,
Lieutenant Roesler, Corporal Sanders, and two Privates of Capt. K. s company,
started from
Capt. Kessler was from this city, where he has left a
wife an amiable and accomplished woman,--to whom he was united but a few weeks
before his departure to
A strong force was sent out the next morning, but it
returned with only the bodies of the dead. They were lanced and cut in a most
inhuman manner. Captain Kessler had five gun shot and thirteen lance wounds, at
least 12 of which were mortal.
The horses,
of Lieuts. Col. Mohr and Corporal
Sanders were slightly wounded.
The remains of Captain K. are
on the way home, in charge of Captain Zirckle, of the Columbus Company. He had
with him when killed, the medal designed for General Lane, which was lost as
the dead were stripped of everything, and left naked in the field.
McBride, John McBride
Spirit of Democracy,
A murder was committed on last Thursday evening, on the
person of John McBride a citizen of
The murderers are supposed to be the wife of the deceased,
who has been committed to jail, and a step-son by the
name of Ashfield, who made his escape and has not yet been arrested. As the
case will be a subject of investigation in our Court we forbear giving the
circumstances as they have come to our knowledge.
From what we learn however they are of an aggravated
character, and indicate an unusual degree of malignity on the part of the
guilty offenders-- MORGAN CHRONICAL
McCandless, Alexander McCandless
Spirit of Democracy,
Died At his residence, near
The deceased in early life, resided in
After much anxious reflections and fervent prayer, in
regard to his future course, he was at length led to turn his face to the work
of the Holy Ministry. Accordingly in the fall of 1839, he entered the Western
Theological Seminary, where he continued three years in the prosecution of his
theological studies. It was while he was at the Seminary that the symptoms of
that disease began to show themselves, which ultimately issued in his death. He
came from that institution, much debilitated, bringing with him a cough, which
troubled him more or less during the whole of his life.
After completing his preparatory course at the Seminary, he
was licenced [sic-licensed] to preach the Gospel by the Presbytery of Ohio,
That Presbytery having become divided he fell in with St.
Clairsville, in which connection he continued as a worthy Minister till the
close of his life. He labored as a stated supply in the churches of
Whilst in this field he organized the churches of
During all this time, he was the subject of much bodily
affliction and infirmity, which of course rendered him unable to perform as
much labor as he would otherwise have done. No man was more punctual than he to
fulfill his appointments, when his health would permit, and rather than
disappoint he would often go when to weak to travel. In the fall of 1847, his disease seemed to seat itself firmly upon his
system, producing an intense cough, and prostration of the whole system, he was
of course compelled to withdraw from his labors, though even after he was
unable to ride out, he would occasionally gather up a few of his people to his
own house, where he would attempt to preach that Gospel which he so much loved.
His disease ( Pulmonary
Consumption) continued to progress, in spite of the skill and diligent
attention of his Physicians and friends. He was confined for some 3 months
entirely to his room, during which exhibited a remarkable degree of patience
and resignation. He seemed to be conscious all along, that his pilgrimage on
earth must soon close, but it cost him
not a sigh, for he had a hope, which was of that firm unwavering kind, which
proved to his soul an anchor both sure and steadfast.
True, he had a wife, and many
dear friends to whom he was wedded by ties of the most endearing kind, yet
still when the Lord called, he was willing to forsake all for the sake of being
with a dearer friend on high.
I spent a night with him a
few days before his death, and it was truly gratifying to notice, with what
pleasure and confidence he could repeat and appropriate to himself the sweet
promises of the gospel. On asking him if he had any fears that Christ would
forsake him in the last trying hour; he looked up and with great emphasis
replied, there is one doctrine in the Christian
system which, to me is sweet in my present situation, and that is the doctrine
Paul establishes at the close of the 8th Chapter of Romans, and
here with apparent rapture he went on with a repetition of that whole passage,
Who shall separate us from the love of Christ? Shall
tribulation or distress, & c.
He thus lingered along a few
days, when on the morning of the 10th of April, he sank into the
arms of death as peacefully and quietly as into a sweet sleep. He retained his
mind in full vigor to the last, and the last words which he was heard to utter,
was the prayer of Stephen, which he repeated again and again. Lord Jesus receive my spirit, and thus his happy spirit left this
house of clay, and as we believe winged its way to mansions of bliss.
The deceased has left a wife, a number of relatives, and a
large community of warm, and ardent friends to mourn his loss.
The churches over which he was placed, will likewise feel
the stroke in a peculiar manner; for never perhaps was a little flock more
faithfully watched, and never were a people more closely knit to a pastor, than
they were to him. The church has likewise been deprived of another faithful and
devoted minister. But God s ways are not as ours. He has a right to do with us
as seemeth him right. And while He calls away from
Woodsfield, April 15, 1848
McMahon, Alfred Dickerson McMahon
Spirit of Democracy,
At the residence of his father, in Centre township, in this county, on the 22d inst., Dr. Alfred
Dickerson McMahon, aged 31 years, 1 month and 29 days. The memory of the
deceased will long be dear to a large portion of the inhabitants of
Rest, dust in dust, so Nature s law designed;
In loftier
scenes rest thou immortal mind;
Claim light and space, and all the joys above;
And treasures bright of everlasting love.

McMahon, Alfred Dickerson McMahon
Spirit of Democracy,
At the residence of his father, in Centre township, in this county, on the 22d inst., DR. ALFRED
DICKERSON McMAHON, aged 31 years, 1 month and 29 days.
The memory of the deceased will long be dear to a large
portion of the inhabitants of
He has left behind him an affectionate companion, and three
interesting little children to bewail his departure from earth.
Rest, dust in dust, so Nature s law designed;
In loftier scenes rest thou immortal mind;
Claim light and space, and all the joys above;
And treasures bright of
everlasting love.
 Communicated
Morton, Moses C. Morton
Spirit of Democracy,
Died On the 24th ult.,
at his residence in
Otis, Harrison Gray Otis
Spirit of Democracy,
One of the last survivors of the Hartford
Convention. Mr. Harrison Gray Otis, died in
Smith, Phebe Smith nee Morris
Spirit of Democracy,
Died In this place, on Saturday morning last, at 30 minutes
past
Thus has death been once more amongst us, and cut down one
from our midst, around whom entwined the warmest and
tenderest ties of that affection which she so justly merited and received from
all who knew her. Thus have a doting father and mother been bereaved of an ever
dutiful and favorite daughter. Thus have brothers and sisters been deprived of
one who mingled with them in the innocent plays of childhood who was the life and
light of youthful pleasures of riper years, and an example of pious and moral
worth in maturer life. Thus has a husband had torn from his bosom a wife in the
sublimest sense of the term; the object of all his affections and all that his
youthful ardor could hope or wish for.

The deceased was blessed with talents of the highest order,
with a disposition of unbounded kindness and love. She was seized upon by the
fell destroyer as the most shining mark at which to aim. Friends could not
save, medical skill was unavailing, the love and affection of all around could
not avert the fatal stroke; and all were forced to yield up the claims of
earth, for the blessed Saviour had bid her come up higher. W.
O, how this spring of life resembleth
The
uncertain glory of an April day;
Which now shows all the beauty
of the sun,
And by
and by a cloud takes all away.
Stine, Samuel Stine
Spirit of Democracy,
Died On Sunday morning last, at the residence of his
father, in Perry township, SAMUEL STINE, aged 21 years
and 4 days.
Taylor, James Taylor
Spirit of Democracy,
GEN. JAMES TAYLOR,
one of the oldest citizens of the west died on, Tuesday the 7th
inst, at
He was a relative of Gen. Z. Taylor, for whom he voted on
the day of his death; the judges of the election going to his house to receive
his vote.
He was one of the largest land-holders in the west.
Thomas, Theodore M. Thomas
Spirit of Democracy,
Died On Tuesday evening last, THEODORE M., son of Daniel M.
and Maria Thomas, of this place, aged one year and three days.
Ullman,
Caroline Ullman nee Schwarz
Mrs. Henry Ullman (Caroline)
Schwarz was born April 18, 1866, and died November 17, 1948, at the age of 82
years, 6 months and 30 days. Mrs. Ullman was born in
To the union were born three
sons and one daughter: Raimond Herbert, of near Stafford; Russell Walter, of
near
Surviving, are the husband,
the four children, six grandchildren and six great grandchildren. Preceding her
in death were a daughter-in-law and three grandchildren.
Funeral services in charge of
the Gardner Funeral Home were conducted by Rev. J. A. Law, of the Zion
Evangelical church near Harriettsville, with Rev. Glenn Peoples, of the
Stafford Methodist church assisting, on Saturday afternoon, November 20th, at
1:30 o'clock. Interment was made in the family lot, in the
VanBuren, Thomas VanBuren
Spirit of Democracy,
Dr. Thomas VanBuren of
Vickers,
Spirit of Democracy,
Died On Thursday, the 30th ult, Frances,
daughter of John and AnnVickers, aged about 10 years.
Walton, Caroline Elizabeth Walton
Spirit of Democracy,
The Rev. Mr. Linder will preach the Funeral Sermon of
CAROLINE ELIZABETH, lately deceased daughter of Wm. C. & Sidna Walton, at
the
Winemiller, Elitha Winemiller
Spirit of Democracy,
Died On Friday the 4th day of February last,
MRS. ELITHA WINEMILLER, wife of Mr. Jacob Winemiller of Seneca township in this county, aged 26 years, 10 months and
fourteen days.
The deceased left an affectionate husband and three small
children to mourn her departure.
She died in the full triumph of the Christian religion,
leaving ample testimony that she has gone to join the celestial host in the
bright world of bliss. Communicated
Yoho, Isaac Yoho 2nd obit
Spirit of Democracy,
Died On Tuesday morning last, at the
house of Mr. J. F. Randolph, in this place, MR. ISAAC YOHO, aged 32 years, 7
months and 14 days.
Death has again stalked abroad in our midst, and has
stricken down, in the prime of life, another estimable citizen.
To the residents of this place and vicinity, the deceased
was intimately known from his earliest youth; among whom he always sustained a
high character for uprightness.

By his death, his relatives have sustained an irreparable
loss the church, of which he was a member, a devoted Christian, and society a
bright ornament. Be ye also ready.
Yoho, Isaac Yoho
Source: The Spirit of Democracy, Woodsfield, Ohio, Saturday, Apr. 29, 1848
Isaac YOHO died Tuesday Last at the house of J. F. RANDOLPH
in this place at the age of 32 years, 7 months, and 14 days.
Last
modified Oct. 12, 2009 by reh
Click here for the Short-Cut Table of Contents


Instructions
Welcome to the Home page
This is the web browser client for PsyGlass. This website is meant to be used in conjunction with PsyGlass Glassware installed in one or more Google Glass devices. The goal of this website is to allow you to change the color and text on the display of a user's device during a session, while the device collects data from its sensors.
You are currently on the Home page of the website. Use this page to familiarize yourself with the functions of the website, such as creating and guiding a session or viewing the data collected during a session.
Running a session
Clicking on the Experiment tab on the navigation bar will take you to a page where you will be able to create and manage a session.
In addition to the website navigation bar, the Experiment page consists of two main
elements: the card space and the status bar.
The card space shows two cards, which represent the states of two devices.
A card will be attached to a device when it connects and will show you information about
the device, such as its status and ping.
The status bar shows the state of the session and contains the button through which you
will change the state of the session.
A session is dependent on four states:
- Disconnected - The client is not connected to the server
- Starting - The server is accepting connections from devices
- Running - The server is pushing device display updates to connected devices
- Finishing - The server is awaiting a disconnect instruction
The session starts at the Disconnected state.
The log will say "Disconnected from server".
The session button will say "Connect to Server".
Clicking the session button will move the session to the Starting state.
The log will say "Waiting for devices...".
The session button will say "Start Session", but will not be clickable.
Once a device connects, the card attached to that device will become active.
The card's status will say "Connected" and the ping will begin to change.
The session button will become clickable.
Clicking the session button will move the session to the Running state.
The log will say "Session is in progress".
The session button will say "End Session".
You can modify the text and background color of a card and click "Send Update" to
push the changes to the attached device.
Sending an update will change the card status to "Sending update..."
and freeze the card.
Once the client receives a response from the device, the card will be unfrozen.
Clicking the session button will move the session to the Finishing state.
The log will say "Session has ended".
The session button will say "Disconnect from Server".
Clicking the session button will move the session to the Disconnected state.
Viewing session data
The third tab on the navigation bar is the Data tab. It will take you to a page where you will be able to view the data collected on a device during the latest session.
In addition to the website navigation bar, the Data page consists of two main elements:
the session timestamp field and the file space.
If there is session data stored on the server, the session timestamp field will show the
date and time of when the latest session was conducted.
If there is session data stored on the server, the available data from one or more devices
will be shown in the file space.
In order to copy the data to your clipboard, you must manually highlight all rows of data, right click the highlighted area, and click Copy. You can alternatively highlight and Ctrl+C.
Things to consider
PsyGlass is an open-source project. Accordingly, here are a few things to keep in mind when using and monitoring the experimenter console:
-
Try not to leave the Experiment page if you're connected to the server
When you connect to the server, the server creates a new session in memory. If you leave the page before clicking the disconnect button, the server is not notified, and therefore will assume the session is still active. Rejoining the server will clear the previous session and create a new one in its place. Any devices connected to the previous session will throw an error and disconnect.
-
The ping on a card is an approximation
The ping shown on a card is an approximation of how well connected the client is to the attached device. The general rule of thumb is that a very low ping represents a good connection while a high ping represents a bad connection.
-
But the ping can tell you something else
The client and server cannot determine when a device disconnects mid-session. However, you can use the ping of the corresponding card to determine this yourself. If the ping continuously increases, then the device has been disconnected.
-
The server does not tell the device to automatically upload its data
After you end a session, make sure you or the device user manually navigates to the Upload section of the PsyGlass Glassware. Give the device time to upload the data. Additionally, give the server some time to save the data to memory. This process may take seconds to minutes depending on the amount of data collected.
Credits
Created by Kevin Rodriguez, Alexandra Paxton, and Rick Dale. For more, see Paxton, Rodriguez, & Dale (submitted).


{% extends 'base.html' %} {% block content %}
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text ...


n
You must first understand the true purpose behind you watching a TV show. Do you actually learn anything from it? Even if you do, is the received information worth all that time that you have spent on it. In most cases, you already know that it is wrong, but you obviously need a strong will power, but hold on.
You must try to identify your Trigger. For example, some people have a urge to watch TV right after dinner. So, if your trigger is "watch TV after dinner", you can try to replace it with a trigger called - "Go for a walk after dinner". Also you should identify your experience after you watch TV. Does it give you the kind of pleasure you can also get from anywhere else? Try to find out what else can you do in order to get the same pleasure by doing something else. For example, reading a book or working out.
Lastly, a good way to think about this is to ask yourself "What am I missing in my life". Are you missing company of a loved one, are you missing the joy of open air or endless moments of fun with friends. Unless you really "start" missing something badly, you won't get a strong desire to change this habit.
Most importantly, remember to reward yourself after any bit of success that you have on your path to recovery, after all you deserve it!!


Lisp and AI related humor
AI Koans
Alice's Lispm (MIT's AI Lab)
Ballad on Program Growth
The New Hacker's Dictionary
Henry Kautz' AI Limricks
An ISO Moment
Symbolics Guidelines for Sending Mail
Tigger on Scheme
The Jargon File
Last Update: 17 April 1996 / Brad Miller / miller@cs.rochester.edu


--- title: Less coding and more analysis author: Richard Careaga date: '2018-12-09' slug: less-coding-and-more-analysis categories: - Data Science - Visualization tags: - EDA ---
I urge you to install.packages("ExPanDaR")
and then try the following:
library(ExPanDaR)
wb <- read.csv("https://joachim-gassen.github.io/data/wb_condensed.csv")
ExPanD(wb, cs_id = "country", ts_id = "year")
from Interactive panel EDA with 3 lines of code, which doesn’t show the output to its best advantage, for which see online demo


S. Attila TURKOZ
Full Stack Developer, Trilogy Education (6mo)
20 REACT
Portfolio
19 REACT+axios
Employee Directory
19 REACT+axios
Puppy Tinder
18 MongoDB+express
Fitness Tracker
17 MongoDB+express+indexedDB
Budget Tracker (offline)
17 MongoDB+express+indexedDB
Budget Tracker (offline)
14 MySql+express
Tech Blogger
14 MVC +MySql + Express JS
Project Funder
13 MySql + Express JS
E-commerce
12 MySql + Express JS
TripMySql
11 Express JS Web Framework
Note Taker
09 Node-Js
NodeJS Terminal Apps
06 Server-side APIs
Weather Dashboard
05 jQuery
Day Planner
04 Web APIs
Coding Quiz
Deployed Apps
Social Youth Club Member Communications App
ElectionDataViz: Historial MIT Dataset
CoronaVizData: COVID-19 Daily Updates REST
Display Tracker: Dynamic Inventory App
No Days Off: To-Do App
Regropoly: Buy/Sell Houses w/ ZILLOW data, CO only
Jam Pay: Payroll Document Generator
JobVizzy: Indeed Scraper, no ads
DU Data Analytics , Trilogy Education (6mo)
Denver, CO Home Prices
Mongo DB Web Scraper
Plotly Data Visualization
Machine Learning Home Prices


PyWW, also known as Python Wiki Wiki, is a tiny, minimalistic wiki inspired by Ww.
A lot of wiki software is overcomplicated. With databases and gratuitous configuration and CMS
features, sometimes you just wish you had a little less to work with. So, after stumbling upon a
very small wiki project written in C, we decided to make something similar in Python to give you
less. A lot less. In fact, almost nothing.
PyWW is a tiny wiki in one file written in Python. It has no extraneous features, no database,
and only a few configuration variables. The default page layout contains only text and an edit
button, though this can be changed by modifying the included template files. Simply install the
script and associated template and css files onto a webserver, and navigate to the script in your
browser to bootstrap the wiki. New pages are created by visiting and editing them.
Depending on your setup, you may need to edit the default configuration values at the top of the
script.
PyWW pages are written in ReStructured Text.


AMAs: Selena Gomez marks comeback with 'shaky' performance as fans defend her
Selena Gomez can’t seem to catch a break these days, as some fans criticised her ‘shaky’ opening performance at the American Music Awards last night.
After hitting the red carpet looking fierce in neon, the 27-year-old singer took to the stage and performed her two new songs, Lose You To Love Me and Look At Her Now.
She rocked a disco ball-like body suit in her fun and upbeat performance of Look At Her Now in Los Angeles’ Microsoft Theater, but it’s her other new song’s vocal performance drawing criticism.
Advertisement Advertisement
One fan wrote on social media: ‘I love Selena Gomez to the bones but her performance of Lose You To Love Me was absolutely shaky.’
While another tweeted: ‘I have a feeling she was just nervous.’
Then one fan critiqued: ‘Yikes.. I love Selena, but this just really wasn’t it.’
But then fans of the Back To You singer rushed to her defence.
One fan shot back at the haters: ‘The Selena Gomez performance was a bit shaky at first but that’s okay since she was probably really nervous.’
Another simply tweeted: ‘Proud of you!’
While another reasoned: ‘For everyone saying that Selena’s performance was shaky, please remember that she hasn’t done a performance like this in years. She was probably a bit nervous and she still killed it.’
It’s true Selena’s not had the easiest time in the limelight lately.
Advertisement Advertisement
She recently opened up about the vicious trolling she received during her battle with Lupus in 2015.
The star was diagnosed with the condition – which is an autoimmune disease that occurs when your body’s immune system attacks your own tissues and organs, causing inflammation that affects different body systems – and let her fans know in 2015.
She later went on to undergo a secret kidney transplant after complications from the disease, sharing the news on Instagram in September 2017.
Speaking on the hurtful comments she received online about her weight at the time, she said: ‘That got to me big time.
‘That really messed me up for a bit.’
She also revealed she went ‘through a depression’ after her kidney transplant.
Got a showbiz story?
If you've got a celebrity story, video or pictures get in touch with the Metro.co.uk entertainment team by emailing us<EMAIL_ADDRESS>calling 020 3615 2145 or by visiting our Submit Stuff page - we'd love to hear from you.


As a System Owner
I want to be able to log user activity on a survey capturing the URL accessed, their User Identity and IP address
So that I can track activity, in particular drop out points