Create a wishlist
Let people know what gifts you'd like
| ...... |
Priority |
Amount |
Reason |
Action |
|
{{item.priority}}
|
{{item.amount || 500}}
|
Highest
|
|
| ...... |
Priority |
Amount |
Reason |
Action |
|
{{item.priority || "Low"}}
|
{{item.amount || 500}}
|
{{item.purposeOfWishlist || "edit" }}
|
|


Columns, Operators
Standard Functions and UDFs
@jaceklaskowski
/
StackOverflow
/
GitHub
Notebooks:
Mastering Apache Spark
/
Spark Structured Streaming
## UDFs — User-Defined Functions ### « HEADS-UP » > **Use the standard functions whenever possible** before reverting to using your own custom UDFs. > UDFs are a blackbox for Spark and so it does **not even try** to optimize them.
Questions?
Read
Mastering Apache Spark 2
https://bit.ly/mastering-apache-spark
Follow
@jaceklaskowski
on twitter
Upvote
my questions and answers on StackOverflow
Use
Jacek's code at GitHub
Read
my blog posts on Medium
Upvote
my answers on Quora
Connect on
LinkedIn
Visit
Jacek Laskowski's blog


--- layout: page title: Tympan Mailing List ---
Tympan.org supports Open Source design tools for the development of hearing aids. We offer software and hardware to help researchers accelerate innovation and share their advances in hearing assistive technologies.
Want to know more? Sign up for our mailing list for updates!
{% include mailchimp.html %}


Our Values
MISSION: Fidel IT Services assist you to transform your organization and improve performance. We aim to empower you to respond more quickly and intuitively to changing market dynamics. By our expert knowledge we enhance your ability to harness the right technology and become more agile and competitive.
VISION: The strategic goal of organization today is automating as many workflows and processes as possible so that its people can work smarter, not harder. When a competitive marketplace is factored in, time and resource saving automated workflow management tools aren’t an option anymore, but a necessity. We provide the full range of outsourcing services to create management software which facilitates your business: CRM system development, ERP application development, information system integration and support. For example, we can offer not just CRM development, but also integrate it to SAP or MS Office: our CRM developers are true experts in this area.


Highcharts Client-Side Export module
Support
Here's a list of the current format your browser supports.
SVG
PNG
JPEG
PDF
CSV
XLS
Example


{%set description = 'Projects portfolio for Karl N. Redman'%}
{%set keywords = "Resume,Software Engineer,Systems Engineer,Programmer,Developer,Administrator,linux,Karl N. Redman, C/C++, bash, python, Release Engineer, Javascript, Linux, HPC, High Performance Computing, Full Stack, Full Stack Devloper"%}
{% extends "base.html" %}
{% block content %}
Karl N. Redman
Personal Projects:
Batch edit front matter with Jinja2 templates for python3.
A node.js based event driven terminal user interface application for the ruby based 'Simple command line timetracker' Timetrap.
A guide and tutorial, with tools and 'out of the box' examples, for integrating Vimwiki with Gollum Wiki on Linux systems. The aim of this project is to provide a fairly easy installation and setup for a working Vimwiki + Gollum workflow.
A bash shell workflow system to help manage the builtin stack functions dirs, pushd, popd.
A D.R.Y. repository and showcase of various articles by Karl N. Redman.
The POSIX standard for shared condition variables across processes is honored by most UNIX implementations except Linux. In order to provide uniform behavior of the condition variable mechanism a different solution for Linux had to be divined. The code examples provided here demonstrate one solution using signaling.
This is a reactive static website generated from inline content using Flask and Frozen-Flask. Sources for this simple project can be found here.


|
Results from
|
|
|
- |
| LC-MS/MS and Western blot analysis |
6 |
7 |
|
| IHC |
7 |
7 |
|
| ELISA |
17 |
55 |
|
|
Age at diagnosis
|
|
|
0.4 |
| Mean (range) years |
45 (24–73) |
50 (21–81) |
|
|
Gender
|
|
|
0.2 |
| Male |
11 (55%) |
21 (38%) |
|
| Female |
9 (45%) |
35 (62%) |
|
| Female: Male ratio |
1: 0.8 |
1: 1.7 |
|
|
Preoperative diagnosis at FNAB
|
|
|
0.4 |
| PTC |
8 (47%) |
0 |
|
| Suspicious |
5 (29%) |
0 |
|
| Follicular tumor |
0 |
6 (12%) |
|
| Benign |
4 (22%) |
46 (88%) |
|
| Not available |
3 |
4 |
|
|
Postoperative diagnosis
|
|
|
- |
| PTC |
20 (100%) |
0 |
|
| Nodular colloid goiter |
0 |
51 (91%) |
|
| FTA |
0 |
5 (9%) |
|
|
Location of primary tumor / lesion
|
|
|
|
| Right lobe |
14 (70%) |
28 (49%) |
0.2 |
| Left lobe |
5 (25%) |
27 (47%) |
0.1 |
| Isthmus |
1 (5%) |
1 (4%) |
0.5 |
|
Type of surgery
|
|
|
|
| Total thyroidectomy |
17 (85%) |
13 (23%) |
<0.001 |
| Hemithyroidectomy |
3 (15%) |
42 (75%) |
<0.001 |
| Isthmus resection |
0 |
1 (2%) |
1 |
|
Size of cyst
|
|
|
|
| Mean (range) cm |
2.8 (0.5–6) |
3.5 (0.5–8) |
0.14 |
|
Size of PTC
|
|
|
|
| Mean (range) cm |
3 (1.3–6) |
- |
|
|
Spread PTC
|
|
|
|
| Metastases to local lymph nodes |
12 (60%) |
- |
|
| Extrathyroidal extension |
3 (15%) |
- |
|
|
Bilateral or multifocal PTC
|
|
|
|
| Multifocal |
9 (45%) |
- |
|
| Bilateral PTC |
7 (35%) |
- |
|
|
MIB-1 proliferation index
|
|
|
|
| Mean (range) % |
2.3 (0.5–6) |
- |
|
|
Thyroglobulin expression
|
|
|
|
| Positive cells (range) % |
80 (50–100) |
- |
|


Reactive-web
has very powerful support for user interface testing. You can do
most things Selenium is usually used for, but you don't have to run
a browser or Jetty, and your tests can have direct access to server
objects like snippet classes. Here's a little taste:
val ts: TestScope = ... def phone = ts / "#phone" // the element with id 'phone' // type in it (it's a text input) phone sendKeys cust.home_phone.is // check that the snippet received the value we typed snippet.phone.now should equal (cust.home_phone.is) // check that the DOM was updated (the customer who's phone we typed was loaded) ts / ".firstname" attr "value" should equal (cust.firstName.is)
It builds on two things: (1) All updates in
reactive
go to the thread-locally current
Scope
; and (2) DOM updates have a semantic (case class) representation.
The way it works is that there is a
Scope
,
TestScope
, that maintains XML (representing the browser's theoretical
contents, or part of it), and whenever a DOM update is called for,
it applies the transformation to its own XML. This way, you can
always tell what the browser's DOM would look like. In addition, you
can simulate events, and it has a DSL that makes checking the DOM
very concise.
You will probably want to surround your tests with
net.liftweb.mockweb.MockWeb.testS("/") { ... }
so you can run snippets outside of an actual HTTP context.
Next, you need to generate the initial state of the browser. So you need to instantiate instances of your snippet classes, and tell Lift to run the template with those snippets. For example:
val snippet = new EditOrder val page = { S.mapSnippet("EditOrder", snippet.render) S.runTemplate("orders" :: "edit" :: Nil).open_! }
(It's fine to use open_!
because if the template cannot be run, we want the test to abort.)
Now, instantiate a
TestScope
with the output, and use it as the scope for your tests. Also import
its members — it has some important implicits.
val ts = new TestScope(page) import ts._ Reactions.inScope(ts) { // test things here }
The current xml can be accessed as a
NodeSeq
by writing
ts.xml
. You can use all of Scala's existing features to analyze it, such
as the simple XPath support available with
\
and
\\
, the collections'
find
. In addition TestScope provides some powerful searching tools
(using implicits). There are six searching operators, which are used
like this:
node / pred
, or like this:
node / (pred1, ... predN)
, and returns a node or nodes that satisfy all predicates.
Predicates are explained below. All six operators take a varargs, so
they can be used in either form. Also they can be used either on a
Seq[Node]
(which every
Node
is, by the way), or on the
TestScope
itself.
The six operators are
/
,
/?
,
/+
,
>
,
>?
, and
>+
.
/
means search all descendants (and the node itself), while
>
means only search direct children.
?
means it an
Option[Node]
,
+
that it returns a
Seq[Node]
, and no suffix means it returns a
Node
or throws an exception if none is found.
Predicates are any
Node=>Boolean
, a useful implicit lets you write common predicates as
strings. You can write strings of the form
"label"
,
"#id"
,
".class"
,
":name"
,
"=exact match of text"
, or
"~substring of text"
. As an illustration, instead of the XPath expression
//fieldset[legend/text()='Items']
(as you might in Selenium), you can write
ts / ("fieldset", _ /? ("legend", "=Items") isDefined)
. This means, find a node whose label is "fieldset" (the first
predicate), and that the function passed as the second predicate
returns true for. That function searches the fieldset for a node
whose label is "legend", and whose text content is "Items". Since it
uses
/?
, the result, if any, is put in an
Option
, on which we can call
isDefined
to get a
Boolean
indication of its presence, making it a valid predicate function.
Also, as a shortcut, you can get a node by id just by writing
testScope("anId")
.
Another implicit conversion wraps a
Node
as a
PowerNode
, which has several convenient members:
attr
Map[String, String]
update
node("attribute") = "value"
id
clazz
classes
Set[String]
consisting of the
class attribute split on whitespace.value
node.value = "xyz"
), which
calls update
.fire(event)
event
is a DomEvent
.
This works by analyzing the corresponding event attribute on the node
for events and property updates its fires.
Currently only implemented for Change, Click, and KeyUp.sendKeys(text)
text
may contain '\b'
which is treated as a backspace.
For each character, it updates the value attribute
and fires a KeyUp
event, and finally it fires
a Change
event."//fieldset[legend/text()='Items']"
do something like ts / ("fieldset", _ /? "=Items" isDefined)
reactive-web
.


Version Notes
3.8.1
! 3.8 versions require macOS 10.12 (Sierra) or later !
Changes since 3.7.4
- Implement an experimental new browser based on WKWebView : it can be selected in Advanced preferences, and will be available after application restart. It is faster and more secure.
- Remove support for web plug-ins (which were deprecated for a long time and unsecure)
- Add "Actual Size" menu command for resetting text zoom
- Add a disclosure triangle in feed credentials dialog, in order to provide additional feed details whenever it is needed to disambiguate the feed
- Add a setting regarding emptying of trash in Preferences window
- Add a hidden preference for always displaying the full date, not using relative dates like Today or Yesterday. This is enabled with the Terminal command:
defaults write uk.co.opencommunity.vienna2 DoesRelativeDateFormatting -bool NO
and can be reversed with defaults delete uk.co.opencommunity.vienna2 DoesRelativeDateFormatting
- Add Australian and British English as localization variants
- Refactor and modernize many parts of code (modify ArticleController to be a NSViewController, restructurate code around new protocols, update AppleScript architecture, update logging tools, use NSSecureCoding, replace deprecated methods, rename some constants/methods…)
- Improve handling of URLs containing semicolon character in the path component
- Update build architecture
- Update Sparkle to version 2.2.0; use a new EdDSA key for updates whenever possible
Changes since 3.8.0
- Fix article view when "Use Web Page for Articles" option is enabled for a feed
- Fix link preview on legacy browser's article view
- Restore folder list width between app relaunches


You're about to grant {{ globalVars.hostname }} with signing access:
This means {{ globalVars.hostname }} will be able to make transactions on your behalf as if it knew your seed.
This permission can be revoked anytime and it will automatically expire in about 30 days.
You're about to grant signing access:
This means the mobile application will be able to sign transactions on your behalf as if it knew your seed.
This permission can be revoked anytime and it will automatically expire in about 30 days.
DISCLAIMER: This session is only for mobile applications. If you are not using
a mobile application, you should exit this window.


Bridge the gap between annual reviews with frequent check-ins and mini reviews.
Customise Appraisd with your forms, competencies, values and see them brought to life.
Appraisd is designed to delight your people, not get in their way.


Quisquis
Transcript By: Bryan Bishop
Tags: Consensus, Smart contracts
Category: Conference
Quisquis: A new design for anonymous cryptocurrencies
Prastudy Fauzi
https://twitter.com/kanzure/status/1090677466216128512
https://eprint.iacr.org/2018/990
Introduction
Good morning. I am here to talk to you about Quisquis which is a new design for an anonymous cryptocurrency. This talk is going to focus on the transaction layer. We don’t talk about consensus or smart contracts or higher applications.
Outline
I am going to talk about bitcoin and anonymity. I’ll talk about existing cryptocurrencies that claim to have anonymity and about their limitations. Then I’ll talk about our basic solution, where one public key is one coin, updateable public keys, and N-to-N transactions without interactions. I’ll show accounts iwth variable balances, and then benchmarking and conclusions.
Bitcoin
Bitcoin has problems with anonymity as we all know. For example, “A fistful of bitcoins” by Merklejohn et al. Transactions are public and you can find where money is going. Ian Miers said “bitcoin is like twitter for your bank account”. You can categorize the transactions into classes. It’s only really these small number of clusters sending to each other. Once you know that, then you can launch re-identification attacks on those clusters and correlation attacks and know who they are.
Basic transactions in bitcoin
I’ll explain the concept of a UTXO. Here I have a transaction. The unspent public keys create the UTXO set. In terms of bitcoin, the whole blockchain at the moment is more than 190 gigabytes. The UTXO set size is only about 3 gigabytes, which is much less.
Existing alternatives for anonymous payments
There are many existing alternatives for anonymous payments at the moment. There’s dash, monero, zcash, grin, beam. But thankfully I am a theoretician and I don’t have to talk about actual implementations.
Most of these use tumblers, ring signatures or zero-knowledge proofs or SNARKs. Do you need coordination between users? Can you have plausible deniability? Can you prove you are anonymous? Do you need to trust any third-parties? And what’s the size of the UTXO set?
Tumblers
There are two types of tumblers. They can either be centralized or decentralized. A centralized tumbler is easy in the sense that you just send your tumbler to the authority and then they send you money to a destination address, but you need to trust the tumbler. A decentralized tumbler is more difficult. You need to find other users who want to mix their coins, and the protocol requires interaction. There’s known ways to do this using multi-party computation and RSA magic.
Ring signatures
A ring signature is a signature where there’s a set of public keys and you’re signing on behalf of one of them without revealing who. You need to have indistinguishability between these signatures. You can generalize this to N public keys.
Assume you have a transaction in this scheme. You can’t remove a UTXO because you could deduce it was spent before that, you can never erase the UTXO, so with every transaction the UTXO set size grows.
What about anonymity? By the time the third transaction happens, you know who had sent the money, so the sender is revealed by the transaction graph.
Zero-knowledge
Let’s say the prover wants to prove a statement to a verifier. This communication can go in multiple rounds until the verifier says accept or reject. It has to satisfy three properties: completeness where if the prover is honest the verifier must accept. It must be a proof-of-knowledge, where if the prover doesn’t make a valid proof then the verifier rejects. And it must be zero knowledge where the verifier learns nothing about x.
Zero-knowledge can be seen as an extension to ring signatures, using advanced cryptograpihc protocols (for SNARKs). You can hide in sets of arbitrary size- infinity-to-one transactions. The generation time for proofs is high, and you need a trusted setup (common reference string).
Performance of existing tech
When we published our paper, here were the performance. None of the implementations offer deniability, anonymity, and theft prevention all combined. Also, the nice thing about SNARKs is that the transaction sizes are always small, but the prover is always very slow.
Quisquis concept
Say a user wants to send money. You want to move other people’s money without their approval, but you also don’t want money to be stolen.  But what if instead of sending from money to yourself, you send money from yourself to A prime? What if the public key is owned by A and it doesn’t look like it’s owned by A prime. Is this possible? It is, with updateable public keys.
An updateable public key is a public key that can be updated such that the updated public key and the original secret are still a valid keypair. You can still sign for it even if someone updated your key for you. It should be indistinguishable whether a public key was updated or not (if it was fresh etc). Also, you shouldn’t be able to forge. If you’re given only the public key of someone else, you can’t update it and then know the secret key of that.
Constructions of updateable public key
The construction we use is fairly simple. You have a pair of group elements. The second one is the first one to the power of x. Updating them will also be easy. You just exponentiate both elements to the same power. So then you know the discrete log stays the same. It’s indistinguishable because of DDH.
Basic quisquis transaction
You have an input, an output, you update the public key, you pick a random public key from the UTXO, you update the public key. You make a zero-knowledge proof for the following statemnet: N-1 public keys were updated, and …
In the basic construction, we assumed every public key held exactly 1 coin. This is an unrealistic assumption. We want to deal with variable amounts associated to keys, while hiding the amounts and allowing anonymous transactions. The idea is that each public key has an associated balance, and this balance can be committed or encrypted. The commitment should be homomorphic so updating can be done without needing to decrypt. So quisquis transactions are just redistribution of value.
Accounts are pairs of public keys and commitments to the balance of the public key. In quisquis, we have the public key is as before, and the commitment is ElGamal of the balance. Accounts can be updated in a similar way where you update the public key, then use the homomorphic property of the comimtment to the update the commitment. The secret key did not change, the value can be increased/decreased by the value v, and the new updated account cannot be linked to the first account.
The zero-knowledge proof needs to show that all accounts were updated correctly and with amounts >= 0, except for one, for which I knew the secret key, and whose balance is >= 0.
Quisquis transaction properties
The UTXO set doesn’t grow. Only the last version of the accounts is stored. We have theft prevention because you can withdraw from your account (if you know the secret key) as long as the balance is positive, and the other accounts only receive non-negative updates. We have anonymity because updated accounts in the output are unlinkable to the accounts in the input set. The commitments hide the value, and the zero-knowledge proof hides the relationship between inputs, outputs, and the value which was transferred.
Performance benchmarking
For ZK proofs, it was a combination of sigma protocols for discrete log relations. We use Bayer-Groth shuffle, and bulletproofs for rangeproofs. We did an implementation in golang. Here are some numbers for performance.
Q&A
Q: How do you handle asynchrony? If two transactions come in at the same time and use the same… it seems like the accounts get updated after every transaction? Can asynchrony be handled when two transactions are issued with respect to the same state?
A: Good question. It’s one of the things we’re trying to do. At the moment, what happens if two transactions use the same public key for their anonymity set then only one can get into the blockchain and the other one has to be redone again which isn’t very nice. We’re working on nice ways to handle that. If you have any ideas, we’re happy to listen.
Q: I have a question about plausible deniability. I think another output to hide the actual transaction.. but this output needs to belong to me, because I need to know the blinding factor to use this. Is that correct?
A: The way we do it is that… when you get your output, you don’t know the randomness anymore because someone else updated it. But that’s okay because you have the secret key, and you can transform it into another one where you do know the randomness and do the bulletproof on that.
Q: .. can I just choose a user and update his public key continuously, so this user would have a very long line of keys, and eventually he would lose track of those keys?
A: Yes, that’s a concern. We haven’t thought of the best way to address that at the moment.


Chapter 5 Why start with geom_point() ?
5.1 ggplot is famed for annoying errors
It’s a good idea to start with
ggplot2::geom_point()
because it works for both raw and summarised data straight away. This both speeds up EDA and makes ggplot less intimidating for beginners.Let’s explore more granular data to trigger some common errors using the marriage data from the mosaicData package. We do a little data cleaning on the ceremony date and on the column that describes any previous marriages.
marriage <-
mosaicData::Marriage %>%
tidylog::mutate(prev_marriage = as.character(prevconc)) %>%
tidylog::mutate(prev_marriage = case_when(
is.na(prev_marriage) ~ "First Time",
TRUE ~ prev_marriage
)) %>%
tidylog::mutate(ceremonydate1 = lubridate::parse_date_time(ceremonydate, "mdy"))
## mutate: new variable 'prev_marriage' with 3 unique values and 49% NA
## mutate: changed 48 values (49%) of 'prev_marriage' (48 fewer NA)
## mutate: new variable 'ceremonydate1' with 49 unique values and 0% NA
kableExtra::kable(utils::head(marriage %>%
dplyr::select(ceremonydate1, person, prev_marriage, age, race, sign)))
| ceremonydate1 | person | prev_marriage | age | race | sign |
|---|---|---|---|---|---|
| 1996-11-09 | Groom | First Time | 32.60274 | White | Aries |
| 1996-11-12 | Groom | Divorce | 32.29041 | White | Leo |
| 1996-11-27 | Groom | Divorce | 34.79178 | Hispanic | Pisces |
| 1996-12-07 | Groom | Divorce | 40.57808 | Black | Gemini |
| 1996-12-14 | Groom | First Time | 30.02192 | White | Saggitarius |
| 1996-12-26 | Groom | First Time | 26.86301 | White | Pisces |
In the Texas housing sales data, geom_line works because we have only one value of sales per city and date used in the “aesthetics” of the plot (e.g. x,y, colour, category, or facet being the most common aesthetics).
A common way to trigger ggplot2 errors (or create confusing plots) is to use bar and line charts before the data is summarised. For example, a line chart is inappropriate with many ages per previous marriage status in the data.
- Changing the plot above to a bar chart instead returns a confusing error.
## Error: stat_count() must not be used with a y aesthetic.
ggplot2::geom_col()
orggplot2::geom_bar(stat = "identity")
will plot the data for us without and error but it’s showing the sum of all the ages in each previous marriage category which doesn’t tell us an interesting story in the data.
marriage %>%
ggplot2::ggplot() +
ggplot2::aes(
x = prev_marriage,
y = age
) +
ggplot2::geom_bar(stat = "identity")
Another reason to avoid starting EDA with bars is they may perform a statistical transformation without us realising. As explained in the Statistical Transformations chapter of R for Data Science.
A bar or line may end up being the final plot choice, but for fast EDA let’s avoid them and retreat to our friend
ggplot2::geom_point()
5.2 Retreat to geom_point()
- Let’s go back to using
ggplot2::geom_point()
and facet by person.
marriage %>%
ggplot2::ggplot() +
ggplot2::aes(
x = prev_marriage,
y = age
) +
ggplot2::facet_wrap(~person) +
ggplot2::geom_point(alpha = 0.3)
Immediately this is the start of an interesting story we can follow. We see the ages of brides and grooms shown by whether they are getting married for the first time or if they have been divorced or widowed.
As well as data points we might also experiment with different ways of showing these distributions. Hadley Wickham’s ggplot2: Elegant Graphics for Data Analysis has a good short chapter on displaying distributions.
First let’s try a histogram and see if this helps us tell a good story.
marriage %>%
ggplot2::ggplot() +
ggplot2::aes(x = age) +
ggplot2::facet_wrap(~ person +
prev_marriage) +
ggplot2::geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
- We get a warning about the bin width. We can set the bin width by hand, say 6 bins.
marriage %>%
ggplot2::ggplot() +
ggplot2::aes(x = age) +
ggplot2::facet_wrap(~ person +
prev_marriage) +
ggplot2::geom_histogram(bins = "6")
This looks better but is there an optimum bin number? There is probably no optimum width, as discussed in this stackexchange question.
Let’s also try a density distribution plot using
ggplot2::geom_density()
p <-
marriage %>%
ggplot2::ggplot() +
ggplot2::aes(
x = age,
fill = prev_marriage
) +
ggplot2::geom_density(adjust = 1,
alpha = 0.5,
colour = NA) +
ggplot2::facet_wrap(vars(person),
ncol = 1) +
ggplot2::theme_minimal()
directlabels::direct.label(p, list("top.points", cex = .75, hjust = 0, vjust = -0.2))
5.3 geom_jitter() and geom_boxplot() is better
- But with so few data points I think that
ggplot2::box_plot()
with the data points overlaid usingggplot2::geom_jitter()
tells the data story well.
5.4 Final choice: geom_dotplot() and stat_summary()
The plot above would have been my final choice until I saw the fantastic “evolution of a ggplot” post by Cedric Sherer.
In the gif below you can see Sherer also starts with a boxplot, but his final choice is
ggplot2::geom_jitter()
andggplot2::stat_summary()
. His post gives the full code in a gradual code story presented like the ggplot flip-books.
- And here is his final plot shown at the end of the looping gif above.
- Inspired by that plot and its code I prefer my final plot below on the marriage data. It is more engaging than a boxplot as it tells the story with little or no explanation needed. Much like a plot in a quality online newspaper can. I have also used
ggplot2::geom_dotplot()
instead ofggplot2::geom_jitter()
. The dot plot lines up dots that very close in value. I found this geom_dotplot tutorial helpful to understand how to use it and control how the dots are lined up using the binwidth argument.
p <- marriage %>%
dplyr::group_by(person,prev_marriage) %>%
dplyr::mutate(pers_prev_avg = median(age)) %>%
dplyr::ungroup() %>%
dplyr::group_by(person) %>%
dplyr::mutate(pers_avg = median(age)) %>%
dplyr::ungroup() %>%
ggplot2::ggplot() +
ggplot2::aes(
x = prev_marriage,
y = age,
fill = prev_marriage,
colour = prev_marriage,
) +
ggplot2::facet_wrap(~person, ncol = 1) +
ggplot2::stat_summary(fun.y = median,
geom = "point",
size = 4,
alpha = 0.8) +
ggplot2::stat_summary(aes(label= paste( round(..y..,1),
" years")),
fun.y=median,
colour = "black",
geom="text",
size=3,
vjust = -1.5) +
ggplot2::geom_hline(aes(yintercept = pers_avg),
color = "gray70",
size = 0.6) +
ggplot2::geom_text(aes(x = 0.7,
y = pers_avg,
label = paste(person," average age", round(pers_avg,0)),
hjust = 1.05),
colour = "black",
size = 3) +
ggplot2::geom_segment(aes(x = prev_marriage,
xend = prev_marriage,
y = pers_avg,
yend = pers_prev_avg),
size = 0.8) +
ggplot2::geom_dotplot(binaxis = "y",
dotsize = 1,
method = "dotdensity",
binwidth = 0.5,
alpha = 0.4,
stackdir = "center",
stackratio = 1.5) +
ggplot2::scale_color_brewer(type = "qual",
palette = "Dark2") +
ggplot2::scale_fill_brewer(type = "qual",
palette = "Dark2") +
ggplot2::theme_minimal() +
ggplot2::theme(
plot.title = element_text(size = 14,
hjust = 0),
legend.position = "none",
axis.title.x = element_blank(),
axis.title.y = element_blank(),
panel.grid = element_blank(),
strip.text.x = element_text(size = 12,
hjust = 0.1),
panel.border = element_rect(colour = "black",
fill=NA,
size = 0.1)
) +
ggplot2::scale_y_continuous(breaks=base::seq(0,100,10)) +
ggplot2::coord_flip() +
ggplot2::labs(
title = "Age* of brides and grooms by previous marriage status",
caption = "*The average ages are the median, the middle age among all ages.\n i.e. 50% of ages fall below the median value and 50% above it"
)
ggplot2::ggsave(file="marriage.svg",
device = "svg",
plot=p)
## Saving 7 x 5 in image
In the plot above we can see grooms are older on average overall. But do they tend to be older or younger than their bride within each marriage?
As a final quick exploratory chart let’s put the ceremony ID on the x-axis, use
ggplot2::geom_point()
for age, and give the data points for brides and grooms their own colour. Adding the ceremony IDbookpageID
to the group aesthetic means that when we addggplot2::geom_line()
this creates a line that joins the two data points for each marriage.We can see that most grooms are older than most brides in each ceremony.


Advanced progress manipulation, allowing to construct a single progress indication bar
from multiple, possibly independent sources.
Note: The APIs in the package resemble the APIs from the main package but are separate.
There are the same visualization options as with the regular progress indication, with additional
customization options provided.
- There are multiple, possibly independent sources of task's progress.
- These progress sources (contributors) can be added even during the task's run.
- The infrastructure assures that the progressbar never steps back but recalculates the
remaining space among the running contributors.
- It's possible to monitor the progress from a central place.


term::ansi::send - Output of ANSI control sequences to terminals
This package provides commands to send ANSI terminal control sequences to a terminal. All commands come in two variants, one for sending to any channel, the other for sending to stdout.
The commands are defined using the control sequences provided by the package term::ansi::code::ctrl. They have the same arguments as the commands they are based on, with the exception of the variant for sending to any channel. Their first argument is always a channel handle, then followed by the original arguments. Below we will list only the variant sending to stdout.
Imports the commands of this package into the namespace ns. If not specified it defaults to send. Note that this default is a relative namespace name, i.e. the actual namespace will be created under the current namespace.
By default all commands will be imported, this can however be restricted to specific commands, by listing them after the namespace to import them into.
Erase (to) End Of Line.
Erase (to) Start Of Line.
Erase (current) Line.
Erase Down (to bottom).
Erase Up (to top).
Erase Screen.
Scroll Down.
Scroll Up.
Cursor Home.
Save Cursor. Note: Only one saved position can be handled. This is no unlimited stack. Saving before restoring will overwrite the saved data.
Restore Cursor (Unsave).
Save Cursor + Attributes.
Restore Cursor + Attributes.
Set Tab (@ current position).
Clear Tab (@ current position).
Clear All Tabs.
Query Device Code.
Query Device Status.
Query Cursor Position.
Reset Device.
Enable Line Wrap.
Disable Line Wrap.
Enter Graphics Mode.
Exit Graphics Mode.
Select Character Set.
Choose which character set is used for default (scs0) and alternate font (scs1). This does not change whether default or alternate font are used, just their definitions.
The legal tags, and their meanings, are:
United Kingdom Set
ASCII Set
Special Graphics
Alternate Character ROM Standard Character Set
Alternate Character ROM Special Graphics
Set Display Attributes. The arguments are the code sequences for the possible attributes, as provided by the package term::ansi::code::attr. For convenience this package also provides additional commands each setting a single specific attribute.
Set text color to Black.
Set text color to Red.
Set text color to Green.
Set text color to Yellow.
Set text color to Blue.
Set text color to Magenta.
Set text color to Cyan.
Set text color to White.
Set default text color (Black).
Set background to Black.
Set background to Red.
Set background to Green.
Set background to Yellow.
Set background to Blue.
Set background to Magenta.
Set background to Cyan.
Set background to White.
Set default background (Transparent).
Bold on.
Dim on.
Italics on.
Underscore on.
Blink on.
Reverse on.
Hidden on.
Strike-through on.

Italics off.
Underscore off.

Reverse off.
Hidden off.
Strike-through off.
Reset all attributes to their default values.
Force Cursor Position (aka Go To).
Cursor Up. n defaults to 1.
Cursor Down. n defaults to 1.
Cursor Forward. n defaults to 1.
Cursor Backward. n defaults to 1.
Scroll Screen (entire display, or between rows start end, inclusive).
Set Key Definition.
Set the terminal title.
Switch to character/box graphics. I.e. switch to the alternate font.
Switch to regular characters. I.e. switch to the default font.
Character graphics, Top Left Corner.
Character graphics, Top Right Corner.
Character graphics, Bottom Right Corner.
Character graphics, Bottom Left Corner.
Character graphics, Left T Junction.
Character graphics, Top T Junction.
Character graphics, Right T Junction.
Character graphics, Bottom T Junction.
Character graphics, Four-Way Junction.
Character graphics, Horizontal Line.
Character graphics, Vertical Line.
Optimize character graphics. The generator commands above create way to many superfluous commands shifting into and out of the graphics mode. This command removes all shifts which are not needed. To this end it also knows which characters will look the same in both modes, to handle strings created outside of this package.
Clear screen. In essence a sequence of CursorHome + EraseDown.
Initialize default and alternate fonts to ASCII and box graphics.
Show the block of text at the specified location.
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category term of the Tcllib Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.
When proposing code changes, please provide unified diffs, i.e the output of diff -u.
Note further that attachments are strongly preferred over inlined patches. Attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.
Terminal control
Copyright © 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net>


Gem store!
Product name:{{product.name}}
Product price {{product.price | currency}}
Product description: {{product.description}}
Add to Cart
Add new product
Product name: {{store.newproduct.name}}
Product price: {{store.newproduct.price | currency}}
Product description: {{store.newproduct.description}}
Add to Cart
Add to products


Sorry, this demo requires a web browser which supports HTML5 canvas!
JavaScript software 3d renderer © 2009 Dean McNamee (dean at gmail)
Mouse
→
rotate around origin x and y axis
Mouse + ctrl
→
pan x / y
Mouse + shift
→
pan z
Mouse + ctrl + shift
→
adjust focal length


Regeneration max voltage
The regeneration voltage to push back to the battery.
Regen will not work (and will not brake) when this voltage is exceeded.


"HAEMORRHOIDS "or Emerods, bleeding piles known to the ancient Romans as mariscae, but more probably malignant boils of an infectious and fatal character. With this loathsome and infectious disease the men of Ashdod were smitten by the hand of the Lord. This calamity they attributed to the presence of the ark in their midst, and therefore they removed it to Gath (1 Samuel 5:6-8). But the same consequences followed from its presence in Gath, and therefore they had it removed to Ekron, 11 miles distant. The Ekronites were afflicted with the same dreadful malady, but more severely; and a panic seizing the people, they demanded that the ark should be sent back to the land of Israel (9-12; 6:1-9).
"HAEMORRHOIDS "or Emerods, bleeding piles known to the ancient Romans as mariscae, but more probably malignant boils of an infectious and fatal character. With this loathsome and infectious disease the men of Ashdod were smitten by the hand of the Lord. This calamity they attributed to the presence of the ark in their midst, and therefore they removed it to Gath (1 Samuel 5:6-8). But the same consequences followed from its presence in Gath, and therefore they had it removed to Ekron, 11 miles distant. The Ekronites were afflicted with the same dreadful malady, but more severely; and a panic seizing the people, they demanded that the ark should be sent back to the land of Israel (9-12; 6:1-9).


Let's start with big dreams
The essence of learning is constant movement without a fixed point.
learn moreThe essence of learning is constant movement without a fixed point.
learn moreEducation is the wise, hopeful and respectful cultivation of learning and change undertaken in the belief that we all should have the chance to share in life.
Education is a procedure of learning where knowledge, skills, and habits move from one generation to the other. Moreover, education is essential for the overall development of a human being. For instance, their personal, social as well as the economic development of the country. If we talk about the importance of education in our daily life, we have to admit that it improves our personal lives and helps in running the societies smoothly by protecting everyone including ourselves from the harmful and unexpected events.
Education is one of the most important and mandatory elements in the life of a student. It helps the students to do analysis while making important decisions in life. Education is essential for a student because after being educated enough, a student will be able to select a good career option for them. So that they can succeed in life with the help of education.
As we all know that education is the key element of everyone’s life today. Education has the value that helps in making people valuable and full of knowledge. Education is necessary for the growth of life for everyone. It has the same value for everyone equally. Everyone is having the right to learn. Without education, life can become so difficult and hard to survive.


--- layout: post title: "Not going to NDC London after all" description: "Unfortunately, I've had to cancel my speaking engagement at NDC London 2013." date: 2013-11-19 15:25 UTC tags: [Miscellaneous] --- {% include JB/setup %}
{{ page.description }}
Ever since I was accepted as a speaker at NDC London 2013, I've really looked forward to it. Unfortunately, due to serious illness in my family, I've decided to cancel my appearance at the conference. This has been a difficult decision to make, but now that I've made it, I can feel that it's the right decision, even though it pains me.
I hope to be able to return to NDC another time, both in Oslo and in London.
If you visit my Lanyrd profile, you will see that while I have removed myself from NDC London, I'm still scheduled to speak at the Warm Crocodile Developer Conference in January 2014. I still hope to be able to attend and speak here. Not only is it realistic to hope that my family situation is better in January, but because the conference is in my home town, it also means that it puts less of a strain on my family. This may change, though...


| First and Pike | At the corner of First and Pike | Open 6AM - 8PM |
| Seatac Airport | Terminal C | Open 6AM - 8PM |
| Seattle Center | Somewhere in there | Open 6AM - 8PM |
| Capitol Hill | Up on the hill | Open 6AM - 8PM |
| Alki | On da beach, BBBBOOOOOYYYYY! | Open 6AM - 8PM |
Get fishy with us!


Thursday, October 11
{% for event in data.pieces %}
{% if event.startDate | date("dddd, MMMM DD") == "Thursday, October 11" %}
{{ eventCard.base(event) }}
{% endif %}
{% endfor %}
Friday, October 12
{% for event in data.pieces %}
{% if event.startDate | date("dddd, MMMM DD") == "Friday, October 12" %}
{{ eventCard.base(event) }}
{% endif %}
{% endfor %}
Saturday, October 13
{% for event in data.pieces %}
{% if event.startDate | date("dddd, MMMM DD") == "Saturday, October 13" %}
{{ eventCard.base(event) }}
{% endif %}
{% endfor %}
Sunday, October 14
{% for event in data.pieces %}
{% if event.startDate | date("dddd, MMMM DD") == "Sunday, October 14" %}
{{ eventCard.base(event) }}
{% endif %}
{% endfor %}
Monday, October 15
{% for event in data.pieces %}
{% if event.startDate | date("dddd, MMMM DD") == "Monday, October 15" %}
{{ eventCard.base(event) }}
{% endif %}
{% endfor %}
Tuesday, October 16
{% for event in data.pieces %}
{% if event.startDate | date("dddd, MMMM DD") == "Tuesday, October 16" %}
{{ eventCard.base(event) }}
{% endif %}
{% endfor %}
Wednesday, October 17
{% for event in data.pieces %}
{% if event.startDate | date("dddd, MMMM DD") == "Wednesday, October 17" %}
{{ eventCard.base(event) }}
{% endif %}
{% endfor %}
Thursday, October 18
{% for event in data.pieces %}
{% if event.startDate | date("dddd, MMMM DD") == "Thursday, October 18" %}
{{ eventCard.base(event) }}
{% endif %}
{% endfor %}
Friday, October 19
{% for event in data.pieces %}
{% if event.startDate | date("dddd, MMMM DD") == "Friday, October 19" %}
{{ eventCard.base(event) }}
{% endif %}
{% endfor %}
Saturday, October 20
{% for event in data.pieces %}
{% if event.startDate | date("dddd, MMMM DD") == "Saturday, October 20" %}
{{ eventCard.base(event) }}
{% endif %}
{% endfor %}


Draggable tiles grid
Drag me
Resizable tiles grid
Resize me
│
┘
│
│
─
─
Overlappable tiles grid
Stack me
Animated grid (smooth moves and resizes)
┘
│
│
─
─
┐
┌
┘
└
Min/Max constraints on tile's size
Min: 1 x 2
Max: 4 x 5
┌
┘
Min: 2 x 2
Max: 10 x 5
┌
┘


i am saying all the time:
what am i doing?
Written by saima.
Visit us at:
SAI.com
mirpur,dhaka
bangladesh


|
chessCAMO
|
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <windows.h>
Go to the source code of this file.
Classes | |
| class | Chess |
| This class describes the chess board on which the game takes place. It contains functions which analyze specific flags to determinewhen to switch turns, display warnings, and even end the game. More... | |
| class | Piece |
| This class describes the pieces on the board at any given moment. It contains functions for determining the piece's type, color, possible/legal moves, and more helpful utilities for making decisions regarding move candidates. More... | |
| class | Pawn |
| This class describes a pawn and provides functions related to pawn movements. More... | |
| class | Knight |
| This class describes a knight and provides functions related to knight movements. More... | |
| class | Bishop |
| This class describes a bishop and provides functions related to bishop movements. More... | |
| class | Rook |
| This class describes a rook and provides functions related to rook movements. More... | |
| class | Queen |
| This class describes a queen and provides functions related to queen movements. More... | |
| class | King |
| This class describes a king and provides functions related to king movements. More... | |
| class | Empty |
| This class describes an empty square which is necessary to keep in mind when playing a game of chess. More... | |
Namespaces | |
| chessCAMO | |
| This namespace contains the global functions related to chessCAMO which are mainly used as helper functions to print information to the console to improve user experience while playing the game. | |
Macros | |
| #define | GREEN 10 |
| #define | CYAN 11 |
| #define | RED 12 |
| #define | PINK 13 |
| #define | YELLOW 14 |
| #define | DEFAULT 15 |
Enumerations | |
| enum | pieceType { PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING, EMPTY } |
| Piece's Type. More... | |
| enum | pieceColor { BLACK, NEUTRAL, WHITE } |
| Piece's Color. More... | |
Functions | |
| template<class T > | |
| int | chessCAMO::preProcessInput (T input) |
| Converts the input string into its corresponding coordinate (integer) for easier computation in chess::makeMove(int src, int dest, istream& in). More... | |
| void | chessCAMO::printBoard (const vector< Piece * > &board, const vector< pair< int, char >> &reservoir) |
| Iterates through the pieces on a current board representation to produce the board on the console screen. More... | |
| void | chessCAMO::printFooterMessage (string input_message, const Chess &chess) |
| Prints the footer message before each move indicating whose move it is for the current board representation. More... | |
| void | chessCAMO::drawOrResign (bool clear_screen, Chess &chess, istream &in) |
| At any moment, the players can either continue, draw, or resign. More... | |
| void | chessCAMO::printMessage (string text, int color) |
| Prints the given message ('text') with a given 'color' to console. More... | |
| void | chessCAMO::clearScreen (bool apply) |
| Clears the screen of the console window using a special string instead of a platform specific command. More... | |
| void | chessCAMO::saveObject (const Chess &chess_object) |
| Saves an object by serializing its member fields to a text file, allowing it to later be reset. More... | |
| void | chessCAMO::restoreObject (Chess &chess_object) |
| De-serializes an object from a file based on the number of moves made, essentially restoring the object's saved properties (in the file). More... | |
| #define GREEN 10 |
Changes console text color to green
| #define CYAN 11 |
Changes console text color to cyan
| #define RED 12 |
Changes console text color to red
| #define PINK 13 |
Changes console text color to pink
| #define YELLOW 14 |
Changes console text color to yellow
| #define DEFAULT 15 |
Changes console text color to white (default)
| enum pieceType |
Piece's Type.
| Enumerator | |
|---|---|
| PAWN | 0 |
| KNIGHT | 1 |
| BISHOP | 2 |
| ROOK | 3 |
| QUEEN | 4 |
| KING | 5 |
| EMPTY | 6 |
| enum pieceColor |


Become a TWLF Ambassador
The Warrior Leader Foundation Ambassadors are a direct reflection of the type of culture and environment we are striving to build within and around our foundation. our Ambassadors work to spread the good word of our cause through their actions within their communities and beyond.
TWLF Ambassadors need to be either current or veteran military and/or first responders who live and embody the warrior spirit through their physical activities and community involvement. TWLF Ambassadors work to raise funds and awareness of our cause by representing our foundation as they participate in events such as:
- Running Races
- Crossfit Competitions
- Lifting Competitions
- Shooting Competitions
- MMA/Boxing
- Marathons/Triathlons
- Biking Events/Competitions
- GoRuck Challenges
- Iron Mans
- Obstacle Races (Spartan Race, Warrior Dash, Tough Mudder, etc.)
The above are just a few examples of how a TWLF Ambassador can represent the warrior spirit that our organization strives to embody. Through our physical struggles and service to our communities, we can unite and honor the sacrifices that the men and women of our military and first responder communities have made in the line of duty.
Requirements of a TWLF Ambassador:
- Commit to Participating in 4 Major events per year similar to what we listed above
- Establish Good Relationship with Local Chapter if Applicable
- Represent Yourself & The Warrior Leader Foundation in accordance to the TWLF Code of Conduct & Integrity and the TWLF Policies and Procedures AT ALL TIMES!
- Seek other potential TWLF, Inc Ambassadors you feel would be a good representative of the WARIOR SPIRIT.
- Maintain good record keeping by creating a GMail account<EMAIL_ADDRESS>i.e<EMAIL_ADDRESS>- Maintain an active Social Media presence on Facebook and Instagram with posts at least once per week.
- Link your Social Media outlets with the National TWLF Social Media outlets.
- Engage outside for-profit/nonprofit organizations to build strong relationships for TWLF
- $50 minimum donation semi-annually to the National TWLF Foundation. ($100/year)
- Refer supporters to our TWLF Website (www.warriorleaderfoundation.org) and Social Media outlets.
In Order to Apply
Fill out the Tollowing Form and Submit


Miami University Libraries
Storage Retrieval
BRILL SCIENCE LIBRARY
For items published before 1960, complete the storage retrieval
form which you obtain from the Reference or Circulation Desk.
Give the completed form to the librarian or circulation staff.
Items are retrieved on demand.
KING LIBRARY
Check items with Dewey Call numbers (begins with a number), at
Reference Desk to see if it is in storage. Complete the storage
retrieval form which you obtain from the Circulation Desk.
Back to Library Information
Back to Main Menu


Me
Report
About
Schools
Duck
About
This website is part of the course
DA377B
Course repo on GitHub
Forked course repo on GitHub


We all need time to do things we love. But, time is not always on our side. Neither are the people around us. Henry Bemis lived a life in which he found solace in books, and contempt from everyone around him. In Time Enough at Last, he is given an opportunity to forget the world and live in his books, but the Twilight Zone had other ideas.
I tackled the One Story/Four Icons design assignment to get the juices flowing. I had a lot of great ideas after watching Tim Owens and Jim on the ds106.tv show about design yesterday. One I had known about was The Noun Project, but I had forgotten about it until the show. So, I hopped over there to grab some images and get going.
I started with 5 icons (full disclosure here) and then combined the man’s head with the mustache to make myself a Bemis. So, in the end, I still ended up with four icons (I’m not a cheater.)
To get the broken lens, I simply used the circle selector and chose the space inside the glasses icon. Then, I grew the selection (Selection > Grow) by 3px to grab some of the edge. Then, I used the Transform tool to skew the lens (we’re getting deep here (yes, that is a terrible pun)) to show some depth. Filled in some lines, and you’ve got yourself a cracked lens. This didn’t take me too long, so I decided to beef it up a little and give myself another star in the process.
Rather than a still image, I decided to GIF this into something a little more interesting.
(I played with the timing a lot. I’m happy with what I came up with).
Just like Mr. Bemis, he thought things would turn out one way, only to find that circumstances often get the best of us, no matter how much we plan.
— CC Attributions —
Person designed by Antonis Makriyannis from The Noun Project
Mustache designed by Fernando Vasconcelos from The Noun Project
Book designed by Diego Naive from The Noun Project
Explosion designed by Bohdan Burmich from The Noun Project
Glasses designed by Thomas Hirter from The Noun Project
On a side note, this episode makes me really, really sad.
3 Design Stars
Written on May 29th, 2013 by Brian Bennett Categorized in: All ds106
Leave a comment


salt '*' test.ping- Execute a highstate on all connected minions:
salt '*' state.highstate- Upgrade packages using the OS package manager (apt, yum, brew) on a subset of minions:
salt '*.example.com' pkg.upgrade- Execute an arbitrary command on a particular minion:
salt 'minion_id' cmd.run "ls "


Marcus: I spy something beginning with "B".
Dr. Franklin: Boxes.
Marcus: ...Right. I spy something beginning with "M"!
Dr. Franklin: More boxes.
Marcus: ...Right again.
Dr. Franklin: And that's when I shot him, Your Honor...
Dr. Franklin: Boxes.
Marcus: ...Right. I spy something beginning with "M"!
Dr. Franklin: More boxes.
Marcus: ...Right again.
Dr. Franklin: And that's when I shot him, Your Honor...
Whenever characters play "I Spy" or similar guessing games, it means two things:
- Inevitably, they're really bored.
- Frequently, they're in a Void Between the Worlds with only one thing in it, or otherwise in a place full of many instances of the same thing, making the game trivial.
If The Ditz is on board, expect whatever he's spying to start with a letter other than the one he says, much to the annoyance of everyone else.
Sister Trope to Car Ride Games.
Examples:
open/close all folders
Anime and Manga
- In an episode of Transformers: Car Robots, the Car Robot brothers play this while they are stranded underwater.
- In the English dub of episode 30 of Shaman King, Rio and Horohoro play I Spy whist Lyserg leads the gang through the desert.
 And on the first try!Horohoro: My go! I spy something orange.Rio: Is it by any chance a rock?Horohoro: Hey! How did you know dude?Rio: Okay, I spy something red.Horohoro: Let me guess, a rock?Len: Enough! We get it! The scenery doesn't change much.Horohoro: The scenery doesn't change EVER!
Audio Plays
- Big Finish Doctor Who: In The Wrath of the Iceni, the Fourth Doctor plays I Spy with Bragnar while they are held prisoner. However, because he is trussed up and lying flat on his back, the only thing he can see is the roof...
Comic Books
- It shows up in Cerebus the Aardvark, but the earth-pig born has no patience for it.

Fan Works
- Twice in this chapter of The Tale of Westala and Villtin.
- The Ed Of The World: While the kids are in Ed's basement, Edd asks what to do to pass the time. Eddy suggests I Spy. Kevin calls it lame and Nazz calls it childish. Jimmy, however, would be satisfied with the game. The kids then reluctantly agree with him. The following sequence then occurs:
Edd: [Sighs] I'll go first. I spy with my little eye something... blue.
[The kids all murmur to each other.]
Nazz: Rolf's hair?
Edd: Yes! [To himself] Can this day get any worse? - In Bring Me All Your Elderly!, there's a sequence where Toph and Suki are waiting while Sokka teaches his movie counterpart sarcasm. Suki suggests I Spy to pass the time, but...
 Sorry.
- In Doubling Down, the Iron Bull gets his pals to play "I Spy" while in the massive desert region of the Hissing Wastes. When he says that he spies something that starts with S, another character is quick to warn him that the answer had better not be "sand."
Film — Animated
- Those Two Moose in Brother Bear do this while they're riding the mammoth herd:
Rutt: Wanna play "I Spy?"
Tuke: Okay. I spy something...green.
Rutt: Tree? Okay, my turn. I spy something...tall.
Tuke: Tree. I spy something...with bark—
Rutt: Tree. Okay, I spy something, uh...a vertical log—
Tuke: Tree. Okay, I spy some—
Rutt: Tree. Okay, my turn—
Tuke: Tree.
Rutt: Hey, I didn't spy anything!
Tuke: It counts!
Rutt: Oh, okay. Tree.
Tuke: Ugh, let's play something else. - In Balto, the characters are walking through a vast snow field, and one of them says, "I spy with my little eye something beginning with S."
- Dory attempts to play this with Marlin in Finding Nemo. He's... less than enthusiastic about it. Especially since he's the only thing around to "spy", as they're swimming through blankly open ocean. And, of course, Dory's short-term memory loss doesn't help anything.
Dory: I'm thinking of something orange... and it's small...
Marlin It's me.
Dory: Right! Okay, orange... and, uh, small...
Marlin: It's me.
Dory: Right! Oh hey, Mister Smarty-Pants! [some time later] Okay, orange and small... and white stripes...
Marlin: [annoyed] It's me. And the next one, just a guess: Me.
Dory: Okay, that's just scary.
Film — Live Action
- Toyed with in Bill & Ted's Bogus Journey, where the main characters fall into what is effectively a bottomless pit.
- Featured in the first movie adaptation of Children of the Corn (1984), when a young married couple drives through middle-of-nowheresville, Nebraska:
Burt: I spy, with my lttle eye, something that starts with C.Vicky: ...Corn.
- Averted in Jeepers Creepers, in which the siblings' vanity-plate-decryption highway game actually becomes relevant to the plot when they try it on the menacing vehicles. No, it's not "Beating You"...
- Ocean's Eleven also had the 20 questions version with the Mormon twins.

- In Spice World, Ginger tries to play "I spy with my bionic eye" while waiting for their friend's baby to be delivered. "Something beginning with H" is- what else- "hospital."
- A deleted scene from Stardust has the royal ghosts playing during a ride. "Something beginning with R" is all too often "ribcage."
"Then it wouldn't be called I Spy, would it? It'd be, I Can Randomly Think of Something."
- On UHF, Stanley tries to play a similar game with the thugs who kidnapped him. While blindfolded.
Stanley: I'm thinking of something orange! Something orange... Give up? It's an orange!
- An Ungentlemanly Act (1992). Governor Hunt's children do this to keep a Stiff Upper Lip after they see the building where their father is being hit by tracer fire and grenade explosions.
"I spy with my little eye, something beginning with A.""Asphalt?"
- Alien 40th Anniversary Shorts. In "Alone", a synthetic left alone on an abandoned and deteriorating spacecraft has resorted to counting the rivets on the bulkheads. She sees that there are two more than in the technical specs and makes a note to tell someone when she gets home.
Literature
- Discworld:
- The wizards in Lords and Ladies, during their carriage ride to Lancre. But the Sto Plains aren't known for their scenery: S for sky, C for cabbages, and O for... oook?
- In Wyrd Sisters, Nanny Ogg does it as well with the ghost of Lancre's previous king while she is locked in a torture chamber.
- Q, Ben, Radar, and Lacy play metaphysical eye spy on the road trip in Paper Towns. They're definitely bored, but the "metaphysical" part stops it from being trivial.
- Wallace & Gromit: Cheese Lover's Yearbook contains an extremely rainy caravan holiday, during which the duo spend all of one day playing I Spy...according to Gromit's typewritten notes, "R for rain featured regularly." (The next day is apparently even duller, since the entry for that day gives a precise count of the number of flowers on the caravan's wallpaper.)
- In Dinoverse Janine and Canadayce play this while on the long trek to try and find the boys. They've managed to put aside most of their enmity, but lots of the other things they could talk about still result in bristling on either side, so... I spy, with my little eye...
Live Action TV
- Monty Python: John Cleese and Graham Chapman do it in this bit of How to Irritate People, about 30 seconds in.
- While in hiding aboard a freighter on their way to Mars on Babylon 5, Marcus takes an increasingly frustrated Franklin through B for "boxes", M for "more boxes", and E for "even more boxes". Franklin is heard to mutter, "'And that's when I shot him, Your Honour'."
- Blackadder Goes Forth has a scene like this:
Blackadder: I spy with my bored little eye something beginning with 'T'.
Baldrick: Breakfast! My breakfast always begins with tea.
...
George: I spy with my litle eye something beginning with 'R'.
Baldrick: Army!
Blackadder: For God's sake, Baldrick! 'army' starts with an 'A'. He's looking for something that starts with an 'R'. RRRrrrrr!
Baldrick: Motorbike!
...
Blackadder: What begins with 'come here' and ends with 'ow'?
Baldrick: I don't know.
Blackadder: Come here. (punches him)
Baldrick: Ow! - The episode of The Goodies where they're sealed inside a block of concrete.
- In the Top Gear Polar Special, Jeremy and James do this while driving through the ice.

- In the Doctor Who story "Dragonfire", Mel and Ace play this when bored, in an ice cavern. The word of course is "ice". By the time the Doctor returns, Ace has spotted something beginning with 'M'. We don't find out what it is, but it's probably "more ice" (or possibly "Mel").
- Buffy the Vampire Slayer:
- In a variation, Spike and Harmony play twenty questions. First question: is it bigger than a breadbox? Second question: is it smaller than a breadbox? It was a sodding breadbox.
- Also this gem, when Resident Badass and Resident Nerd were trapped in a empty room:
Andrew: I spy with my little eye something that begins with a T.Spike: Tapestry.Andrew: Hey, good one.
- Outnumbered does this in an episode where the family's stuck in the airport; Sue is stupendously bored with the game (she's playing with her 6-year-old daughter Karen, who's coming up with things like 'time') and fails to guess what might start with 'm', whereupon Karen turns and points at a Middle Eastern man shouting "MUSLIM!" at the top of her voice.
- Spitting Image - A pair of Soviet generals watches a parade of tanks going by in Red Square:
General #1: I spy with my little eye something that begins with "t".General #2: Tank?General #1: Yes. (after a pause) I spy with my little eye something that begins with "a".General #2: Another tank?General #1: Yes. (a bit later) I spy with my little eye something that begins with "y".General #2: Yet another tank?
- In one episode of The Big Bang Theory, Leonard, Sheldon, Howard and Raj play 20 Questions over dinner, picking characters from sci-fi movies, like C-3PO. When it comes to Sheldon, however, the first question he's asked is if he's Spock. Sheldon immediately declares that he doesn't like the game.
- Hancock's Half Hour: "The Train Journey". Just one of the many ways in which Hancock and Sid try to alleviate the boredom, alienating their fellow passengers in the process.
- In Frasier, Frasier and Niles play while at a basketball game with their father, who is especially annoyed by the "with my little eye" part.
Frasier: I spy with my little eye something that begins with "V".Niles: [disgusted at what he sees around him] Vagabonds.Frasier: No.Niles: Vittles.Frasier: No.Niles: Vienna sausages.Frasier: Where do you see Vienna sausages?!Niles: Well, I thought that vendor might have—VENDOR!
- Only Fools and Horses: Del and Rodney do this when stuck in a lift; they come up with "Walls".
- Rik on The Young Ones tried to get the other lads to play Botticelli, a guessing game, but Mike is the only one willing to even try to guess a famous person's name; when it was Rik's turn to guess, Mike made up his famous person rather than use a real one.
- The Ferals indulge in this at one point. Rattus eventually develops his own way of making it more amusing. It involves a cricket bat.
- C'Mon Midffîld. While in prison, the crew play Eye Spy. Naturally, Wali screws it up. (Translated into English)
- Star Trek: Voyager. Stuck in a damaged turbolift in "Year of Hell", Harry and BElanna play a quiz game (most fanfic writers would make them have sex instead, but BElanna has internal injuries). In "Night" she plays Variant Chess with Tom and they end up having a lover's quarrel, because nothing is happening and they've played the game for so long it's become boring as well.
Radio
- You'll Have Had Your Tea: The Doings Of Hamish and Dougal, when they're trapped on a broken escalator. With a double Brick Joke.
 It was "panty-hose". I did get dressed in a hurry!
- Cabin Pressure. The pilot and co-pilot have a lot of time on their hands, and one of the main draws of the series is all the travel games they play, ranging from I Spy to listing all the people named Brian they can think of - and yes, Mr. Blessed is one of the first they can think of. One episode has them flying to Limerick, Ireland, and trying to come up with as many limerick poems as possible.
- The News Quiz Series 101 Episode 3, talking about Cabinet ministers not appearing on the Today programme (Radio 4's flagship current affairs show):
Nish Kumar: I don't know if you've heard the show recently; it's just Justin Webb playing I-Spy with Nick Robinson, and the answer is always "microphone".

Video Games
- In Dragon Age: Origins:
- This priceless exchange is a variant:
Alistair: You know, you never did tell me how you passed the time in that cage for so long.
Sten: No, I didn't.
Alistair: So... what did you do in there?
Sten: A training exercise. I would observe an object and then try to think of all the words in your language which began with the same letter as its name.
Alistair: That... wait. Just wait.
Sten: No.
Alistair: You are not telling me that you played, "I Spy," against yourself for twenty days.
Sten: There are a lot of things in Lothering that begin with "G". - A more straight example also occurs:
Alistair: Hmmm... I spy with my little eye, something that begins with... "G."
Sten: Is it a Grey Warden? Is it, in fact, you?
Ailstair: Oooh. You're really good at this.
Sten: (Sigh)
- This priceless exchange is a variant:
- Operation Flashpoint:
Soldier #1: I spy with my little eye something beginning with... G.
Soldier #2: Gun.
Soldier #1: Er, no, it's not "gun".
Soldier #2: It's "gun", isn't it? I saw you looking at it. Geez, you even cheat at I Spy.
Soldier #1: It's not "gun", it's "jeep".
Soldier #2: "Jeep" doesn't start with G, you meathead!- Which is a Genius Bonus, as "jeep" is a phonetic rendition of GP, which means Government Purpose or General Purpose, the official designation of the jeep.
- In Prince of Persia (2008), if you talk to the princess enough you play I Spy with her. She's not impressed.
The Prince: S.
Elika: Are we still playing that?
The Prince: S...
Elika: Fine, I give up.
The Prince: Soulless Follower of Ahriman.
Elika: ...how is it that nobody has killed you yet? - Second Sight has this in its "Conspiracy" level, where you catch two NSE security guards playing this game.
Guard 1: Elevator?Guard 2: No.Guard 1: Exit?Guard 2: You can't see that from here.Guard 1: Okay, uh...Energy Field?Guard 2: That would be EF, not just E.Guard 1: Extinguisher?Guard 2: No.Guard 1: Surely we could pick somewhere better to play?Guard 2: Keep guessing!Guard 1: Okay, um...Eeeeeediot.Guard 2: Now there's no need for that.
- While sailing to a previously visited island in My Sims Kingdom, Buddy may play a game of I Spy. One such conversation may be 'B' for 'boat', where Lyndsay points out that all there is to see is boat, sky and ocean. Another is '<player name>' for '<player name>'. He is scared when Lyndsay guesses correctly.
Web Comics
- As this page of Bite Me! illustrates, sometimes the game is trivial no matter how hard you try for advanced technique.
- The Order of the Stick, here.
Roy: Before meeting Elan, I would never have weighted the pro's and con's of being eaten by a dragon.
- These strips of Irregular Webcomic!.
- This strip of Code Name: Hunter; after their boat explodes, Max and Ruby are floating on a piece of wood, along with an unconscious sailor, Roberts.
Ruby: Hmm... I spy with me little eye, something that begins with 'wa'.Max: It wouldn't be 'water', would it?Ruby: Now, chief, just because you don't want to play doesn't mean you should spoil it for the rest of us. Right, Roberts?
- Subverted in Cwen's Quest when this is used to deliver a load of snark; the characters are still bored at the time, though.
- Faux Pas: A pair of raccoons have progressed to "even more" and the inevitable "That's when I killed him".
- In Intragalactic, two security-mercenaries play strip-I-Spy on a bank of monochrome security monitors. "Something gray?"
- In this Victorian bonus strip for Narbonic, two alien guards play I Spy while guarding the heroes' spaceship.
- In this Footloose strip, Iordain attempts to relieve the boredom of a carriage ride.
- Yet Another Fantasy Gamer Comic: one of Arachne's prisoners tries to play when in a yoke and facing a plain wall.
- The members of Dead Cell in The Last Days of FOXHOUND give this game a go while awaiting rescue. Unfortunately they're in a very dark, rather deep, featureless holding cell.
- Pete/R2 tries this in this Darths & Droids strip.
- General Protection Fault here.
- Hero Oh Hero opens with this trope.
- Spacetrawler, as Gurf, Pierrot, and Martina are flying towards the G.O.B.:
Gurf: I spy, with my little eye, something small white and tinkly.Pierrot: [not remotely amused] A star.Gurf: Nope! That one's a planet.Pierrot: Joy.
Web Original
- The lonelygirl15 episode "On The Run", although they don't make the joke (and we don't find out what the something began with).
- Red vs. Blue.
Grif: I spy something beginning with—Simmons: (frustrated) Dirt!Grif: Damn! How did you guess?Simmons: Well, you said rock last time. And those are the only things out here. Rocks and dirt.Grif: Yeah.
- The Very Secret Diaries had Sauron, who was very bored, playing "I spy with my big-huge-nasty-flaming eye."
- Weebl & Bob:
Weebl: I spy with my sexy eye.... somethings begin with 's'.
Bob: Is it 'sign'?
Weebl: [thinking] Arse Fez!
Weebl: Err... no. no it isn't.
Bob: Yes it is!
Weebl: How you know?
Bob: 'Sign' only word you can spell.
Weebl: I can spell 'beefs' too.
Bob: But you can't see any beefs.
Weebl: I hate being beef blind. - Yu-Gi-Oh! The Abridged Series in the Season 2 episode "Sore." Although, strictly speaking, Yami isn't bored, and he's having an Inner Monologue rather than speaking to anyone.
Yami: I spy, with my little eye, something beginning with "Gay clown."
- In The Lord of the Rings parody One Ring To Rule Them All 2, the hobbits are tied up in Mt. Doom and slowly lowered into the inferno below.

- In The Guild, on the way to a conventation, Zaboo tries to start up a game of "I Spy", but the others, namely Tinkerballa, puts an end to it.
Western Animation
- On American Dad! Steve wants to play a game, but Stan doesn't want to have very much fun. So they play I Spy. It is indeed not very much fun.
- Used again when the family is trapped in a collapsed cave.
Stan: So, kids, wanna play 20 Questions until we die? I'm thinking of a person.Steve: Ronald Reagan.Stan: Damn! - Family Guy in the episode Untitled Griffin Family History:
Nate Griffin: Hey, Quagdingo, wanna play a game?Quagdingo: NO.Nate Griffin: I spy something beige.Quagdingo: WOOD.Nate Griffin: Yeaahhhh!
- The Simpsons:
- From "Guess Who's Coming to Criticize Dinner"
Milhouse: I spy with my little eye, something that begins with D.Nelson: Dingus! (whacks Milhouse on the head, knocking him out)Homer: God bless you, Nelson Muntz.Nelson: I'm no hero. I just like hitting people on the head.
- In "The Girl Who Slept Too Little", Marge uses the "I Spy" phrase to scold Lisa, but Homer believes it's an actual game.
Marge: I spy with my little eye, a girl who's not sleeping in her room like she promised.Lisa: I know. I'm sorry.Homer: And I spy with my little eye, something with four legs that can't run.Marge: Homer, we're not really playing...Lisa: Oh, is it the chair?Homer: Exactly! Now, what has two ears but can't hear?Lisa: Grampa!Homer: Tragically, yes.
- From "Guess Who's Coming to Criticize Dinner"
- Gravity Falls: In "Bottomless Pit!", Mabel plays this with Soos as they are falling in an endless abyss.
Mabel: I spy with my little eye, something that is black!Soos: Ooh, ooh, everything.Mabel: Yay for Soos!
- In the Aardman Animations Greenpeace short "Turtle Journey", when the turtles' migration (which is portrayed as a long family car trip) has been blocked by two massive whales.
Mother Turtle: I spy with my little eye, something beginning with "wuh".Baby Turtle: Um ... Whelks!Mother Turtle: So close.


Rust structs are user-defined types which combine an arbitrary number of values under a new type. They are the building blocks used to model an application's domain.
Rust has three kinds of structs, all created using the struct
keyword:
- Structs with named fields
- Tuple structs
- Unit structs
Structs with named fields
A struct with named fields is created using the struct
keyword, followed by the struct name and a list of fields tagged with their respective data types. A board game struct could be defined this way:
struct BoardGame {
name: String,
min_players: u8,
max_players: u8,
publisher: String
}
This is how we can create an instance of the BoardGame
struct and access its fields:
let mut board_game_1 = BoardGame {
name: String::from("Agricola"),
min_players: 1,
max_players: 5,
publisher: String::from("Mayfair Games")
};
board_game_1.publisher = String::from("New publisher name");
Note that in order to mutate the instance it is necessary to make it mutable explicitly with let mut
.
Field init shorthand syntax
When initialising a struct whose field names match the parameter values being used, Rust provides a shorthand syntax to make this more pleasant to write. Let's extend the previous example to see this scenario in action:
let min_players: u8 = 1;
let max_players: u8 = 5;
let board_game_1 = BoardGame {
name: String::from("Agricola"),
min_players: min_players,
max_players: max_players,
publisher: String::from("Mayfair Games")
};
This could be simplified using the field init shorthand syntax, which avoids having to repeat min_players
and max_players
for both the struct fields and their parameters.
let min_players: u8 = 1;
let max_players: u8 = 5;
let board_game_1 = BoardGame {
name: String::from("Agricola"),
min_players, // instead of min_players: min_players
max_players, // instead of max_players: max_players
publisher: String::from("Mayfair Games")
};
Struct update syntax
Another common scenario when dealing with structs is wanting to initialise an instance of a struct based on another instance. Again, let's extend the initial example, this time to create a second board game instance based on the original one:
let board_game_1 = BoardGame {
name: String::from("Agricola"),
min_players: min_players,
max_players: max_players,
publisher: String::from("Mayfair Games")
};
let board_game_2 = BoardGame {
name: String::from("Agricola Revised Edition"),
min_players: board_game_1.min_players,
max_players: board_game_1.max_players,
publisher: board_game_1.publisher
};
This can become quite tedious, especially when most fields remain the same. To help with this, we can use the struct update syntax:
let board_game_1 = BoardGame {
name: String::from("Agricola"),
min_players: min_players,
max_players: max_players,
publisher: String::from("Mayfair Games")
};
let board_game_2 = BoardGame {
name: String::from("Agricola Revised Edition"),
..board_game_1
};
The only property that is different from the original instance was the name. The ..board_game_1
syntax ensures the remaining fields on board_game_2
are initialised taking their values from board_game_1
.
Tuple structs
Tuple structs are very similar to tuples. Both are created the same way, however tuple structs must have a name:
struct Product(String, f64);
let product = Product(String::from("MacBook Pro"), 1499.99);
The values of a tuple struct can be accessed just like tuples:
let product = Product(String::from("MacBook Pro"), 1499.99);
let product_name = product.0;
let product_price = product.1;
Unit structs
The final struct type, unit structs, contain no fields:
struct EmptyResponse;
let response = EmptyResponse;
Unit structs resemble the unit type ()
and can be useful in some situations, for example with generics.
Methods and traits
Structs can contain methods:
impl BoardGame {
fn can_be_played_alone(&self) -> bool {
self.min_players == 1
}
}
let board_game_1 = BoardGame {
name: String::from("Catan"),
min_players: 3,
max_players: 5,
publisher: String::from("Publisher")
};
if board_game_1.can_be_played_alone() { // false
println!("Can be played alone!");
} else {
println!("Minimum of {} people!", board_game_1.min_players);
}
And can implement traits:
trait IdentifiableGame {
fn game_identifier(&self) -> String;
}
impl IdentifiableGame for BoardGame {
fn game_identifier(&self) -> String {
format!("{} by {}", self.name, self.publisher)
}
}
println!("{}", board_game_1.game_identifier());


 Unfortunately, the results are middling at best. It really says a lot that the movie's best sequence -- two cops casually conversing over breakfast, which, by the way, is extremely similar to the John Travolta-Samuel L. Jackson diner dialogue near the end of "Pulp Fiction" -- has absolutely nothing to do with anything. Jackson's "Fiction" hitman character claimed that personality goes a long way. Well, this movie has none.
"Love and Other Catastrophes" alums Frances O'Connor and Matt Day play drifting grifters Nikki and Al. She's a flirty lass who hangs out in bars, bats her eyes at wealthy-looking patrons and escorts them up to their hotel rooms where she spikes their drinks; he, brooding and secretive, lets himself in and helps her make off with whatever valuables they can steal. When one mark accidentally dies after being drugged, Nikki and Al panic and make off with his briefcase, which they're sure contains some kind of worthwhile bounty. Not quite -- its contents actually consist of a tape that explicitly reveals a renowned sports hero (Barry Langrishe) to be a pedophile. With the police and several other seedy types on their trail, the criminal lovebirds hit the road.
There are many directions "Kiss or Kill" could go at this point, and the filmmakers attempt to cover them all with equal parts disturbing suspense, black comedy and romantic drama (with a couple of repressed flashbacks and blazing explosions thrown in for good measure). The mix might have worked had any of these characters been tightly-written, but they're not -- we don't know about them, we don't care about them. In similar movies, the supporting cast can be quirky enough to steal the stars' fire, but here they're just as dull. Incredibly strong, appealing performances from Day and O'Connor aside, there's little meaty enough here to sink your teeth into.
Because "Kiss or Kill" utilizes the seemingly-foolproof, twisty elements of the crime caper, one might be tempted to call it a triumph of style over substance. But discounting glamorously dusty outback scenery, the movie's look is a headache-inducer thanks to sledgehammer editing. An example scene construction: Cut to Nikki opening a house door to walk to a car trunk, cut to Nikki at the car trunk, cut to Nikki walking back through the house door. I've heard of keeping things moving, but this is absolutely irritating.
"Kiss or Kill" does boast a few interesting nuances -- like Nikki and Al's growing distrust of each other -- but overall, the more turns the plot takes, the more distancing and dull it becomes. Eventually, a particularly engaging setup is wasted to serve annoying contrivances. Perhaps the most telling flaw of "Kiss or Kill" is divulged in its production notes -- a majority of the film's dialogue and interaction were improvised. Maybe Bennett will use an actual script next time.
© 1997 Jamie Peck E-mail<EMAIL_ADDRESS>Visit the Reel Deal Online: http://www.gl.umbc.edu/~jpeck1/
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


---
layout: slide
title:
description: "Editing Holcot: Laying the Groundwork for the
Future Use and Reuse of Holcot’s Corpus"
theme: white
transition: slide
tags: presentation
---
Editing Holcot: Laying the Groundwork for the
Future Use and Reuse of Holcot’s Corpus
Jeffrey C. Witt (Loyola University Maryland) | @jeffreycwitt
![connections]({{ site.assets_url }}dead-end-and-networked-connections5.png)
![connections]({{ site.assets_url }}dead-end-and-networked-connections6.png)
![connections]({{ site.assets_url }}quotation-explorer.png)
# 4. Topic Modeling
![topic-modelling]({{ site.assets_url }}topic_modelling1.png)
![topic-modelling]({{ site.assets_url }}topic_modelling2.png)
## III. Concrete Proposal
### How can we publish our editorial work as data?
[http://scta.info](http://scta.info)
![scta.info]({{ site.assets_url }}SCTA-cover.png)
Concretely, to make this work, we would need:
* A transcription of an individual witness (ideally a transcription of each witness) that records:
* At a minimum:
* the text as it appears in the witness in question
* paragraph breaks that mirror paragraph breaks used in the critical text
* quotations that mirror quotations identified in the critical text
* Ideally also:
* line breaks in the manuscript
* original spellings
* corrections such as additions and deletions
While the SCTA has established a long list of guidelines for recording
these details in TEI XML ([see the LombardPress Schema](http://lombardpress.org/schema/docs)),
this need not be a hurdle for those unfamiliar with these technologies.
We can accept transcriptions in Microsoft Word
documents that record the most essential information as follows:
* paragraph breaks with double hard return (two new line breaks)
* quotations with quotation marks
* line breaks with a single hard return (one new line break)
If these basic rules are followed,
we can automate most of the conversion process
and allow later details about the witness (corrections, marginal notes, etc)
to be added later.


Enter
Details
Home
Faculty Details
Technical Faculty Details
Course
Awards
Doctorate
Consultancy
Patent
Invited Talk
Project
Workshop
Paper
LOGOUT
FACULTY PHD DETAILS ENTRY
PHD DETAILS
University
Year_Of_Reg
Year_Of_Completion
Guided_By
Confirm_ESSN


The page you're looking for cannot be found. Sorry!
Preferences not set! Head there first. Go to settings
NOTE: Just submit the form and the keywords will save!
Keywords will narrow down the list of stores near you based on relevance/association with the keywords you specify.
Think of this as a search criteria that sticks around.
This example is taken from an app I've been working on called Right Near Me.
Feel free to use the code as boilerplate for your own mobile web app. But I'd appreciate it if you avoid lifting the design wholesale!
Cheap coffee and snacks!
We're located in Sydney, Australia, at the CBD area, known for it's shitty coffee.
Lorem Ipsum rubbishum!
Lorem Ipsum rubbishum!
Lorem Ipsum rubbishum!
Lorem Ipsum Rubbishum.
Lorem Ipsum Rubbishum.


We have detected that your browser does not meet the minimum requirements to view this visualization.
We reccomend trying with a more recent browser such as Chrome or Firefox.