The aim of this thesis is to develop a diffusion Monte Carlo (DMC) code that can be used to study properties of confined fermions. The code should be flexible enough to deal with both closed-shell and open-shell systems. The project here is an ambitious one and has enough material for two independent Master of Science thesis projects.
The applications will be directed towards studies of electron-electron correlations in quantum dots as function of the density of the systems. Properties like single-particle and pair densities will be studied as the density is lowered towards the eventual Wigner crystallization. Quantum dot molecules can also be studied and the first step would be to repeat calculations done with large-scale diagonalization techniques for two-electron quantum dot molecules.
What follows here is a general introduction to systems of confined electrons in two or three dimensions. However, although the thesis will focus on such systems, the codes will be written so that other systems of trapped fermions or eventually bosons can be handled. Examples could be neutrons in a harmonic oscillator trap.
Strongly confined electrons offer a wide variety of complex and subtle phenomena which pose severe challenges to existing many-body methods. Quantum dots in particular, that is, electrons confined in semiconducting heterostructures, exhibit, due to their small size, discrete quantum levels. The ground states of, for example, circular dots show similar shell structures and magic numbers as seen for atoms and nuclei. These structures are particularly evident in measurements of the change in electrochemical potential due to the addition of one extra electron, \( \Delta_N=\mu(N+1)-\mu(N) \). Here \( N \) is the number of electrons in the quantum dot, and \( \mu(N)=E(N)-E(N-1) \) is the electrochemical potential of the system. Theoretical predictions of \( \Delta_N \) and the excitation energy spectrum require accurate calculations of ground-state and of excited-state energies. Small confined systems, such as quantum dots (QD), have become very popular for experimental study. Beyond their possible relevance for nanotechnology, they are highly tunable in experiments and introduce level quantization and quantum interference in a controlled way. In a finite system, there cannot, of course, be a true phase transition, but a cross-over between weakly and strongly correlated regimes is still expected. There are several other fundamental differences between quantum dots and bulk systems: (a)\,Broken translational symmetry in a QD reduces the ability of the electrons to delocalize. As a result, a Wigner-type cross-over is expected for a smaller value of \( r_s \) (this is the so-called gas parameter \( r_s=(c_d/a_B)(1/n)^d \), where \( n \) is the electron density, \( d \) is the spatial dimension, \( a_B \) the effective Bohr radius and \( c_d \) a dimension dependent constant). (b)\,Mesoscopic fluctuations, inherent in any confined system, lead to a rich interplay with the correlation effects. These two added features make strong correlation physics particularly interesting in a QD. As clean 2D bulk samples with large \( r_s \) are regularly fabricated these days in semiconductor heterostructures, it seems to be just a matter of time before these systems are patterned into a QD, thus providing an excellent probe of correlation effects.
The above-mentioned quantum mechanical levels can, in turn, be tuned by means of, for example, the application of various external fields. The spins of the electrons in quantum dots provide a natural basis for representing so-called qubits. The capability to manipulate and study such states is evidenced by several recent experiments. Coupled quantum dots are particularly interesting since so-called two-qubit quantum gates can be realized by manipulating the exchange coupling which originates from the repulsive Coulomb interaction and the underlying Pauli principle. For such states, the exchange coupling splits singlet and triplet states, and depending on the shape of the confining potential and the applied magnetic field, one can allow for electrical or magnetic control of the exchange coupling. In particular, several recent experiments and theoretical investigations have analyzed the role of effective spin-orbit interactions in quantum dots and their influence on the exchange coupling.
A proper theoretical understanding of the exchange coupling, correlation energies, ground state energies of quantum dots, the role of spin-orbit interactions and other properties of quantum dots as well, requires the development of appropriate and reliable theoretical few- and many-body methods. Furthermore, for quantum dots with more than two electrons and/or specific values of the external fields, this implies the development of few- and many-body methods where uncertainty quantifications are provided. For most methods, this means providing an estimate of the error due to the truncation made in the single-particle basis and the truncation made in limiting the number of possible excitations. For systems with more than three or four electrons, ab initio methods that have been employed in studies of quantum dots are variational and diffusion Monte Carlo, path integral approaches, large-scale diagonalization (full configuration interaction, and to a very limited extent coupled-cluster theory. Exact diagonalization studies are accurate for a very small number of electrons, but the number of basis functions needed to obtain a given accuracy and the computational cost grow very rapidly with electron number. In practice they have been used for up to eight electrons, but the accuracy is very limited for all except \( N\le 3 \) . Monte Carlo methods have been applied up to \( N=56 \) electrons. Diffusion Monte Carlo, with statistical and systematic errors, provide, in principle, exact benchmark solutions to various properties of quantum dots. However, the computations start becoming rather time-consuming for larger systems. Hartree, restricted Hartree-Fock, spin- and/or space-unrestricted Hartree-Fock and local spin-density, and current density functional methods give results that are satisfactory for a qualitative understanding of some systematic properties. However, comparisons with exact results show discrepancies in the energies that are substantial on the scale of energy differences.
The first task of this thesis is to develop a variational (VMC) and diffusion Monte Carlo (DMC) code that are fully object oriented and parallelized and can tackle both closed-shell systems and open shell systems. This code should be able to use different single-particle basis functions as input for the Slater determinants used in the VMC and DMC calculations. A single-particle basis of interest is the one represented by confining double well potential, see the discussion below. The first step in such a development is to study a system of two electrons in a double oscillator like well. This means that we could study the two-electron 'quantum dot molecule' (QDM) with for example the two-dimensional Hamiltonian
The second part includes applications of the codes and studies of quantum dot systems at different densities, computing both single-electron densities and pairing densities in order to understand better electron-electron correlations towards the Wigner crystallization limit.
The Hamiltonian of the system to study is given by
$$
H = \sum _{i=1}^2\left ( \frac{ ( {- i {\hbar} \nabla_i}
-\frac ec \mathbf{A})^2 }{2 m^{*}} + V_\mathrm{c}({\bf
r}_{i}) \right ) + \frac {e^{2}}{ \epsilon r_{12}} ,
$$
where \( V_\mathrm{c} \) is the external confinement potential
taken to be
$$
V_\mathrm{c}({\bf r}) = \frac 12 m^* \omega_0^2 \min \left[
\sum_j^M ({\bf r} - {\bf L}_j)^2 \right],
$$
where the coordinates are in two dimensions \( \mathbf{r} = (x,y) \) and the \( L_j \)'s (\( L_j = (\pm L_x, \pm L_y) \)) give the positions of the
minima of the QDM potential, and \( M \) is the number of minima. When
\( \mathbf{L}_1=(0,0) \) (and \( M=1 \)) we have a single parabolic QD. With
\( M=2 \) and \( \mathbf{L}_{1,2} = (\pm L_x,0) \) we get a double-dot
potential. One can also study four-minima QDM (\( M=4 \)) with minima at four
possibilities of \( (\pm L_x,\pm L_y) \) (see the figure here).
We can study both square-symmetric (\( L_x=L_y \)) and rectangular-symmetric (\( L_x \neq L_y \)) four-minima QDMs. The confinement potential can also be written using the absolute values of \( x \) and \( y \) coordinates as
$$
V_\mathrm{c}(x,y) = \frac 12 m^* \omega_0^2 \left[ r^2 - 2 L_x |x| - 2 L_y |y| + L_x^2 + L_y^2 \right].
$$
For non-zero \( L_x \) and \( L_y \),
the perturbation to the parabolic potential comes from the linear
terms of \( L_x \) or \( L_y \) containing also the absolute value of the
associated coordinate.
The aims and progress plan of this thesis are as follows
The thesis is expected to be handed in May/June 2017.


Formula 1 teams cannot keep blocking future rule changes, says Ross Brawn
by Bobby VincentRoss Brawn has admitted rule changes cannot keep being blocked by Formula 1 teams in the future after the idea for a reverse-grid qualifying races was dismissed by two F1 teams.
The idea of the reverse-grid qualifying races for just three races of the 2020 Formula 1 calendar was "blocked completely" by two unnamed F1 teams recently and this has left the motorsport director of the sport very frustrated.
However, there is a new governance coming into F1 and this will mean an easier process of new rules coming into the sport: "When the new governance comes in, that will take over and allow the development of the rules as they are now," Brawn said to RaceFans.
"But I think one of the crucial things about the governance going forward is we don't have the situation where we get blocked completely from any change in the future.
"The governance has to be a nicer and better balance of stability for the teams with the ability to make developments when they're really essential."
Many did criticise the idea of a reverse-grid qualifying race, saying it's too "gimmicky" and perhaps the serious aspect of Formula 1 would be lost a bit. However, Brawn has insisted the ideas are for the good of F1.
"The priority for Formula 1, the priority for the FIA is just to make the sport as great as possible," Brawn added. "We don't have any other objectives, so our objectives are purely that."


On Right Location?
This post explores some thinking around the challenges surrounding the concept of location in a mobile scenario. For this paper, our assumption is that of a user carrying a smart phone or some wearable that has enough compute power to react to the notion of where it is at (location). This reaction can be it passively sending the location info or actively engaging the user into a newer experience.
Micro and macro
Since the user can be in a confined manmade structure (as in visiting a mall or a store in a mall or running to an ER) or moving across a larger area (like a city block, driving cross country, climbing a mountain) we need to treat them separately, as they have unique technical and behavioural challenges. Hence we introduce the concept of micro and macro locations. Micro-location are region/area definition for a range of centimeters to few meters. These are tagged area/region as defined by the technology used in identifying that region.
Earth is flat
In most models of the earth, its gets a planar treatment. For small areas the curvature of the earth doesnt manifest itself and the notion of a flat earth is a great approximation for us to treat various properties of the location in question. This includes things like a few acres of land, driving in your favourite city blocks or exploring a maze in your office buildings. There are other variation in the non-planar earth model starting with the simpler spherical and the more elaborate ellipsoidal. If you ever have seen words like Mercator projection or Robinson projection, its trying to project a geometry (point, line or polygon) as represented on real earth onto a flat surface such as a map.
Space and time
Capturing the static image of a location or events in a given area as a map is interesting but it gets more informative when the time dimension is added. With time you can better comprehend events and processes occuring in space, which provides the rich insight so desired in making the right decisions.
Additional datatypes
We have already seen that location constructs introduces the notion of a geometry data type in how we capture information. Starting with a simple point (lat/lon) to line (an ordered pairs of points) to polygon (an ordered pairs of points that is closed), the data to be stored and indexed for supporting the queries is much different than typical textual or numerical data. Queries also come in several forms to answer spatial questions such as if a point is within a polygon or if two lines intersect or if a point is beyond a given line by some distance and so on. This needs to be accommodated in how the data is stored and indexed but also at scale. The database research has produced several clever store and indexing schemes to support effective retrieval of spatial and temporal data.
Battery, connectivity and such
Since the location data is typically being collected on smart devices, we need to worry about several uncertainities such as battery drain when location is collected more often. Or what happens if there is an error in GPS reading. There is also the loss of connectivity during data transmission of the collected data andif you were paying for a crappy data plan, then to accommodate effective ways to send location data without incurring undue costs.
There are many more areas that we will cover as we explore key location usecases and scenarios over the next posts, but this should get you some appreciation of why location is unique in what we need to address for a effective solution around using location data.
Until next time..keep moving.
blog comments powered by Disqus


Noun, derogatory: She was being a real snatch waffle at snatch waffle the store today."
Like what you see? Share this shit:
Facebook lurker? Post it:
Some text..
u/Jerome_Powell
Cake Day:
February 5, 2018


eForest Products
Deals of The Week
$675.30 $120
-25%
NEW Dell Inspiron 13.3" FHD Intel i5-8250U 3.4GHz 8GB 256GB SSD Backlit Win 10
Sold By: Dell Store
Already Sold: 3
Available: 24
Hurry up! Offer ends in:
01
Days
20
Hours
35
Mins
57
Secs
$675.30 $120
-25%
Sold By: Dell Store
Already Sold: 3
Available: 24
Hurry up! Offer ends in:
Days
Hours
Mins
Secs


class: center, middle # std::optional (C++17) --- class: center, middle # What does it do? ## It's a class that either holds a value, or doesn't. ## Can represent the absence of a value. --- ## Holds the value 42 ```cpp std::optional
foo(42); ``` -- ## Holds no value ```cpp std::optional
bar; ``` --- ## Check if an optional has a value ```cpp std::optional
foo(1); if (foo) { // Yes, has value } ``` -- ## Boolean gotcha ```cpp std::optional
bar(false) if (bar) { // True, because bar has a value, even though // that value is false. } ``` --- ### Use `value()`, `operator*` to get the value ```cpp std::optional
foo(42) if (foo) { std::cout << foo.value() << std::endl; // Prints 42 std::cout << *foo << std::endl; // Prints 42 } ``` -- #### `std::optional
::value()` throws `std::bad_optional_access` if no value --- ## operator-> and operator* and undefined behaviour if there is no value -- #AAAH! --- ## When a function may return an empty value, use `std::optional` ```cpp std::optional
baz() { // [.. do things here ..] if (valueIsPresent) { return std::make_optional(value); } return std::optional
(); } ``` ```cpp auto maybeValue = baz(); if (maybeValue) { // Print some things here } ``` --- ## In collections ```cpp std::vector
> m; for (auto it = m.begin(); it != m.end; ++it) { if (*it) { std::cout << it->value() << std::endl; } } ``` --- ## Is in `boost::optional` ### With some changes in names of functions --- ## Comes from functional programming, -- # BUT! -- ## No Monads in C++ --- ### Functional programming has higher level transformations of data ### E.g. pipelines of data transformations of an optional value -- ### Java has some of these concepts in its `Optional` class


Real Estate Dapp
View/Add Records
View/Add Permissions
Third Party
View/Add Permission
Manage File Permissions
Give Permission To:
Name
Credit Score
W-2
Bank 1
Renter 2
Mortage Company3


FAQ
How do I invite this bot to my discord?
You may
invite the bot here, and while logged into
the browser, select a server
and it will be all set up!
Why is the bot not responding to any commands?
Make sure you didn't accidently set a different prefix. Otherwise, our default prefix is "pls ".
When setting prefixes, make sure you include spaces in quotation marks.
How do auto commands work?
As said in its name, they work- automatically! Post a link and Payload will magically run the
command!
Do you have an offical discord?
Payload is offline! What do I do?
That's not good! We strive to make sure it's on 100% of the time. Being offline could mean that
work is being done on the server, the server died, or an update is being pushed. If it's not online
within ~10 minutes of being down, contact us on discord!
How do I view all of Payloads' commands?


--- title: utils keywords: fastai sidebar: home_sidebar summary: "General helper functions" description: "General helper functions" nb_path: "nbs/04_utils.ipynb" ---
if not check_git_dir():
os.chdir("..") # we need this if we test locally in the notebook itself
input_credentials = "user = SomeUser\npassword = SomePassword"
expected_credentials = {"user": "SomeUser", "password": "SomePassword"}
with tempfile.TemporaryDirectory() as tmp_dir:
tmp_file = os.path.join(tmp_dir, "tmp")
with open(tmp_file, "w") as f:
f.write(input_credentials)
credentials = read_credentials(tmp_file)
assert credentials == expected_credentials


{%extends "registration/base.html"%} {% load bootstrap3 %} {% load bootstrap4 %} {% block content %}
Some Information Might be Incorrect
Have an account. Login


Fifth Week of RC
Day 5: Environment-Specific Bugs
March 22, 2019
While working on a pull request that enables OpenOversight users to directly upload images on an officer's profile, I encountered an extremely strange bug. Suddenly, three tests related to tokens and authentication started failing. This bug was strange both because it had nothing to do with the code I was updating, and because it only occurred in Linux environments.
I worked through it with a Recurser and a non-Recurser who also works on OpenOversight. (And whom I'll now refer to as Very Smart Person, VSP, because I didn't ask in advance if they'd be okay with me blogging about them.) After lots of mutual confusion, VSP figured out that the module we use for all token crypto, itsdangerous, uses either simplejson or json as the internal serializer. When the non-standard library of simplejson is not available in the execution environment, itsdangerous resorts to using json for serialization.
Both simplejson and json say they return strings, not bytes, from their .dumps()
methods. For reasons that remain unclear, our tokens were getting dumped as bytes. VSP saved the day by adding .decode(utf-8)
to the token generating functions in the User model. Now the tests pass in all environments.
Lesson learned: Ask for help! Environment-specific bugs, like many things, are easier to debug with help.


Hello! Please tell me a little
bit about yourself
Name
Email
Photo
Date of Birth
Education Qualification
10th Pass
12th Pass
Diploma
Graduate
Post_Graduate
PhD
language
skill
Experience
0-2 Years
3-5 Years
6-8 Years
9-10 Years
>10 Years


is_object
(PHP 4, PHP 5, PHP 7)
is_object — 检测变量是否是一个对象
描述
bool is_object ( mixed $var )
如果 var 是一个 object 则返回 TRUE，否则返回 FALSE。
参见 is_bool()、is_int()、is_integer()、is_float()、is_string() 和 is_array()。
User Contributed Notes 11 notes
===============================================================================
Note: is_object(null) returns false
This should actually be part of the input/output specification at the top of
this page.
===============================================================================
Unserializes data as returned by the standard PHP serialize() function. If the
unserialized object is not an array, it will be converted to one, particularily
useful if it returns a __PHP_Incomplete_Class.
$v) {
$arr[$k] = $v;
}
unset($arr['__PHP_Incomplete_Class_Name']);
return $arr;
}
?>
===============================================================================
You can use is_object($this) to detect if the function is being called via
instance or procedure.
Example:
' . "\n";
}
else
{
// do something different for procedural method
echo 'this is a procedure call
' . "\n";
}
}
}
$inst = new mrClass();
$inst->test();
mrClass::test();
?>
This would output:
this is an instance call
this is a procedure call
:-) Happy coding!
===============================================================================
Thank you victor AT fourstones DOT net.
I have written a function to do what victor has suggested, with the ease of use
of is_object. It can be used to replace is_object(), but has an extra field
[$check], to compare to a certain name. If $check is left empty, it will just
check if &$object is an object.
This could probably be cleaned up, but it's spaced out to be easy to read.
===============================================================================
I'm not even sure how to articulate this, so I'm going to just include test
code. Maybe someone else will someday wonder the same thing.
error_reporting(E_ALL);
class testParent
{
var $child;
function testParent()
{
$this->child = new testChild();
}
}
class testChild
{
function testChild()
{
}
}
$parent = new testParent();
$parent2 = 'foobar';
print join(',', Array(
is_object($parent) ? 'yes' : 'no',
is_object($parent->child) ? 'yes' : 'no',
is_object($parent2) ? 'yes' : 'no',
is_object($parent2->child) ? 'yes' : 'no'
));
?>
This prints "yes,yes,no,no". Basically this shows that you can use is_object to
test if the child object is an object without worrying about an error if the
parent object isn't an object either.
===============================================================================
cleaned up peter's code... use only one return statement
function is_obj( &$object, $check=null, $strict=true )
{
$result = false;
if (is_object($object)) {
if ($check == null) {
$result = true;
} else {
$object_name = get_class($object);
$result = ($strict === true)?
( $object_name == $check ):
( strtolower($object_name) == strtolower($check) );
}
}
return $result;
}
===============================================================================
here i created one function that i wanted to find but i had never found :X
function compare_two_object_recursive($object_1, $object_2,
$object_1_Identifier = false, $object_2_Identifier = false){
$object1 = (array)$object_1;
$object2 = (array)$object_2;
$object3 = array();
$o1i = $object_1_Identifier ? $object_1_Identifier : 1;
$o2i = $object_2_Identifier ? $object_2_Identifier : 2;
foreach($object1 as $key => $value){
if(is_object($object1[$key])){
$object1[$key] = (array)$object1[$key];
$object2[$key] = (array)$object2[$key];
$object3[$key] = (object)compare_two_object_recursive($object1
[$key], $object2[$key], $o1i, $o2i);
}elseif(is_array($object1[$key])){
$object3[$key] = compare_two_object_recursive($object1[$key],
$object2[$key], $o1i, $o2i);
}else{
if($object1[$key] == $object2[$key]){
$object3[$key]['comparison_status'] = "SAME";
}else{
$object3[$key]['comparison_status'] = "NOT THE SAME";
$object3[$key][$o1i] = $object1[$key];
$object3[$key][$o2i] = $object2[$key];
}
}
}
return $object3;
}
===============================================================================
Use instanceof() to check for a specific type.
===============================================================================
Cleaning it up even more:
===============================================================================
er, I don't think that's right, especially if calling from another object
instance:
function test_this()
{
$c2 = new C2();
$c2->func();
$c1 = new C1();
$c1->func();
C1::func();
}
class C2
{
function func()
{
C1::func();
}
}
class C1
{
function func()
{
if( isset($this) )
{
if( strtolower(get_class($this)) != 'c1' )
print("oops\n");
else
print("this is ok\n" );
}
else
{
print("static call\n");
}
}
}
test_this();
?>
yields:
---------- run-php ----------
oops
this is ok
static call
===============================================================================
Just discovered:
is_a ( object $object , string $class_name )
Which checks if the object is of this class or has this class as one of its
parents
Which seems to do what a lot here are trying to replicate


This port is the most northerly port in Bulgaria and the best port to clear in if coming from Romania.
When coming from the North (Romania) you will be called on VHF channel 16 by the Bulgarian border control authority when rounding Nos Kaliakra, requesting pertinent info. about boat and crew. They will also notify the border authorities in Balchik by telephone.
Approach from the East is straightforward with a breakwater clearly visible.
When coming from the South there is a permanent long fishing net set up a little to the West of the harbour entrance, with no lights.
The Town of Balchik becomes a busy seaside resort in the summer months. Its steep cobbled streets, Queen Mary's Palace and the botanical gardens all add to its interest as a port of call. There are many restaurants and bars and easy provisioning.
Position 43°24.0’N, 28° 09.8’E.
Port of Entry. See Bulgaria Formalities for further details.
If this is you first port of entry in Bulgaria you will need to complete entry procedures. The officials will call on VHF Ch16 when entering the harbour and direct you to the commercial dock. This is a huge concrete wall approximately 8 feet high, not ideal for berthing, however the officials are reported to be friendly and patient and will assist with mooring lines.
Clearance is straight forward; one form is to be completed and a crew list. The officials will then take these documents and passports to their office and return with them duly stamped. The completed form becomes the cruising permit for all of Bulgaria, to be surrendered when clearing out.
After completing the clearance procedure proceed to the inner harbour (old fishing harbour).
Last updated February 2016.
The protection in Balchik harbour is very good.
The inner harbour gives good protection for all weather conditions and winds from all directions. This harbour has been converted to a marina with floating finger pontoons. Depths vary and it is as shallow as 2.5 meters in some places, however at the pontoons the depth is 3.5m.
The pontoons are suitable for yachts up to 12m. While longer yachts can use them in fair weather, in strong northerly winds it might be safer to try and find a berth alongside if available.
Facilities are limited, but water and electricity are available on the pontoons and there are shower and laundry facilities nearby. Berthing charges remain at 2 Euros a metre, including water and electricity.
Note that the docks are public and there is no security. In the summer months the inner harbour is a popular place to stroll for locals and tourists alike.
Last updated February 2016.


Be serious with Parliament – Minority to absentee Majority
The Minority in Parliament has accused the Majority side of the House of not taking the business of the House seriously.
In a statement on Tuesday, 19 November 2019, the leadership of the Minority said it “notes with grave concern” the absence of the Majority side of the House “at the commencement of sitting”, a situation which, it said, prompted the Speaker, Prof Mike Oquaye “to suspend the sitting for an hour”.
“The House currently stands suspended as the leadership has gone into conclave on the matter”, the statement signed by Minority Leader Haruna Iddrisu said.
“It is worrying”, the Minority complained, “as the core business for Parliament this week is to deliberate on the financial policy of the government for 2020 as presented by the Finance Minister last Wednesday”.
“The budget debates are a crucial parliamentary function and the lack of interest of the Majority side of the House is disturbing”, the statement observed, adding: “The core mandate of oversight and scrutiny of appropriations is at the heart of Parliament and we would guard this role jealousy”.
The Minority said it is “committed to its role in protecting our democracy and maintaining a high level of dedication to our parliamentary work”.
“We urge the Majority side to take the government seriously and commit themselves to the mandate for which they have been elected. The people of Ghana deserve better”.


People still watch and care about sports. There will be masses of money and time spent....
“Nestlé Chairman: Water Not a Right, Should Be Given a ‘Market Value’ and Privatized.” wow.
Walking the line between pride and arrogance is tricky... especially when selling yourself.
Business, Business, Business, Business, Business, Business, Business, aaaannnnnd Business.
People still watch and care about sports. There will be masses of money and time spent....
“Nestlé Chairman: Water Not a Right, Should Be Given a ‘Market Value’ and Privatized.” wow.
Walking the line between pride and arrogance is tricky... especially when selling yourself.
Business, Business, Business, Business, Business, Business, Business, aaaannnnnd Business,.
People still watch and care about sports. There will be masses of money and time spent....
“Nestlé Chairman: Water Not a Right, Should Be Given a ‘Market Value’ and Privatized.” wow.
Walking the line between pride and arrogance is tricky... especially when selling yourself.
Business, Business, Business, Business, Business, Business, Business, aaaannnnnd Business,.


DataONE is a collaboration among many partner organizations, and is funded by the US National Science Foundation (NSF) under a Cooperative Agreement. Acknowledgement: This material is based upon work supported by the National Science Foundation under Grant Numbers 0830944 and 1430508. Disclaimer: Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. (MetacatUI v<%=MetacatUI.metacatUIVersion%>)


That's why they call it the "Boom"!note
On a small, single-masted ship, the sail will be large and the deck so small you have to watch for the boom — it's the spar under the sail. So when the sail moves, it's likely to swing suddenly across the deck and knock the sailor unaware in the head. Sometimes this results in unconsciousness. Sometimes the sailor is knocked into the water. And sometimes, the sailor is knocked unconscious into the water.
In some cases, the target of the boom will get a warning that it's coming... but usually the warning comes a mere second before the impact, doing the target no good whatsoever.
Very much Truth in Television. When the boat is jibing (changing the sail orientation by moving the stern into the wind, as opposed to tacking, turning the bow into the wind), the boom can very suddenly swing across the deck at high speed, which can lead to a concussion (or worse) for anyone not paying attention. Keeping your head down is one of the first things taught to beginning sailors.
Compare Plank Gag.
Examples:
- Cheaper by the Dozen: Happens to the father.
- One Crazy Summer.
- The Pirates of Penzance (the 1983 film) - The Pirate King runs into the boom during the Pirate King number (but it doesn't knock him overboard, though he does that later on his own).
- Pirates of the Caribbean: The Curse of the Black Pearl - Jack Sparrow does this intentionally to Will Turner.
- Sabrina - Happens to Linus Laraby in the remake.
- Joe Versus the Volcano - Happens to Patricia (Meg Ryan's third role) during a storm, knocking her out. Joe jumps in to save her, hero that he is.
- Done deliberately at the end of Wild Things. The victim is then left to drown.
- This is how the Leviathan actually kills the Viking captain in an infamous deleted opening for Atlantis: The Lost Empire.
- Played for laughs in the John Candy movie Summer Rental.
- In the novel Man of the Century, 15-year-old Woodrow Lowe stows away aboard the yacht belonging to the prominent Balfour family, to try and get close to his love, their daughter, Amy. Almost as soon as he tries to venture on deck, he is hit smack in the face with the boom, which knocks him clean off his feet and right into the harbor.
- In Kurt Vonnegut's novel God Bless You, Mr. Rosewater, Eliot Rosewater accidentally kills his mother when he takes her sailing on his small boat and tacks. The boom swung across, knocked her off the boat where she sank like a stone.
- Subverted in Dragondrums, in that Sebell, nautically inexperienced, doesn't react when warned to get out of the way of the boom. Fortunately for him, Menolly yanks him out of the way just in time.
- CSI: Miami. Played For Drama in an episode where a woman died as a result of getting struck with a boom, rupturing her breast implants
- Doctor Who, "The Curse of the Black Spot" - Happens to Rory.
- Happens to Pierce in Community episode "Beginner Pottery" while in a boating class. Only since the college is nowhere near water, the boat is in the middle of the parking lot, yet the instructor insists that they act as if they were at sea, and Pierce is essentially left to die.
- Top Gear: Happens whenever the trio are tasked with turning cars into watercraft. Inevitably, James May decides that making a sailing car is so much easier than a motorboat-car (which it is) and neglects this trope. Cue the boom smacking into his head every few minutes.
- There is a minor piece of Polish internet lore which is a humorous dictionary of nautical terms. The dictionary mentions that the boom's main purpose is to sweep landlubbers, annoying crewmembers and miscellaneous litter from the deck.
- The Simpsons, "Treehouse of Horror XXI" — It's how they kill Dr. House.
- Donald Duck:
- In Sea Scouts, Donald orders his nephews to hoist the sail on his ship, but they raise the boom rather than actually unfurl the sail. As Don commands them to lower the boom, they accidentally let go of their rope, causing it to drop onto their uncle.
Donald: Sometimes, they take me too literally!
- A Running Gag in No Sail involves Donald putting nickels in a coin-operated sailboat and getting hit on the head with the boom of the sail when it pops out. The third time this happens, Donald moves to the opposite side to avoid getting hit, but the boom lowers on that side as well.
- In Sea Scouts, Donald orders his nephews to hoist the sail on his ship, but they raise the boom rather than actually unfurl the sail. As Don commands them to lower the boom, they accidentally let go of their rope, causing it to drop onto their uncle.
- The New Adventures of Superman: In "Rain of Iron", Lois Lane is knocked out by the boom when she attempts to maneuver her sailboat to avoid a torpedo.
- This is supposedly the source of the Royal Navy acronym BOHICA: "Bend Over, Here It Comes Again". It's claimed that the acronym references this trope, but it's also likely to be an example of Getting Crap Past the Radar.
- A regular source of call-outs for coastal search and rescue organisations anywhere there's a lot of amateur sailors.


Temperature in
search for your city
Thermostat
Current Temperature
°C
powerSavingMode On or Off
Current Energy Usage
load
save


| CN ID |
{{release.isParent ? release.contracts[0].id : release.contracts[0].amendments[0].id}} |
| Publish Date |
{{release.date}} |
| Description |
|
| Status |
{{release.contracts[0].status}} |
| Procurement Method |
{{release.tender.procurementMethodDetails}} |
| Start Date |
{{release.contracts[0].period.startDate}} |
| End Date |
{{release.contracts[0].period.endDate}} |
| Value |
{{release.contracts[0].value.amount | currency}} |
| Supplier Name |
{{release.parties[0].name}} |
| Town/City |
{{release.parties[0].address.locality}} |
| State/Territory |
{{release.parties[0].address.region}} |
| Postcode |
{{release.parties[0].address.postalCode}} |
| Country |
{{release.parties[0].address.countryName}} |
| Amendments |
|


| 330004744 |
US President |
1 |
| 330004752 |
US House of Representatives District 02 |
1 |
| 330004800 |
NC Governor |
1 |
| 330004804 |
NC Lieutenant Governor |
1 |
| 330004808 |
NC Attorney General |
1 |
| 330004812 |
NC Auditor |
1 |
| 330004816 |
NC Commissioner of Agriculture |
1 |
| 330004820 |
NC Commissioner of Insurance |
1 |
| 330004824 |
NC Commissioner of Labor |
1 |
| 330004828 |
NC Secretary of State |
1 |
| 330004832 |
NC Superintendent of Public Instruction |
1 |
| 330004836 |
NC Treasurer |
1 |
| 330004932 |
NC State Senate District 24 |
1 |
| 330005292 |
NC House of Representatives District 064 |
1 |
| 330005570 |
Supreme Court Associate Justice (Newby) |
1 |
| 330005572 |
Court of Appeals Judge (Mcgee) |
1 |
| 330005574 |
Court of Appeals Judge (Bryant) |
1 |
| 330005576 |
Court of Appeals Judge (Thigpen) |
1 |
| 330005746 |
District Court Judge District 15A (Lambeth) |
1 |
| 330005748 |
District Court Judge District 15A (Overby) |
1 |
| 330005750 |
District Court Judge District 15A (Roberson) |
1 |
| 33001408 |
Alamance County Commissioner |
1 |
| 33001412 |
Alamance Register of Deeds |
1 |
| 33001416 |
Alamance Board of Education |
1 |
| 33001417 |
Alamance Soil and Water Conservation District Supervisor |
1 |


---
layout: post
title: Mumbai diary
date: 2008-10-08 16:03:48.000000000 +05:30
categories:
- pointless
tags: []
status: publish
type: post
published: true
meta:
_edit_last: '1'
author:
login: admin
email<EMAIL_ADDRESS>display_name: admin
first_name: ''
last_name: ''
---
I was in Mumbai the last two days for a Visa interview (I'll be speaking at the GUSES conference). Below are a few notes in no particular order:
[caption id="" align="alignnone" width="400" caption="Gateway of India, Mumbai"][/caption]
- Friendly people
- Very few touristy spots
- The Churchgate to Chaupati walk (and those tetrahedral shaped stones along the sea) is beautiful
- Tall buildings
- Good bus service
- Crowded trains
- Travel is cheaper than Bangalore
- Food is a tad more expensive
- Traffic woes like Bangalore
- Chaupati beach has good chats and a great view
- People actually voluntarily formed a queue at the bus stop. Now thats a new one.

- Feels good to speak in fluent Hindi than awkward Kannada (I'm ashamed I haven't learned Kannada better)
- Gateway of India is not the India Gate.
- It looks just like in pictures.
- I'm called 'Seth'
- The National Museum of Modern art is worth checking out if you're in the area. (And so is the Salar Jang Museum In Hyderabad.. the Veiled Rebecca is as good as it is said to be). Check these out if you're in the area.
Also
- How cool is it to fly a few meters above clouds?! This happened on the way to Mumbai, and we were at the cloud altitude for around 5 minutes. Most passengers were busy reading or sleeping and I couldn't believe it. The view outside was magnificent (and it doesn't get boring after a few times). Just wonder.. a 100 years ago, people would have given an arm and a leg for a chance to fly above the clouds.
- And if that wasn't enough, the return trip was at night over a thunderstorm. Seeing lightning from above is an experience not to be missed :) Of course, most of the other folks were sleeping/eating.
Thats it. Overall Mumbai gets a thumbs up.


Choose Issapizza for the most delicious pizza.The pizza dough is produced in-house daily and the reason why the taste is unbelievable.
We offer a variey of flavours and you can also choose the toppings you want for your pizza.The pizza are made in high heiginic environment hence safe from bacterial infections.
Our pizzas are packed in foil paper and covered in package that is easy to carry around for you and your loved ones. The pizza is delivered together with free soda for you.
You can place your order right away and choose what kind of pizza you want and the toppings for it.
Your order will be processed and delivered within one hour of placing.
Make sure you have the total amout for the order during order delivery delivery.
Incase of any comment of complaint, Please reach out to us as fast as possible.
Regards, Management
| Delivery | Total | |
|---|---|---|
Please state the location to be delivered!


The Austin/Travis County Health and Human Services Department conducts the permitting and inspection of over 4000 food establishments in Austin, several local municipalities and rural Travis County.
The inspection scores are published on the City of Austin data portal.
This website allows you to search the restaurant score data.
Just type your search criteria into the box and click the "Search" button.
You can search on a restaurant name, street address, city, or zip.
Searches are case insensitive. For instance, "LAMAR" and "lamar" match the same things.
Searches must match exactly. For instance, "MoPac Expressway" will not match "MoPac Expy".
The search tries to be smart about punctuation and pluralization. For instance, "Starbucks" also will match "Starbuck's". For that matter, just "Starbuck" will match both as well.
For best results, simple queries such as "Trudys" or "Anderson" work best.
Visit the City of Austin Health and Human Services Department for more information about restaurant inspection and scoring.
Visit the City of Austin Data Portal for more information about the city's open data initiative. The source data for this site is here.
This project was conceived at the demo hackathon held at the ATX Civic Tech Expo, Thursday, May 23, 2013 at Austin City Hall.
Project contributors include: Aaron Hodin, Chip Rosenthal, Harold Daniel, Herb Watkins, Hùng X. Lê, Ksenia Zemlyanova, Kye Hittle, Patrick Hughey, and Sarah Lambert.
This project is open source, and you can participate by downloading at: https://github.com/open-austin/atx-restaurant-scores.
More information about the app development can be found here: http://atxhack.wikispaces.com/Restaurant+Scores
Open Austin is a local, volunteer advocacy group. We advocate for open government, open data, and civic technology. This service was created by our volunteer hackers, and presented as a public service.


{% extends "global/Page.html" %} {% load staticfiles otree %} {% block title %} Final page {% endblock %} {% block content %}
This was the last market session in the experiment. Your total payoff is: {{player.participant.payoff}}.
Your payment is: {{player.participant.payoff_plus_participation_fee}}.
{% endblock %}


Solestruck uses Braintree, a division of Paypal, Inc. (Braintree) for payment processing. In order for you to use Braintree's payment processing services, you must enter into the Merchant Services Agreement (MSA) with Braintree and its sponsoring bank. The MSA is available at www.braintreepayments.com/agreements/merchant.
By accepting this Agreement, you agree: (a) that you have downloaded or printed the MASA, and (b) that you have reviewed and agree to the MSA. Please note that Solestruck is not a party to the MSA and that you, Braintree and Braintree's sponsorting bank are the three parties to the MSA and that Solestruck has no obligations or liability to you under the MSA. If you have questions regarding the MSA, please contact Braintree at<PHONE_NUMBER>.
Is you bank located in the United States or is it
Outside of the USA?
This is how we verify you;re a real business.
For International Partners, we currently can only send funds to a paypal account where you can then transfer to your bank.
This is how we send money from sales to you. Either connect to your bank or Venmo account.
Simple contact info to know who we're talking to. We don't use this info for transactions
Please Select ...
Please Select ...
Upon approval, you'll recive an email with additional info about how to start seeling your products as a Solestruck Partner.
If you have any questions in the meantime, please contact us via email or<PHONE_NUMBER>.


Rain results in flooding, landslips at 14 locations
Vehicles washed away due to flash floods in Coonoor
by Staff ReporterHeavy rain led to flash floods and landslips in and around Coonoor on Sunday morning.
After a spell of heavy rain from Saturday night to Sunday morning, ten motorcycles and a few cars were washed away when the Coonoor river overflowed.
Fire and Rescue Services personnel said a section of the river, which narrows at a particular area, flooded the surrounding roads on Sunday morning, resulting in vehicles parked by the side of the road near Krishnapuram in Coonoor getting washed away. The fire service personnel were trying to retrieve the vehicles.
Landslips were also reported in 14 locations along the Coonoor to Mettupalayam Road and the Coonoor to Ooty Road, leading to traffic to Udhagamandalam town being diverted via Kotagiri Road on Sunday morning.
Officials from the National Highways said eight of the landslips were major and that five earthmovers worked since early Sunday morning to clear the roads of traffic. Most of the landslips were cleared by afternoon, they said. The Nilgiris district administration said Coonoor town received around 139 mm of rainfall till Sunday morning.


Stop Procrastion will block any websites on this list as long as Blacklist or a timer is enabled at the time


Whatever your figure or dress dreams, I can design the perfect garment for you, creating something individual that reflects your personality and flatters your figure at a price you can afford. Every dress I create is unique, and with hundreds of fabric samples for you to peruse, you can have a dress that really is like no other, and will fit you perfectly without having to pay for alterations on top of a costly dress from a bridal boutique store. I also design and make matching bags, ties and cravats, waistcoats, bridesmaid dresses, veils, mother of the bride outfits, and other accessories. Contact me for a no obligation initial appointment to discuss your dress needs and desires.


The New ‘Cats’ Trailer Is Full Of Magic
by Shakiel MahjouriThe cast of the live-action “Cats” movie are bringing the magic in a new trailer.
Taylor Swift, Judi Dench, James Corden, Jason Derulo, and more star in the followup clip to the first, which generated mixed reaction to the human-cat hybrids’ appearances.
“Tonight is a magical night where I choose the cat that deserves a new life,” Judi Dench’s character says in the trailer above. “Watch out for the crazy cat lady,” Rebel Wilson’s character adds.
“Cats” dances its way into theatres on Dec. 20.


Im trying to make a sorceror for a low level mid range magic world but i dont usually play mages.What im looking for is hopefully a human with which feats and where to put skill points theres a lot of undead in the server??
or would I be better of making a wizard this doesnt have to be a super powered wonder just someone who isnt going to get his butt kicked 24/7 thanks
Edited By steviesatan on 11/11/05 13:29
Are you serious? A lv 10 capped server? Lets see, you get 4 feats as sorc and 6 feats as wiz. BOth same hps. Wiz gets spell lvls faster. Id go wiz. That would at least get you some metafeats. Take spell penet/gr foci in extend spell.
My real suggestion: move to another server!  Id last bout 2 hours!).
Good luck.
Sorry its not a capped server but xp is very low so it takes a while to gte even to lvl 10 thats why i thought of the lvl 10. I was just curious as to a build that may work like palemaster etc as im not sure of spellcasters i was just looking for some info into making a character that could stay alive but still have some offensive/defensive abilities.
Palemaster isnt a class to look at for offensive abilities They dont get much castin abilities NOR melee abilities...
The "best" option you have IF you are going to stay at a low level, as a caster, is to stick with one class. multiclasses really only work if you are going to go to 20 and beyond. For off/def look to the cleric!
What I suggest though is to get into the pw! If you enjoy the world play it!  Enjoy.


Written & Directed by Larry & Andy Wachowski
The cinematography is stunning! At the beginning of the film at the discotech, Keanu Reeves and Carrie-Anne Moss are face to face...the camera closes in on Keanu with a blue light throbbing in the background...that sets the tone for the rest of the film. For two and a half hours we get breathtaking shots and bleak gloom and doom, it is quite a contrast.
A friend noted how there was much dialogue and less action for the first portion of the film (Kevin Maynard's review on Mr. Showbiz pointed out Keanu has limited dialogue...interesting... hey, how many words did Arnold Terminator speak in the first movie? 64???)...
Laurence Fishburne's Morpheus is quite good. At first he seems evil - would you trust him? Then he becomes the teacher - "morphing" Keanu's character to this next level of development.
Hermetic Philosophy, Star Wars, Bruce Lee, ahh...but the real twist is how this film is in reality a combination of Total Recall and Terminator 1 and 2. That is the key which makes this work on many levels.
Where so much science fiction is derivative in a bad way, watering down what came before (how many bad Star Wars clones will emerge in July and August after Chapter 1 gets unleashed?) ..The Matrix is a clever script, solid acting (Joe Pantoliano's best role...you won't recognize him for awhile)...this movie gets you thinking.
The Oracle is the other side of Yoda. Her "students" are thought provokers, and through it all, one wonders if The Matrix isn't really Morpheus (a combination of Morphing and Orpheus), and The Oracle playing mind games to help an individual get to their next level of existence.
In other words, Keanu Reeves isn't only "The One", anyone walking the path is a candidate. Anyone.
c1999 Visual Radio Reviews
joe viglione producer/host VISUAL RADIO tel:(781)YELL FUN
http://pages.prodigy.net/millermedia/pubmac/
Visual Radio Productions P.O. Box 2392 Woburn, MA 01888
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


| 2 = independent, 1 = assistance required, 0 = no complete | |
| Step | Score |
| [.5em]Create a folder called "Math." | |
| Create a file called Äddition." | |
| Write an appropriate heading. | |
| Leave a blank line between your heading and document. | |
| Number the problems appropriately. | |
| Switch between applications as necessary. | |
| Use the calculator to obtain results. | |
| Insert the result into a word document. | |
| Clear the calculator when needed. | |
| Print or turn the document in as required. |


|
In the house where I grew up, my bedroom had one overhead light and a lamp or two. I can’t remember the lamp or lamps because I never used them; I flipped the switch by the door to turn on the ceiling light and then immediately stopped thinking about the lighting situation. If I had light enough to read by — and I was one who often squinted at pages in the backseat of cars on the dark drive home from family parties — that was enough, and I had better things to think about.
This was unacceptable to my mom, who seemed to have a moral aversion to overhead light. Whenever she needed to pop her head into my bedroom to deliver some news or ask some question, she’d glance around and ask, “Don’t you want some better light in here?” On the days when she took my shrug for a yes she’d make the rounds to the lamp or lamps in what looked to me to be an unnecessarily fiddly process when there was a perfectly good on/off switch on the wall, and then, satisfied with her work, say, “There! Isn’t that better?” On the days when she took my shrug for a no she’d smile and say, “Alright,” in the way of mothers everywhere (though I suspect mine is particularly adept at it) that says, “Your life choices are objectively incorrect but I’m not going to fight you on this.” And she’d duck back out the door to leave me to my glaring overhead light.
I took her bustling re-lighting habit as, at worst, mildly controlling, and at best, an endearingly baffling personality quirk. What I missed at the time was her relish of warm atmospherics that she’s passed on to me: the same impulse that prompts her to fill the house with fresh-cut flowers or pretty branches year-round and always hand me a lap pillow and a cloth napkin when I snack on the couch. I would never have categorized her as a homemaker, but she does take pleasure in making whatever space she’s in comfortable and expressive.
When I had my heart broken for the first time, I was living in a drafty three-bedroom apartment where most of the furniture was hand-me-downs or curb scores and the mantle was inexplicably filled with toys and stuffed animals. My bedroom contained an $80 mattress and not much else. Shortly after I was dumped, the overhead light in my room burned out and the ceiling was too high for me to reach, even standing on a chair. This felt symbolic: partly because my lost love had hated that harsh light, teasing me for living in an interrogation room; partly because he was tall enough that he could have replaced it, had he still been around; but mostly because everything feels symbolic when your heart is hurting and healing. I bought a cheap floor lamp and lit some candles. In the newly gentle light, the walls of my room hugged in around me. With a mug of hot chocolate, I sat cross-legged on my mattress on the floor and said aloud, “Yeah, this is better.”
Lately I’ve been buying lamps at a rate that suggests some primal part of me is determined to push away the dark. Floor lamps, shelf lamps, edison bulbs, light-up bonsai trees from targeted ads; they fill my apartment with their gentle glow. The unnecessarily fiddly process of touching each one on, deciding which brightness to set the three-way bulbs, readjusting as the sun peers out from behind a cloud or sinks down below the skyline, gives me a Hobbit-like joy of place. On the good days, I am overwhelmed with gratitude for the comforting home I have made for myself, my beloved first solo apartment, my longest-held address since I left my childhood home. On the bad days, I try to let the golden light around me ease my soul in some small way.
Of course it feels like a metaphor. Everything does. But it also just feels nice, and that’s enough of a blessing.
|
|
The Shim Sham is a line dance for swing dancers, typically performed to the song T’ain’t What You Do (It’s The Way That You Do It) by Jimmie Lunceford, a must-play at any swing dance event. It’s very fun to dance and 95% of people look incredibly dumb doing it, which is part of the reason I love it. Last week a friend asked me to teach it to her over facetime and we had such a blast. If you need an excuse to wiggle your body and a distraction from, you know, [gestures wildly], I highly recommend giving it a try (or ask me to teach it to you over facetime! Note: I am a bad teacher). Alternatively, learn a TikTok dance because why not (a different friend taught me this one on a different video call last week and it was also extremely fun).
|
|
Got a recommendation of your own? Hit reply; I’d love to hear from you.
Subscribe, unsubscribe, or learn more on the website.
This surprise Monday edition of May I Recommend was written from a beautifully lit apartment in Chicago, Illinois.
We made it through this whole newsletter without an Anchorman reference. Good job, team.
|


Branded Logo Navigation Bars
The
.navbar-brand
class is used to highlight the brand/logo.project name of your page:
Brand Text:
LOGO
Link 1
Link 2
Link 3
Brand Image:
Link 1
Link 2
Link 3


dead_code_scanner
¶
This tool detects likely dead code in Logtalk entities and in Prolog modules compiled as objects. Predicates (and non-terminals) are classified as dead code when:
There is no scope directive for them.
They are not called, directly or indirectly, by any predicate with a (local or inherited) scope directive.
Predicates (and non-terminals) listed in uses/2
and use_module/2
directives but that are not used are also classified as dead code.
Besides dead code, this tool can also help detect other problems in the
code that often result in reporting false positives. For example, typos
in alias/2
directives, missing scope directives, and missing
meta_non_terminal/1
and meta_predicate/1
directives.
Given the possibility of false positives, care must be taken before deleting reported dead code to ensure that it’s, in fact, code that is not used. A common cause of false positives is the use of conditional compilation directives to provide implementations for predicates missing in some systems.
The dead_code_scanner.lgt
source file implements the scanning
predicates for finding dead code in entities, libraries, and
directories. The source file dead_code_scanner_messages.lgt
defines
the default translations for the messages printed when scanning for dead
code. These messages can be intercepted to customize output, e.g. to
make it less verbose, or for integration with e.g. GUI IDEs and
continuous integration servers.
API documentation¶
To consult this tool API documentation, open in a web browser the link:
docs/library_index.html#dead-code-scanner
For sample queries, please see the SCRIPT.txt file in the tool directory.
Known issues¶
Use of local meta-calls with goal arguments only known at runtime can
result in false positives. When using library or user-defined
meta-predicates, it can be helpful to compile the source files with the
optimize
flag turned on so that the meta-calls may be resolved at
compile time and thus allow calling information for the meta-arguments
to be recorded, avoiding false positives for predicates that are only
meta-called.
Other notes¶
All source files are formatted using tabs (the recommended setting is a tab width equivalent to 4 spaces).


Hello World!
Let's play a get to know each other game
What is your name?
What is your favorite outdoor activity?
What is your favorite snack to eat?
What is your favorite food to make?


authors: Joseph Marcus, Hussein Al-Asadi
In our previous work we emphasized modeling genotypes being generated under the Wright-Fisher Markov Chain. This allowed us to model correlations across time and learn interesting population genetic parameters. Unfortunately, a lot of ancient DNA data is sparse through time and the structure of these correlations can actually be quite complicated (a single population model with constant effective size is unlikely).
Maybe if we can shift our focus on obtaining the posterior distribution on the genotypes given the read data, taking advantage of the correlation structure due to LD. This approach has a advantage in that we observe many strongly correlated observations along the chromosome (in the reference panel) and the correlation structure depends on recombination. Of course there are caveats in this approach if there is population structure in the reference panel or our ancient individual is strongly diverged from the reference panel but it seems worthwhile to explore.
Lets consider a single individual where we observe read data $p$ SNPs. Following Wen and Stephens 2010 we let $\mathbf{g}_i$ be a $p$ vector of genotypes for the $i$th individual whose modeled as multivariate normal distribution. The first two moments ($\mu$,$\mathbf{\Sigma}$) of the distribution are analytically derived from the Li and Stephens model and the sample covariance matrix of the reference panel is shrunk to be banded and sparse, allowing increased computationally efficiency for inversion. We extend this framework by adding an additional emission for the read data in which we consider a Normal approximation to the Binomial likelihood which allows us to have major boosts in computation efficiency.
$$ \begin{aligned} \mathbf{g}_i | \sigma^2 &\sim \mathcal{N}\big(\hat{\mathbf{\mu}}, \sigma^2\hat{\mathbf{\Sigma}} \big) \\ \mathbf{y}_i | \mathbf{g}_i &\sim \mathcal{N}\Bigg(\mathbf{c}_i \cdot \frac{\mathbf{g}_i}{2}, diag\Big(\mathbf{c_i} \cdot \frac{\mathbf{g}_i}{2} \big(1 - \frac{\mathbf{g}_i}{2}\big)\Big) \Bigg) \end{aligned} $$
where $\mathbf{y}_i$ is a $p$ vector storing the number of reads that contain the counted allele, $\mathbf{c}_i$ is a $p$ vector storing the total number of reads.
If we can somehow figure out a easy way to fix $diag\Big(\mathbf{c_i} \cdot \frac{\mathbf{g}_i}{2} \big(1 - \frac{\mathbf{g}_i}{2}\big)\Big)$ then we can take an Empirical Bayes approach obtaining the posterior distribution of the genotypes $\mathbf{g}_i | \mathbf{y}_i$ by integrating out $\mathbf{g}_i$ and using maximum likelihood to estimate $\sigma^2$. We can then plug in this point estimate into the model to obtain a conjugate update to compute the posterior distribution the genotypes given the read data. Note that this could be a highly parallelizable problem as we can compute posterior distributions in each individual separately and each chunk of a chromosome separately.


Oaxaca, also known as Queso Oaxaca, Asadero or Quesillo is a Mexican name for a semi-soft, white, string-type, Hispanic-style cheese made from cow's milk. Belonging to the pasta filata family, similar to a Mozzarella, Oaxaca is a stretched curd cheese, kneaded and sold in long ropes gently wound in balls.
One of the artisanal cheeses, Oaxaca has savory mellow buttery flavour and is a great melting cheese. The little salty and mild flavour make it is one of the most popular cheeses for preparing quesadillas. In addition, Oaxaca is an excellent stuffing cheese in baking recipes. In both texture and flavour, it can be compared to a young Monterey Jack cheese. Although the cheese lacks a strong flavour, its mild taste is a favorite with kids.
Other cheeses from Mexico:
Top photos from Twitter


Given a statement \(p\text{,}\) we say that a statement \(q\) is equivalent to \(p\) if they have the same truth value. We denote equivalent statements, \(p\) and \(q\text{,}\) by
For example, \(\neg(p\vee q)\equiv \neg p\wedge \neg q\) because for corresponding values of \(p\) and \(q\text{,}\) these compound statements have the same truth results. This can be seen by examining the truth tables below:
in-context


If any of the following four rules is not followed, you cannot pass the final exam in the current academic year:
Text books to buy for a total amount 300 euros
Compulsory attendance: at least 90% of the lectures
Three exam sessions, you choose one only
Max score for less than 98% attendance: 27 (out of 30)
Did some of you have experienced any of the aforementioned points in the past? – Raise your hands if you were obliged:
to buy one or more books
to attend mandatorily a large part of the course for attending the final exam
not to participate to an exam session for some informal rule imposed by the professor
not to receive the maximum score if you attended the exam without addending the lectures
Let's see the rule of this course
No text books needed for passing the exam - the material can be found on the GitHub repository of the course
If you cannot attend, do not attend (even if attendance is recommended: you can ask questions)
At least six exam sessions per academic year
Max score one can obtain is 42 (out of 30)
All the material is available in the GitHub repository of the course at https://github.com/essepuntato/comp-think/
Two kinds of objects:
slides: a summary of the topics introduced in the lectures - available few minutes before each lecture
lecture notes: an extensive text describing the topics introduced in all the lectures - available few minutes after each lecture
Have you found a mistake in the material? Please write me an email at<EMAIL_ADDRESS>A mailing list has been set up where I will send all the communication for the course
You need to mandatorily subscribe to it
Open a browser and go to https://www.dsa.unibo.it/
Log in with your University email
Look for the mailing list (Liste docenti-studenti
) - the name of the list is compthink1718
Subscribe to it (password needed, please ask it to me)
Then, you can send directly emails to<EMAIL_ADDRESS>Theoretical part (30 hours), where I will introduce all the notions related to the course - no computer needed: every Monday, Wednesday and Friday for 15 lectures (today included)
Laboratorial part (16 hours), where Dr. Marilena Daquino will have some practical lectures on programming languages - computer needed here:
12 December: 15:30 - 18:30
14 December: 15:30 - 18:30
15 December: 12:30 - 15:30
18 December: 9:30 - 11:30
19 December: 15:30 - 18:30
20 December: 9:30 - 11:30
Two partial written examinations – they are not mandatory, but recommended – held during the lectures (no dates defined, surprise surprise): score <= 5 for each examination (max. score: 10)
Implementation of a project in Python: score <= 8
Oral colloquium on the project: -8 <= score <= 8
Final written examination: score <= 16
Total max. score: 42 (32 without the partial written examinations) out of 30
Please do ask questions
There are no stupid questions
My answers can be odd though, sometime
Thus, in order to avoid such odd answers, I could ask you to be patient and wait for the next lecture, so as to provide you with the best possible answer ever


You can make playlists to group games together however you like, and share with other users. Think of it as a mix tape you can recommend to people.
Playlists are private (only you can see) until you publish them for others to see. Create and add games to your playlist through the Games List


Note:
1. Please clear the cookies from browser.
2. This level is same as its previous level, just the difference is JWT is passed in Authorization Header.
The reason for adding this level is that scanner generally don't inject payloads in Authorization header as
it can break scan rule but for JWT, this is an important header and should be injected and operated upon.


Waybills Report
Table List View
| Rendering engine | Browser | Platform(s) | Engine version | CSS grade |
|---|---|---|---|---|
| Trident | Internet Explorer 4.0 | Win 95+ | 4 | X |
| Trident | Internet Explorer 5.0 | Win 95+ | 5 | C |
| Trident | Internet Explorer 5.5 | Win 95+ | 5.5 | A |
| Trident | Internet Explorer 6 | Win 98+ | 6 | A |
| Trident | Internet Explorer 7 | Win XP SP2+ | 7 | A |
| Trident | AOL browser (AOL desktop) | Win XP | 6 | A |
| Gecko | Firefox 1.0 | Win 98+ / OSX.2+ | 1.7 | A |
| Gecko | Firefox 1.5 | Win 98+ / OSX.2+ | 1.8 | A |
| Gecko | Firefox 2.0 | Win 98+ / OSX.2+ | 1.8 | A |
| Gecko | Firefox 3.0 | Win 2k+ / OSX.3+ | 1.9 | A |
| Gecko | Camino 1.0 | OSX.2+ | 1.8 | A |
| Gecko | Camino 1.5 | OSX.3+ | 1.8 | A |
| Gecko | Netscape 7.2 | Win 95+ / Mac OS 8.6-9.2 | 1.7 | A |
| Gecko | Netscape Browser 8 | Win 98SE+ | 1.7 | A |
| Gecko | Netscape Navigator 9 | Win 98+ / OSX.2+ | 1.8 | A |
| Gecko | Mozilla 1.0 | Win 95+ / OSX.1+ | 1 | A |
| Gecko | Mozilla 1.1 | Win 95+ / OSX.1+ | 1.1 | A |
| Gecko | Mozilla 1.2 | Win 95+ / OSX.1+ | 1.2 | A |
| Gecko | Mozilla 1.3 | Win 95+ / OSX.1+ | 1.3 | A |
| Gecko | Mozilla 1.4 | Win 95+ / OSX.1+ | 1.4 | A |
| Gecko | Mozilla 1.5 | Win 95+ / OSX.1+ | 1.5 | A |
| Gecko | Mozilla 1.6 | Win 95+ / OSX.1+ | 1.6 | A |
| Gecko | Mozilla 1.7 | Win 98+ / OSX.1+ | 1.7 | A |
| Gecko | Mozilla 1.8 | Win 98+ / OSX.1+ | 1.8 | A |
| Gecko | Seamonkey 1.1 | Win 98+ / OSX.2+ | 1.8 | A |
| Gecko | Epiphany 2.20 | Gnome | 1.8 | A |
| Webkit | Safari 1.2 | OSX.3 | 125.5 | A |
| Webkit | Safari 1.3 | OSX.3 | 312.8 | A |
| Webkit | Safari 2.0 | OSX.4+ | 419.3 | A |
| Webkit | Safari 3.0 | OSX.4+ | 522.1 | A |
| Webkit | OmniWeb 5.5 | OSX.4+ | 420 | A |
| Webkit | iPod Touch / iPhone | iPod | 420.1 | A |
| Webkit | S60 | S60 | 413 | A |
| Presto | Opera 7.0 | Win 95+ / OSX.1+ | - | A |
| Presto | Opera 7.5 | Win 95+ / OSX.2+ | - | A |
| Presto | Opera 8.0 | Win 95+ / OSX.2+ | - | A |
| Presto | Opera 8.5 | Win 95+ / OSX.2+ | - | A |
| Presto | Opera 9.0 | Win 95+ / OSX.3+ | - | A |
| Presto | Opera 9.2 | Win 88+ / OSX.3+ | - | A |
| Presto | Opera 9.5 | Win 88+ / OSX.3+ | - | A |
| Presto | Opera for Wii | Wii | - | A |
| Presto | Nokia N800 | N800 | - | A |
| Presto | Nintendo DS browser | Nintendo DS | 8.5 | C/A1 |
| KHTML | Konqureror 3.1 | KDE 3.1 | 3.1 | C |
| KHTML | Konqureror 3.3 | KDE 3.3 | 3.3 | A |
| KHTML | Konqureror 3.5 | KDE 3.5 | 3.5 | A |
| Tasman | Internet Explorer 4.5 | Mac OS 8-9 | - | X |
| Tasman | Internet Explorer 5.1 | Mac OS 7.6-9 | 1 | C |
| Tasman | Internet Explorer 5.2 | Mac OS 8-X | 1 | C |
| Misc | NetFront 3.1 | Embedded devices | - | C |
| Misc | NetFront 3.4 | Embedded devices | - | A |
| Misc | Dillo 0.8 | Embedded devices | - | X |
| Misc | Links | Text only | - | X |
| Misc | Lynx | Text only | - | X |
| Misc | IE Mobile | Windows Mobile 6 | - | C |
| Misc | PSP browser | PSP | - | C |
| Other browsers | All others | - | - | U |


Getting Started with HLS¶
The Vitis vision library can be used to build applications in Vivado® HLS as well as Vitis HLS. This section provides details on how the Vitis vision library components can be integrated into a design in Vivado HLS or Vitis HLS 2020.1. This section of the document provides steps on how to run a single library component through the Vivado HLS or Vitis HLS 2020.1 flow which includes, C-simulation, C-synthesis, C/RTL co-simulation, and exporting the RTL as an IP.
You are required to do the following changes to facilitate proper functioning of the use model in Vivado HLS 2020.1. This is not applicable when using Vitis HLS.:
- Use of appropriate compile-time options - When using the Vitis vision
functions in Vivado HLS, the
-std=c++0x
option need to be provided as a compilation flag.
HLS Standalone Mode¶
The HLS standalone mode can be operated using the following two modes:
- Tcl Script Mode
- GUI Mode
Tcl Script Mode¶
Use the following steps to operate the HLS Standalone Mode using Tcl Script. The first 2 steps are applicable to Vivado HLS only:
- In the Vivado® HLS tcl script file, update the cflags in all the add_files sections.
- Add the
-std=c++0x
compiler flags. - Append the path to the vision/L1/include directory, as it contains all the header files required by the library.
Note: When using Vivado HLS in the Windows operating system, provide the
-std=c++0x
flag only for C-Sim and Co-Sim. Do not include the flag
when performing synthesis.
For example:
Setting flags for source files:
add_files xf_dilation_accel.cpp -cflags "-I<path-to-include-directory> -std=c++0x"
Setting flags for testbench files:
add_files -tb xf_dilation_tb.cpp -cflags "-I<path-to-include-directory> -std=c++0x"
GUI Mode¶
Use the following steps to operate the HLS Standalone Mode using GUI:
Open Vivado® HLS or Vitis HLS in GUI mode and create a new project
Specify the name of the project. For example - Dilation.
Click Browse to enter a workspace folder used to store your projects.
Click Next.
Under the source files section, add the accel.cpp file which can be found in the examples folder. Also, fill the top function name (here it is dilation_accel).
Click Next.
Under the test bench section add tb.cpp.
Click Next.
Select the clock period to the required value (10ns in example).
Select the suitable part. For example,
xczu9eg-ffvb1156-2-i
.Click Finish.
Right click on the created project and select Project Settings.
In the opened tab, select Simulation.
Files added under the Test Bench section will be displayed. Select a file and click Edit CFLAGS.
Enter
-I<path-to-include-directory> -std=c++0x
.Note: When using Vivado HLS in the Windows operating system, make sure to provide the
-std=c++0x
flag only for C-Sim and Co-Sim. Do not include the flag when performing synthesis.Select Synthesis and repeat the above step for all the displayed files.
Click OK.
Run the C Simulation, select Clean Build and specify the required input arguments.
Click OK.
All the generated output files/images will be present in the solution1->csim->build.
Run C synthesis.
Run co-simulation by specifying the proper input arguments.
The status of co-simulation can be observed on the console.
Constraints for Co-simulation¶
There are few limitations in performing co-simulation of the Vitis vision functions. They are:
- Functions with multiple accelerators are not supported.
- Compiler and simulator are default in HLS (gcc, xsim).
- Since HLS does not support multi-kernel integration, the current flow also does not support multi-kernel integration. Hence, the Pyramidal Optical flow and Canny Edge Detection functions and examples are not supported in this flow.
- The maximum image size (HEIGHT and WIDTH) set in config.h file should be equal to the actual input image size.
AXI Video Interface Functions¶
Vitis vision has functions that will transform the xf::cv::Mat into Xilinx®
Video Streaming interface and vice-versa. xf::cv::AXIvideo2xfMat()
and
xf::cv::xfMat2AXIVideo()
act as video interfaces to the IPs of the
Vitis vision functions in the Vivado® IP integrator.
cvMat2AXIvideoxf<NPC>
and AXIvideo2cvMatxf<NPC>
are used on the host side.
| Video Library Function | Description |
|---|---|
| AXIvideo2xfMat | Converts data from an AXI4 video stream representation to xf::cv::Mat format. |
| xfMat2AXIvideo | Converts data stored as xf::cv::Mat format to an AXI4 video stream. |
| cvMat2AXIvideoxf | Converts data stored as cv::Mat format to an AXI4 video stream |
| AXIvideo2cvMatxf | Converts data from an AXI4 video stream representation to cv::Mat format. |
AXIvideo2xfMat¶
The AXIvideo2xfMat
function receives a sequence of images using the
AXI4 Streaming Video and produces an xf::cv::Mat
representation.
API Syntax
template<int W,int T,int ROWS, int COLS,int NPC>
int AXIvideo2xfMat(hls::stream< ap_axiu<W,1,1,1> >& AXI_video_strm, xf::cv::Mat<T,ROWS, COLS, NPC>& img)
Parameter Descriptions
The following table describes the template and the function parameters.
| Parameter | Description |
|---|---|
| W | Data width of AXI4-Stream. Recommended value is pixel depth. |
| T | Pixel type of the image. 1 channel (XF_8UC1). Data width of pixel must be no greater than W. |
| ROWS | Maximum height of input image. |
| COLS | Maximum width of input image. |
| NPC | Number of pixels to be processed per cycle. Possible options are XF_NPPC1 and XF_NPPC8 for 1-pixel and 8-pixel operations respectively. |
| AXI_video_strm | HLS stream of ap_axiu (axi protocol) type. |
| img | Input image. |
This function will return bit error of ERROR_IO_EOL_EARLY( 1 ) or ERROR_IO_EOL_LATE( 2 ) to indicate an unexpected line length, by detecting TLAST input.
For more information about AXI interface see UG761.
xfMat2AXIvideo¶
The Mat2AXI
video function receives an xf::cv::Mat representation of a
sequence of images and encodes it correctly using the AXI4 Streaming
video protocol.
API Syntax
template<int W, int T, int ROWS, int COLS,int NPC>
int xfMat2AXIvideo(xf::cv::Mat<T,ROWS, COLS,NPC>& img,hls::stream<ap_axiu<W,1,1,1> >& AXI_video_strm)
Parameter Descriptions
The following table describes the template and the function parameters.
| Parameter | Description |
|---|---|
| W | Data width of AXI4-Stream. Recommended value is pixel depth. |
| T | Pixel type of the image. 1 channel (XF_8UC1). Data width of pixel must be no greater than W. |
| ROWS | Maximum height of input image. |
| COLS | Maximum width of input image. |
| NPC | Number of pixels to be processed per cycle. Possible options are XF_NPPC1 and XF_NPPC8 for 1-pixel and 8-pixel operations respectively. |
| AXI_video_strm | HLS stream of ap_axiu (axi protocol) type. |
| img | Output image. |
This function returns the value 0.
Note: The NPC values across all the functions in a data flow must follow the same value. If there is mismatch it throws a compilation error in HLS.
cvMat2AXIvideoxf¶
The cvMat2Axivideoxf
function receives image as cv::Mat
representation and produces the AXI4 streaming video of image.
API Syntax
template<int NPC,int W>
void cvMat2AXIvideoxf(cv::Mat& cv_mat, hls::stream<ap_axiu<W,1,1,1> >& AXI_video_strm)
Parameter Descriptions
The following table describes the template and the function parameters.
| Parameter | Description |
|---|---|
| W | Data width of AXI4-Stream. Recommended value is pixel depth. |
| NPC | Number of pixels to be processed per cycle. Possible options are XF_NPPC1 and XF_NPPC8 for 1-pixel and 8-pixel operations respectively. |
| AXI_video_strm | HLS stream of ap_axiu (axi protocol) type. |
| cv_mat | Input image. |
AXIvideo2cvMatxf¶
The Axivideo2cvMatxf
function receives image as AXI4 streaming video
and produces the cv::Mat representation of image
API Syntax
template<int NPC,int W>
void AXIvideo2cvMatxf(hls::stream<ap_axiu<W,1,1,1> >& AXI_video_strm, cv::Mat& cv_mat)
Parameter Descriptions
The following table describes the template and the function parameters.
| Parameter | Description |
|---|---|
| W | Data width of AXI4-Stream. Recommended value is pixel depth. |
| NPC | Number of pixels to be processed per cycle. Possible options are XF_NPPC1 and XF_NPPC8 for 1-pixel and 8-pixel operations respectively. |
| AXI_video_strm | HLS stream of ap_axiu (axi protocol) type. |
| cv_mat | Output image. |


Aggregate adjacent documents or value ranges with a sliding window to calculate running totals, rolling averages, and other statistical properties
The
WINDOW
operation can be used for aggregations over adjacent documents, or
preceding and / or following rows in other words. It can also aggregate based
on a value or duration range relative to a document attribute.
The operation performs a
COLLECT AGGREGATE
-like operation on a set
of query rows. However, whereas a
COLLECT
operation groups multiple query
rows into a single result group, a
WINDOW
operation produces a result for
each query row:
Window frames are determined with respect to the current row:
There are two syntax variants for
WINDOW
operations.
Row-based (adjacent documents):
WINDOW { preceding: numPrecedingRows, following: numFollowingRows } AGGREGATE variableName = aggregateExpression
Range-based (value or duration range):
WINDOW rangeValue WITH { preceding: offsetPreceding, following: offsetFollowing } AGGREGATE variableName = aggregateExpression
Calls to the following functions are supported in aggregation expressions:
LENGTH()
/
COUNT()
MIN()
MAX()
SUM()
AVERAGE()
/
AVG()
STDDEV_POPULATION()
/
STDDEV()
STDDEV_SAMPLE()
VARIANCE_POPULATION()
/
VARIANCE()
VARIANCE_SAMPLE()
UNIQUE()
SORTED_UNIQUE()
COUNT_DISTINCT()
/
COUNT_UNIQUE()
BIT_AND()
BIT_OR()
BIT_XOR()
The first syntax form of
WINDOW
allows aggregating over a fixed number of
rows, following or preceding the current row. It is also possible to define
that
all preceding or following rows should be aggregated ("unbounded"
).
The number of rows has to be determined at query compile time.
Below query demonstrates the use of window frames to compute running totals as well as rolling averages computed from the current row and the rows that immediately precede and follow it:
The row order is controlled by the
SORT
operation on the
time
attribute.
The first
WINDOW
operation aggregates the previous, current, and next row
(preceding and following is set to 1) and calculates the average and sum of
these three values. In case of the first row, there is no preceding row but a
following row, hence the values 10
and
0
are added up to calculate the sum,
which is divided by 2 to compute the average. For the second row, the values
10
,
0
and
9
are summed up and divided by 3, and so on.
The second
WINDOW
operation aggregates all previous values (unbounded) to
calculate a running sum. For the first row, that is just
10
, for the second
row it is 10
+
0
, for the third
10
+
0
+
9
, and so on.
| time | subject | val | rollingAverage | rollingSum | cumulativeSum |
|---|---|---|---|---|---|
| 2021-05-25 07:00:00 | st113 | 10 | 5 | 10 | 10 |
| 2021-05-25 07:00:00 | xh458 | 0 | 6.333… | 19 | 10 |
| 2021-05-25 07:15:00 | st113 | 9 | 6.333… | 19 | 19 |
| 2021-05-25 07:15:00 | xh458 | 10 | 14.666… | 44 | 29 |
| 2021-05-25 07:30:00 | st113 | 25 | 13.333… | 40 | 54 |
| 2021-05-25 07:30:00 | xh458 | 5 | 16.666… | 50 | 59 |
| 2021-05-25 07:45:00 | st113 | 20 | 18.333… | 55 | 79 |
| 2021-05-25 07:45:00 | xh458 | 30 | 25 | 75 | 109 |
| 2021-05-25 08:00:00 | xh458 | 25 | 27.5 | 55 | 134 |
The below query demonstrates the use of window frames to compute running totals
within each subject
group of
time
-ordered query rows, as well as rolling
sums and averages computed from the current row and the rows that immediately
precede and follow it, also per
subject
group and sorted by
time
:
If you look at the first row with the subject
xh458
, then you can see the
cumulative sum reset and that the rolling average and sum does not take the
previous row into account that belongs to subject
st113
.
| time | subject | val | rollingAverage | rollingSum | cumulativeSum |
|---|---|---|---|---|---|
| 2021-05-25 07:00:00 | st113 | 10 | 9.5 | 19 | 10 |
| 2021-05-25 07:15:00 | st113 | 9 | 14.666… | 44 | 19 |
| 2021-05-25 07:30:00 | st113 | 25 | 18 | 54 | 44 |
| 2021-05-25 07:45:00 | st113 | 20 | 22.5 | 45 | 64 |
| 2021-05-25 07:00:00 | xh458 | 0 | 5 | 10 | 0 |
| 2021-05-25 07:15:00 | xh458 | 10 | 5 | 15 | 10 |
| 2021-05-25 07:30:00 | xh458 | 5 | 15 | 45 | 15 |
| 2021-05-25 07:45:00 | xh458 | 30 | 20 | 60 | 45 |
| 2021-05-25 08:00:00 | xh458 | 25 | 27.5 | 55 | 70 |
The second syntax form of
WINDOW
allows aggregating over a all documents
within a value range. Offsets are differences in attribute values from the
current document.
Attribute values have to be numeric. The offset calculations are performed by
adding or subtracting the numeric offsets specified in the
following
and
preceding
attribute. The offset numbers have to be positive and have to be
determined at query compile time. The default offset is
0
.
The range based window syntax requires the input rows to be sorted by the row
value. To ensure correctness of the result, the AQL optimizer will
automatically insert a
SORT
statement into the query in front of the
WINDOW
statement. The optimizer may be able to optimize away that
SORT
statement
later if a sorted index is present on the group criteria.
The following query demonstrates the use of window frames to compute totals as
well as averages computed from the current document and the documents that have
attribute values in t.val
in the range of
[-10, +5]
(inclusive), preceding
and following:
The value range of the first row is [-10, 5]
since
val
is
0
, thus the
values from the first and second row are added up to
5
with the average being
2.5
. The value range of the last row is
[20, 35]
as
val
is
30
, which
means that the last four rows get aggregated to a sum of
100
and an average
of 25
(the range is inclusive, i.e.
val
falls within the range with a value
of 20
).
| time | subject | val | rollingAverage | rollingSum |
|---|---|---|---|---|
| 2021-05-25 07:00:00 | xh458 | 0 | 2.5 | 5 |
| 2021-05-25 07:30:00 | xh458 | 5 | 6.8 | 34 |
| 2021-05-25 07:15:00 | st113 | 9 | 6.8 | 34 |
| 2021-05-25 07:00:00 | st113 | 10 | 6.8 | 34 |
| 2021-05-25 07:15:00 | xh458 | 10 | 6.8 | 34 |
| 2021-05-25 07:45:00 | st113 | 20 | 18 | 90 |
| 2021-05-25 07:30:00 | st113 | 25 | 25 | 100 |
| 2021-05-25 08:00:00 | xh458 | 25 | 25 | 100 |
| 2021-05-25 07:45:00 | xh458 | 30 | 25 | 100 |
Aggregating by time intervals is a subtype of range-based aggregation that
uses the second syntax form of
WINDOW
but with ISO durations.
To support WINDOW
frames over time-series data the
WINDOW
operation may
calculate timestamp offsets using positive ISO 8601 duration strings, like
P1Y6M
(1 year and 6 months) or
PT12H30M
(12 hours and 30 minutes). Also see
Date functions.
In contrast to the ISO 8601 standard, week components may be freely combined
with other components. For example, P1WT1H
and
P1M1W
are both valid.
Fractional values are only supported for seconds, and only with up to three
decimals after the separator, i.e., millisecond precision. For example,
PT0.123S
is a valid duration while
PT0.5H
and
PT0.1234S
are not.
Durations can be specified separately in
following
and
preceding
.
If such a duration is used, then the attribute value of the current document
must be a number and is treated as numeric timestamp in milliseconds.
The range is inclusive. If either bound is not specified, it is treated as an
empty duration (i.e., P0D
).
The following query demonstrates the use of window frames to compute rolling
sums and averages over observations in the last 30 minutes (inclusive), based
on the document attribute
time
that is converted from a datetime string to a
numeric timestamp:
With a time of 07:30:00
, everything from
07:00:00
to
07:30:00
on the same
day falls within the duration range with
preceding: "PT30M"
, thus aggregating
the top six rows to a sum of 59
and an average of
9.8333…
.
| time | subject | val | rollingAverage | rollingSum |
|---|---|---|---|---|
| 2021-05-25 07:00:00 | st113 | 10 | 5 | 10 |
| 2021-05-25 07:00:00 | xh458 | 0 | 5 | 10 |
| 2021-05-25 07:15:00 | st113 | 9 | 7.25 | 29 |
| 2021-05-25 07:15:00 | xh458 | 10 | 7.25 | 29 |
| 2021-05-25 07:30:00 | st113 | 25 | 9.8333… | 59 |
| 2021-05-25 07:30:00 | xh458 | 5 | 9.8333… | 59 |
| 2021-05-25 07:45:00 | st113 | 20 | 16.5 | 99 |
| 2021-05-25 07:45:00 | xh458 | 30 | 16.5 | 99 |
| 2021-05-25 08:00:00 | xh458 | 25 | 21 | 105 |


| HOME | Lab Hours | Exams | PHOTOS |
CS400
Fall 2018
|
Contact us for help learning your data structures, algorithms, and much more. University of Wisconsin-MadisonDepartment of Computer Sciences 1210 W. Dayton St. Madison, WI 53706-1613 Phone:<PHONE_NUMBER> |