This guide describes the Online Linguistic Database (OLD) 1.0.
The OLD is a program that creates a web service for storing, searching and
processing linguistic fieldwork data. A web service is like a web site or web
application except that a web service does not prescribe a specific user
interface for interaction with it. An OLD web service can be accessed via a
browser-based application, a traditional desktop application, an application on
a mobile device, a command line application or even another web application. As
long as the front-end application can send and receive JSON (JavaScript Object
Notation) using the HTTP protocol and store cookies, the OLD will be happy to
interact with it.
If you are a developer wishing to write such an application, see the
Developer Guide or the API documentation.
This guide describes the OLD web service for users who want to know a little bit
more about the server-side logic of the OLD.
The OLD exposes REST-ful interface styled on the Atom Publishing Protocol. This
means that all of the “resources” of the OLD (e.g., forms, files, collections,
sources, users, syntactic categories, etc.) are created, read,
updated and deleted in the same way. The HTTP protocol defines a
small set of “methods” for classifying requests to web servers; relevant to us
here are the POST, GET, PUT and DELETE methods. Requests to create a new
resource use the POST method, read requests the GET method, update requests the
PUT method and delete requests the DELETE method. To illustrate, assume a web
application being served ad http://www.xyz-old.org. The table below describes
| HTTP Method |
URL |
Effect |
Parameters |
| POST |
/forms |
Create a new form |
JSON object |
| GET |
/forms |
Read all forms |
optional GET params |
| GET |
/forms/id |
Read form with id=id |
|
| GET |
/forms/new |
Get data for creating a new form |
optional GET params |
| GET |
/forms/id/edit |
Get data for editing form id |
optional GET params |
| PUT |
/forms/id |
Update form with id=id |
JSON object |
| DELETE |
/forms/id |
Delete form with id=id |
|
The OLD is a Python/Pylons program that
The OLD is a web application designed to be used by a group of individuals in
order to document, analyze and learn a particular natural language.
As a linguistics PhD student whose research involves the documentation and
analysis of understudied languages, I was originally motivated to create the
OLD because I saw a lack of open source, cross-platform and multi-user database
applications suitable for documenting linguistic data. The OLD is my effort to
fill that void.
- build a collaborative and ever-growing online database of linguistic data on a
particular language
- create a dictionary-like interface to your language data
- organize your linguistic data into an intelligent structure
- perform powerful searches on your data, utilizing regular expressions and
boolean operators with multiple restrictors on multiple fields
- export data to a variety of formats (plain text, XML, LaTeX)
- incorporate non-textual data types (audio/video/images as recordings or
stimuli) and specify the relationships between textual and non-textual data
types
- document multi-sentence texts such as stories or records of elicitations
- collaborate and share data with other researchers authorized to use your OLD
application
- control access to your data via password-protected accounts for registered
users
- programming language is Python (2.6), using the Pylons (0.9.7) web framework
- model is a relational database (usually MySQL or SQLite) abstracted by
SQLAlchemy
- user interface is HTML, CSS and Javascript
The OLD is open source software licensed under the GPL. That means you can
download it, use it and alter its source code, but you cannot sell it for profit.
The web page of the OLD is www.onlinelinguisticdatabase.org and the source code
is hosted on Google Code’s Project Hosting
(code.google.com/p/onlinelinguisticdatabase).
In order to create an OLD application, you must download the OLD, install it
on a server and customize it to suit the requirements of your language. It is
possible to install the OLD on, and run/test it from, your own computer without
the need for a server.
The OLD web page provides instructions on downloading the OLD and setting up a
language-specific OLD application.
This section describes how to use an OLD application, i.e., how to add,
structure, search for, export, and otherwise interact with language data.
At the heart of the OLD are three types of entity: Forms, Files and Collections.
A Form is a morpheme, word, phrase or sentence of the object language. Forms
minimally consist of a transcription and a gloss (i.e., translation in the
metalanguage). Optional data include a morphemic analysis, general comments,
date elicited, etc. As the diagram indicates, a Form may be associated to
(i.e., reference or point to) one or more Files (see below).
A File is an audio, image, video, or text file. A File could represent a
recording of an utterance, a depiction of a context, or a stimulus used in
elicitation.
A Collection is an ordered list of Forms. A Collection might represent a story
or a record of an elicitation or any other multi-sentence (and therefore
multi-Form) piece of discourse. Like a Form, a Collection can be associated
to one or more Files.
Interacting with an OLD application typically involves creating, searching for
or updating a Form, File or Collection. Other common actions include adding or
modifying people (users or speakers), tags (keywords, syntactic categories or
elicitation methods) or sources.
The primary menu contains the database, dictionary, help and settings options.
The contents of the secondary menu depend on the currently active primary menu
option. When the database option is active in the primary menu, the secondary
menu contains the people, tags, sources and memory options. When the dictionary
option is active, the secondary menu contains browse and search options. The
help and settings primary menu options make the secondary menu disappear.
The side menu contains links to common actions on OLD entities, namely adding
and searching for Forms, Files and Collections.
An OLD File is a grouping of data about a digital file. The file is uploaded to
an OLD application and data about the file (such as its name, type and size) are
inferred in the process. Other data (such as a description) may be entered by
the user.
This section describes the type of data that comprise an OLD File.
The ID of a File is a unique integer automatically generated by the database.
Knowing the ID of a File can be useful when you want to search for it, associate
it to a Form or Collection or when you want to quickly view a certain file (just
enter enter “domain_name/file/view/1” in your browser’s address bar to view the
File with ID 1).
The name of the uploaded file becomes the name of the OLD File. If the system
already contains a file with that name, a digit is appended to the file name and
incrememted until a unique name is arrived at.
The MIME type of an OLD File is inferred from the a uploaded file. The MIME
type is a string that indicates whether the file is text, an image, a video, a
sound file, a PDF, a Word document, etc. For more details, see the MIME type
Wikipedia entry
The size of the OLD File is the size of the uploaded file.
The enterer is automatically added as a reference to the user who entered the
File.
The description is a general-purpose string of text entered by the user. The
description might contain information about what happens on an audio/video
recording or what a certain audio/video/image stimulus was designed to elicit.
If a File is about a recording of a linguistic event, the speaker field can be
used to indicate who was speaking the object language during the recording.
(Functionality should probably exist to associate more than one speaker to a
File...)
If a File is about a recording of a linguistic event, the elicitor field can be
used to indicate the researcher who was eliciting during the recording.
If a File is about a recording of a linguistic event, the date when the
recording was made can be entered in the date elicited field in mm/dd/yyyy
format.
If a File is about a recording of a linguistic event, then one can choose one of
the following four options for utterance type:
- None: the type of utterance is left unspecified (the default)
- Object Language Utterance: the recording contains only utterances of the
object language
- Metalanguage Utterance: the recording contains only utterances of the
metalangauge
- Mixed Utterance: the recording contains utterances of both the object
language and metalanguage
(Choosing the appropriate utterance type for a File representing a recording will
be useful for certain planned OLD features, e.g., language learning games that
might play a recording of an object language utterance and have players try to
guess the meaning.)
When a File is added, the system automatically records the date and time the
File was entered.
When a File is updated, the system automatically records the date and time in
the date and time modified field.
To add a File, go to ‘add’ under ‘files’ in the side menu (or use the keyboard
shortcut ‘q’). Adding a File requires that you upload a digital file to the OLD
application. Just click on the ‘browse’ button and choose a file from your file
system. After choosing the correct file, click the ‘Add File’ button at
the bottom of the page.
One may also optionally add a description, specify a speaker, an elicitor, a
date elicited and/or an utterance type.
An OLD application will accept for upload digital files with the following MIME
types:
- text/plain (plain text)
- application/x-latex (LaTeX document)
- application/msword (MS Word document)
- application/vnd.oasis.opendocument.text (Open Document Format)
- application/pdf (PDF)
- image/gif
- image/jpeg
- image/png
- audio/mpeg
- audio/ogg
- audio/x-wav
- video/mpeg
- video/mp4
- video/ogg
- video/quicktime
- video/x-ms-wmv
The File search page is very similar to the Form search page (see
Searching Forms). Note the following differences:
- Files and Forms have different search location options. Currently one can
search Files by name, description and ID.
- Files do not have previous searches functionality
- Files have different additional search filters; note in particular the
MIME type (see MIME type) and size filters
To search for a File, click on ‘search’ under ‘files’ in the side menu or use
the keyboard shortcut ‘w’.
To browse all Files, click on ‘files’ in the side menu or use the keyboard
shortcut ‘r’. To browse all Files in a particular order, perform an empty File
search and alter the order by expression as appropriate.
When a File is displayed, three action buttons appear at the bottom: ‘update’,
‘delete’ and ‘associate’.
Clicking on the update button displays the File update page which looks very
similar to the File add page except that some of the fields may contain data and
the uploaded digital file cannot be changed. Make changes and click ‘Save
Changes’.
The delete button will both delete the data about the File from the database as
well as remove the appropriate digital file form the OLD application’s ‘files’
directory. A confirm dialog appears in order to ensure that Files are not
mistakenly deleted.
The associate button brings up the associate File page which allows one to
associate the File to one or more Forms. Just enter the IDs (comma-separted) of
all Forms that should be associated to the File in question.
When the File search results are displayed, there is a button near the top left
of the page labelled ‘export all’. Clicking on this button will create an
archived folder (.zip) containing the digital files corresponding to the result
Files. The page displayed will contain a link to the archived folder and a
listing of its contents. Click on the link to download the archived folder.
Collections represent stories, records of elicitations, conversations or any
other multi-sentence discourse. At its core, a Collection is a set of ordered
references to OLD Forms. A Collection may also be associated to zero or more
Files (e.g., recordings of an entire story or elicitation session).
The ID is a unique integer assigned by the RDBMS to each Collection upon
creation. Knowing the ID of a Collection comes in handy when you want to
quickly access a Collection: enter ‘domain_name/collection/view/1’ to view the
Collection with ID 1.
The title is a name for your Collection. This field is mandatory.
The type indicates what the Collection represents. At present there are four
possible Collection types: story, discourse, elicitation and other.
The description contains general-purpose textual data describing the Collection.
If the Collection has a speaker, use this field to reference an OLD speaker for
the Collection.
The elicitor field references the name of the researcher who elicited the
Collection, if appropriate.
If the Collection is from a textual source, one should use the source field to
make the reference.
The date the Collection was elicited in mm/dd/yyyy format.
The content of the Collection is a string of text. That string can contain the
following types of markup:
Consider the following example Collection content:
Elicitation About Dogs
======================
The following sentence shows A, B and C.
form[1]
The above sentence was extracted from the audio recording in file(7)
The following sentence shows X and Y.
form[2]
Compare this discourse to that in collection(2)
The end.
The line underlined with ‘=’s will be displayed as a level-one HTML header
and lines of text surrounded by blank lines will be displayed as HTML paragraphs
(see reStructuredText). Depending on the data in Forms 1 and 2, this content
will be rendered similar to below:
Notice the following: ‘form[71]’ and ‘form[72]’ generate representations of the
appropriate forms; ‘# Elicitation About Dogs’ has been rendered as a header; and
‘file(7)’ and ‘collection(2)’ have generated as links to the File 7 and
Collection 2 respectively.
When adding content to (or altering the content of) a Collection, there is a
button labelled ‘insert contents of memory’. Clicking this button will append
to the content text a list of references to each Form in the user’s memory. It
is often convenient to gather relevant Forms into memory and then save them as
a Collection using this functionality.
Collections can be associated to zero or more Files. To associate Files to a
Collection, use the ‘associate’ button that appears when a Collection is
displayed.
The content of a Collection can be displayed in three ways: long, short and
columns. Long view displays the embedded Forms of a Collection’s content just
as Forms are displayed by default, i.e., in interlinear gloss format with all of
their data visible. Short view displays only the transcription and glosses of
embedded Forms. Columns view is different from long and short in that the
embedded Forms are displayed but any prose or other markup is not displayed.
Columns view lists the Forms in a two-column table with the transcription on the
left and glosses on the right.
To add a Collection, click ‘add’ under ‘collections’ in the side menu or use the
keyboard shortcut ‘z’.
The only obligatory field in a Collection is the title. Enter the data as
necessary and format the Collection content as described above. Then click
“Add Collection”.
To search Collections, click ‘search’ under ‘collections’ in the side menu or
use the keyboard shortcut ‘x’.
Searching Collections is nearly identical to the process of searching Forms and
Files. Refer to the Searching Forms section for more details.
To browse all Collections, click ‘collections’ in the side menu or use the
keyboard shortcut ‘c’.
When a Collection is displayed, three buttons appear: ‘update’, ‘delete’ and
‘associate’.
The update button directs to the update Collection page which allows users to
alter the Collection’s data. Unlike with Forms, there is currently no
collection_backup table to store previous versions of Collections.
The delete button destroys the Collection. Unlike when deleting Forms, deleted
Collections are not backed up in a collection_backup table.
The associate button allows users to associate one or more Files to the
Collection by entering a list of one or more comma-delimited File IDs.
The ‘people’ section lists information about the OLD entities representing
individuals, i.e., speakers and users. To view the people of an OLD
application, click ‘database’ in the primary menu and ‘people’ in the secondary
menu (or use the keyboard shortcut ‘p’).
Speakers are the consultants/colleagues who speak the object language and have
been kind enough to share their knowledge with the researchers who study and
document their language.
In order to document the speaker of a Form, File or Collection, that speaker
must first be represented as an OLD speaker entity. The addition (or updating)
of a speaker immediately results in that speaker being available in the speaker
fields of Forms, Files and Collections.
To view a speaker, click on the speaker’s name in the speakers table of the
people page.
Users (administrators and contributors) can add a new speaker by clicking the
‘add’ button. A new speaker requires at least a first name and a last name.
If the object language has dialects, specifying the dialect spoken by the
speaker may be useful when other researchers are trying to interpret your data.
The page content section contains the text of the speaker’s OLD web page.
reStructuredText syntax can be used to format the speaker’s web page. The page
content might include detailed information about the speaker’s biography and
proficiency with the object language.
To update the data about a speaker, click on the speaker’s name in the speakers
table of the people page and click the ‘edit’ button.
To delete a speaker, click on the speaker’s name in the speakers table of the
people page and click the ‘delete’ button. A confirmation dialog will arise to
ensure that speakers are not mistakenly deleted. As a speaker may be referenced
by multiple OLD entities (some of them possibly entered by other users),
consider carefully the possible ramifications before deleting a speaker.
 The list of users determines the individuals available as
enterers, elicitors and verifiers when adding Forms, Files and Collections.
There are three types of users with different levels of authorization:
administrators, contributors and viewers. The permissions of these user types
are listed below
Administrators are authorized to perform the following actions:
- view and update application settings
- view, add, update and delete users
- view, add, update and delete Forms, Files and Collections
- view, add, update and delete speakers, tags and sources
Contributors contribute data to an OLD application. They are authorized to
perform the following actions:
- update their own user information
- view other users’ pages
- view, add, update and delete Forms, Files and Collections
- view, add, update and delete speakers, tags and sources
Viewers can view data in an OLD application. They are authorized to perform
the following actions:
- update their own user information
- view other users’ pages
- view Forms, Files and Collections
- view speakers, tags and sources
To view a user, click on that user’s name in the users table of the people page.
Only administrators can add users. To add a user, click the add button in the
users section of the people page.
New users require a username, a password, a first name, a last name, an email
and a role, i.e., administrator, contributor or viewer.
If appropriate, enter an affiliation, i.e., the name of a university, college,
school, community, organization, etc., with which the user is affiliated.
The personal page content is a string of text that comprises the OLD page of the
user. The personal page content can contain the following types of markup:
Administrators can edit users and users can edit their own user data. To edit
a user, click the user’s name in the users table of the people page and then
click the edit button.
Only administrators can delete users. To delete a user, click the user’s name
in the users table of the people page and then click the delete button. A
confirm dialog will be displayed so that users are not mistakenly deleted.
Each user has their own settings page. To view your settings, click on your
name in the people page and then click the settings button. At present, one
can set a default view type for Collection contents (see) as well as a mode
(choice of database or dictionary). (I don’t think the mode setting actually
has any effect right now. Make it do something or remove it!)
A source is an OLD entity representing a textual source, e.g., a book, a
dictionary, a paper, etc. Both Forms and Collections can have sources. To view
the sources of an OLD application, click ‘database’ in the primary menu and then
‘sources’ in the secondary menu.
To add a source, click the add button in the sources page. Sources require the
following data: author first name, author last name, year of publication and
title. Optional data include a full bibliographic reference for the source and
the ID of an OLD File representing a digital copy of the source.
To edit a source, click the name of the source in the sources table of the
sources page and then click the edit button.
To delete a source, click the name of the source in the sources table of the
sources page and then click the delete button. A confirm dialog will appear in
order to avoid mistakenly deleting a source. Use caution when deleting a source
since it may be referenced by Forms and Collections.
Each OLD application user has her own private memory. Memory is simply an
ordered list of OLD Forms that a particular user has chosen to remember. To
view your memory, click on ‘database’ in the primary menu and then ‘memory’ in
the secondary menu (or use the ‘m’ keyboard shortcut).
At the top of the memory page are two buttons: ‘forget all’ and ‘export all’.
Each Form in memory is displayed with its ID, transcription, morpheme break,
morpheme gloss and gloss values. Beneath the Form data are three buttons:
‘view’, ‘export’ and ‘forget’
The forget all button removes all Forms from memory.
The export all button works just like the export all button that is displayed
with Form search results. That is, clicking on this button will bring up the
Form export page from where a user may choose an export type, click ‘export’ and
recieve their memorized Forms in the chosen format.
Clicking on ‘dictionary’ in the primary menu (or using the ‘d’ keyboard
shortcut) brings up a dictionary-like interface to the Forms in the database.
The dictionary excludes all Forms whose transcription contains a whitespace
character and in so doing makes a stab at getting only words. The Forms listed
in the dictionary are sorted according to the order of graphs in the object
language orthography as specified in the OLD application’s settings.
To browse the dictionary, click ‘browse’ in the secondary menu. The dictionary
browse page displays the object language name, a table of ordered graphs from
the object language orthography, the metalanguage name, and a table of ordered
graphs from the metalanguage orthography.
To search the dictionary, click ‘search’ in the secondary menu. The dictionary
search page displays a single text input field and a dropdown menu where one can
choose to search the object language or the metalanguage.
If one enters a search term, chooses ‘object language to metalanguage’ from the
dropdown menu and clicks ‘Search’, the system will return all Forms with a
transcription which matches the search term and which lacks whitespace. The
results displayed will be ordered according to the ordering of graphs in the
object language orthography.
If one enters a search term, chooses ‘metalanguage to object language’ from the
dropdown menu and clicks ‘Search’, the system will return all Forms with a
gloss which matches the search term and with a transcription which lacks
whitespace. The results displayed will be ordered according to the ordering of
graphs in the metalanguage orthography.
The application settings are the global settings for an OLD application. All
users can view the application settings but only administrators can alter
them. To view the application settings, click ‘settings’ in the primary menu.
The object language is the language that is being studied and documented with
the help of a particular OLD application.
Administrators should specify a name for the object language. This name will be
used throughout the application to refer to the object language.
Administrators can also specify the ISO 639-3 three-letter code for the language
so that it can be unambiguously identified. This is especially important if the
chosen object language name is one of many variants. The OLD has all the ISO
639-3 codes stored. When one begins to type in the ISO 639-3 Code text input
field, suggestions of valid codes appear along with the standard (‘reference’)
name of the corresponding language. If the ISO 639-3 code cannot be found, try
searching the Ethnologue web site.
An object language orthography is an ordered list of graphs (characters or
character sequences) for representing object language data. Depending on how
things are set up, an OLD application can be configured to automatically
transform object language data from one orthography to another (see
Storage, Input & Output for details).
Administrators should specify at least one object language orthography. As
discussed above (Storage, Input & Output), the simplest setup is to specify
a single orthography and make that orthography be the storage, default input and
default output orthography.
If multiple object language orthographies are defined, then all orthographies
must have the same structure and the same number of graphs. The OLD will not
allow multiple object language orthographies to be defined if these requirements
are not met.
Certain data types are assumed by the OLD to contain nothing but strings of
graphs from the input orthography; these I call ‘pure object language fields’.
Certain data types are optionally assumed to contain nothing but input
orthography strings; these I call ‘optionally object language fields’. Finally,
some data types can contain object language tags (‘<obl></obl>’) and the data
withing such tags will be considered object language data; these fields I call
‘object language tag fields’.
When entering data into, or when searching for data in, the pure object language
fields listed below, the input is converted from the input orthography to the
storage orthography. When the data from such fields are displayed, they are
converted from the storage orthography to the output orthography. (Also, when
data from these fields are displayed for updating, the data are converted from
the storage orthography to the input orthography.)
The following fields are pure object language fields:
The following fields will be treated like pure object language fields if so
specified in the application settings. To alter these settings, click on
‘settings’ in the primary menu, click the edit button and scroll down to the
‘object language strings’ fieldset. In the dropdown menu, choose ‘yes’ to treat
morpheme breaks as object language fields or ‘no’ not to.
The fields listed below may contain substrings enclosed in object language tags,
i.e., ‘<obl>’ to the left and ‘</obl>’ to the right. These substrings will be
treated like object language data for the purposes of orthographic conversion,
as described in the Pure Object Language Fields section above.
- general comments of Forms
- speaker comments of Forms
To test how well the OLD converts from one orthography to another, go to the
settings orthography page by clicking on ‘settings’ in the primary menu, then
scroll down to the bottom of the ‘Storage, Input & Output’ section and click
the button labeled ‘More on Orthographies’.
This page allows users to do two things:
- experiment with converting strings from one orthography to another
- see whether they are able to enter the graphs of a particular orthography
This page is pretty self-explanatory.
OLD applications handle all strings as unicode. This means that users should
have no problems using obscure characters when entering data.
An OLD application may require the installation of certain fonts in order to
display characters properly. If applicable, instructions for acquiring and
installing this font should be provided in the help page of this OLD
application (i.e., click on ‘help’ in the primary menu and then ‘help page’ in
the secondary menu).
Regular expressions allow one to specify complex patterns when searching Forms,
Files or Collections. I will not attempt to provide a complete tutorial on how
to write regular expressions. There are many online resources devoted to that
purpose. Some places to start looking:
- (^| |’|”)word($| |’|”)
- Matches the word ‘word’. I.e., matches ‘a bad word’ and ‘“word” was what
I said’ without matching ‘words are interesting’, ‘she is wordy’ or
‘sword’, etc.
- (^| |-|=)mor($| |-|=)
- Matches the morpheme ‘mor’. I.e., matches ‘a-mor=b’ and ‘a=mor’ without
matching ‘a-morp-b’ or ‘kmor=b’, etc.
The OLD recognizes certain strings of characters as markup. Such strings,
depending on where they occur, will be displayed in special ways. For example,
the string ‘form[23]’ in the content of a Collection will be displayed as a
formatted version of the OLD Form with ID 23.
An expression of the form ‘entity(x)’, where ‘entity’ is the name (in lowercase)
of an OLD entity (e.g., ‘form’, ‘file’, ‘collection’, ‘speaker’, ‘user’) and ‘x’
is the ID of such an entity, will be recognized as Entity link markup.
Entity link markup creates HTML links to OLD entities. That is,
expressions of the form ‘form(22)’ ‘file(3102)’ and ‘collection(77)’ will be
displayed as HTML links to Form 22, File 3102 and Collection 77 respectively.
Entity link markup is recognized in the content of a Collection and in the
page content of users.
An expression of the form ‘[x]link(y)’, where ‘x’ is a string of text and ‘y’
is the name of an OLD File, will be recognized as File file markup. File file
markup creates an HTML link to the digital file of an OLD File. That is,
the expression ‘[interesting audio]link(elicitation_file.wav)’ will be
displayed as a link consisting of the words ‘interesting audio’ and which points
to the audio file elicitation_file.wav. File file markup is recognized in the
page content of users.
An expression of the form ‘image(x)’, where ‘x’ is the name of an OLD image
File, will be recognized as image embed markup. Image embed markup embeds the
appropriate image in the text. That is, the expression
‘image(stimulus_photo.jpg)’ will cause the image of the File whose name is
‘stimulus_photo.jpg’ to be displayed. Image embed markup is recognized in the
page content of users.
reStructuredText is a human-readable markup syntax that can be converted to
HTML (as well as to LaTeX and other formats). For example, the string:
This is a Header
================
might be converted to ‘<h1>This is a Header</h1>’ and displayed by a browser as a
formatted top-level header. A good quick reference for reStructuredText syntax,
is the Quick reStructuredText web page.
reStructuredText is the markup language of choice for creating OLD pages because
it can be converted to a variety of formats (i.e., HTML, LaTeX, ODT).
Markdown is a human-readable markup syntax that can be displayed as HTML. For
example, the string ‘# This is a Header’ will be displayed as ‘<h1>This is a
Header</h1>’ which in turn will be displayed by the browser as a formatted
top-level header. For more details on Markdown syntax, visit the
Markdown syntax web page.
HTML allows the use of keyboard shortcuts on links (anchors) via the “accesskey”
attribute. The OLD uses accesskeys to create keyboard shortcuts for commonly
used actions. Hold your cursor over an action link to see a description of what
the link does. If that description is terminated by “<x>”, then “x” is the
keyboard shortcut.
Accesskeys are implemented differently depending on the operating system and
browser being used. With FireFox on a Mac, use Control + Key. With Safari or
Chrome on a Mac, use Control + Option + Key.
List of keyboard shortcuts:
- f
- browse all Forms
- s
- search Forms
- a
- add a Form
- c
- browse all Collections
- x
- search Collections
- z
- add a Collection
- r
- browse all Files
- w
- search Files
- q
- add a File
- l
- login or logout
- p
- view the people page
- t
- view the tags page
- m
- view the contents of one’s memory
Web browsers do not render HTML, CSS and Javascript in a uniformly consistent
manner. Therefore, parts of the OLD may not appear as intended, depending on
the OS and browser.
The OLD works on a Mac (OS 10.6) with FireFox, Safari and Chrome. It has also
been tested on Ubuntu with FireFox without any apparent problems. It has not
yet been tested with Internet Explorer on a PC.
- metalanguage
- The language used to gloss and otherwise document the object language.
- OLD
- The Online Linguistic Database; a piece of software that can be used to
create OLD applications tailored to the documentation of particular
languages.
- OLD application
- A language-specific OLD instance. For example, an OLD application used to
study Esperanto might be called the Esperanto Online Linguistic Database.
- object language
- The language under study. The language that is being documented with the
help of a particular OLD application.
- RDBMS
- Relational Database Management System. The database software, i.e., the
thing that allows us to store, retrieve and alter data. An OLD application
may be configured to use the following RDBMSs: MySQL, SQLite or PostgreSQL.
- administrators/users should be able to alter/add to the list of possible
grammaticalities/glossGrammaticalities and possible morpheme delimiters
- offer further export formats (sql, odt) (docutils offers odt creation!)
- clean up code (docstrings in controllers, make more readable, etc.)
- finish documentation (developer guide, api, user guide)
- is <ml></ml> markup available in the morpheme break field? If not, it should
be
- test the OLD on a PC with various browsers and update the OLD User Guide
- when entering data, certain values from past additions should be made default,
i.e., elicitor and syntactic category are often repeatedly the same person
when a user is entering multiple forms
- currently all searches are case insensitive (should this be changed?...)
- ability to search Forms by association to Files and vice versa
- allow the file of a File to be hosted on another server, e.g., use the
embeddedFileMarkup column of the file table
- make forms searchable by dialect (or is this redundant since one can already
search by (sets of) speaker(s)?)
- create ‘forgot my password’ functionality (and forgot my username
functionality too?)
- I think an administrator might be able to delete her own user account. This
should be prohibited
- integrate a general-purpose morphological parser (SFST, pySFST)
- ability to indicate vowel and consonant classes on orthographies
- warnings or errors when orthographically invalid transcriptions/morpheme
breaks are entered
- orthography-specific ordering should be available via the database interface
- forums/discussion functionality
- create functionality that will allow users to create an arbitrary number of
web pages (worth it?)


Well, it all started at night when I decided we should get some mushrooms around 3AM, drunk. The only connect we found was someone about 40 minutes away and ended up getting them and sleep about 5AM. Eleven grams of powdered crushed up boomers. Woke up the next day with a few things to do, so me and the two other trippers went our separate ways until around three PM. Before leaving I wrote down a few things I had been thinking about lately that I wanted to keep in my mind, if somehow it changed on the trip.
We started at our friend's house who at the last moment decided not to trip with us. We will call him G. It was somewhat of a disappointment but he had his own reasons so we didn't stress it. I had tripped 3 times prior to this, Z had never tripped (and was only going to take two grams), and K and tripped countless times. So we mixed each of our respective amounts into a drink and enjoyed (almost puked from the grossness).
After about 20 minutes we were sitting out in the sunlight in Z's mustang. Everything around me started to shift.  All that I saw and felt was in the car and I was really in the moment. Flowers were shifting, trees were turning and twisting. For the first time I really started to appreciate Z's mustang at a higher level. The weight and American spirit of the doors fascinated me. About that time G came out and said when we wanted to, he could give us a ride wherever. This was great news for me Z and K, to have someone not tripping able to do that for us. After about 20 minutes more we decided to go to a secluded spot with a tennis and basketball court.
I love basketball and couldn't wait to play when I got there. Even with everything spinning I felt like I could just have fun and play well. As I looked around my familiar neighborhood took on a new light. It was as though I was seeing all of it for the first time, even after living there my whole life. We started playing basketball, and I challenged G to a game. After about 1 point I changed my mind and didn't want the competitive spirit anymore. So we shot around and had a few conversations. We talked about society, the complexities of time and space (which G helped with by bringing a good dose of reality into the conversation), painting, basketball, and life decisions. Z, who was a first time tripper, and slightly apprehensive at first said he was loving it and saw a whole new way of living. I felt like mushrooms were always a part of me and so natural and I was connecting with that part of myself. This especially made sense after we were talking about parallel universes.
I laid on the ground and felt all the weight in my body go away, and saw octagons and hexagons start forming in the trees and spinning along with the sky. I told my friends to come over immediately and try it too. Everyone seemed to like that feeling.
After a little longer we decided to take G up on the mustang ride. We hopped in, and I thought I should get shot gun, even though it wasn't my car. Material objects meant absolutely nothing and had no owner at this point. K brought along a great unreleased Jimi Hendrix CD. This was AMAZING. I had never, and I don't think either K or Z had ever felt Stone Free the way I felt it that day. Driving in the mustang, smoking cigarettes and hearing him yell out his life to us was incredible.
After about ten minutes we were at the high way on our way to a nice route through the mountains that we know. We were all smoking ciggs with the exception of Z, who never does and was not about to start. Well on the ride we saw motorcycles, people tenting and almost simultaneously we all had the realization that we ARE AMERICANS. It was as though we had never truly realized what it meant to be American. We are all just immigrants. We were in our mustang, cigarettes lit, listening to Jimi. We drove full speed down one road, but luckily G spotted a cop and slowed down right in time. It was comforting knowing he had things under control, and I was able to relax and just enjoy tripping and seeing the scenery. Then we started listening to rap, which sounded amazing and I really listened to every word with anticipation of the next thing coming.
After a good ride (about an hour?). We all agreed it had been the perfect amount when we arrived back at the house. When we went in the driveway we hung around and talked a bit. At this time I got some intense motivation from somewhere, and started yelling “LET's GET IT!” I felt like we were all wasting our minds. If we could combine our brains into one common goal, and provide a service or product to people we could become extremely successful. I started seeing the true potential of everyone and everything around me, the maximum possible level of achievement and it was mind-boggling. I tried explaining it to my friends and they agreed we were capable of tremendous things. At this point we were all starting to come down. Z pointed out a spider to me, and its web looked ridiculous. The web continued further than it really did for me with the effect of the mushrooms.
We went inside and Z and K both took a little more mushrooms to keep the trip going for them. I decided to just relax and have a few beers. I couldn't smoke marijuana due to an upcoming drug test. I expected this to bother me a lot more on the trip but I was fine just watching my friends. We started playing one of our favorite games Fifa 2010, which felt so realistic and great. I was basically done tripping after my game.
This trip was completely amazing, enlightening and successful. Z had a great time and felt as though his mind had been transformed for the better. K, who had experienced it many times, felt like it was a solid good trip. G enjoyed it, even when not tripping. I came to a lot of conclusions and used the drug not for recreation but as a way to really make my standard of living better. My five senses were working great, my mind was more accepting of things that used to get it mad. I felt as though I really could see the inner soul of people and understood them at a more loving level than before the trip. I plan on tripping one or two more times this summer and then taking a year break.
Trip success.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


--- layout: default title: Contact Justin ---
Want to get in touch?
You can also email me or find me on Twitter.


In the conext of home ownership on a county wide level, we can see that the percentages of each class do not vary widely. I chose to use natural breaks as my classification method due to this relative closeness in %. This allows us to better see which counties have a relatively lower home owner %. I chose three classes because this allows for a "low, medium, high" comparison at a glance and does not make it difficult to distinguish between classes. Not surprisingly, we see the lowest percentages in the counties with the highest population density as property prices and taxes are higher in these areas. Additionally, with more young people living there as well, this would drive down hown ownership. With that being said, it might be more interesting to view the state on a census tract level instead of county level given the size discrepancy of some of the counties.
There were far more wildfires within Oregon than expected. The vast majority of which are quite small (5 acres or less), while a few are very large in comparison. Since the values can vary so widely, a proportional scale was used so that all values could still be visible on the map. Interestingly, we see a larger collection of big fires with almost no smaller ones in the south east part of the state, which could merit some further investigation. Our data includes further data such as precise year and fire cause which could provide further analysis on each fire and overall trends.
I thought it would be interesting to see if population density throughout Oregon would affect the overall % of foreign born citizens. Since we technically have nine classes represented, frequent reference to the legend is necessary which makes the legend style useful in this case. I thought I would try rotating the legend onto its other point to see how it felt in relation to the original orientation. Finally, the choice of different color schemes is useful to swap between so as to highlight the bivariate style.
This is an example of isarithmic mapping created by Caglar Koylu for GEOG 3540


This page includes common elements and weird edge cases so we can test the crap out of stuff. It will probably change in each release to test new elements.
This button calls a modal from within the tabs.
Fire Reveal ModalAdded 01/19 This paragraph has an inline label to let you know that it was added on January 19, 2012 courtesy of Thomas Klemm. Thanks man!
| Table Header | Table Header | Table Header | Table Header |
|---|---|---|---|
| Content | This is longer content | Content | Content |
| Content | This is longer content | Content | Content |
| Content | This is longer content | Content | Content |
| Content | This is longer content | Content | Content |
Once you've exhausted the fun in this document, you should check out:


Toggle navigation
Project name
Questions
Ask question
Search
Profile
Log Out
New Question
Title
This title is used!
Text
Tags
Ask!


--- layout: default title: home ---
...a junior at UC Berkeley studying Computer Science and Biochemistry. I spend my time thinking about and working on improving society with tech. Next summer, I'll be at Datavant, a startup that aims to de-silo healthcare data.
In the past, I've designed cheminformatics software, taught a CS class, sold a sustainability app door to door in Chicago and built a technical consulting group. My "work" is my biggest passion, but I also love spending time outdoors, cooking, and music of all kinds.
When I remember to update it, this site serves a hub for projects and teaching. For the most part, however, it's a repository for infrequent blog posts. Topics vary from technical recaps to random musing. Recently, I've been doing a lot of thinking about religion.
I love meeting new people or talking about new ideas! The best way to reach me is through email at cwzou@berkeley.edu.


This section defines classes used to convert transaction streams between generic register address/data reads and writes and physical bus accesses.
| Classes for Adapting Between Register and Bus Operations | This section defines classes used to convert transaction streams between generic register address/data reads and writes and physical bus accesses. |
| uvm_reg_adapter | This class defines an interface for converting between uvm_reg_bus_op and a specific bus transaction. |
| uvm_reg_tlm_adapter | For converting between uvm_reg_bus_op and uvm_tlm_gp items. |
This class defines an interface for converting between uvm_reg_bus_op and a specific bus transaction.
| uvm_reg_adapter | ||||
| This class defines an interface for converting between uvm_reg_bus_op and a specific bus transaction. | ||||
| Class Hierarchy | ||||
| ||||
| Class Declaration | ||||
| ||||
| new | Create a new instance of this type, giving it the optional name. | |||
| supports_byte_enable | Set this bit in extensions of this class if the bus protocol supports byte enables. | |||
| provides_responses | Set this bit in extensions of this class if the bus driver provides separate response items. | |||
| parent_sequence | Set this member in extensions of this class if the bus driver requires bus items be executed via a particular sequence base type. | |||
| reg2bus | Extensions of this class must implement this method to convert the specified uvm_reg_bus_op to a corresponding uvm_sequence_item subtype that defines the bus transaction. | |||
| bus2reg | Extensions of this class must implement this method to copy members of the given bus-specific bus_item to corresponding members of the provided bus_rw instance. | |||
| get_item | Returns the bus-independent read/write information that corresponds to the generic bus transaction currently translated to a bus-specific transaction. | |||
| Example | The following example illustrates how to implement a RegModel-BUS adapter class for the APB bus protocol. |
function new( string name = "" )
Create a new instance of this type, giving it the optional name.
bit supports_byte_enable
Set this bit in extensions of this class if the bus protocol supports byte enables.
bit provides_responses
Set this bit in extensions of this class if the bus driver provides separate response items.
uvm_sequence_base parent_sequence
Set this member in extensions of this class if the bus driver requires bus items be executed via a particular sequence base type. The sequence assigned to this member must implement do_clone().
pure virtual function uvm_sequence_item reg2bus( const ref uvm_reg_bus_op rw )
Extensions of this class must implement this method to convert the specified uvm_reg_bus_op to a corresponding uvm_sequence_item subtype that defines the bus transaction.
The method must allocate a new bus-specific uvm_sequence_item, assign its members from the corresponding members from the given generic rw bus operation, then return it.
pure virtual function void bus2reg( uvm_sequence_item bus_item, ref uvm_reg_bus_op rw )
Extensions of this class must implement this method to copy members of the given bus-specific bus_item to corresponding members of the provided bus_rw instance. Unlike reg2bus, the resulting transaction is not allocated from scratch. This is to accommodate applications where the bus response must be returned in the original request.
virtual function uvm_reg_item get_item()
Returns the bus-independent read/write information that corresponds to the generic bus transaction currently translated to a bus-specific transaction. This function returns a value reference only when called in the uvm_reg_adapter::reg2bus() method. It returns null at all other times. The content of the return uvm_reg_item instance must not be modified and used strictly to obtain additional information about the operation.
The following example illustrates how to implement a RegModel-BUS adapter class for the APB bus protocol.
class rreg2apb_adapter extends uvm_reg_adapter; `uvm_object_utils(reg2apb_adapter) function new(string name="reg2apb_adapter"); super.new(name); endfunction virtual function uvm_sequence_item reg2bus(uvm_reg_bus_op rw); apb_item apb = apb_item::type_id::create("apb_item"); apb.op = (rw.kind == UVM_READ) ? apb::READ : apb::WRITE; apb.addr = rw.addr; apb.data = rw.data; return apb; endfunction virtual function void bus2reg(uvm_sequencer_item bus_item, uvm_reg_bus_op rw); apb_item apb; if (!$cast(apb,bus_item)) begin `uvm_fatal("CONVERT_APB2REG","Bus item is not of type apb_item") end rw.kind = apb.op==apb::READ ? UVM_READ : UVM_WRITE; rw.addr = apb.addr; rw.data = apb.data; rw.status = UVM_IS_OK; endfunction endclass
For converting between uvm_reg_bus_op and uvm_tlm_gp items.
| uvm_reg_tlm_adapter | |||||
| For converting between uvm_reg_bus_op and uvm_tlm_gp items. | |||||
| Class Hierarchy | |||||
| |||||
| Class Declaration | |||||
| |||||
| Methods | |||||
| reg2bus | Converts a uvm_reg_bus_op struct to a uvm_tlm_gp item. | ||||
| bus2reg | Converts a uvm_tlm_gp item to a uvm_reg_bus_op. |
virtual function uvm_sequence_item reg2bus( const ref uvm_reg_bus_op rw )
Converts a uvm_reg_bus_op struct to a uvm_tlm_gp item.
virtual function void bus2reg( uvm_sequence_item bus_item, ref uvm_reg_bus_op rw )
Converts a uvm_tlm_gp item to a uvm_reg_bus_op. into the provided rw transaction.
This class defines an interface for converting between uvm_reg_bus_op and a specific bus transaction.
virtual class uvm_reg_adapter extends uvm_object
For converting between uvm_reg_bus_op and uvm_tlm_gp items.
class uvm_reg_tlm_adapter extends uvm_reg_adapter
This typedef provides a short, more convenient name for the uvm_tlm_generic_payload type.
typedef uvm_tlm_generic_payload uvm_tlm_gp
The uvm_object class is the base class for all UVM data and hierarchical classes.
virtual class uvm_object extends uvm_void
Create a new instance of this type, giving it the optional name.
function new( string name = "" )
Set this bit in extensions of this class if the bus protocol supports byte enables.
bit supports_byte_enable
Set this bit in extensions of this class if the bus driver provides separate response items.
bit provides_responses
Set this member in extensions of this class if the bus driver requires bus items be executed via a particular sequence base type.
uvm_sequence_base parent_sequence
Extensions of this class must implement this method to convert the specified uvm_reg_bus_op to a corresponding uvm_sequence_item subtype that defines the bus transaction.
pure virtual function uvm_sequence_item reg2bus( const ref uvm_reg_bus_op rw )
The base class for user-defined sequence items and also the base class for the uvm_sequence class.
class uvm_sequence_item extends uvm_transaction
Extensions of this class must implement this method to copy members of the given bus-specific bus_item to corresponding members of the provided bus_rw instance.
pure virtual function void bus2reg( uvm_sequence_item bus_item, ref uvm_reg_bus_op rw )
Returns the bus-independent read/write information that corresponds to the generic bus transaction currently translated to a bus-specific transaction.
virtual function uvm_reg_item get_item()
Defines an abstract register transaction item.
class uvm_reg_item extends uvm_sequence_item
Converts a uvm_reg_bus_op struct to a uvm_tlm_gp item.
virtual function uvm_sequence_item reg2bus( const ref uvm_reg_bus_op rw )
Converts a uvm_tlm_gp item to a uvm_reg_bus_op.
virtual function void bus2reg( uvm_sequence_item bus_item, ref uvm_reg_bus_op rw )


Jaworski, Suffren lead Lafayette past Pennsylvania 86-75
by Associated PressEASTON, Pa. (AP) — Justin Jaworski scored 20 points and Isaac Suffren scored a career-high 19 points off the bench and Lafayette beat Pennsylvania 86-75 on Tuesday night.
Kyle Stout’s 3-pointer with 16:54 remaining put the Leopards (3-2) ahead 51-49 and they never trailed again. His basket started a 15-6 run that Penn (2-2) never recovered from.
Jaworski made 4 of 6 3s and distributed six assists. Myles Cherry scored 13 points and Tyrone Perry 12.
Devon Goodman led Penn with 15 points, AJ Brodeur scored 14 points with 10 rebounds and distributed eight assists. Bryce Washington scored 12.
Lafayette plays Fairleigh Dickinson at home on Sunday. Penn plays Providence on the road on Saturday.
___
For more AP college basketball coverage: https://apnews.com/Collegebasketball and http://twitter.com/AP_Top25
___
Elements of this story were generated by Automated Insights, http://www.automatedinsights.com/ap, using data from STATS LLC, https://www.stats.com


This player is initialized to start automatically, at 2:20 into the track (just prior to the guitar solo). This can be used to start the media from search results or an interactive transcript. In order to play the media automatically at the target start time, the media element must also include the autoplay attribute.
For additional demos see the Index of Able Player Examples.


Authorize access to Google Calendar API
Authorize
Summery
Description
Location
Start Date and Time
End Date and Time


Harry Styles Releases New Song 'Watermelon Sugar' - Listen Now!
Harry Styles has given us a HUGE surprise – a new song!!
The 25-year-old singer just released his new song “Watermelon Sugar” - and we can’t stop listening to it.
PHOTOS: Check out the latest pics of Harry Styles
“Watermelon Sugar” is the second single off of Harry‘s upcoming sophomore album Fine Line, which will be released on December 13. Harry released the first single “Lights Up” back in October.
Harry also recently announced his upcoming tour Love on Tour. Check out the dates and venues here!
You can pre-order Harry Styles‘ Fine Line off of iTunes here – listen to “Watermelon Sugar” now!
Check out the lyrics inside…
Read “Watermelon Sugar” by Harry Styles on Genius


Pomodoro Clock
Session Length
Break Length
start
reset
00:00:00
Your browser does not support the audio element.


Throttling and debouncing demo
Debounce
Throttle
{{time}}
There are currently no invocation logs
{{log.time}}:
{{log.type}}


Does going to school pay off? Most people think so. Currently almost 90 percent of young adults graduate from high school and about 60 percent of high school seniors continue on to college the following year. People decide to go to college for many reasons. One of the most compelling is the expectation of future economic success based on educational attainment.
Correlation vs Causation
Useless Correlation
Useful correlation
“We find that students who attended more selective colleges earned about the same as students of seemingly comparable ability who attended less selective schools”
- Stacy Berg Dale and Alan B. Krueger
Chasing Correlations
“Look... me and the McDonald's people got this little misunderstanding. See, they're McDonald's... I'm McDowell's. They got the Golden Arches, mine is the Golden Arcs. They got the Big Mac, I got the Big Mick.”
Remember the Bear!
What is the point of college in the first place?
What makes graduates more attractive to employers?
What is it that the college admissions offices are identifying?
Educated People
“I'm an educated man, but I'm afraid I can't speak intelligently about the travel habits of William Santiago.”
Educated People
“An educated man is one who can entertain a new idea, entertain another person and entertain himself.”
- Sydney Wood
Why Employers Hire
“Well, the world needs ditch diggers, too.”
Valuable Skills
“You keep using that word, I do not think it means what you think it means”
Internships
It's Not Too Late
“So you're telling me there's a chance”
What Colleges Are Looking For
Communication
Achievement
Leadership
What Colleges Ask For
Academic record
Written Essays
Extracurriculars
An in-person interview
The Second Group
Experience
“Experience is what you get when you didn't get what you wanted.”
- Randy Pausch
More Experience
"Good judgment comes from experience, and a lot of that comes from bad judgment."
- Will Rodgers or Jim Horning or Mulla Nasreddin or ...

- Sun Tzu
Limitations
“Freddy, what I am saying is: know your limitations.
Surpassing Limitations
Leadership
“Leadership is getting someone to do what they don't want to do, to achieve what they want to achieve.”
- Tom Landry
Achievement
“No. Try not. Do... or do not. There is no try.”
Problems and Solutions
Value Extraction
“Grab a brew. Don't cost nothin'.”
Example Activities
Performance Group
Athletic Team
Greek System
Academics
Oh, so, you're saying I should hire you because you don't work very hard when the work is boring? Well, there's boring stuff in programming, too. Every job has its boring moments. And I don't want to hire people that only want to do the fun stuff.
- Joel Spolsky, founder Fog Creek Software
Fixed vs. Growth Mindset
“In a fixed mindset, people believe their basic qualities, like their intelligence or talent, are simply fixed traits. They spend their time documenting their intelligence or talent instead of developing them. They also believe that talent alone creates success—without effort. They’re wrong.”
- Carol S. Dweck, author of Mindset
Academic Projects
"This? This is ice. This is what happens to water when it gets too cold."


Input length and click start to begin working. If there's no input, it will default to 25 minutes or the last input. Click reset to stop the timer before putting in a new timer length. Clicking the time will pause the timer. The bars will continue to spin letting you know that it is paused. Get to work!


Controls
move - W,A,S,D
elevation - Q, E
rotation - arrow keys
drag to look - mouse
change move speed - +/-
move speed -


SHAAAAAAAAAAAAA
Check your site for weak SHA-1 certificates. Open source, by @konklone.
has a certificate chain signed with .
If Chrome still says the site uses SHA-1, it's probably a chain caching bug on your computer.
has a certificate, but needs to update its intermediates.
is using .
See the details at SSL Labs, or start over.
There was an error checking . Check the developer console for details.
Check above to see if a site is still using certificates that were issued using the dangerously outdated SHA-1 signature algorithm.
As of January 1, 2016, no publicly trusted CA is allowed to issue a SHA-1 certificate. So any new certificate you get should automatically use a SHA-2 algorithm for its signature.
However, existing SHA-1 certificates are still trusted by modern browsers and operating systems. Generally, they will be removing support for SHA-1 entirely by early 2017.
Legacy clients will continue to accept SHA-1 certificates, and it is possible to have requested a certificate on December 31, 2015 valid for 39 months. So, it is possible to see SHA-1 certificates in the wild that expire in 2019.
Credits
This website is an open source project, and includes a command line tool — please lend a hand!
Thanks to Mathias Bynens, Justin Mayer, and Jonny Barnes for inspiration and assistance.


Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV LETTER
NEXT LETTER
FRAMES
NO FRAMES
All Classes
A
B
C
D
E
F
G
H
I
M
N
O
P
R
S
T
U
V
S
ScanDirection
- Enum in
com.mcc.ul
Scan direction.
setCalTableType(CalTableType)
- Method in class com.mcc.ul.
AiCalConfig
Sets the calibration table type for the current instance of AiCalConfig.
setChanType(AiChanType)
- Method in class com.mcc.ul.
AiChanConfig
Sets the A/D channel type for the current instance of AiChanConfig.
setConnectionCode(int)
- Method in class com.mcc.ul.
NetConfig
Sets the connection code.
setDefaultGatewayAddress(InetAddress)
- Method in class com.mcc.ul.
NetConfig
Sets the default Gateway address.
setDefaultIPAddress(InetAddress)
- Method in class com.mcc.ul.
NetConfig
Sets the default IP address.
setDefaultSubnetMask(InetAddress)
- Method in class com.mcc.ul.
NetConfig
Sets the default Subnet Mask.
setDirectionCheckDisabled(boolean)
- Method in class com.mcc.ul.
DioConfig
Disables or enables the direction check on output operations like
dOut
and
dBitOut
.
setExclusiveAccess(boolean)
- Method in class com.mcc.ul.
UsbConfig
Sets exclusive access to a USB interface.
setIoTimeout(int)
- Method in class com.mcc.ul.
NetConfig
Sets the I/O timeout in milliseconds.
setIPAddressSetting(IPAddressSetting)
- Method in class com.mcc.ul.
NetConfig
Selects the IP address setting.
setMaxNumRequests(int)
- Method in class com.mcc.ul.
AoUsbConfig
Sets the maximum number of USB bulk requests to be submitted for a scan operation.
setPairingCode(String)
- Method in class com.mcc.ul.
BthConfig
Sets the code used to initially pair a Bluetooth device with an Android host device such as a tablet or smartphone.
setTcType(TcType)
- Method in class com.mcc.ul.
TcConfig
Selects the thermocouple type.
setTrigger(TriggerType, int, double, double, ThresholdUnit, long)
- Method in class com.mcc.ul.
AiDevice
Selects the trigger source and configures its parameters.
setTrigger(TriggerType, int, double, double, ThresholdUnit, long)
- Method in class com.mcc.ul.
AoDevice
Selects the trigger source and configures its parameters.
setTrigger(TriggerType, DigitalPortType, BitSet, BitSet, long)
- Method in class com.mcc.ul.
DioDevice
Selects the trigger source and configures its parameters.
slope
- Variable in class com.mcc.ul.
CalCoef
Calibration slope.
Status
- Class in
com.mcc.ul
This class returns the status of a DAQ operation when called with getStatus().
Status()
- Constructor for class com.mcc.ul.
Status
Returns the operation status.
stopBackground()
- Method in class com.mcc.ul.
AiDevice
Stops the background operation.
stopBackground()
- Method in class com.mcc.ul.
AoDevice
Stops the background operation.
stopBackground(ScanDirection)
- Method in class com.mcc.ul.
DioDevice
Stops the background operation.
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV LETTER
NEXT LETTER
FRAMES
NO FRAMES
All Classes
A
B
C
D
E
F
G
H
I
M
N
O
P
R
S
T
U
V


General Information
I am currently taking the web development program at Epicodus and looking towards a new career in the web development industry. If you have any questions, please don't hesitate to contact me!
Email, Twitter and Facebook are the best way to reach me.


|
JGraph |
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
The interface that defines a suitable data model for a JGraph.
| Method Summary | |
boolean |
acceptsSource(Object edge,
Object port)
Returns true if port is a valid source for
edge . |
boolean |
acceptsTarget(Object edge,
Object port)
Returns true if port is a valid target for
edge . |
void |
addGraphModelListener(GraphModelListener l)
Adds a listener for the GraphModelEvent posted after the model changes. |
void |
addUndoableEditListener(UndoableEditListener listener)
Adds an undo listener for notification of any changes. |
void |
beginUpdate()
Indicates the start of one level of an executable change |
Map |
cloneCells(Object[] cells)
Returns a map of (cell, clone)-pairs for all cells and
their children. |
boolean |
contains(Object node)
Returns true if node or one of its
ancestors is in the model. |
Iterator |
edges(Object port)
Returns an iterator of the edges connected to port . |
void |
edit(Map attributes,
ConnectionSet cs,
ParentMap pm,
UndoableEdit[] e)
Applies the propertyMap and the connection changes to the
model. |
void |
endUpdate()
Indicates the end of the current level of an executable change |
void |
execute(ExecutableChange change)
Executes the specified executable change on this graph model |
AttributeMap |
getAttributes(Object node)
Returns a AttributeMap that represents the properties for
the specified cell. |
Object |
getChild(Object parent,
int index)
Returns the child of parent at index index in the parent's child array. |
int |
getChildCount(Object parent)
Returns the number of children of parent . |
int |
getIndexOfChild(Object parent,
Object child)
Returns the index of child in parent. |
int |
getIndexOfRoot(Object root)
Returns the index of root in the model. |
Object |
getParent(Object child)
Returns the parent of child in the model. |
Object |
getRootAt(int index)
Returns the root at index index in the model. |
int |
getRootCount()
Returns the number of roots in the model. |
Object |
getSource(Object edge)
Returns the source of edge . |
Object |
getTarget(Object edge)
Returns the target of edge . |
Object |
getValue(Object node)
Returns the user object for the specified cell. |
void |
insert(Object[] roots,
Map attributes,
ConnectionSet cs,
ParentMap pm,
UndoableEdit[] e)
Inserts the cells and connections into the model, and
passes attributes to the views. |
boolean |
isEdge(Object edge)
Returns true if edge is a valid edge. |
boolean |
isLeaf(Object node)
Returns whether the specified node is a leaf node. |
boolean |
isPort(Object port)
Returns true if port is a valid port,
possibly supporting edge connection. |
void |
remove(Object[] roots)
Removes cells from the model. |
void |
removeGraphModelListener(GraphModelListener l)
Removes a listener previously added with addGraphModelListener() . |
void |
removeUndoableEditListener(UndoableEditListener listener)
Removes an undo listener. |
void |
toBack(Object[] cells)
Sends cells to back. |
void |
toFront(Object[] cells)
Brings cells to front. |
Object |
valueForCellChanged(Object cell,
Object newValue)
Messaged when the value of the cell has changed, eg from within the edit method. |
| Method Detail |
public int getRootCount()
public Object getRootAt(int index)
public int getIndexOfRoot(Object root)
root
in the model. If root is
null
, returns -1.
root
- a root in the model, obtained from this data source
null
public boolean contains(Object node)
true
if node
or one of its
ancestors is in the model.
true
if node
is in the modelpublic AttributeMap getAttributes(Object node)
AttributeMap
that represents the properties for
the specified cell.
node
as a Map
public Object getValue(Object node)
node
public Object getSource(Object edge)
edge
. edge must be an
object previously obtained from this data source.
Object
that represents the source of edge public Object getTarget(Object edge)
edge
. edge must be an
object previously obtained from this data source.
Object
that represents the target of edge public boolean acceptsSource(Object edge, Object port)
true
if port
is a valid source for
edge
. edge and port must be objects
previously obtained from this data source.
true
if port
is a valid source for
edge
.public boolean acceptsTarget(Object edge, Object port)
true
if port
is a valid target for
edge
. edge and port must be objects
previously obtained from this data source.
true
if port
is a valid target for
edge
.public Iterator edges(Object port)
port
.
port must be a object previously obtained from this data source.
This method never returns null.
port
- a port in the graph, obtained from this data source
Iterator
that represents the connected edgespublic boolean isEdge(Object edge)
true
if edge
is a valid edge.
true
if edge
is a valid edge.public boolean isPort(Object port)
true
if port
is a valid port,
possibly supporting edge connection.
true
if port
is a valid port.public Object getParent(Object child)
child
- a node in the graph, obtained from this data source
public int getIndexOfChild(Object parent, Object child)
null
, returns -1.
parent
- a note in the tree, obtained from this data sourcechild
- the node we are interested in
null
public Object getChild(Object parent, int index)
parent
- a node in the tree, obtained from this data source
public int getChildCount(Object parent)
parent
- a node in the tree, obtained from this data source
public boolean isLeaf(Object node)
askAllowsChildren
setting.
node
- the node to check
public void insert(Object[] roots, Map attributes, ConnectionSet cs, ParentMap pm, UndoableEdit[] e)
cells
and connections into the model, and
passes attributes
to the views. Notifies the model- and
undo listeners of the change.
public void remove(Object[] roots)
cells
from the model. If
removeChildren
is true
, the children are
also removed. Notifies the model- and undo listeners of the change.
public void edit(Map attributes, ConnectionSet cs, ParentMap pm, UndoableEdit[] e)
propertyMap
and the connection changes to the
model. The initial edits
that triggered the call are
considered to be part of this transaction. Notifies the model- and undo
listeners of the change. Note: If only
edits
is non-null, the edits are directly passed to the
UndoableEditListeners.
public void beginUpdate()
public void endUpdate()
public void execute(ExecutableChange change)
change
- the change to be executedpublic Map cloneCells(Object[] cells)
cells
and
their children. Special care should be taken to replace references
between cells.
public Object valueForCellChanged(Object cell, Object newValue)
public void toBack(Object[] cells)
cells
to back.
public void toFront(Object[] cells)
cells
to front.
public void addGraphModelListener(GraphModelListener l)
public void removeGraphModelListener(GraphModelListener l)
public void addUndoableEditListener(UndoableEditListener listener)
UndoableEdit
will cause the
appropriate ModelEvent to be fired to keep the view(s) in sync with the
model.
public void removeUndoableEditListener(UndoableEditListener listener)
|
JGraph |
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


{{content}}
Blog
Project
Artwork
Origin
About
Me
Huang Panpan
Powered By
Licence
Browser not supports


Battlefield 4 Graphic Pack v1.0 - Better Battlelog Forums #112177
Sitemap
06. December 2013 22:43
Topicstarter
T3RRORTOAST
Community Manager
I created a database with some battlefield 4 and battlelog pictures for designers or others.
I hope it's for someone useful :)
http://bf4gp.localhostr.de/
07. December 2013 04:53
xXJumpyXx
Helping Hand
Good idea :) Finally a good place to find most/all graphics used with Battlefield 4 and in Battlelog.
07. December 2013 20:27
=[KsK]= Podracer
Great! Thank you!
Is there a button to download all?
All graphics free?
08. December 2013 16:19
xXJumpyXx
Helping Hand
Podracer wrote:
All graphics free?
They should all be free. He hasn't mentioned anything else, and the images aren't made by him.
08. December 2013 18:06
Topicstarter
T3RRORTOAST
Community Manager
=[KsK wrote:
= Podracer]
Is there a button to download all?
http://bf4gp.localhostr.de/all.zip
:)
08. December 2013 20:00
=[KsK]= Podracer
Thank you!!! Perfekt!
08. February 2014 08:36
ArnoldLayne
Translator
Thanks...always useful.


How adults can pay kids prices at Walt Disney World and Universal Studios
This could make for some very tempting savings
by Julie Delahaye, Victoria JonesFlorida's Walt Disney World and Universal Studios are on many people's bucket lists.
But they are pricey holidays, particularly when you have to pay for a family.
It might interest anyone considering a holiday that adults can now bag tickets to both resorts for the same price as kids' tickets.
That's because Attraction Tickets Direct has brought back its popular 'Adults pay kids prices' deal for theme parks including Walt Disney World and Universal, the Mirror report.
The best part is that there's a wide variety of ticket options included as part of the offer, whether you're after a 14 Day Ultimate Ticket to Disney or a three-park ticket to Universal Orlando.
Oh, and there are even combination tickets to both resorts if you're planning to explore a whole host of the parks.
There's more good news too as the deals are valid for trips in both 2019 and 2020, ideal if you've been thinking of a last minute trip or you're looking to plan ahead for next year.
You can already book the deals on the Attraction Tickets Direct website , but you'll need to do so by midnight on Friday, November 29 (Black Friday itself) when the deal expires.
It's also worth noting that tickets are subject to availability.
It's not the only deal that the website has running on Orlando getaways.
In fact, as part of its Black Friday offerings - which it is actually running all through November - families can bag discounts of five per cent off Walt Disney World hotel stays and park tickets, as well as five per cent off Universal Hotels packages .


lang="en">
Soulsborne is the best
bloodborne is best
alt"github"
this is a link to Playstation.com!
this is a link to Funzpoints!
This is a link to GitHub!
Hello there, awesome person! Just learning


Object
# File lib/rspec/core/reporter.rb, line 66 def example_failed(example) @failure_count += 1 notify :example_failed, example end
# File lib/rspec/core/reporter.rb, line 53 def example_group_finished(group) notify :example_group_finished, group unless group.descendant_filtered_examples.empty? end
# File lib/rspec/core/reporter.rb, line 49 def example_group_started(group) notify :example_group_started, group unless group.descendant_filtered_examples.empty? end
# File lib/rspec/core/reporter.rb, line 62 def example_passed(example) notify :example_passed, example end
# File lib/rspec/core/reporter.rb, line 71 def example_pending(example) @pending_count += 1 notify :example_pending, example end
# File lib/rspec/core/reporter.rb, line 57 def example_started(example) @example_count += 1 notify :example_started, example end
# File lib/rspec/core/reporter.rb, line 76 def finish(seed) begin stop notify :start_dump notify :dump_pending notify :dump_failures notify :dump_summary, @duration, @example_count, @failure_count, @pending_count notify :seed, seed if seed ensure notify :close end end
# File lib/rspec/core/reporter.rb, line 45 def message(message) notify :message, message end
# File lib/rspec/core/reporter.rb, line 96 def notify(method, *args, &block) @formatters.each do |formatter| formatter.send method, *args, &block end end
@api @overload report(count, &block) @overload report(count, seed, &block) @param [Integer] count the number of examples being run @param [Integer] seed the seed used to randomize the spec run @param [Block] block yields itself for further reporting.
Initializes the report run and yields itself for further reporting. The block is required, so that the reporter can manage cleaning up after the run.
### Warning:
The `seed` argument is an internal API and is not guaranteed to be supported in the future.
@example
reporter.report(group.examples.size) do |r| example_groups.map {|g| g.run(r) } end
# File lib/rspec/core/reporter.rb, line 31 def report(expected_example_count, seed=nil) start(expected_example_count) begin yield self ensure finish(seed) end end
Generated with the Darkfish Rdoc Generator 2.


Waves Abbey Road Studio 3 review
Can a plugin give you a better experience when mixing on headphones, and emulate a classic studio space, too?
$199
by Computer Music
Waves Abbey Road Studio 3 review
(Image: © Future)
Our Verdict
Abbey Road Studio 3 combines Waves’ Nx system with a classic mix space. Great for mixing on headphones.
Pros
- • Realistic loudspeaker emulation
- • Three monitor options in stereo mode
- • Good for accurate head tracking
- • Surround monitoring on headphones
Cons
- • Need to also buy Head Tracker for best tracking performance
- • No mono monitoring option
What is it?
Over several decades, Studio 3 at Abbey Road Studios has played host to all manner of high profile projects. Waves Abbey Road Studio 3 (VST/AU/AAX) is the latest manifestation of Waves’ Nx system , using its immersive 3D technology to recreate the control room of this famous space in your headphones.
In terms of functionality, Abbey Road Studio 3 could be perceived as very similar to Waves’ Nx - Virtual Mix Room plugin. You start by inserting either a stereo or surround format plugin, depending on which format you’re working in, upon which Nx will translate the balance onto stereo headphones in such a way that sounds like the phantom image is coming from monitors in front of around you, rather than within your head.
The plugin features various settings to influence this. Head Modelling has parameters for head circumference and ear-to-ear distance, both of which you’ll need to measure and enter manually. If you listen while changing parameters, these clearly make quite a difference. Head Tracking uses either your computer webcam, Waves’ own headphone-mounted Head Tracker device or a combination of the two to track your head movements, modifying the sound accordingly.
The Settings button opens a floating tabbed window in which you can activate camera and Bluetooth tracking, select the desired tracking devices and observe the various 3D parameters as they’re tracked in real time.
Waves Abbey Road Studio 3 $199 $99.99 at Waves
Save almost 50% on the Abbey Road Studio 3 pluginView Deal
With these options decided, you then centre your seating position and select the Calibrate option, so your movements are suitably referenced.
Much like with Virtual Mix Room, Abbey Road Studio 3 lets you use any headphones you like for the process, as it’s not primarily trying to ‘correct’ them to some kind of standard. However, the Headphone EQ option conveniently includes calibration curves that help to smooth out the frequency response for a handful of preset headphone models.
What marks this plugin out from Virtual Mix Room, of course, is that it incorporates the Studio 3 control room ambience and loudspeakers. When using the stereo version of the plugin, you get a choice of three pairs of monitors (Near, Mid and Far), while for the surround plugin, the monitors default to the midfields. Waves doesn’t actually specify the monitors used, but Abbey Road Studio 3’s main monitors are well known to be soffit-mounted Questeds (the Q412 system), and the surround monitors are the floor-standing ‘headed’ B&W 800D, both of which match the graphics on the plugin, as you’d expect.
It’s also worth noting that the plugin has a specific ‘sweet spot’, captured using impulse responses. This is different to the mathematical model approach used for Virtual Mix Room and means there’s no way to adjust speaker positions, and no forward or back head tracking. The room ambience is also fixed, although switching between each set of monitors influences things, replicating the mix room.
Performance and verdict
The different monitor options do sound quite different to each other, with a nicely upfront directional sound from the nearfields and a more balanced image from the midfields. The main monitors sound more distant and have a bigger ‘hole’ in the centre of the stereo field, and although they deliver a bigger scale, it ultimately stands to reason that headphones won’t really ever deliver the physical impact that main monitors would.
Far more sonic variation is created by the head tracking. Your webcam and Waves’ Head Tracker combine to make this very responsive (we achieved a frame rate of 40 upwards) and as you turn your head, the effect is both realistic and quite addictive. Whether it’s beneficial in a mixing situation, though, is debatable, but if you’re after predictability, simply switching head tracking off is always an option.
A further control, Rotate Studio, shifts the listener perspective horizontally through a full 360 degrees. If you’re working in stereo, turning 180 degrees away from the monitors simply makes it sound like they’re behind you. In surround, however, Rotate Studio shifts everything, so at 180 degrees you can face the L and R surround speakers and they’ll be reversed in your headphones. Not only a nice touch sonically, but you also get to see the graphics-rich back of the studio with its outboard racks, patchbay, tape machine and so on.
Also consider
(Image credit: Waves)
•
Waves Nx Virtual Mix Room
•
Toneboosters Morphit
•
Audified MixChecker Pro
As noted, Abbey Road Studio 3 is less tweakable than Virtual Mix Room, albeit with the benefit of more loudspeaker options. For those who like switching between monitors as they work, a compact floating switching window would be a great addition, as would some form of small mono speaker option.
Those points aside, however, Abbey Road Studio 3 delivers a tight, neutral monitoring space, is very slick and reliable, and provides a practical and effective spatialising solution for anyone mixing on headphones.
MusicRadar verdict: Abbey Road Studio 3 combines Waves’ Nx system with a classic mix space. Great for mixing on headphones.
The web says
"Our judgement would be to suggest reserving judgement till you try it. You may enjoy the added dimension to your monitoring. " Attack Magazine
Hands-on demos
Home Recording Made Easy
Produce Like A Pro
Green Light Sound
Specifications
- The acoustic environment of the Abbey Road Studio 3 control room—inside your headphones
- Precision modeling of the control room’s stereo & surround soundstage
- Powered by Waves Nx immersive audio technology
- Make better decisions on headphones about panning, mix depth, reverb, the low end, and more
- Choose from Studio 3’s three sets of stereo speaker setups: near-fields, mid-fields, far-fields
- Mix 7.1 and 5.1 on headphones with Studio 3’s full surround setup
- Use the plugin with the Nx Head Tracker for enhanced realism
- Personalized head anatomy calibration
- SoundGrid-compatible


✨ Bootstrapped with Create Snowpack App (CSA).
Runs the app in the development mode. Open http://localhost:8080 to view it in the browser.
The page will reload if you make edits. You will also see any lint errors in the console.
Builds a static copy of your site to the build/
folder.
Your app is ready to be deployed!
For the best production performance: Add a build bundler plugin like "@snowpack/plugin-webpack" or "@snowpack/plugin-parcel" to your snowpack.config.json
config file.
No eject needed! Snowpack guarantees zero lock-in, and CSA strives for the same.


So, we'll start out with the important stuff. Kristina and Patrick started dating in November of 2001. We were engaged on October 17th, 2003 and were married on July 10th, 2004 at Palm Valley Lutheran Church in Round Rock, Texas.
During the engagement we had a sparadoically updated weblog where we put some comments, but it didn't get used as much as we hoped. Now that the wedding is over, you can check out all sorts of photos from the wedding and honeymoon.


{% extends "freegame/freegame_layout.html" %} {% block content %}
POST /freegame/saveplayer [freegame] [player1] [player2]
| ID | freegame | player1 | player2 | {% for player in players %}
|---|---|---|---|
| {{player.id}} | {{player.freegame}} | {{player.player1}} | {{player.player2}} |


begin_indexing(self,
session)
Perform tasks before indexing any records
|
commit_indexing(self,
session)
Perform tasks after records have been indexed
|
construct_item(self,
session,
term,
rsitype="")
Take a single item, as stored in this Index, and produce a
ResultSetItem representation.
|
construct_resultSet(self,
session,
terms,
queryHash={})
Take a list of terms and produce an appropriate ResultSet
object.
|
delete_record(self,
session,
record)
Delete all the terms of the given record from the indexes.
|
deserialise_terms(self,
session,
data)
Callback from IndexStore to take serialised data and produce list
of terms and document references.
|
index_record(self,
session,
record)
Accept a record to index.
|
merge_terms(self,
session,
structTerms,
newTerms,
op="replace",
recs=0,
occs=0)
Callback from IndexStore to take two sets of terms and merge them
together.
|
scan(self,
session,
clause)
Produce an ordered term list with document frequencies and total
occurences
|
search(self,
session,
clause)
Search this particular index given a CQL clause, return a
resultSet object
|
serialise_terms(self,
session,
termId,
terms,
recs=0,
occs=0)
Callback from IndexStore to serialise list of terms and document
references to be stored
|
sort(self,
session,
resultSet)
Sort a result set based on the values extracted according to this
index.
|
|
:
__init__ ,
auth_function ,
get_config ,
get_default ,
get_object ,
get_path ,
get_setting ,
log_function ,
unauth_function ,
unlog_function
:
__delattr__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__repr__ ,
__setattr__ ,
__str__
|


I suppose this is yet another way to imitate imperative processing? I mean - is there anything you could not do by writing a simple function? --User:Kali 20:43, 12 May 2005 (CEST)
Actually it is just another way to facilitate imperative programming.
Functional programming is not the best tool to solve all tasks in the
world. There are problem domains where it shines and there are problems
domains where other programming paradigms shine. This is why Nemerle allows
object oriented, imperative and meta programming -- because it is a general
purpose language.
Now once we allowed loops, they should be usable, not just a poor man's
substitute. This block thingy makes them more usable than they are in other
languages. I consider it a good thing.
And yes, all that can be handled with a simple recursive functions, but
- imitating foreach with a function is some work with the enumerators
- loops are in most simple cases just more readable
-- User:Malekith 14:56, 14 May 2005 (CEST)
Well, nothing I couldn't agree with. Consider me convinced ;)
--User:Kali 17:52, 14 May 2005 (CEST)
|


Toggle navigation
Richie's Recipe Planner
Home
Recipes
Login
Add your recipe!
Recipe Name:
Ingredients:
Directions:
Add Recipe


{% include head.html %} {% include head/custom.html %}
{% include browser-upgrade.html %} {% include masthead.html %} {{ content }}
Sign up to support David Molina
{% include scripts.html %}


ExpressionBuilder class is responsible to dynamically create SQL query parts.
| link |
www.doctrine-project.org |
|---|---|
| since | 2.1 |
| author |
Guilherme Blanco<EMAIL_ADDRESS>|
| author |
Benjamin Eberlei<EMAIL_ADDRESS>|
| package |
Default |
__construct(\Doctrine\DBAL\Connection $connection)
andX(mixed $x = null) : \Doctrine\DBAL\Query\Expression\CompositeExpression
Example:
[php]
// (u.type = ?) AND (u.role = ?)
$expr->andX('u.type = ?', 'u.role = ?'));
mixed
Optional clause. Defaults = null, but requires at least one defined when converting to string.
\Doctrine\DBAL\Query\Expression\CompositeExpression
comparison(mixed $x, string $operator, mixed $y) : string
mixed
The left expression.
string
One of the ExpressionBuilder::* constants.
mixed
The right expression.
string
eq(mixed $x, mixed $y) : string
First argument is considered the left expression and the second is the right expression.
When converted to string, it will generated a
[php]
// u.id = ?
$expr->eq('u.id', '?');
mixed
The left expression.
mixed
The right expression.
string
gt(mixed $x, mixed $y) : string
First argument is considered the left expression and the second is the right expression.
When converted to string, it will generated a
[php]
// u.id > ?
$q->where($q->expr()->gt('u.id', '?'));
mixed
The left expression.
mixed
The right expression.
string
gte(mixed $x, mixed $y) : string
First argument is considered the left expression and the second is the right expression.
When converted to string, it will generated a
[php]
// u.id >= ?
$q->where($q->expr()->gte('u.id', '?'));
mixed
The left expression.
mixed
The right expression.
string
in(string $x, string|array $y) : string
string
The field in string format to be inspected by IN() comparison.
string|array
The placeholder or the array of values to be used by IN() comparison.
string
isNotNull(string $x) : string
string
The field in string format to be restricted by IS NOT NULL.
string
isNull(string $x) : string
string
The field in string format to be restricted by IS NULL.
string
like(string $x, mixed $y) : string
string
Field in string format to be inspected by LIKE() comparison.
mixed
Argument to be used in LIKE() comparison.
string
literal(mixed $input, string|null $type = null) : string
mixed
The parameter to be quoted.
string|null
The type of the parameter.
string
lt(mixed $x, mixed $y) : string
First argument is considered the left expression and the second is the right expression.
When converted to string, it will generated a
[php]
// u.id < ?
$q->where($q->expr()->lt('u.id', '?'));
mixed
The left expression.
mixed
The right expression.
string
lte(mixed $x, mixed $y) : string
First argument is considered the left expression and the second is the right expression.
When converted to string, it will generated a
[php]
// u.id <= ?
$q->where($q->expr()->lte('u.id', '?'));
mixed
The left expression.
mixed
The right expression.
string
neq(mixed $x, mixed $y) : string
First argument is considered the left expression and the second is the right expression.
When converted to string, it will generated a
[php]
// u.id <> 1
$q->where($q->expr()->neq('u.id', '1'));
mixed
The left expression.
mixed
The right expression.
string
notIn(string $x, string|array $y) : string
string
The field in string format to be inspected by NOT IN() comparison.
string|array
The placeholder or the array of values to be used by NOT IN() comparison.
string
notLike(string $x, mixed $y) : string
string
Field in string format to be inspected by NOT LIKE() comparison.
mixed
Argument to be used in NOT LIKE() comparison.
string
orX(mixed $x = null) : \Doctrine\DBAL\Query\Expression\CompositeExpression
Example:
[php]
// (u.type = ?) OR (u.role = ?)
$qb->where($qb->expr()->orX('u.type = ?', 'u.role = ?'));
mixed
Optional clause. Defaults = null, but requires at least one defined when converting to string.
\Doctrine\DBAL\Query\Expression\CompositeExpression
EQ
NEQ
LT
LTE
GT
GTE


--- layout: archive title: Zulip Chat Archive permalink: /stream/116395-maths/topic/uniform.20lemma.html ---
Is the following lemma already hidden somewhere in mathlib? Or is it too trivial to be stated? What would be his canonical name?
import analysis.topology.uniform_space local attribute [instance] separation_setoid variables {α : Type*} [uniform_space α] variables {β : Type*} [uniform_space β] lemma separation_rel_of_uniform_continuous {f : α → β} (H : uniform_continuous f) {x y : α} (h : x ≈ y) : f x ≈ f y := assume _ h', h _ (H h')
Same question for the obvious corollary
lemma image_eq_of_uniform_continuous_of_separated [separated β] {f : α → β} (H : uniform_continuous f) {x y : α} (h : x ≈ y) : f x = f y := separated_def.1 (by apply_instance) _ _ $ separation_rel_of_uniform_continuous H h
@Mario Carneiro I know this is Johannes domain, but I'd be interested in your opinion about naming here
That's a tough one. I don't like the use of the word image
in the second one, that connotes ''
but it doesn't appear in the statement
Maybe apply_eq_of_separated
for the second?
Ok. It leaves out most of the statement but I don't see how to avoid that when there are so many hypotheses.
I think separated_of_uniform_continuous
and eq_of_separated_of_uniform_continuous
would be also okay.
Thanks. I now use these names since you will have to review a PR containing all this at some point.
Now, for something really weird, I'll try to go read Bourbaki GT in a bar, hoping this will secure me some place to watch the game. It may be too late already.
Maybe I should point out that my wife and kids are in vacations, so I'm alone at home. Otherwise I wouldn't do that :-)
I think every mathematician should read Bourbaki in a bar
It worked out pretty nicely. Now I know what are the supporting lemmas that I need to prove about completions.
Kenny, reading and doing math in bar is very standard, what was slightly weird was the atmosphere around me. But I was able to mostly work until about 15 minutes before the beginning.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


What type of service are you interested in?
Website construction
Website maintenance
Application Development
Additional Information:


@(title: String, customer: Customer)(content: Html)
Hello @customer.cust_fname
©2015 gamesdirect all rights reserved.Portal


Lukas is an experienced software engineer and product manager who enjoys teaching people how to solve problems. He's currently working on Quantum Machine Learning.
Ned is a data scientist with a background in supply chain management, manufacturing, and textiles. He focuses on financial and geo-spacial analysis problems.
Nick is from Dallas, Texas, and is currently studying Data Science at Lambda School. Follow him on Twitter to keep up with all things Data Science.
Matt hails from Los Angeles, California. He spent over a decade working in the entertainment industry, recently managing the post production department at Iwerks & Co., an award-winning producer of documentaries and short films.
Originally from NYC, George is now based out of Austin, TX. Prior to Lambda School he worked as a criminal defense attorney and then a financial analyst.
Originally from north Idaho, Mason is a University of Washington graduate with degrees in American Ethnic Studies and Earth and Space Sciences.
Rich's dedication to the craft of software development is second only to his love of the outdoors. He's still searching for a truly 'remote' position that would enable him to code via satellite from a cabin deep in the wilderness of Alaska.


WELCOME TO POINT OF SALE MANAGEMENT SYSTEM
Sales Module
Purchase Module
Production Module
Attendance System


{extend name="blog@public/test" /} {block name='main'}
Design must be functional and functionality must be translated into visual aesthetics
Read MoreDesign must be functional and functionality must be translated into visual aesthetics
Read MoreDesign must be functional and functionality must be translated into visual aesthetics
Read MoreDesign must be functional and functionality must be translated into visual aesthetics
Read More


As is no doubt clear from all the above, Kimchi is intended in principle to be eaten as is, without cooking beforehand, to accompany rice or other grains, or starches like beans or potatoes. The liquid from water Kimchi is particularly delicious, and may be drunk separately from a bowl or glass; one takes care however to always leave enough juice in the pot so that the vegetables remain entirely covered. Koreans eat Kimchi in a bowl, while rice (well softened) is served on plates and eaten with a spoon. There is nothing wrong of course with mixing different Kimchis on one’s plate or bowl, on the other hand there is no question of mixing one pot of Kimchi with another (for example two pots which are nearly finished) any more than one may use an old Kimchi to “start” the fermentation of a new one. Fermentation starts itself by the action of bacteria in the air.
For a Kimchi of green tomatoes or whole cucumbers, the most pleasant presentation for the meal is to cut the vegetable in thin slices, which better brings out the delicacy of the flavor. When it comes to infusions of short duration, one serves the vegetable in the liquid in which it was steeped. For longer infusions, one must make saltier brines, unfit for consumption, especially as after a few months they take on a slightly brackish taste. Koreans are thus used to serving green tomatoes or cucumbers in a salad bowl, cut into thin slices, with fresh spring water added upon serving. The flavor of the vegetable immediately diffuses in the water and gives it a delicious taste, at the same time the flavor of the vegetable itself becomes less concentrated. Served differently, it instead takes the form of a condiment, like pickles.


?6
7
8
9
10
the
New
York
copyright
reserved
botanical
Garden
PLANTS
OF
THE
WEST
INDIES
Chrysophyllum
oliviforme
L.
Det.:
D.S.
Correll
vnRK
botanicalgarden
""?01263668
Y
ew
o
BOTANICAL
ga
R
<0>
IMAGED
Bahamas:
Great
Abaco,
in
high
coppice,
3.1
miles
north
of
Treasure
Cay
Airport.
August
4,
1979
Ruben
Sauleda
2845
(with
Ralph
M.
¤
Patricia
Adams)
Herbarium
FAIRCHILD
TROPICAL
GARDEN
01263668
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high