OttoQL is a universal QueryLanguage for tables and documents, which was implemented firstly for XML. It has a very simple syntax (kind of writing). The operations are applied generally sequentially on all corresponding tuples or subtuples. In the following program an XML-document is given by a table:
BMI-example in OttoQL
<<L(NAME, LENGTH, L(AGE, WEIGHT))::
Klaus 1.68 18 61
30 65
56 80
Rolf 1.78 40 72
Kathi 1.70 18 55
40 70
Valerie 1.00 3 16
Viktoria 1.61 13 51
Bert 1.72 18 66
30 70 >>
mit NAME: AGE>20 # with: selection
ext BMI:=(WEIGHT div LENGTH**2) # ext: introduction of a new column
gib BMIAVG,M(AGE,BMIAVG,B(BMI,NAME)) && # give me; && connects two lines to a logical unit
BMIAVG:=avg(BMI)
round 2
It is visible also without tags that the tuple of Klaus ends with 80 and that Klaus has 3 subtuples. In this structure, for example is AGE subordinated to NAME. In the gib-part this hierarchy is inverted simply by giving the scheme or generally the DTD (Document Type Definition) of the desired XML-document. Here M (German: Menge) abbreviates set, B bag and L list. But at first a selection is applied in the above example. Instead of mit also ohne (without) can be used. By the above selection all tuples without an AGE-entry greater than 20 are discarded. These are Valerie and Viktoria. The first subtuple of Klaus remains yet in the table, because by NAME: is expressed that we select only complete tuples and no subtuples. If we want to omit subtuples, we have to replace NAME by AGE or WEIGHT. The following two conditions select in both lists: <code>mit NAME, AGE: AGE>20</code> resp. <code>mit AGE>20</code>.
By an ext-part the table is extended by a new column (extension). Without an introduction of variables here column names of different levels can be used. Right of WEIGHT the Body-Mass-Index-column is introduced. It is notable that the BMI-values not only for the length 1.68 and the weight 61 but also for 1.68 and the second row (65) are computed. Beside restructurings in non-recursive DTD's it is possible to realize by a gib-part also the following tasks:
* sort (M,B) (by the first fields of the collections) (M-, B-: descending)
* aggregate (simultaneously horizontal and vertical)
* eliminate duplicates (M, M-)
* joins and unions
* projections
* groupby and nest
* unnest
* taggen
The last operation (round) rounds all numbers, which occur in the result of the gib-part, to 2 digits after .. Binary operations are written in OttoQL infix. Because of this the above program realizes the following query: Find the average BMI, the BMI per age-level and the BMI of each persons and AGE persons, where the person is older than 20. Sort by AGE and within an AGE-group by BMI. The result as table:
<pre>
<<BMIAVG,M(AGE, BMIAVG, B(BMI, NAME))::
23.12 18 20.98 19.03 Kathi
21.61 Klaus
22.31 Bert
30 23.34 23.03 Klaus
23.66 Bert
40 23.47 22.72 Rolf
24.22 Kathi
56 28.34 28.34 Klaus>>
</pre>
*
Independence upon the data structure
The operations of OttoQL need a DTD, because the system has to be able to recognize what is a collection and what is a tuple. Nevertheless, the important operations of OttoQL are widely independent of the DTD. The above BMI-example works also, if the given table is flat
(L(NAME, LENGTH, AGE, WEIGHT)) or inversely structured (M(WEIGHT, L(NAME, LENGTH, AGE))). This property is important, if OttoQL should be used by search engines.
Development
The basic ideas of the most important operations of OttoQL are presented already in the. The ideas have been extended in and. But in these publications you can yet not find a generalization to XML. To the present implementation Andreas Hauptmann, Martin Schnabel and Dmitri Schamschurko made great contributions. The algebraic background of OttoQL you can find in the paper of Reichel.
BMI-example in OttoQL
<<L(NAME, LENGTH, L(AGE, WEIGHT))::
Klaus 1.68 18 61
30 65
56 80
Rolf 1.78 40 72
Kathi 1.70 18 55
40 70
Valerie 1.00 3 16
Viktoria 1.61 13 51
Bert 1.72 18 66
30 70 >>
mit NAME: AGE>20 # with: selection
ext BMI:=(WEIGHT div LENGTH**2) # ext: introduction of a new column
gib BMIAVG,M(AGE,BMIAVG,B(BMI,NAME)) && # give me; && connects two lines to a logical unit
BMIAVG:=avg(BMI)
round 2
It is visible also without tags that the tuple of Klaus ends with 80 and that Klaus has 3 subtuples. In this structure, for example is AGE subordinated to NAME. In the gib-part this hierarchy is inverted simply by giving the scheme or generally the DTD (Document Type Definition) of the desired XML-document. Here M (German: Menge) abbreviates set, B bag and L list. But at first a selection is applied in the above example. Instead of mit also ohne (without) can be used. By the above selection all tuples without an AGE-entry greater than 20 are discarded. These are Valerie and Viktoria. The first subtuple of Klaus remains yet in the table, because by NAME: is expressed that we select only complete tuples and no subtuples. If we want to omit subtuples, we have to replace NAME by AGE or WEIGHT. The following two conditions select in both lists: <code>mit NAME, AGE: AGE>20</code> resp. <code>mit AGE>20</code>.
By an ext-part the table is extended by a new column (extension). Without an introduction of variables here column names of different levels can be used. Right of WEIGHT the Body-Mass-Index-column is introduced. It is notable that the BMI-values not only for the length 1.68 and the weight 61 but also for 1.68 and the second row (65) are computed. Beside restructurings in non-recursive DTD's it is possible to realize by a gib-part also the following tasks:
* sort (M,B) (by the first fields of the collections) (M-, B-: descending)
* aggregate (simultaneously horizontal and vertical)
* eliminate duplicates (M, M-)
* joins and unions
* projections
* groupby and nest
* unnest
* taggen
The last operation (round) rounds all numbers, which occur in the result of the gib-part, to 2 digits after .. Binary operations are written in OttoQL infix. Because of this the above program realizes the following query: Find the average BMI, the BMI per age-level and the BMI of each persons and AGE persons, where the person is older than 20. Sort by AGE and within an AGE-group by BMI. The result as table:
<pre>
<<BMIAVG,M(AGE, BMIAVG, B(BMI, NAME))::
23.12 18 20.98 19.03 Kathi
21.61 Klaus
22.31 Bert
30 23.34 23.03 Klaus
23.66 Bert
40 23.47 22.72 Rolf
24.22 Kathi
56 28.34 28.34 Klaus>>
</pre>
*
Independence upon the data structure
The operations of OttoQL need a DTD, because the system has to be able to recognize what is a collection and what is a tuple. Nevertheless, the important operations of OttoQL are widely independent of the DTD. The above BMI-example works also, if the given table is flat
(L(NAME, LENGTH, AGE, WEIGHT)) or inversely structured (M(WEIGHT, L(NAME, LENGTH, AGE))). This property is important, if OttoQL should be used by search engines.
Development
The basic ideas of the most important operations of OttoQL are presented already in the. The ideas have been extended in and. But in these publications you can yet not find a generalization to XML. To the present implementation Andreas Hauptmann, Martin Schnabel and Dmitri Schamschurko made great contributions. The algebraic background of OttoQL you can find in the paper of Reichel.
JQuantLib is an open-source software library for developing financial instrument valuation and related subjects. JQuantLib is written in Java. Its source code is derived from QuantLib, which is written in .
Other early implementations
This is a list of previous attempts intended to port QuantLib to Java or at least provide means of calling QuantLib from Java programs:
* In August 2004 a project called java-quantlib attempted to create a port from QuantLib. The project is abandoned: it has only 11 classes with only a couple of edits.
* In September 2004 a project called QuanLib4J was started, but no files were committed to their repository.
* Also in September 2004, a project called sKWash was started. The project was active until June 2005 and produced Java Native Interface wrappers to QuantLib using a tool called SWIG. The project released files in May 2005. It's not clear if the resulting work from this project was absorbed by QuantLib and became the SWIG wrappers QuantLib has.
Release history
0.1.0-RC1, 2008-06-23 is the first release. It implements the core necessary to support generic financial instruments and generic pricing engines. It also implements European Options valuation using the Black-Scholes model.
Licensing
It is distributed under a BSD license, which allows JQuantLib to be freely bundled with open source and proprietary software. It depends only on QuantLib license, which is also BSD licensed.
Features
* Date, Calendar and IMM support;
* Trading calendars for the most important markets;
* Support for generic financial instruments;
* Support for generic pricing engines;
* Support for generic term structures;
* Support for generic 1D and 2D interpolations;
* European Options
** Black-Scholes model
*Platform independent
Other early implementations
This is a list of previous attempts intended to port QuantLib to Java or at least provide means of calling QuantLib from Java programs:
* In August 2004 a project called java-quantlib attempted to create a port from QuantLib. The project is abandoned: it has only 11 classes with only a couple of edits.
* In September 2004 a project called QuanLib4J was started, but no files were committed to their repository.
* Also in September 2004, a project called sKWash was started. The project was active until June 2005 and produced Java Native Interface wrappers to QuantLib using a tool called SWIG. The project released files in May 2005. It's not clear if the resulting work from this project was absorbed by QuantLib and became the SWIG wrappers QuantLib has.
Release history
0.1.0-RC1, 2008-06-23 is the first release. It implements the core necessary to support generic financial instruments and generic pricing engines. It also implements European Options valuation using the Black-Scholes model.
Licensing
It is distributed under a BSD license, which allows JQuantLib to be freely bundled with open source and proprietary software. It depends only on QuantLib license, which is also BSD licensed.
Features
* Date, Calendar and IMM support;
* Trading calendars for the most important markets;
* Support for generic financial instruments;
* Support for generic pricing engines;
* Support for generic term structures;
* Support for generic 1D and 2D interpolations;
* European Options
** Black-Scholes model
*Platform independent
Katie Nelson (born July 17, 1992) is a Canadian activist currently residing in Montreal, Quebec and attending Concordia University. Nelson is pursuing a degree in Philosophy with a specialization in Human Rights. Nelson is an Anarchist and has organized with the Industrial Workers of the World. Nelson has been involved in strike organizing in the past and her most notable political involvement was during the 2012 Quebec student protests. She is most known for her 2013 civil suit against Montreal Police, Service de police de la Ville de Montréal, and as well a 2015 incident where Nelson was assaulted by two undercover police officers during a protest in Montreal, Quebec.
Activism
Occupy Wallstreet
Nelson was first introduced to activism during the Occupy Wall Street movement. She acted as the Media Spokesperson for Occupy Edmonton. Following the end of the encampment, Nelson continued to work with an ad hoc group organizing similar actions prior to an attempt to Occupy the University of Alberta in an effort to bring attention to the devaluation of education in Alberta. Nelson organized primarily in environmental causes in Alberta.
Harper government response
During this time, the Harper government announced environmental activists were considered terrorist threats.
Quebec student protests
During the 2012 student strikes of Quebec, known as the Printemps Erables, Nelson became involved in organizing protests and night demonstrations, as well as first aid and street medic training and anti-police organizing.
List of SPVM
Nelson is most well known for her participation in the creation of a police cataloguing system that sought to document badge numbers, names and offences committed by police during and after the 2012 protests. It is alleged in a civil suit that the creation of this group led to the persistent and active profiling and targeting of Nelson by police.
Notable Arrests
October 2013 Detainment
Nelson was arrested illegally in October 2012, where she was held at a police station in the City of Montreal for nearly thirty hours without charge. Nelson was detained during a protest before being brought to a Montreal police station and confined to a cell without being formally accused of a crime. A 2013 civil suit claims lawyers were unable to reach her and that the police used sleep deprivation tactics the night before she was to appear in court for her release.
Legal Proceedings
Penal fines and charges
Nelson received nearly $10,000 worth of fines for her involvement in the 2012 protests in Quebec. She attended nearly 30 trials. These fines included jaywalking, swearing, obstruction and as well several 500.1 and P6 infractions. Many of her tickets were dropped due to rulings of unconstitutionality. Including the unconstitutionality ruling for municipal by-law 500.1 and as well P6, (both infractions used to criminalize protests in Quebec).
Appeals
Nelson is currently pursuing an appeal for a decision rendered in Municipal Court against her. The case has not yet been heard in front of the Court of Appeal. Nelson states she was found guilty after receiving a fine from a police officer who was not present during the alleged infraction.
Civil litigation
Nelson is currently involved in one civil suit as a Plaintiff. Nelson filed a lawsuit against the City of Montreal and Montreal Police for political profiling and harassment after claiming to be targeted for over one year by police due to her political activism. Nelson is represented by constitutional lawyer Julius Grey.
2015 Assault
On the evening of December 18, 2015, Nelson claims to have been attacked by two undercover police at the end of an anti-austerity demonstration. Both police officers were named in Nelson's 2013 on-going lawsuit, and were allegedly recognized by Nelson shortly before the assault.
Nelson was attacked by an individual wearing a black mask. Nelson claims the individual was a police officer. As a result of the assault she suffered damage to the tendons in her left arm, some bruising to both knees and a mild concussion. Nelson was hospitalized for neurological and spinal monitoring immediately after the assault. She was released the following day. She has stated since the attack she requires physiotherapy and as well psychological therapy for post traumatic stress disorder.
The SPVM denied their involvement in the attack despite photographic evidence.
Criticisms
Nelson was criticized by right-wing blogger Greg Renouf for her promotion of the Animal Liberation Front.
After being found not guilty for discrimination at a university tribunal, Nelson was criticized by a Pro-Israel group for her advocacy against political zionism and her involvement in a Boycott, Divestment and Sanctions Israel campaign at Concordia University. Members of an online forum recently criticized Nelson for her public opposition to a planned Montreal meeting of supporters of blogger Roosh V, a meeting that was also criticised by several others including Montreal Mayor Denis Coderre. Some forum members even accused Nelson and a group of protesters of doxxing and harassing attendees.
Activism
Occupy Wallstreet
Nelson was first introduced to activism during the Occupy Wall Street movement. She acted as the Media Spokesperson for Occupy Edmonton. Following the end of the encampment, Nelson continued to work with an ad hoc group organizing similar actions prior to an attempt to Occupy the University of Alberta in an effort to bring attention to the devaluation of education in Alberta. Nelson organized primarily in environmental causes in Alberta.
Harper government response
During this time, the Harper government announced environmental activists were considered terrorist threats.
Quebec student protests
During the 2012 student strikes of Quebec, known as the Printemps Erables, Nelson became involved in organizing protests and night demonstrations, as well as first aid and street medic training and anti-police organizing.
List of SPVM
Nelson is most well known for her participation in the creation of a police cataloguing system that sought to document badge numbers, names and offences committed by police during and after the 2012 protests. It is alleged in a civil suit that the creation of this group led to the persistent and active profiling and targeting of Nelson by police.
Notable Arrests
October 2013 Detainment
Nelson was arrested illegally in October 2012, where she was held at a police station in the City of Montreal for nearly thirty hours without charge. Nelson was detained during a protest before being brought to a Montreal police station and confined to a cell without being formally accused of a crime. A 2013 civil suit claims lawyers were unable to reach her and that the police used sleep deprivation tactics the night before she was to appear in court for her release.
Legal Proceedings
Penal fines and charges
Nelson received nearly $10,000 worth of fines for her involvement in the 2012 protests in Quebec. She attended nearly 30 trials. These fines included jaywalking, swearing, obstruction and as well several 500.1 and P6 infractions. Many of her tickets were dropped due to rulings of unconstitutionality. Including the unconstitutionality ruling for municipal by-law 500.1 and as well P6, (both infractions used to criminalize protests in Quebec).
Appeals
Nelson is currently pursuing an appeal for a decision rendered in Municipal Court against her. The case has not yet been heard in front of the Court of Appeal. Nelson states she was found guilty after receiving a fine from a police officer who was not present during the alleged infraction.
Civil litigation
Nelson is currently involved in one civil suit as a Plaintiff. Nelson filed a lawsuit against the City of Montreal and Montreal Police for political profiling and harassment after claiming to be targeted for over one year by police due to her political activism. Nelson is represented by constitutional lawyer Julius Grey.
2015 Assault
On the evening of December 18, 2015, Nelson claims to have been attacked by two undercover police at the end of an anti-austerity demonstration. Both police officers were named in Nelson's 2013 on-going lawsuit, and were allegedly recognized by Nelson shortly before the assault.
Nelson was attacked by an individual wearing a black mask. Nelson claims the individual was a police officer. As a result of the assault she suffered damage to the tendons in her left arm, some bruising to both knees and a mild concussion. Nelson was hospitalized for neurological and spinal monitoring immediately after the assault. She was released the following day. She has stated since the attack she requires physiotherapy and as well psychological therapy for post traumatic stress disorder.
The SPVM denied their involvement in the attack despite photographic evidence.
Criticisms
Nelson was criticized by right-wing blogger Greg Renouf for her promotion of the Animal Liberation Front.
After being found not guilty for discrimination at a university tribunal, Nelson was criticized by a Pro-Israel group for her advocacy against political zionism and her involvement in a Boycott, Divestment and Sanctions Israel campaign at Concordia University. Members of an online forum recently criticized Nelson for her public opposition to a planned Montreal meeting of supporters of blogger Roosh V, a meeting that was also criticised by several others including Montreal Mayor Denis Coderre. Some forum members even accused Nelson and a group of protesters of doxxing and harassing attendees.
Rob Schoeben (born May 17, 1966) was the Vice President of Applications Product Marketing for Apple Inc. from 2003 - 2009. He and his team were in charge of Apple's applications—iLife, iWork, Aperture, Final Cut Studio, and Logic Studio - and Internet service, .Mac (later relaunched as MobileMe). He has made several public appearances, including NAB 2007 when he introduced Final Cut Studio 2. He reported to Sina Tamaddon and Steve Jobs for most of his time at the company. In 2009, he left Apple and started a nonprofit agency called CASSY (Counseling and Support Services for Youth), a Silicon Valley nonprofit that partners with local schools to support students' social and emotional well-being through crisis intervention, ongoing counseling, and proactive mental health education.
Before joining Apple in 2003 he worked at Microsoft. Prior to Microsoft, he was a Senior Vice President at Ogilvy & Mather.
Before joining Apple in 2003 he worked at Microsoft. Prior to Microsoft, he was a Senior Vice President at Ogilvy & Mather.