|
| Local Methods | ||
| Managed Object Types | Data Object Types | All Properties | All Methods |
Properties
| Name | Type | Description |
|---|---|---|
| None |
Methods
| Methods defined in this Managed Object |
|---|
| CreateRegistryKeyInGuest, DeleteRegistryKeyInGuest, DeleteRegistryValueInGuest, ListRegistryKeysInGuest, ListRegistryValuesInGuest, SetRegistryValueInGuest |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the GuestWindowsRegistryManager used to make the method call. |
| vm P | ManagedObjectReference
to a VirtualMachine |
Virtual machine to perform the operation on.
|
| auth | GuestAuthentication |
The guest authentication data.
|
| keyName | GuestRegKeyNameSpec |
The path to the registry key to be created.
|
| isVolatile | xsd:boolean |
If true, the key is created in memory and is not
preserved across system reboot. Otherwise, it shall
persist in the file system.
|
| classType* | xsd:string |
User defined class type for this key. May be omitted.
|
Return Value
| Type | Description |
|---|---|
| None |
Faults
| Type | Description |
|---|---|
| GuestComponentsOutOfDate | Thrown if the guest agent is too old to support the operation. |
| GuestOperationsFault | Thrown if there is an error processing a guest operation. |
| GuestOperationsUnavailable | Thrown if the VM agent for guest operations is not running. |
| GuestPermissionDenied | Thrown if the program path cannot be run because the guest authentication will not allow the operation. |
| GuestRegistryKeyAlreadyExists | Thrown if the registry key already exists. |
| GuestRegistryKeyInvalid | Thrown if the registry key is not valid. Check the HKEY Root specified. |
| GuestRegistryKeyParentVolatile | Thrown if trying to create a non-volatile registry subkey under a volatile registry parent key. |
| InvalidGuestLogin | Thrown if the the guest authentication information was not accepted. |
| InvalidPowerState | Thrown if the VM is not powered on. |
| InvalidState | Thrown if the operation cannot be performed because of the virtual machine's current state. |
| OperationDisabledByGuest | Thrown if the operation is not enabled due to guest agent configuration. |
| OperationNotSupportedByGuest | Thrown if the operation is not supported by the guest OS. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
| TaskInProgress | Thrown if the virtual machine is busy. |
Events
| Type | |
|---|---|
| None |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the GuestWindowsRegistryManager used to make the method call. |
| vm P | ManagedObjectReference
to a VirtualMachine |
Virtual machine to perform the operation on.
|
| auth | GuestAuthentication |
The guest authentication data.
|
| keyName | GuestRegKeyNameSpec |
The path to the registry key to be deleted.
|
| recursive | xsd:boolean |
If true, the key is deleted along with any subkeys (if
present). Otherwise, it shall only delete the key if it
has no subkeys.
|
Return Value
| Type | Description |
|---|---|
| None |
Faults
| Type | Description |
|---|---|
| GuestComponentsOutOfDate | Thrown if the guest agent is too old to support the operation. |
| GuestOperationsFault | Thrown if there is an error processing a guest operation. |
| GuestOperationsUnavailable | Thrown if the VM agent for guest operations is not running. |
| GuestPermissionDenied | Thrown if the program path cannot be run because the guest authentication will not allow the operation. |
| GuestRegistryKeyHasSubkeys | Thrown if the parameter recursive is false and the key has subkeys. |
| GuestRegistryKeyInvalid | Thrown if the registry key is not valid. Check the HKEY Root specified. |
| InvalidGuestLogin | Thrown if the the guest authentication information was not accepted. |
| InvalidPowerState | Thrown if the VM is not powered on. |
| InvalidState | Thrown if the operation cannot be performed because of the virtual machine's current state. |
| OperationDisabledByGuest | Thrown if the operation is not enabled due to guest agent configuration. |
| OperationNotSupportedByGuest | Thrown if the operation is not supported by the guest OS. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
| TaskInProgress | Thrown if the virtual machine is busy. |
Events
| Type | |
|---|---|
| None |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the GuestWindowsRegistryManager used to make the method call. |
| vm P | ManagedObjectReference
to a VirtualMachine |
Virtual machine to perform the operation on.
|
| auth | GuestAuthentication |
The guest authentication data.
|
| valueName | GuestRegValueNameSpec |
The registry value name to be deleted.
The Value "name" (specified in
GuestRegValueNameSpec)
can be empty. If "name" is empty, it deletes the value
for the unnamed or default value of the given key.
|
Return Value
| Type | Description |
|---|---|
| None |
Faults
| Type | Description |
|---|---|
| GuestComponentsOutOfDate | Thrown if the guest agent is too old to support the operation. |
| GuestOperationsFault | Thrown if there is an error processing a guest operation. |
| GuestOperationsUnavailable | Thrown if the VM agent for guest operations is not running. |
| GuestPermissionDenied | Thrown if the program path cannot be run because the guest authentication will not allow the operation. |
| GuestRegistryKeyInvalid | Thrown if the registry key is not valid. Check the HKEY Root specified. |
| GuestRegistryValueNotFound | Thrown if the registry value was not found. |
| InvalidGuestLogin | Thrown if the the guest authentication information was not accepted. |
| InvalidPowerState | Thrown if the VM is not powered on. |
| InvalidState | Thrown if the operation cannot be performed because of the virtual machine's current state. |
| OperationDisabledByGuest | Thrown if the operation is not enabled due to guest agent configuration. |
| OperationNotSupportedByGuest | Thrown if the operation is not supported by the guest OS. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
| TaskInProgress | Thrown if the virtual machine is busy. |
Events
| Type | |
|---|---|
| None |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the GuestWindowsRegistryManager used to make the method call. |
| vm P | ManagedObjectReference
to a VirtualMachine |
Virtual machine to perform the operation on.
|
| auth | GuestAuthentication |
The guest authentication data.
|
| keyName | GuestRegKeyNameSpec |
The path to the registry key for which all subkeys are to
be listed.
|
| recursive | xsd:boolean |
If true, all subkeys are listed recursively.
|
| matchPattern* | xsd:string |
A filter for the key names returned, specified using
perl-compatible regular expressions. If matchPattern
is unset, then the pattern '.*' is used, which returns
all key names found, otherwise only those key names
that match the input pattern shall be returned.
|
Return Value
| Type | Description |
|---|---|
| GuestRegKeyRecordSpec[] | The list of subkeys is returned in an array of GuestRegKeySpec structures. |
Faults
| Type | Description |
|---|---|
| GuestComponentsOutOfDate | Thrown if the guest agent is too old to support the operation. |
| GuestOperationsFault | Thrown if there is an error processing a guest operation. |
| GuestOperationsUnavailable | Thrown if the VM agent for guest operations is not running. |
| GuestPermissionDenied | Thrown if the program path cannot be run because the guest authentication will not allow the operation. |
| GuestRegistryKeyInvalid | Thrown if the registry key is not valid. Check the HKEY Root specified. |
| InvalidGuestLogin | Thrown if the the guest authentication information was not accepted. |
| InvalidPowerState | Thrown if the VM is not powered on. |
| InvalidState | Thrown if the operation cannot be performed because of the virtual machine's current state. |
| OperationDisabledByGuest | Thrown if the operation is not enabled due to guest agent configuration. |
| OperationNotSupportedByGuest | Thrown if the operation is not supported by the guest OS. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
| TaskInProgress | Thrown if the virtual machine is busy. |
Events
| Type | |
|---|---|
| None |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the GuestWindowsRegistryManager used to make the method call. |
| vm P | ManagedObjectReference
to a VirtualMachine |
Virtual machine to perform the operation on.
|
| auth | GuestAuthentication |
The guest authentication data.
|
| keyName | GuestRegKeyNameSpec |
The path to the registry key for which all values are to be
listed.
|
| expandStrings | xsd:boolean |
If true, all values that have expandable data such
as environment variable names, shall get expanded in
the result.
|
| matchPattern* | xsd:string |
A filter for the value names returned, specified using
perl-compatible regular expressions. If matchPattern
is unset, then the pattern '.*' is used, which returns
all value names found, otherwise only those value
names that match the input pattern shall be returned.
|
Return Value
| Type | Description |
|---|---|
| GuestRegValueSpec[] | The list of values is returned in an array of GuestRegValueSpec structures. |
Faults
| Type | Description |
|---|---|
| GuestComponentsOutOfDate | Thrown if the guest agent is too old to support the operation. |
| GuestOperationsFault | Thrown if there is an error processing a guest operation. |
| GuestOperationsUnavailable | Thrown if the VM agent for guest operations is not running. |
| GuestPermissionDenied | Thrown if the program path cannot be run because the guest authentication will not allow the operation. |
| GuestRegistryKeyInvalid | Thrown if the registry key is not valid. Check the HKEY Root specified. |
| InvalidGuestLogin | Thrown if the the guest authentication information was not accepted. |
| InvalidPowerState | Thrown if the VM is not powered on. |
| InvalidState | Thrown if the operation cannot be performed because of the virtual machine's current state. |
| OperationDisabledByGuest | Thrown if the operation is not enabled due to guest agent configuration. |
| OperationNotSupportedByGuest | Thrown if the operation is not supported by the guest OS. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
| TaskInProgress | Thrown if the virtual machine is busy. |
Events
| Type | |
|---|---|
| None |
Parameters
| Name | Type | Description |
|---|---|---|
| _this | ManagedObjectReference | A reference to the GuestWindowsRegistryManager used to make the method call. |
| vm P | ManagedObjectReference
to a VirtualMachine |
Virtual machine to perform the operation on.
|
| auth | GuestAuthentication |
The guest authentication data.
|
| value | GuestRegValueSpec |
The information for the registry value to be set/created.
The Value "name" (specified in
GuestRegValueNameSpec)
and the Value "data" (specified in
GuestRegValueSpec)
can both be empty. If "name" is empty, it sets the value for
the unnamed or default value of the given key.
|
Return Value
| Type | Description |
|---|---|
| None |
Faults
| Type | Description |
|---|---|
| GuestComponentsOutOfDate | Thrown if the guest agent is too old to support the operation. |
| GuestOperationsFault | Thrown if there is an error processing a guest operation. |
| GuestOperationsUnavailable | Thrown if the VM agent for guest operations is not running. |
| GuestPermissionDenied | Thrown if the program path cannot be run because the guest authentication will not allow the operation. |
| GuestRegistryKeyInvalid | Thrown if the registry key is not valid. Check the HKEY Root specified. |
| InvalidGuestLogin | Thrown if the the guest authentication information was not accepted. |
| InvalidPowerState | Thrown if the VM is not powered on. |
| InvalidState | Thrown if the operation cannot be performed because of the virtual machine's current state. |
| OperationDisabledByGuest | Thrown if the operation is not enabled due to guest agent configuration. |
| OperationNotSupportedByGuest | Thrown if the operation is not supported by the guest OS. |
| RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
| TaskInProgress | Thrown if the virtual machine is busy. |
Events
| Type | |
|---|---|
| None |
| Top of page | Local Methods | ||
| Managed Object Types | Data Object Types | All Properties | All Methods |


Carl Sagan
Astronomer - Author - Science Communicator
Some of Carl Sagan's contributions to science and society:
NASA
- Worked on the Mariner 2 team exploring Venusian atmosphere and surface temperatures
- Briefed astronauts of the Apollo program before their missions to the moon
- Designed the golden plaques on the Pioneer 10 and 11 space probes
- Worked on the Voyager Golden Record sent out of the solar system on Voyagers 1 and 2
- Convinced NASA to turn Voyager 1 around to take the iconic Pale Blue Dot photograph
Cornell
- Served as Director of the Laboratory for Planetary Studies
- Became the David Duncan Professor of Astronomy and Space Sciences
- Was the Associate Director of the Center for Radiophysics and Space Research
Science, Education, and Culture
- Co-wrote and hosted the documentary series, Cosmos: A Personal Voyage
- Wrote the science fiction novel, Contact, Which became a film
- Was a very prominent advocate for the Search of Extraterrestrial Intelligence (SETI)
- Strongly pushed for nuclear disarmament during the Cold War
- Wrote many nonfiction works concerning the universe and humanity's place in it
- Was an advocate for scientific litteracy and critical thinking
- Intelligent Life in the Universe, 1966
- UFO's: A Scientific Debate, 1972
- Communication with Extraterrestrial Intelligence CETI, 1973
- Mars and the Mind of Man, 1973
- The Cosmic Connection: an Extraterrestrial Perspective, 1973
- Other Worlds, 1975
- The Dragons of Eden: Speculations on the Evolution of Human Intelligence, 1977
- Broca's Brain: Reflections on the Romance of Science, 1979
- Cosmos, 1980
- Comet, 1985
- A Path Where No Man Thought: Nuclear Winter and the End of the Arms Race, 1990
- Shadows of Forgotten Ancestors: A Search for Who We Are, 1992
- Pale Blue Dot: A Vision of the Human Future in Space, 1994
- The Demon Haunted World: Science as a Candle in the Dark, 1996
- Billions and Billions: Thoughts on Life and Death at the Brink of the Millennium, 1997
- The Varieties of Scientific Experience: A Personal View of the Search for God, 2006
Look again at that dot. That's here. That's home. That's us.  The aggregate of our joy and suffering, thousands of confident religions, ideologies, and economic doctrines, every hunter and forager, every hero and coward, every creator and destroyer of civilization, every king and peasant, every young couple in love, every mother and father, hopeful child, inventor and explorer, every teacher of morals, every corrupt politician, every "superstar," every "supreme leader," every saint and sinner in the history of our species lived there--on a mote of dust suspended in a sunbeam.
To learn more about Carl Sagan, visit the Carl Sagan Wikipedia Page.
Written and coded by Ross Scarborough


--- title: Book permalink: /book/ icon: play ---
Get Ebooks at Low Price!
When you find an ebook at Amazon, you give the book title and link to us
You contact us by Email, confirm with us and pay
We send the ebook to your email


Skip to main content
BlocklyProp
New project
Scribbler
Spin
Propeller C
Introduction
Manual
Blocks
Spin reference


{% extends "layout.html" %} {% block page_title %} Publish government data {% endblock %} {% block proposition_header %} {% include "includes/propositional_navigation_service.html" %} {% endblock %} {% block header_class %} with-proposition {% endblock %} {% block content %} {% include "includes/phase_banner_alpha.html" %} {% include "includes/side-navigation.html" %} {{formData | safe}} Please choose your data catalogue We were unable to determine the type of data catalogue you are using Please provide more information below, or contact Support for help Choose catalogue CKAN Publish My Data LGA Inventory Socrata INSPIRE - WMS INSPIRE - CSW INSPIRE - A web accessible folder {% endblock %}
We were unable to determine the type of data catalogue you are using
Please provide more information below, or contact Support for help


ToDo List Plus
Keep me Logged-In
Open my taks
View how to use
Welcome to To Do List Plus.
Click on top right corner
to add new task
Swipe right to left to see more options - Delete and Edit
Swipe left to right to mark that task as Done
{{tsk.taskDescription}}
Create New To-Do
List Color
White
Blue
Green
Gray
Red
Create New Task
Edit To-Do
List Color
White
Blue
Green
Gray
Red
Update Tasks


What are the basic functions of the operating system? [4]
Hide backstage operation and algorithm and instead present simplified user interface.
Management of resources
Software and hardware manipulation
data management and calculation
conversion and transfer between software and hardware
When we run out of memory, what will the operating system do? What is this mechanism called? How does it work? [3]
The computer system will transfer the pages of data from RAM to disk storage.
Virtual memory. It stores the page data in disk when memory is running out, then when the memory is freed up, the operating system will retrieve the data that was moved to disk storage
When clicking the mouse, what happens to your computer system? [3]
The operating system will carry out an interrupt, notifying OS with a parameter indicating the lag of the button, in this case the mouse click, along with coordinates of the mouse.
Discussions


My aim is to show that the heavenly machine is not a kind of divine, live being, but a kind of clockwork (and he who believes that a clock has soul attributes the maker's glory to the work), insofar as nearly all the manifold motions are caused by a most simple and material force, just as all motions of the clock are caused by a single weight.Johannes Kepler (letter to Herwart von Hohenburg, 1605)
We began this book by studying processes and by describing processes in terms of functions written in JavaScript. To explain the meanings of these functions, we used a succession of models of evaluation: the substitution model of chapter 1, the environment model of chapter 3, and the metacircular evaluator of chapter 4. Our examination of the metacircular evaluator, in particular, dispelled much of the mystery of how JavaScript-like languages are interpreted. But even the metacircular evaluator leaves important questions unanswered, because it fails to elucidate the mechanisms of control in a JavaScript system. For instance, the evaluator does not explain how the evaluation of a subexpression manages to return a value to the expression that uses this value, nor does the evaluator explain how some recursive functions generate iterative processes (that is, are evaluated using constant space) whereas other recursive functions generate recursive processes. These questions remain unanswered because the metacircular evaluator is itself a JavaScript program and hence inherits the control structure of the underlying JavaScript system. In order to provide a more complete description of the control structure of the JavaScript evaluator, we must work at a more primitive level than JavaScript itself.
In this chapter we will describe processes in terms of the step-by-step
operation of a traditional computer. Such a computer, or
register machine, sequentially executes
instructions that
manipulate the contents of a fixed set of storage elements called
registers. A typical register-machine instruction applies a
primitive operation to the contents of some registers and assigns the
result to another register. Our descriptions of processes executed by
register machines will look very much like machine-language
programs for traditional computers. However, instead of focusing on
the machine language of any particular computer, we will examine
several JavaScript
functions
and design a specific register machine to
execute each
function. Thus, we will approach our task from the
perspective of a hardware architect rather than that of a
machine-language computer programmer. In designing register machines,
we will develop mechanisms for implementing important programming
constructs such as recursion. We will also present a language for
describing designs for register machines. In
section \ref{sec:simulator} we will
implement a JavaScript program that
uses these descriptions to simulate the machines we design.
Most of the primitive operations of our register machines are very simple. For example, an operation might add the numbers fetched from two registers, producing a result to be stored into a third register. Such an operation can be performed by easily described hardware. In order to deal with list structure, however, we will also use the memory operations head, tail, and pair, which require an elaborate storage-allocation mechanism. In section \ref{sec:storage-allocation} we study their implementation in terms of more elementary operations.
In section \ref{sec:eceval}, after we have accumulated experience formulating simple functions as register machines, we will design a machine that carries out the algorithm described by the metacircular evaluator of section \ref{sec:mc-eval}. This will fill in the gap in our understanding of how JavaScript programs are interpreted, by providing an explicit model for the mechanisms of control in the evaluator. In section \ref{sec:compilation} we will study a simple compiler that translates JavaScript programs into sequences of instructions that can be executed directly with the registers and operations of the evaluator register machine.


TARZAN (1999)
Rating: 3.0 stars (out of 4.0) ******************************** Key to rating system: 2.0 stars - Debatable 2.5 stars - Some people may like it 3.0 stars - I liked it 3.5 stars - I am biased in favor of the movie 4.0 stars - I felt the movie's impact personally or it stood out ********************************* A Movie Review by David Sunga
Directed by: Kevin Lima and Chris Buck
Written by: Tab Murphy, Bob Tzudiker and Noni White. Based on the Edgar Rice Burroughs classic.
Starring: the voices of Tony Goldwyn, Minnie Driver, Rosie O'Donnel, Glenn Close, Lance Henriksen, and Wayne Knight
Synopsis: Orphaned as an infant when his parents died in the African jungle, Tarzan (voice of Tony Goldwyn) is adopted by the she-ape Kala (voice of Glenn Close) and raised among apes as her surrogate son. Tarzan becomes adept at jungle skills, but because of his obvious differences he is not quite accepted as an ape by his adopted father Kerchak (voice of Lance Henrikson) and others. When Tarzan stumbles across friendly zoologists Jane Porter (voice of Minnie Driver) and her father as well as evil poachers he must decide between his ape responsibilities and the lure of becoming human. Rosie O'Donnel offers comic relief as Tarzan's buddy Terk, a gorilla with a New York accent.
Opinion: This animated gem puts an interesting spin the tale of Edgar Rice Burroughs' Tarzan of the Apes, this time painting a story about earning acceptance.
Adults will enjoy watch this version of Tarzan because he's not a wimpy, passive, politically correct hero. With knife in hand, young Tarzan goes one on one with a killer leopard and roars the Tarzan victory cry.
On the other hand, children will LOVE this flick because it tells the tale from a kid's point of view. Here's this young kid Tarzan growing up slightly hyperactive, trying to come to grips with himself while surrounded by big adult figures approving and disapproving, encouraging and discouraging. He surfs down winding branches and careens through the trees like a monkey to the tune of rhythmic pop music. He faces down danger or runs away from it. He has exciting adventures and sticks to his values. He finds his way.
Take the whole family. This one's worth it.
Reviewed by David Sunga June 20, 1999
Copyright © 1999 by David Sunga This review and others like it can be found at THE CRITIC ZOO: http://www.criticzoo.com email<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


First picture of young man found dead at home as woman held on murder probe
Ronald Portz, 30, was discovered dead at an address in north Hull in the early hours of Saturday morning - with neighbours saying a screaming young child was knocking on windows to alert them
by Bradley Jolly, https://www.mirror.co.uk/authors/bradley-jolly/This is the first picture of a young man found dead after reports of a screaming young child knocking windows to alert neighbours.
Officers believe Ronald Portz, 30, was murdered at his home in north Hull.
They've been granted a 36-hour extension to question a woman currently in custody on suspicion of murder.
Mr Portz’s family have been informed and are receiving support from specially trained officers.
Neighbours said yesterday they heard "kiddies screaming" and saw police cordon an area as they investigated the death.
But Humberside Police have described it as an "isolated incident" and have stressed there is no wider risk to the public.
Senior investigating officer, Detective Chief Inspector Christine Calvert, said: “Enquiries are still continuing and I would like to thank those who have come forward and who have provided information. Your assistance could prove vital to the investigation.
“I would encourage anyone with any information to please contact our non-emergency line on 101 quoting log number 21 of 9 November 2019, or you can also call the independent charity Crimestoppers on 0800 555111 completely anonymously.
“The investigation must progress unhindered, and I would also please also ask that people are mindful of posting any speculation on the case on social media, as it could potentially harm the enquiry.”
Speaking yesterday, Daniella Siantota, who lives nearby, described the distressing scene.
“I woke up and could hear a boy screaming. He was going around to the neighbours and knocking on windows," she said.
"Then I saw blue lights and I went to the window and could see the ambulance and police were there and had opened the door.
"I saw a paramedic get the other one to go in and look. I know the ambulance got here in four minutes.
"I saw the police taking a woman - arresting her from the house. That’s it. I went back to bed and woke up and saw all of the police are still here and saw online about the murder."
The investigation continues.


Module: ActiveRecord::Calculations
| Included in: | Relation |
| Defined in: |
Instance Method Summary collapse
-
#average(column_name, options = {})
Calculates the average value on a given column.
-
#calculate(operation, column_name, options = {})
This calculates aggregate values in the given column.
-
#count(column_name = nil, options = {})
Count the records.
-
#ids
Pluck all the ID's for the relation using the table's primary key
-
#maximum(column_name, options = {})
Calculates the maximum value on a given column.
-
#minimum(column_name, options = {})
Calculates the minimum value on a given column.
-
#pluck(*column_names)
Use
pluck
as a shortcut to select one or more attributes without loading a bunch of records just to grab the attributes you want. -
#sum(*args)
Calculates the sum of values on a given column.
Instance Method Details
#average(column_name, options = {})
Calculates the average value on a given column. Returns nil
if
there's no row. See calculate
for examples with options.
Person.average(:age) # => 35.8
55 56 57 58 59
# File 'activerecord/lib/active_record/relation/calculations.rb', line 55 def average(column_name, = {}) # TODO: Remove options argument as soon we remove support to # activerecord-deprecated_finders. calculate(:average, column_name, ) end
#calculate(operation, column_name, options = {})
This calculates aggregate values in the given column. Methods for count, sum, average, minimum, and maximum have been added as shortcuts.
There are two basic forms of output:
* Single aggregate value: The single value is type cast to Fixnum for COUNT, Float
for AVG, and the given column's type for everything else.
* Grouped values: This returns an ordered hash of the values and groups them. It
takes either a column name, or the name of a belongs_to association.
values = Person.group('last_name').maximum(:age)
puts values["Drake"]
# => 43
drake = Family.find_by(last_name: 'Drake')
values = Person.group(:family).maximum(:age) # Person belongs_to :family
puts values[drake]
# => 43
values.each do |family, max_age|
#...
end
Person.calculate(:count, :all) # The same as Person.count
Person.average(:age) # SELECT AVG(age) FROM people...
# Selects the minimum age for any family without any minors
Person.group(:last_name).having("min(age) > 17").minimum(:age)
Person.sum("2 * age")
123 124 125 126 127 128 129 130 131 132 133 134 135
# File 'activerecord/lib/active_record/relation/calculations.rb', line 123 def calculate(operation, column_name, = {}) # TODO: Remove options argument as soon we remove support to # activerecord-deprecated_finders. if column_name.is_a?(Symbol) && attribute_alias?(column_name) column_name = attribute_alias(column_name) end if has_include?(column_name) construct_relation_for_association_calculations.calculate(operation, column_name, ) else perform_calculation(operation, column_name, ) end end
#count(column_name = nil, options = {})
Count the records.
Person.count
# => the total count of all people
Person.count(:age)
# => returns the total count of all people whose age is present in database
Person.count(:all)
# => performs a COUNT(*) (:all is an alias for '*')
Person.distinct.count(:age)
# => counts the number of different age values
If count
is used with group
, it returns a Hash
whose keys represent the aggregated column, and the values are the
respective amounts:
Person.group(:city).count
# => { 'Rome' => 5, 'Paris' => 3 }
If count
is used with group
for multiple columns,
it returns a Hash whose keys are an array containing the individual values
of each column and the value of each key would be the count
.
Article.group(:status, :category).count
# => {["draft", "business"]=>10, ["draft", "technology"]=>4,
["published", "business"]=>0, ["published", "technology"]=>2}
If count
is used with select
, it will count the
selected columns:
Person.select(:age).count
# => counts the number of different age values
Note: not all valid select
expressions are valid
count
expressions. The specifics differ between databases. In
invalid cases, an error from the database is thrown.
38 39 40 41 42 43 44 45 46 47 48 49
# File 'activerecord/lib/active_record/relation/calculations.rb', line 38 def count(column_name = nil, = {}) if .present? && !ActiveRecord.const_defined?(:DeprecatedFinders) raise ArgumentError, "Relation#count does not support finder options anymore. " \ "Please build a scope and then call count on it or use the " \ "activerecord-deprecated_finders gem to enable this functionality." end # TODO: Remove options argument as soon we remove support to # activerecord-deprecated_finders. calculate(:count, column_name, ) end
#ids
Pluck all the ID's for the relation using the table's primary key
Person.ids # SELECT people.id FROM people
Person.joins(:companies).ids # SELECT people.id FROM people INNER JOIN companies ON companies.person_id = people.id
195 196 197
# File 'activerecord/lib/active_record/relation/calculations.rb', line 195 def ids pluck primary_key end
#maximum(column_name, options = {})
Calculates the maximum value on a given column. The value is returned with
the same data type of the column, or nil
if there's no
row. See calculate
for examples with options.
Person.maximum(:age) # => 93
77 78 79 80 81
# File 'activerecord/lib/active_record/relation/calculations.rb', line 77 def maximum(column_name, = {}) # TODO: Remove options argument as soon we remove support to # activerecord-deprecated_finders. calculate(:maximum, column_name, ) end
#minimum(column_name, options = {})
Calculates the minimum value on a given column. The value is returned with
the same data type of the column, or nil
if there's no
row. See calculate
for examples with options.
Person.minimum(:age) # => 7
66 67 68 69 70
# File 'activerecord/lib/active_record/relation/calculations.rb', line 66 def minimum(column_name, = {}) # TODO: Remove options argument as soon we remove support to # activerecord-deprecated_finders. calculate(:minimum, column_name, ) end
#pluck(*column_names)
Use pluck
as a shortcut to select one or more attributes
without loading a bunch of records just to grab the attributes you want.
Person.pluck(:name)
instead of
Person.all.map(&:name)
Pluck returns an Array
of attribute values type-casted to
match the plucked column names, if they can be deduced. Plucking an SQL
fragment returns String values by default.
Person.pluck(:id)
# SELECT people.id FROM people
# => [1, 2, 3]
Person.pluck(:id, :name)
# SELECT people.id, people.name FROM people
# => [[1, 'David'], [2, 'Jeremy'], [3, 'Jose']]
Person.pluck('DISTINCT role')
# SELECT DISTINCT role FROM people
# => ['admin', 'member', 'guest']
Person.where(age: 21).limit(5).pluck(:id)
# SELECT people.id FROM people WHERE people.age = 21 LIMIT 5
# => [2, 3]
Person.pluck('DATEDIFF(updated_at, created_at)')
# SELECT DATEDIFF(updated_at, created_at) FROM people
# => ['0', '27761', '173']
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
# File 'activerecord/lib/active_record/relation/calculations.rb', line 170 def pluck(*column_names) column_names.map! do |column_name| if column_name.is_a?(Symbol) && attribute_alias?(column_name) attribute_alias(column_name) else column_name.to_s end end if has_include?(column_names.first) construct_relation_for_association_calculations.pluck(*column_names) else relation = spawn relation.select_values = column_names.map { |cn| columns_hash.key?(cn) ? arel_table[cn] : cn } result = klass.connection.select_all(relation.arel, nil, relation.arel.bind_values + bind_values) result.cast_values(klass.column_types) end end
#sum(*args)
Calculates the sum of values on a given column. The value is returned with
the same data type of the column, 0 if there's no row. See
calculate
for examples with options.
Person.sum(:age) # => 4562
88 89 90
# File 'activerecord/lib/active_record/relation/calculations.rb', line 88 def sum(*args) calculate(:sum, *args) end


Hello my friends !
How are you today ?
Here is a simple example of my LiveType plugin.
If you want to give the impression that someone is typing live on your visitor screen, this is the plugin you are looking for.
Besides, it is very customizable. You can edit things like the typing speed, which type of cursor you want, its blinking speed, on which characters should the auto-typing make a pause, etc… Also, you can use it on any general content html element (div, p).
Finally, although it is best used with pure text, you're not limited to text content. You can actually have HTML markup inside your container, and have it loaded "as-it-is-typed". Like this :
Enjoy !
Sincerely yours,
Tobal San


Liverpool may send Kelleher out on loan with Championship club reportedly interested
The Ireland U21 goalkeeper has gained first-team experience in the Carabao Cup this season.
by Ben BlakeLIVERPOOL ARE REPORTEDLY willing to allow Caoimhin Kelleher to leave on loan when the January transfer window opens.
The Ireland U21 goalkeeper has played two Carabao Cup games for the Reds’ first team this season, while also featuring on the bench six times in the Premier League.
He proved the hero against Arsenal last month by saving Dani Ceballos’ penalty before Curtis Jones scored to win the shootout after the game had finished 5-5.
And while the Cork native is set to get another opportunity when they take on Aston Villa in the quarter-finals of the League Cup on 17 December — a day before their Fifa Club World Cup semi-final in Qatar — he is behind Alisson Becker and Adrian in the pecking order.
According to the Liverpool Echo, Jurgen Klopp could be open to farming Kelleher out on loan so he can gain experience, with Championship club Preston North End reportedly interested in the 21-year-old’s services.
The piece adds that teenage striker Rhian Brewster is in a similar situation and that moves for the pair will depend on whether clubs can guarantee them first-team football.


--- title: "Conserving Water with Utah Natives" date: "2020-08-17 00:00:00 -06:00" categories: - whats-blooming layout: "post" blog-banner: "whats-blooming-now-summer.jpg" post-date: "August 17, 2020" post-time: "12:00 PM" blog-image: "2020-08-17-wbn.jpg" published: true ---
We're still in the throes of summer and it sure is hot. Speaking of hot, many plants are thirsty right now... However, the plants below are all Utah natives so they are thriving with little water.
You may be familiar with this vibrant native, as it grows all along the foothills.
If you are looking for a beautiful bush that needs little maintenance and water, this one takes the cake!
This is one of my favorites. Beautiful, white, tissue-like flowers give way to these mean-looking seed pods.
Who knew landscaping with Utah natives could be so dazzling!
Alright, time for one last Utah native. This dainty little Fleabane produces heads with delicate pale purple ray flowers.
These are all plants surrounding our Horticultural Operations Center. We hope this gives you some ideas of how to garden with less water using Utah native plants.


--- layout: guide ---
| Cockpit Guide |
|---|
cockpit.js: Page Location and Jumpingcockpit.js: Page Location and Jumping — Page location and navigation between components |
location = cockpit.location cockpit.location = "/path"
Cockpit components often have different views, without changing the HTML file that is
being viewed. These are known as pages. cockpit.location
is an object that can
be used to read the current page and to navigate to a different page location. It works by
updating window.location.hash
.
The cockpit.location
looks like a HTTP path with a possible query
string:
/path/sub/page?option=value,option2
The location.path
and
location.options
contain a parsed
form of the location. While the location cannot be modified in place, a new one can be
created by assigning a string to cockpit.location
or by calling the
location.go()
function.
cockpit.location
is designed similarly to window.location
in that the location object is preplaced whenever the current page location changes. To be
aware of when the page location changes listen for the
cockpit.onlocationchanged
event.
Using the location object as a string will result in the
location.href
.
An array of path segments, parsed and decoded appropriately. An empty array denotes the root path.
A javascript object containing the various options present in the location.
If an option appears more than once, its value will be an array.
location.go(path, [options])
Changes the current location to the given path
and options
.
If the path
argument is a string, it will be parsed into a path. If it is
a relative path, then the result will be relative to the current location.path
.
If the path
argument is an array of path segments, it will be treated as a
full parsed absolute path.
Any options found in a path
will be added to those in the optional
options
argument, and used in the result.
The location change will only take effect if the location has not changed in the
meantime. This can be to good effect by saving a cockpit.location
object
and doing a conditional navigation, by calling the saved location.go()
method later. This will only navigate if the user or other code has not navigated in
the meantime.
location.replace(path, [options])
Similar to location.go()
except the location change will not result in a navigation change in the browser's
history.
path = location.decode(href, [options])
Decode a cockpit href into its path
array. If the options
argument is specified, then it will be populated with options found in the href.
If href is a relative path it will be resolved relative to
location.href
.
href = location.encode(path, [options])
Encode the given path
and options
into a cockpit href.
The path
argument may be an array of path segments, or a string path. If
a relative path is passed, it will be resolved relative to location.href
.
cockpit.addEventListener("locationchanged", function() { ... })
An event emitted when over the cockpit.location
changes. Typically a
component reacts to this event by updating its interface to reflect the new
cockpit.location.path
and
cockpit.location.options
.
This event is not triggered immediately during a location.go()
or
similar call. It will be triggered asynchronously at a later time.
cockpit.jump("/system/log")
In Cockpit in there multiple components shown. In order to tell Cockpit to jump to and show
another component and a certain location within that component, use the
cockpit.jump()
function. Stable component paths are documented. Don't assume
you can navigate into paths that are not stable API.
cockpit.jump(path, [ host ])
Ask Cockpit to jump to another component. The location of the current component will
not be affected. The path
argument can be a string path, starting with /
or an array containing the parts of a path that will be joined to create a path. If host
is not specified, then the component on the same host as the caller will be displayed. If
host is null, then the host portion of the path will be removed, displaying the component on
the host that cockpit is connected directly to.
If the calling component is not running within Cockpit, or the calling component is not currently displayed, then the jump will not happen, and this function has no effect.
A boolean property that indicates if the current component page is visible or hidden.
When the code or user jumps to another component, the prior one remains loaded and initialized
but is hidden. Use this property together with the
cockpit.onvisibilitychange
event to decide whether or not to perform expensive tasks to update the interface.
This property is analogous to the document.hidden
page visibility API, but
works with the document and frame implementation of Cockpit.
cockpit.onvisibilitychange = function() { ... }
This event is emitted when the
cockpit.hidden
property changes.
This event is similar to the document.onvisibilitychange
API, but works with
the document and frame implementation of Cockpit.


This is your fallback content in case JavaScript fails to load.
<%= htmlWebpackPlugin.options.serviceWorkerLoader %>


Allows various kinds of credentials (secrets) to be used in idiosyncratic ways. Each binding will define an environment variable active within the scope of the step. You can then use them directly from any other steps that expect environment variables to be set:
node {
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'mylogin',
usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
sh '''
set +x
curl -u $USERNAME:$PASSWORD https://private.server/ > output
'''
}
}
or retrieve values from Groovy code via the env
magic variable:
def password = env.PASSWORD
Note that some steps explicitly ask for credentials of a particular kind,
usually as a credentialsId
parameter,
in which case this step is unnecessary.
For bindings which store a secret file, beware that
node {
dir('subdir') {
withCredentials([[$class: 'FileBinding', credentialsId: 'secret', variable: 'FILE']]) {
sh 'use $FILE'
}
}
}
is not safe, as $FILE
might be inside the workspace (in subdir@tmp/secretFiles/
),
and thus visible to anyone able to browse the job’s workspace.
If you need to run steps in a different directory than the usual workspace, you should instead use
node {
withCredentials([[$class: 'FileBinding', credentialsId: 'secret', variable: 'FILE']]) {
dir('subdir') {
sh 'use $FILE'
}
}
}
to ensure that the secrets are outside the workspace; or choose a different workspace entirely:
node {
ws {
withCredentials([[$class: 'FileBinding', credentialsId: 'secret', variable: 'FILE']]) {
sh 'use $FILE'
}
}
}
You can also access secret text credentials:
node {
withCredentials([[$class: 'StringBinding', credentialsId: 'mytoken', variable: 'TOKEN' ]]) {
sh 'use $TOKEN'
}
}


Tense TV: CNN’s Blitzer asks Kellyanne Conway about husband
by DAVID BAUDERNEW YORK (AP) - Kellyanne Conway told CNN’s Wolf Blitzer that he embarrassed himself following a tense exchange Thursday where he asked the White House counselor to respond to her husband’s criticism of President Donald Trump on television.
Lawyer George Conway has frequently attacked his wife’s boss on social media. MSNBC brought him into the studio Wednesday to serve as an analyst during its coverage of the House impeachment hearings.
Blitzer, toward the end of an in-studio interview with Kellyanne Conway on Thursday morning, said he had a sensitive but substantive question for her.
TOP STORIES
'Regime of secrecy': Adam Schiff takes heat over whistleblower contacts
Company co-founded by Nancy Pelosi's son charged with securities fraud
Reckoning coming for Adam Schiff for impeachment inquiry
“I don’t want to talk about your marriage,” he said. “I know there are issues there.”
Conway seemed taken aback.
“What did you say?” she asked. “You don’t want to talk about my marriage but there are issues there? Why would you say that?”
Conway noted that there was no shortage of Trump critics who appear on CNN and MSNBC and wondered why Blitzer brought up her husband.
“Because he’s a legal scholar, he’s a lawyer and he was really going after the president of the United States,” Blitzer said. “He was all over television yesterday.”
Responded Conway: “And the relevance is, come on, wait for it, drumroll, he’s married to me.”
CNN rolled a tape of George Conway criticizing Trump for using foreign policy to advance his own interests. It aired on a split screen, as another camera followed his wife’s reaction.
Kellyanne Conway said it was “his opinion.’’
“What you just quoted is said every single day by other voices,” Conway said. “But you wanted to put it in my husband’s voice because you think somehow that will help your ratings or that you’re really sticking it to Kellyanne Conway. And let me make it very clear, you didn’t stick it to Kellyanne Conway. I think you embarrassed yourself and I’m embarrassed for you.”
MSNBC didn’t bring up Kellyanne when her husband was on the air Wednesday, although anchor Brian Williams gave a knowing reference to “yes, that George Conway,” when introducing him.
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


WSP Global misses expectations as Q3 profit increases to $93.7 million
by The Canadian Press, StaffMONTREAL -- WSP Global Inc. missed expectations even though its net earnings increased 6.6 per cent to $93.7 million in the third quarter on higher revenues.
The Montreal-based engineering consultancy earned 89 cents per diluted share, up from 84 cents per share or $87.9 million a year earlier.
Adjusted net earnings were $99.8 million or 95 cents per share, up from $99.3 million or 95 cents per share in the prior year.
Net revenues for the period ended Sept. 28 climbed 15.3 per cent to $1.69 billion, up from $1.47 billion in the third quarter of 2018.
WSP was expected to earn $1.10 per share in adjusted profits on $1.7 billion of revenues, according to financial markets data firm Refinitiv.
Chief executive Alexandre L'Heureux said the company expects its net revenues and adjusted EBITDA to reach the high end of its guidance for the full year.
The company also announced that Alain Michaud has been appointed chief financial officer, replacing Bruno Roy who is leaving next March after three years on the job.
Derek Spronck of RBC Dominion Securities Inc. described the results as strong and underpinned by "healthy organic trends" of 4.4 per cent that will generate free cash flow to fund new acquisitions.
"We note WSP's strategic playbook is well defined and proven, and as such, we see today's results as confirmation that positive underlying operational and financial momentum continues to accelerate."
This report by The Canadian Press was first published Nov. 5, 2019.


A social site for making doggy play dates!
A stripped-down recipe search application.
Get a 5-day forecast for a city of your choice.
Quiz yourself, quiz your friends! Designed to be configurable


Hello there , I am Hisham Alnaji , I am a Civil /Building Technology Engineer. Mostly interested in the sustainability sectors such as the green buildings, the green concrete, and the green construction practices in general like sustainable construction, waste management and recycling sectors.
- I have 2 years of experience in scientific research as a research assistant in Yarmouk university
- i worked as Autocad drafter and a CNC plasma cutting machine operator at Allobani Industrial for Shaping Steel since 2015
- i am a softwaredeveloment student at ASAC.
Top 10 Food that i love :
- double beaf cheese burger
- fried chicken
- indomie
- mansaf
- msakhan
- lasagna
- Grilled chicken
- makmourah
- falafel
- shawerma


Welcome to
chat
, powered by
{
Re
app
t
}
Connect
Disconnect
Create new account
Connection Status:
Disconnected
Chat with:
Open new chat
Chat Groups
Add as friend:
Add as friend
Friends


Welcome to the JavaDoc for the ControlsFX project! We've really poured our hearts into this documentation to make it a great one-stop shop for learning how to use ControlsFX - refer to the links at the end of this page for other useful sites related to ControlsFX.


Established in 1891, The New York Botanical Garden (NYBG) is distinguished by the beauty of its landscape, collections, and gardens, and the scope and excellence of its programs in horticulture, education, and science. NYBG was inspired by an 1888 visit that eminent botanists Nathaniel Lord Britton and his wife, Elizabeth, took to the Royal Botanic Gardens, Kew, near London. The Brittons believed New York should have a great botanical garden to advance public understanding of plants, be a repository of rare and valuable specimens, and lead original research in botanical science. Because of its picturesque terrain, freshwater Bronx River, rock-cut gorge, and 50 acres of old-growth forest, the Garden was sited on the northern half of Bronx Park.
Today, the 250-acre Garden—the largest in any city in the United States—is a National Historic Landmark. In addition to the natural attributes that attracted the Brittons, NYBG encompasses 50 specialty gardens and collections comprising more than one million plants, the Nolen Greenhouses for Living Collections, and the Enid A. Haupt Conservatory, the nation’s preeminent Victorian-style glasshouse. Highlights include the award-winning Peggy Rockefeller Rose Garden, considered among the world’s most sustainable rose gardens; the Native Plant Garden, celebrating the diversity of northeastern North American plants; and 30,000 distinguished trees, many more than 200 years old. More than one million visitors annually enjoy the grounds, view innovative exhibitions, and participate in educational programs that are larger and more diverse than those of any other garden in the world.


ibmcloud login
Log in to the IBM Cloud.
More information: home page
- Log in by using an interactive prompt:
ibmcloud login
- Log in to a specific API endpoint (default is `cloud.ibm.com`):
ibmcloud login -a api_endpoint
- Log in by providing username, password and the targeted region as parameters:
ibmcloud login -u username -p password -r us-south
- Log in with an API key, passing it as an argument:
ibmcloud login --apikey api_key_string
- Log in with an API key, passing it as a file:
ibmcloud login --apikey @path/to/api_key_file
- Log in with a federated ID (single sign-on):
ibmcloud login --sso


94-96 Walcot Street Bath BA1 5BG
The property is Grade II Listed and benefits from an attractive wide frontage onto Walcot Street. The ground floor has a dual entrance from the street and offers generous sales space with ancillary accommodation at the rear. The basement, first and second floors provide additional storage space.
01225 333000
94-96 Walcot Street Bath BA1 5BG
The property is Grade II Listed and benefits from an attractive wide frontage onto Walcot Street. The ground floor has a dual entrance from the street and offers generous sales space with ancillary accommodation at the rear. The basement, first and second floors provide additional storage space.
01225 333000
94-96 Walcot Street Bath BA1 5BG
The property is Grade II Listed and benefits from an attractive wide frontage onto Walcot Street. The ground floor has a dual entrance from the street and offers generous sales space with ancillary accommodation at the rear. The basement, first and second floors provide additional storage space.
01225 333000


Interacting with Owl¶
There are several ways to interact with Owl system. The most classic one is to write an OCaml application, compile the code, then run it natively on a computer. You can also skip the compilation step, and use Zoo system to run the code as a script.
However, the easiest way for a beginner to try out Owl is REPL (Read–Eval–Print Loop), or an interactive toplevel. The toplevel offers a convenient way to play with small code snippets. The code run in the toplevel is compiled into bytecode rather than native code. Bytecode often runs much slower than native code. However, this has very little impact on Owl’s performance because all its performance-critical functions are implemented in C language.
In the following, I will introduce two options to set up an interactive environment for Owl.
Using Toplevel¶
OCaml language has bundled with a simple toplevel, but I recommend to use utop as a more advance replacement. Installing utop is straightforward in OPAM, simply run the following command in the system shell.
opam install utop
After installation, you can load Owl in utop with the following commands. owl-toplevel
is Owl’s toplevel library which will automatically load several dependent libraries (including owl-zoo
, owl-base
, and owl
core library) to set up a complete numerical environment.
#require "owl-top";;
open Owl;;
If you do not want to type these commands every time you start toplevel, you can add them to .ocamlinit
file. The toplevel reads .ocamlinit
file when it starts and uses it to initialise the environment. This file is often stored in the home directory on your computer.
Using Notebook¶
Jupyter Notebook is a popular way to mix presentation with interactive code execution. It originates in Python world but is widely supported by various languages. One attractive feature of notebook is that it uses client/server architecture and runs in a browser.
If you want to know how to use a notebook and its technical details, please read Jupyter Documentation. Here let me show you how to set up a notebook to run Owl step by step.
Run the following commands in the shell will install all the dependency for you. This includes Jupyter Notebook and its OCaml language extension.
pip install jupyter
opam install jupyter
jupyter kernelspec install --name ocaml-jupyter "$(opam config var share)/jupyter"
To start a Jupyter notebook, you can run this command. The command starts a local server running on http://<IP_ADDRESS>:8888/
, then opens a tab in your browser as the client.
jupyter notebook
If you want to run a notebook server remotely, please refer to “Running a notebook server”. If you want to set up a server for multiple users, please refer to JupyterHub system.
When everything is up and running, you can start a new notebook in the web interface. In the new notebook, you must run the following OCaml code in the first input field to load Owl environment.
#use "topfind";;
#require "owl-top, jupyter.notebook";;
At this point, a complete Owl environment is set up in the Jupyter Notebook, and you are free to go with any experiments you like.
For example, you can simply copy & paste the whole lazy_mnist.ml to train a convolutional neural network in the notebook. But here, let us just use the following code.
#use "topfind";;
#require "owl-top, jupyter.notebook";;
open Owl
open Neural.S
open Neural.S.Graph
open Neural.S.Algodiff
let make_network input_shape =
input input_shape
|> lambda (fun x -> Maths.(x / F 256.))
|> conv2d [|5;5;1;32|] [|1;1|] ~act_typ:Activation.Relu
|> max_pool2d [|2;2|] [|2;2|]
|> dropout 0.1
|> fully_connected 1024 ~act_typ:Activation.Relu
|> linear 10 ~act_typ:Activation.(Softmax 1)
|> get_network
;;
make_network [|28;28;1|];;
Jupyter notebook should nicely print out the structure of the neural network.
Second example demonstrates how to plot figures in notebook. Because Owl’s Plot module does not support in-memory plotting, the figure needs to be written into a file first then passed to Jupyter_notebook.display_file
to render.
#use "topfind";;
#require "owl-top, jupyter.notebook";;
open Owl;;
(* Plot a normal figure using Plot *)
let f x = Maths.sin x /. x in
let h = Plot.create "plot_003.png" in
Plot.set_foreground_color h 0 0 0;
Plot.set_background_color h 255 255 255;
Plot.set_title h "Function: f(x) = sine x / x";
Plot.set_xlabel h "x-axis";
Plot.set_ylabel h "y-axis";
Plot.set_font_size h 8.;
Plot.set_pen_size h 3.;
Plot.plot_fun ~h f 1. 15.;
Plot.output h;;
(* Load into memory and display in Jupyter *)
Jupyter_notebook.display_file ~base64:true "image/png" "plot_003.png"
Then we can see the plot is correctly rendered in the notebook running in your browser. Plotting capability greatly enriches the content of an interactive presentation.
Using owl-jupyter¶
There is a convenient library owl-jupyter specifically for running Owl in a notebook. The library is a thin wrapper of owl-top
. The biggest difference is that it overwrites Plot.output
function so the figure is automatically rendered in the notebook without calling Jupyter_notebook.display_file
.
This means that all the plotting code can be directly used in the notebook without any modifications. Please check the following example and compare it with the previous plotting example, we can see display_file
call is saved.
#use "topfind";;
#require "owl-jupyter";;
open Owl_jupyter;;
let f x = Maths.sin x /. x in
let g x = Maths.cos x /. x in
let h = Plot.create "" in
Plot.set_foreground_color h 0 0 0;
Plot.set_background_color h 255 255 255;
Plot.set_pen_size h 3.;
Plot.plot_fun ~h f 1. 15.;
Plot.plot_fun ~h g 1. 15.;
Plot.output h;;
One thing worth noting is that, if you pass in empty string in Plot.create
function, the figure is only rendered in the browser. If you pass in non-empty string, then the figure is both rendered in the browser and saved into the file you specified. This is to guarantee output
function has the consistent behaviour when used in or out of a notebook.


I want to thanks the testers (who have been many now), especially to my first testers Hadron Quark and Eric Lilja, for helping me by testing and pointing out bugs and weaknesses, most of them related to editing of PHP.
Without testers all kind of problems I just can't imagine myself would still be there in nXhtml. For example Hadron told me once that he got the error (wrong-type-argument stringp nil). Eh, I replied, are you sure. Yes he was. I tried the same file as him. No error.
The error happened during fontification so the error message above was all we had. A real black box for me. Or perhaps black magic? After much confusion and some hard work we finally found out what it was and I implemented a better way to catch such errors. If Hadron would have given up the problem would still have been there. Some problems are just impossible to solve without good cooperation. So, again, thanks Hadron.
BTW, I will perhaps add some even better way to Emacs to catch these errors so other can benefit from our insights too, but that requires some time and effort which I can't afford right now.
I wrote earlier that I thought that there were two parts in nXhtml, nxhtml-mode and mumamo with a bit different degree of maturity. I believe that is not that valid any more. To my delight the second part, mumamo is now also quite stable (from version 1.27).
Because of a bug in Emacs 22.1 you can sometimes (at the end of a line) get long red lines instead of just a single underlined character. Many users (me included) find this quite a bit disturbing. I have therefore added a command to quickly hide/show the underlines. This is on C-c C-w (nxhtml-toggle-visible-warnings, key binding changed to C-c _ in later versions of nXhtml).
This is particular useful for example in the case where you edit a PHP file and are bound to get a lot of XHTML validation errors.
If you want to have attribute values computed by PHP here is a way how to structure that to avoid breaking completion and validation in the XHTML part unnessecary:
<img src="images/linux.png" title="<?php foo("bar");?>"/>
Unfortunately that still breaks XHTML validation since < is not allowed in strings. In the long run I believe the XML validator has to be broken up so that it avoids parsing the string here (in PHP files).
For now I have implemented a workaround. If you are using constructs like those above then turn on mumamo-alt-php-tags-mode. This will temporarily replace the above with

However on the screen you will still see the original string and when writing to file the correct characters will be used.
The rules for a process instruction in XML, like <?php ... ?> says that the text can contain any text except ?>. So if you want to output that string from PHP then break it up so it does not look as ?> in the source file.
It might be good to break up the beginning part of the process instructions too. And please note that to use XHTML validation or completion you should avoid using < in strings, since it is not allowed there.
Do you have tab-width to something different than 8 (the default)? Then please change this to 8. I have got reports of problem with indentation when it is not 8.
Some people have asked why the way to specify chunks in mumamo-mode is not compatible with the old mmm-mode. The answer is that I was not sure that the way used in mmm-mode for specifying the chunks was flexible enough.
And I am sure that even the way used in mumamo-mode is not good enough for all cases, but I let it be the way it is until I have a better understanding of the problem. Suggestions and comments are welcome!
You are not supposed to call mumamo-mode yourself any more and mumamo-global-mode is gone. So is also mumamo-chunk-family-by-mode and mumamo-filenames-list. The functionality those gave are all replaced by the new functions for turning on mumamo mode.
This will of course case some problems if you do not notice it when you upgrade nXhtml. If you are using EmacsW32 and upgrade nXhtml you should change the file emacsw32.el.
The reason for this change is that nXml will soon normally not be part of nXhtml so keeping the old top directory name would be confusing.
Unfortunately the chunk dividing routines in mumamo.el can loop, see bug 290364 above. The reason is that I tried to find chunks at current point in a buffer without looking through the buffer from the beginning. Fontification works this way in Emacs. It is a heuristic that sometimes fails however, but the consequences are merely just local errors in fontification.
Chunk dividing must be more stable since it has a global impact on the files fontification. It therefore have to be done from the beginning of the buffer - just like a parser reading the file will do.
I have done first part of this rewrite and I hope chunk dividing can not loop any more. Chunk dividing is now always done from the beginning. However the routines actually finding the chunks still looks both upwards and downwards. I will try to remove this unnecessary complexity later.
To do that use M-x nxhtmlmaint-start-byte-compilation.
A lot of code changes to make byte compilation possible without a lot of warnings. Most changes where just moving code around, but some where bug fixes.
Adding nXml to Emacs 22 startup should be done by using the file nxhtml/autostart22.el.
NOTE 1: if you want to use nxhtml-mode in multi major modes in Emacs 22 (not recommended) you must also customize majmodpri-no-nxml.
NOTE 2: The major mode nxhtml-mode as a major-mode works however very well also in Emacs 22.
Note: I thought that I should make Company Mode the default completion style. However there are still some problem so I kept the old default completion style.
Added simple functions for mirroring html files in Firefox as typing. This works - at least for small files. There is also support for automatic update of Firefox when saving CSS files.
This is a simple framework for communicating with MozRepl which enqueues requests, waiting for response prompt before sending next requests. Maybe this can be used to make some more efficient routines than those I have written here. Any takers?
For larger files (like this one) this version is rather slow since it always changes the whole DOM.


|
SounDroid
2.0
The Android part of the project for controlling desktop's sound volume from an Android application
|
The activity of connecting to a remote soundroid daemon by blue tooth. More...
Inherits Activity.
Public Member Functions | |
| void | onBackPressed () |
Static Public Attributes | |
| static final String | CONNECTED_DEV_NAME = "Device_Name_For_Connecting" |
| static final String | IS_REMOTE_DEV_FOUND = "Is_remote_dev_found" |
Protected Member Functions | |
| void | onCreate (Bundle savedInstanceState) |
Private Member Functions | |
| Runnable | getConnection (final String connectedDevName) |
| Connect to desktop with the given name. More... | |
| Intent | getIntentWithReachabilityOfDev (final String devName) |
| Get the intent containing the result of connection to a remote desktop. More... | |
Static Private Attributes | |
| static final String | TAG = "BTConnectingActivity" |
| The tag for writing to log. More... | |
The activity of connecting to a remote soundroid daemon by blue tooth.
Definition at line 49 of file BlueToothConnectingActivity.java.
|
inlineprivate |
Connect to desktop with the given name.
| connectedDevName | The name of the desktop |
Definition at line 89 of file BlueToothConnectingActivity.java.
References com.soundroid.ui.UI.connector, com.soundroid.ui.bluetooth.BlueToothConnectingActivity.getIntentWithReachabilityOfDev(), and com.soundroid.ui.bluetooth.BlueToothConnectingActivity.TAG.
Referenced by com.soundroid.ui.bluetooth.BlueToothConnectingActivity.onCreate().
|
inlineprivate |
Get the intent containing the result of connection to a remote desktop.
| devName | The name of the desktop(device) |
Definition at line 111 of file BlueToothConnectingActivity.java.
References com.soundroid.ui.bluetooth.BlueToothConnectingActivity.IS_REMOTE_DEV_FOUND, and com.soundroid.ui.bluetooth.BlueToothConnectingActivity.TAG.
Referenced by com.soundroid.ui.bluetooth.BlueToothConnectingActivity.getConnection().
|
inline |
Definition at line 79 of file BlueToothConnectingActivity.java.
|
inlineprotected |
|
static |
Definition at line 52 of file BlueToothConnectingActivity.java.
Referenced by com.soundroid.ui.bluetooth.BlueToothConnectingActivity.onCreate(), and com.soundroid.ui.bluetooth.BluetoothUI.openConnectingActivity().
|
static |
Definition at line 53 of file BlueToothConnectingActivity.java.
Referenced by com.soundroid.ui.bluetooth.BlueToothConnectingActivity.getIntentWithReachabilityOfDev(), and com.soundroid.ui.bluetooth.BluetoothUI.processActivityResult().
|
staticprivate |
The tag for writing to log.
Definition at line 50 of file BlueToothConnectingActivity.java.
Referenced by com.soundroid.ui.bluetooth.BlueToothConnectingActivity.getConnection(), com.soundroid.ui.bluetooth.BlueToothConnectingActivity.getIntentWithReachabilityOfDev(), and com.soundroid.ui.bluetooth.BlueToothConnectingActivity.onCreate().


Match Play. Red trails 2-3 to 7. How should Red play 31?
pips Red=139 White=153
(CorrectAnswer= 0/0, ErrorScore= 0)
This is a duplication and connectivity question that most readers got right. 18/17*/14 brilliantly duplicates twos and sixes. Any other play is a blunder. 18/17*/14 leaves ten return hits
18/17*, 18/15 duplicates the entering ones and threes and also leaves ten return shots but note that double three hits twice. 18/17*, 18/15 also disconnects the last Red blot on White’s ace-point which is not good tactically.
18/17*, 18/15 duplicates the entering ones and threes and also leaves ten return shots but note that double three hits twice. 18/17*, 18/15 also disconnects the last Red blot on White’s ace-point which is not good tactically.
1. Cubeful 2-ply 18/17*/14 Eq.: +0.784 0.625 0.335 0.030 - 0.375 0.092 0.003 2. Cubeful 2-ply 18/17* 18/15 Eq.: +0.690 (-0.094) 0.609 0.332 0.030 - 0.391 0.107 0.005 3. Cubeful 2-ply 18/17* 13/10 Eq.: +0.684 (-0.100) 0.603 0.345 0.033 - 0.397 0.114 0.008 4. Cubeful 0-ply 24/23 13/10 Eq.: +0.288 (-0.496) 0.566 0.217 0.013 - 0.434 0.152 0.006 5. Cubeful 0-ply 13/10 6/5 Eq.: +0.251 (-0.533) 0.557 0.212 0.012 - 0.443 0.151 0.006


OpenTelemetry support
OpenTelemetry is an open-source project focused on providing a set of APIs, libraries, agents, and instrumentation to enable observability in modern software applications. It helps developers and software teams collect, process, and export telemetry data, which includes metrics, traces, and logs, from their applications and infrastructure. The project aims to provide a standardized approach to instrumenting applications for distributed tracing, metrics, and logging.
Here’s a breakdown of the key components of OpenTelemetry:
- Tracing: Distributed tracing is a method used to monitor and understand the flow of requests across different services in a distributed system. OpenTelemetry allows developers to add instrumentation to their code to trace requests as they flow through various services, providing insights into performance bottlenecks and dependencies between components.
- Metrics: Metrics are quantitative measurements that provide information about the behavior and performance of an application. OpenTelemetry enables developers to collect metrics from their applications, such as CPU usage, memory consumption, and custom application-specific metrics, to gain visibility into the application’s health and performance.
- Logging: OpenTelemetry also supports capturing and exporting logs, which are textual records of events and messages that occur during the execution of an application. Logs are essential for debugging and monitoring purposes, and OpenTelemetry allows developers to integrate logging with other telemetry data, making it easier to correlate events.
OpenTelemetry is designed to be language-agnostic and vendor-agnostic, supporting multiple programming languages and various telemetry backends. This flexibility makes it easier for developers to adopt the OpenTelemetry standard regardless of their technology stack.
The goal of OpenTelemetry is to promote a consistent way of collecting telemetry data across different applications and environments, making it easier for developers to adopt observability best practices. By leveraging OpenTelemetry, software teams can gain deeper insights into the behavior of their systems and improve performance, troubleshoot issues, and enhance the overall reliability of their applications.
Now, OpenTelemetry is officialy supported in Otoroshi and can be used in different parts of your instance. You can use it to collect otoroshi server logs and otoroshi server metrics through config. file. Then you have access to 2 new data exporter that can export otoroshi events to OpenTelemetry log collector and send custom metrics to an OpenTelemetry metrics collector.
server logs
otoroshi server logs can be sent to an OpenTelemetry log collector. Everything is configured throught the config. file and can be overloaded through env. variables, and -D
jvm flags.
first you need to set the otoroshi.open-telemetry.server-logs.enabled
flag to true
and then configure the remote connection through endpoint, timeout, gzip and grpc. You can also enabled mTLS through client_cert
and trusted_cert
that are otoroshi certificates id references. Finally you can use max_duration
to specify the logs push interval.
otoroshi {
...
open-telemetry {
server-logs {
enabled = false
enabled = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_LOGS_ENABLED}
gzip = false
gzip = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_LOGS_GZIP}
grpc = false
grpc = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_LOGS_GRPC}
endpoint = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_LOGS_ENDPOINT}
timeout = 5000
timeout = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_LOGS_TIMEOUT}
client_cert = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_LOGS_CLIENT_CERT}
trusted_cert = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_LOGS_TRUSTED_CERT}
headers = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_LOGS_HEADERS}
max_duration = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_LOGS_MAX_DURATION}
}
...
}
...
}
server metrics
otoroshi server metrics can be sent to an OpenTelemetry metrics collector. Everything is configured throught the config. file and can be overloaded through env. variables, and -D
jvm flags.
first you need to set the otoroshi.open-telemetry.server-metrics.enabled
flag to true
and then configure the remote connection through endpoint, timeout, gzip and grpc. You can also enabled mTLS through client_cert
and trusted_cert
that are otoroshi certificates id references. Finally you can use max_duration
to specify the metrics push interval.
otoroshi {
...
open-telemetry {
server-metrics {
enabled = false
enabled = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_METRICS_ENABLED}
gzip = false
gzip = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_METRICS_GZIP}
grpc = false
grpc = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_METRICS_GRPC}
endpoint = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_METRICS_ENDPOINT}
timeout = 5000
timeout = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_METRICS_TIMEOUT}
client_cert = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_METRICS_CLIENT_CERT}
trusted_cert = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_METRICS_TRUSTED_CERT}
headers = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_METRICS_HEADERS}
max_duration = ${?OTOROSHI_OPEN_TELEMETRY_SERVER_METRICS_MAX_DURATION}
}
...
}
...
}
logs data expoter
A new kind of data exporter is now available to send otoroshi events serialized as text to an OpenTelemetry log collector. First create a new data exporter and select the type otlp-logs
. Then fill the filter and projection part as needed. In the exporter config. section, fill the collectors endpoint, timeout, gzip and grpc flags, enable mTLS through client_cert
and trusted_cert
.
metrics data exporter
A new kind of data exporter is now available to send custom metrics derived from otoroshi events to an OpenTelemetry metrics collector. First create a new data exporter and select the type otlp-metrics
. Then fill the filter and projection part as needed. In the exporter config. section, fill the collectors endpoint, timeout, gzip and grpc flags, enable mTLS through client_cert
and trusted_cert
.
Then you will be able to add new metrics on this data exporter with a name, the type of metric (counter, timer, histogram), the value and the kind of event it’s based on.


My ToDo List
Practising JavaScript, HTML, CSS
Task List
New Task
ADD TASK
Tasks
Filter Tasks
CLEAR TASKS


Snow forecast for Canberra just days out from start of summer
by Andrew BrownThe start of summer may be just days away, but snow has been forecast to return to parts of the ACT on Tuesday.
The Bureau of Meteorology has forecast falls of up to several centimetres in areas above 1500 metres near Mount Ginini on Tuesday evening.
The forecast comes as Canberra is set to receive a dust storm and potential smoke haze that could be as bad as conditions seen on the weekend.
Meteorologist Helen Kirkup said the conditions were driven by a cold front sweeping across large parts of NSW.
"It will be coming through Canberra late on Tuesday," Ms Kirkup said.
"There's a fair bit of cold air behind the front, and we're looking at the chance of a thunderstorm in large areas of NSW including the ACT."
The bureau says snow is also forecast for Thredbo and Perisher, along with surrounding areas in the Snowy Mountains.
Ms Kirkup said while the conditions bringing snow were rare for this time of year, it wasn't out of the ordinary.
"It doesn't happen often but you do sometimes see snow in November," she said.
"In terms of amounts, it won't be much, but we might see a few centimetres at most."
The strong winds driving the cold front could also bring a dust storm to Canberra.
Thick clouds of dust were seen over the capital on Friday, driven by swirling winds.
Ms Kirkup said it was still too early to tell how severe the dust storm could be on Tuesday, but conditions could be similar to last week.
"How much dust gets over the Great Dividing Range is always the question, but the ingredients for the dust storm are definitely there," she said.
"There are very strong winds ahead of the front and there's a good chance they'll be strong enough to pick up dust out in western NSW and even South Australia."
The dust storm is expected to hit during the afternoon and into the evening on Tuesday.
Smoke haze has also been forecast for the area for Tuesday as a result of several large bushfires still burning across NSW.
The bureau says there is an 80 per cent chance of rain, with up to 15 millimetres predicted.
Winds of up to 45km/h are expected in the morning before easing.
Tuesday is expected to reach a top of 28 degrees, with sunny days to return on Wednesday with a high of 27, before reaching into the 30s on Thursday.


Apple Arcade – full games list for iPhone, iPad, Apple TV and Mac
by Jim HargreavesIt’s been almost two months since the launch of Apple Arcade – a new service aimed at showcasing the best mobile gaming has to offer.
With the constant churn of formulaic (often licensed) time-sinkers bubbling their way to the top of the App Store charts, there’s been a historic lack of thoughtful curation. One that Apple Arcade looks to address with a growing list of games, all free from microtransactions and various live elements that had become almost universal in modern mobile games.
Now available on compatible iOS devices Apple Arcade is currently priced at £4.99/$4.99 a month and already has a diverse spread of brand new games that’ll have you tapping and swiping away for months to come. Here’s the current list in full:
- Agent Intercept
- Assemble with Care
- Atone: Heart of the Elder Tree
- Ballistic Baseball
- BattleSky Brigade: Harpooner
- Big Time Sports
- Bleak Sword
- Card of Darkness
- Cardpocalypse
- Cat Quest II | Review
- ChuChu Rocket! Universe
- Cricket Through the Ages
- Dead End Job
- Dear Reader
- Decoherence
- Discolored
- Dodo Peak
- Don’t Bug Me!
- Down in Bermuda
- Dread Nautical
- EarthNight
- Exit the Gungeon
- Explottens
- Fallen Knight
- Fledgling Heroes
- Frogger in Toy Town
- Grindstone
- Guildlings
- Hexaflip: The Action Puzzler
- Hogwash
- Hot Lava
- HyperBrawl Tournament
- Inmost
- Jenny LeClue – Detectivu
- Jumper Jon
- King’s League II
- LEGO Brawls
- Lifelike: Chapter One
- Lifeslide
- Manifold Garden
- Marble It Up: Mayhem!
- Mind Symphony
- Mini Motorways
- Mr Turtle
- Monomals
- Murder Mystery Machine
- Mutazione [Review]
- Neo Cab
- Nightmare Farm
- Oceanhorn 2: Knights of the Lost Realm
- Operator 41
- Outlanders [Review]
- Over the Alps
- Overland
- Pac-Man Party Royale
- Painty Mob
- Patterned
- Pilgrims
- Possessions
- Projection: First Light
- Punch Planet
- Rayman Mini
- Red Reign
- Redout Space Assault
- Rosie’s Reality
- Sayonara Wild Hearts | Review | Zodiac Riddles Guide
- Shantae and the Seven Sirens
- Shinsekai Into the Depths
- ShockRods
- Skate City
- Sneaky Sasquatch
- Sociable Soccer
- Sonic Racing
- Spaceland
- Speed Demons
- Spek
- Spelldrifter
- Spidersaurs
- Spyder
- Star Fetched
- Stela
- Stellar Commanders
- Stranded Sails | Review | Tips | Walkthrough
- Super Impossible Road
- Super Mega Mini Party
- Takeshi and Hiroshi
- Tales of Memo
- Tangle Tower
- Tint
- The Bradwell Conspiracy
- The Enchanted World
- The Get Out Kids
- The Mosaic
- The Pinball Wizard
- Things That Go Bump
- Towaga: Among Shadows
- UFO on Tape: First Contact
- Various Daylife
- Way of the Turtle
- WHAT THE GOLF?! | Review
- Where Cards Fall
- Word Laces
- Yaga
Apple Arcade will be regularly adding new games. Here are several that have been confirmed for the tech giant’s gaming service:
- Box Project
- The Artful Escape
- Steven Universe: Unleash the Light
- The Pathless
- No Way Home
- Winding Worlds
- Beyond a Steel Sky
- Doomsday Vault
- Enter The Construct
- Lego Arthouse
- Little Orpheus
- Fantasian
- Mr. Turtle
Be sure to bookmark this list and check back as we continue to add new Apple Arcade releases.


|
Nana C++ Library An open-source C++ framework project The Programmer's Guide |
|
nana::gui::API::refresh_window Description Refreshs the window and display it immediately. Prototype void refresh_window(nana::gui::window wd); Parameters wd: a handle to the window which to be refreshed. Return Value None. Remarks This function is only call the refresh method of its drawer_trigger. See also lazy_refresh, refresh_window_tree, update_window. Move to The Nana Programmer's Guide Application Programming Interface Overviews |


| SchemaSpy Analysis of postgres.omop | Generated by SchemaSpy |
| Generated by SchemaSpy on dim. sept. 10 20:08 CEST 2017 | |
| Database Type: PostgreSQL - 9.6.3 |
|
XML Representation Insertion Order Deletion Order (for database loading/purging scripts) |
| Table | Children | Parents | Columns | Rows | Comments |
|---|---|---|---|---|---|
| attribute_definition | 1 | 5 | 0 | [VOCABULARY] The ATTRIBUTE_DEFINITION table contains records defining Attributes, or covariates, to members of a Cohort through an associated description and syntax and upon instantiation (execution of the algorithm) placed into the COHORT_ATTRIBUTE table. Attributes are derived elements that can be selected or calculated for a subject in a Cohort. The ATTRIBUTE_DEFINITION table provides a standardized structure for maintaining the rules governing the calculation of covariates for a subject in a Cohort, and can store operational programming code to instantiate the Attributes for a given Cohort within the OMOP Common Data Model. | |
| care_site | 4 | 2 | 6 | 0 | [SYSTEM] The CARE_SITE table contains a list of uniquely identified institutional (physical or organizational) units where healthcare delivery is practiced (offices, wards, hospitals, clinics, etc.). |
| cdm_source | 10 | 0 | [METADATA] The CDM_SOURCE table contains detail about the source database and the process used to transform the data into the OMOP Common Data Model. | ||
| cohort | 1 | 4 | 0 | [DERIVED] The COHORT table contains records of subjects that satisfy a given set of criteria for a duration of time. The definition of the cohort is contained within the COHORT_DEFINITION table. Cohorts can be constructed of patients (Persons), Providers or Visits. | |
| cohort_attribute | 3 | 7 | 0 | [DERIVED] The COHORT_ATTRIBUTE table contains attributes associated with each subject within a cohort, as defined by a given set of criteria for a duration of time. The definition of the Cohort Attribute is contained in the ATTRIBUTE_DEFINITION table. | |
| cohort_definition | 2 | 1 | 7 | 0 | [VOCABULARY] The COHORT_DEFINITION table contains records defining a Cohort derived from the data through the associated description and syntax and upon instantiation (execution of the algorithm) placed into the COHORT table. Cohorts are a set of subjects that satisfy a given combination of inclusion criteria for a duration of time. The COHORT_DEFINITION table provides a standardized structure for maintaining the rules governing the inclusion of a subject into a cohort, and can store operational programming code to instantiate the cohort within the OMOP Common Data Model. |
| concept | 89 | 3 | 10 | 0 | [VOCABULARY] The Standardized Vocabularies contains records, or Concepts, that uniquely identify each fundamental unit of meaning used to express clinical information in all domain tables of the CDM. Concepts are derived from vocabularies, which represent clinical information across a domain (e.g. conditions, drugs, procedures) through the use of codes and associated descriptions. Some Concepts are designated Standard Concepts, meaning these Concepts can be used as normative expressions of a clinical entity within the OMOP Common Data Model and within standardized analytics. Each Standard Concept belongs to one domain, which defines the location where the Concept would be expected to occur within data tables of the CDM. |
| concept_ancestor | 2 | 4 | 0 | [VOCABULARY] The CONCEPT_ANCESTOR table is designed to simplify observational analysis by providing the complete hierarchical relationships between Concepts. Only direct parent-child relationships between Concepts are stored in the CONCEPT_RELATIONSHIP table. To determine higher level ancestry connections, all individual direct relationships would have to be navigated at analysis time. The CONCEPT_ANCESTOR table includes records for all parent-child relationships, as well as grandparent-grandchild relationships and those of any other level of lineage. Using the CONCEPT_ANCESTOR table allows for querying for all descendants of a hierarchical concept. For example, drug ingredients and drug products are all descendants of a drug class ancestor. | |
| concept_class | 1 | 1 | 3 | 0 | [VOCABULARY] The CONCEPT_CLASS table is a reference table, which includes a list of the classifications used to differentiate Concepts within a given Vocabulary. This reference table is populated with a single record for each Concept Class: |
| concept_relationship | 3 | 6 | 0 | [VOCABULARY] The CONCEPT_RELATIONSHIP table contains records that define direct relationships between any two Concepts and the nature or type of the relationship. Each type of a relationship is defined in the [RELATIONSHIP](https://github.com/OHDSI/CommonDataModel/wiki/RELATIONSHIP) table. | |
| concept_synonym | 1 | 3 | 0 | [VOCABULARY] The CONCEPT_SYNONYM table is used to store alternate names and descriptions for Concepts. | |
| condition_era | 2 | 6 | 0 | [DERIVED] A Condition Era is defined as a span of time when the Person is assumed to have a given condition. | |
| condition_occurrence | 8 | 16 | 0 | [CLINICAL] Conditions are records of a Person suggesting the presence of a disease or medical condition stated as a diagnosis, a sign or a symptom, which is either observed by a Provider or reported by the patient. Conditions are recorded in different sources and levels of standardization, for example: | |
| cost | 3 | 22 | 0 | [ECONOMIC] The COST table captures records containing the cost of any medical entity recorded in one of the DRUG_EXPOSURE, PROCEDURE_OCCURRENCE, VISIT_OCCURRENCE or DEVICE_OCCURRENCE tables. It replaces the corresponding DRUG_COST, PROCEDURE_COST, VISIT_COST or DEVICE_COST tables that were initially defined for the OMOP CDM V5. However, it also allows to capture cost information for records of the OBSERVATION and MEASUREMENT tables. | |
| death | 4 | 7 | 0 | [CLINICAL] The death domain contains the clinical event for how and when a Person dies. A person can have up to one record if the source system contains evidence about the Death, such as: | |
| device_exposure | 7 | 15 | 0 | [CLINICAL] The device exposure domain captures information about a person's exposure to a foreign physical object or instrument that which is used for diagnostic or therapeutic purposes through a mechanism beyond chemical action. Devices include implantable objects (e.g. pacemakers, stents, artificial joints), medical equipment and supplies (e.g. bandages, crutches, syringes), other instruments used in medical procedures (e.g. sutures, defibrillators) and material used in clinical care (e.g. adhesives, body material, dental material, surgical material). | |
| domain | 1 | 1 | 3 | 0 | [VOCABULARY] The DOMAIN table includes a list of OMOP-defined Domains the Concepts of the Standardized Vocabularies can belong to. A Domain defines the set of allowable Concepts for the standardized fields in the CDM tables. For example, the "Condition" Domain contains Concepts that describe a condition of a patient, and these Concepts can only be stored in the condition_concept_id field of the [CONDITION_OCCURRENCE](https://github.com/OHDSI/CommonDataModel/wiki/CONDITION_OCCURRENCE) and [CONDITION_ERA](https://github.com/OHDSI/CommonDataModel/wiki/CONDITION_ERA) tables. This reference table is populated with a single record for each Domain and includes a descriptive name for the Domain. |
| dose_era | 3 | 7 | 0 | [DERIVED] A Dose Era is defined as a span of time when the Person is assumed to be exposed to a constant dose of a specific active ingredient. | |
| drug_era | 2 | 7 | 0 | [DERIVED] A Drug Era is defined as a span of time when the Person is assumed to be exposed to a particular active ingredient. A Drug Era is not the same as a Drug Exposure: Exposures are individual records corresponding to the source when Drug was delivered to the Person, while successive periods of Drug Exposures are combined under certain rules to produce continuous Drug Eras. | |
| drug_exposure | 8 | 23 | 0 | [CLINICAL] The drug exposure domain captures records about the utilization of a Drug when ingested or otherwise introduced into the body. A Drug is a biochemical substance formulated in such a way that when administered to a Person it will exert a certain physiological effect. Drugs include prescription and over-the-counter medicines, vaccines, and large-molecule biologic therapies. Radiological devices ingested or applied locally do not count as Drugs. | |
| drug_strength | 5 | 12 | 0 | [VOCABULARY] The DRUG_STRENGTH table contains structured content about the amount or concentration and associated units of a specific ingredient contained within a particular drug product. This table is supplemental information to support standardized analysis of drug utilization. | |
| fact_relationship | 3 | 5 | 0 | [CLINICAL] The FACT_RELATIONSHIP table contains records about the relationships between facts stored as records in any table of the CDM. Relationships can be defined between facts from the same domain (table), or different domains. Examples of Fact Relationships include: Person relationships (parent-child), care site relationships (hierarchical organizational structure of facilities within a health system), indication relationship (between drug exposures and associated conditions), usage relationships (of devices during the course of an associated procedure), or facts derived from one another (measurements derived from an associated specimen). | |
| location | 2 | 8 | 0 | [SYSTEM] The LOCATION table represents a generic way to capture physical location or address information of Persons and Care Sites. | |
| measurement | 10 | 19 | 0 | [CLINICAL] The MEASUREMENT table contains records of Measurement, i.e. structured values (numerical or categorical) obtained through systematic and standardized examination or testing of a Person or Person's sample. The MEASUREMENT table contains both orders and results of such Measurements as laboratory tests, vital signs, quantitative findings from pathology reports, etc. | |
| note | 1 | 8 | 14 | 0 | [CLINICAL] The NOTE table captures unstructured information that was recorded by a provider about a patient in free text notes on a given date. |
| note_nlp | 3 | 14 | 0 | [CLINICAL] The NOTE_NLP table will encode all output of NLP on clinical notes. Each row represents a single extracted term from a note. | |
| observation | 10 | 18 | 0 | [CLINICAL] The OBSERVATION table captures clinical facts about a Person obtained in the context of examination, questioning or a procedure. Any data that cannot be represented by any other domains, such as social and lifestyle facts, medical history, family history, etc. are recorded here. | |
| observation_period | 2 | 7 | 0 | [CLINICAL] The OBSERVATION_PERIOD table contains records which uniquely define the spans of time for which a Person is at-risk to have clinical events recorded within the source systems, even if no events in fact are recorded (healthy patient with no healthcare interactions). | |
| payer_plan_period | 1 | 1 | 7 | 0 | [ECONOMIC] The PAYER_PLAN_PERIOD table captures details of the period of time that a Person is continuously enrolled under a specific health Plan benefit structure from a given Payer. Each Person receiving healthcare is typically covered by a health benefit plan, which pays for (fully or partially), or directly provides, the care. These benefit plans are provided by payers, such as health insurances or state or government agencies. In each plan the details of the health benefits are defined for the Person or her family, and the health benefit Plan might change over time typically with increasing utilization (reaching certain cost thresholds such as deductibles), plan availability and purchasing choices of the Person. The unique combinations of Payer organizations, health benefit Plans and time periods in which they are valid for a Person are recorded in this table. |
| person | 16 | 9 | 18 | 0 | [CLINICAL] The Person Domain contains records that uniquely identify each patient in the source data who is time at-risk to have clinical observations recorded within the source systems. |
| procedure_occurrence | 8 | 14 | 0 | [CLINICAL] The PROCEDURE_OCCURRENCE table contains records of activities or processes ordered by, or carried out by, a healthcare provider on the patient to have a diagnostic or therapeutic purpose. Procedures are present in various data sources in different forms with varying levels of standardization. For example: | |
| provider | 10 | 5 | 13 | 0 | [SYSTEM] The PROVIDER table contains a list of uniquely identified healthcare providers. These are individuals providing hands-on healthcare to patients, such as physicians, nurses, midwives, physical therapists etc. |
| relationship | 2 | 2 | 6 | 0 | [VOCABULARY] The RELATIONSHIP table provides a reference list of all types of relationships that can be used to associate any two concepts in the CONCEPT_RELATIONSHP table. |
| source_to_concept_map | 3 | 9 | 0 | [VOCABULARY] The source to concept map table is a legacy data structure within the OMOP Common Data Model, recommended for use in ETL processes to maintain local source codes which are not available as Concepts in the Standardized Vocabularies, and to establish mappings for each source code into a Standard Concept as target_concept_ids that can be used to populate the Common Data Model tables. The SOURCE_TO_CONCEPT_MAP table is no longer populated with content within the Standardized Vocabularies published to the OMOP community. | |
| specimen | 6 | 15 | 0 | [CLINICAL] The specimen domain contains the records identifying biological samples from a person. | |
| visit_detail | 8 | 10 | 19 | 0 | [CLINICAL] The VISIT_DETAIL table is an optional table used to represents details of each record in the parent visit_occurrence table. For every record in visit_occurrence table there may be 0 or more records in the visit_detail table with a 1:n relationship where n may be 0. The visit_detail table is structurally very similar to visit_occurrence table and belongs to the similar domain as the visit. |
| visit_occurrence | 8 | 8 | 17 | 0 | [CLINICAL] The VISIT_OCCURRENCE table contains the spans of time a Person continuously receives medical services from one or more providers at a Care Site in a given setting within the health care system. Visits are classified into 4 settings: outpatient care, inpatient confinement, emergency room, and long-term care. Persons may transition between these settings over the course of an episode of care (for example, treatment of a disease onset). |
| vocabulary | 3 | 1 | 5 | 0 | [VOCABULARY] The VOCABULARY table includes a list of the Vocabularies collected from various sources or created de novo by the OMOP community. This reference table is populated with a single record for each Vocabulary source and includes a descriptive name and other associated attributes for the Vocabulary. |
| 38 Tables | 391 | 0 | |||
| 0 Views | 0 |


The cube below should be shown in two ways:
Unrotated, going from (0, 0) to (100, 100) (in blue)
Rotated 45° around it's midpoint and scaled 50% (in red)