Ocean [ax39], ocean, in The Inner Sea
Last updated Turn #79
Ocean [ax39], ocean, in The Inner Sea
------------------------------------------------------------------------
10: The Savvy Aardvark [ha5r], ship, 2 hulls, 1 rowing port, 6 sails,
10: 9% damaged, arrived from Ocean [ax40], owner:
10: Phantasm [n4b], Imperial Empire, marquess, with two peasants,
10: eight sailors
11: The Savvy Aardvark [ha5r], ship, 2 hulls, 1 rowing port, 6 sails,
11: 9% damaged, departed for Ocean [ax38].
Routes leaving Ocean:
North, to Ocean [aw39], 6 days
East, to Ocean [ax40], 6 days
South, to Ocean [ay39], 6 days
West, to Ocean [ax38], 6 days


Info
This is a web page dedicated to my grandmother Erin O'Brien. I plan to use this web page to display some of the exciting things she did with her life when she was an actress and singer.
Some of the things I plan to complete on this web page:
Include short stories with as many images as possible.
A page to compile all of her images on.


Spaces and Homotopy Theory
The source code for this module: PartII/Spaces.ard
The source code for the exercises: PartII/SpacesEx.ard
By now we have been mostly living in the world of propositions and sets, where the structure of the type x = y is degenerate so that we could think of it either as a mere propositional equality type or as a set of bijections between x and y if x y : \Set are sets (by univalence).
In this module we will undertake a brief detour to a nondegenerate side of homotopy type theory, where it becomes important that the type x = y is actually the type of paths between points x and y of a space.
We give several examples of datatypes of spaces, namely, spheres of various dimensions and the torus. One way to think about these types is as being generated not only by usual constructors, but also by path-constructors. The corresponding elimination principles are called higher recursion/induction.
Under the types-are-spaces view one can prove various theorems from homotopy theory. As an example, we discuss type-theoretic version of the classical proof that the fundamental group of the circle is isomorphic to integers. We also discuss the Eilenberg-Maclane spaces and equivalence between the category of connected pointed 1-types and the category of groups.
Types as spaces
In Part I we defined the equality type x = y, where x y : A, as the type I -> A of functions f such that f left ==> x and f right ==> y. We showed that this type behaves as you would expect equality to behave.
An obvious observation about this definition, which we now make explicitly: if we think of types as topological spaces, the type I as the interval and functions as continuous functions, then x = y is precisely the type of paths between x and y.
Let us explore this view a bit further. Consider a dependent type B : I -> \Type over I and a point b : B left. Eliminator for I, the function coe, can be used to lift the path left = right to a path p := path (\lam i => coe B b i) starting at b. This path in general goes across different types B i and lies in the heterogeneous type of paths Path B b (coe B b right). The right point transport B p b ==> (coe B b right) can be thought of as b transported along the path p.
Thus one can recognize that B defines a fibration over I and (\lam i => coe B b i) : \Pi (i : I) -> B i is a section of the fibration. More generally, dependent types B : A -> \Type correspond to fibrations p1 : \Sigma A B -> A (here p1 is the projection to the first component) over A with fibers B x over points x : A and the total space \Sigma A B. Note that if b : B x, then heterogeneous paths Path (\lam i => B (p @ i)) b (transport B p b) correspond to paths in the total space of fibration (that is a homogeneous path in \Sigma A B) lying over p. We will discuss examples of fibrations (namely, universal cover and path fibration) of topological nature in the section about the fundamental group of the circle below.
Another important remark: if f : A -> B is a “bijection” between types, namely, it satisfies isBij where \Set replaced with \Type, then the types A and B correspond to homotopy equivalent spaces and f is an equivalence. The function iso allows to construct a path between such spaces and the univalence says that the type of equivalences between types is equivalent to the type of paths between the types.
Spaces: spheres, torus
We can use datatypes with conditions to define the circle: just take the interval I and glue its two endpoints left and right. Specifically, we add the constructor base for the basepoint, the loop constructor loop I and conditions saying that endpoints of the loop evaluate to the basepoint: loop left ==> base, loop right ==> base.
\data Circle
| base
| loop I \with {
| left => base
| right => base
}
Higher dimensional spheres are also easy to define using the construction called suspension. For a type A its suspension Susp A is a type with two points south and north and for every element a : A a path merid a i between north and south: merid a left ==> north, merid a right ==> south.
\data Susp (A : \Type)
| south
| north
| merid A (i : I) \elim i {
| left => north
| right => south
}
The spheres can now be defined inductively as follows:
\func Sphere (n : Nat) : \Type \lp \oo
| 0 => Susp Empty
| suc n => Susp (Sphere n)
It is easy to see that the type Circle is equivalent to the type Sphere 1:
\func CircleToSphere1 (x : Circle) : Sphere 1
| base => north
| loop i => (path (merid north) *> inv (path (merid south))) @ i
\func Sphere1ToCircle (x : Sphere 1) : Circle
| south => base
| north => base
| merid north i => loop i
| merid south i => base
| merid (merid () _) _
Exercise 1: Prove that CircleToSphere1 and Sphere1ToCircle are mutually inverse.
Consider another elementary topological space: the torus. We can directly apply the standard way of constructing the torus by identifying opposite sides of the square.
\data Torus
| point
| line1 I \with { left => point | right => point }
| line2 I \with { left => point | right => point }
| face I I \with {
| left, i => line2 i
| right, i => line2 i
| i, left => line1 i
| i, right => line1 i
}
Exercise 2: Prove that Torus is equivalent to the direct product \Sigma Circle Circle of circles.
Higher induction principles
We have shown how to define spaces using the interval type and ordinary datatypes with conditions. The types of spaces defined in this way thus satisfy the ordinary elimination principle for datatypes with conditions.
Alternatively, we can look at the type of a space as being generated by ordinary constructors, called point-constructors, together with higher level path-constructors. For example, the circle is generated by the point-constructor base and the path-constructor loop : base = base, the 2-sphere is generated by base and 2-path-constructor surf : idp {base} = idp {base}, and so on.
Let us illustrate the idea of how to formulate the higher recursion and higher induction principles in the simple case of the circle. The higher recursion principle for the circle says, that a function from Circle to a type B can be defined by choosing a point b : B and a loop l : b = b in B.
\func circRec {B : \Type} {b : B} (l : b = b) (x : Circle) : B \elim x
| base => b
| loop i => l @ i
If we denote circRec {b} l as f : Circle -> B, then f base ==> b and pmap f (path loop) = l.
This can be generalized to the higher induction principle, that is to the case when B : Circle -> \Type is a dependent type. In that case we should pick a point b : B base and specify a dependent loop in B. Since we do have in Arend heterogeneous path types, we can specify a dependent loop simply as an element in Path (\lam i => B (loop i)) b b. However, in some cases it is more convenient to use characterisation of dependent loops in terms of homogeneous path types: it can be shown that dependent loops correspond to paths transport B (path loop) b = b.
\func concat {A : I -> \Type} {a : A left} {a' a'' : A right} (p : Path A a a') (q : a' = a'') : Path A a a'' \elim q
| idp => p
\func circInd (B : Circle -> \Type) (b : B base) (l : transport B (path loop) b = b) (x : Circle) : B x \elim x
| base => b
| loop i => (concat {\lam i => B (loop i)} (path (\lam i => coe (\lam j => B (loop j)) b i)) l) @ i
Below, while proving theorems about the fundamental group, we will see that this induction principle is useful.
The fundamental group
In the module Equality we showed how the equality type of a 1-type X gives rise to a groupoid structure on X. This is precisely the groupoid of paths in the space X: morphisms between points x : X and y : Y are paths between x and y. In particular, the loops x = x at a point x : X form a group with composition as the group operation. This group pi1(X, x) is called the fundamental group of X. In the Arend standard library the corresponding instance of the class Group is called Aut.
-- The instance of 'Group' defined in 'Algebra.Group.Aut'
\instance Aut {A : \1-Type} (a : A) : Group (a = a)
| ide => idp
| * => *>
| ide-left => idp_*>
| ide-right _ => idp
| *-assoc => *>-assoc
| inverse => inv
| inverse-left => inv_*>
| inverse-right => *>_inv
\func pi1-1 (X : \1-Type) (x : X) => Aut x
\func pi1Mult {X : \1-Type} {x : X} (a b : pi1-1 X x) => a * b
Assume X is connected, that is for all pairs x y : X the proposition TruncP (x = y) holds, where TruncP is the propositional truncation. It is easy to see, that the definition pi1(X, x) does not depend on x in the sense that the groups pi1-1(X, x) for different choice of x are isomorphic. This group assigned to a space is one of the simplest examples of an algebraic invariant of a space: the fundamental groups of homotopy equivalent spaces are isomorphic.
Exercise 3: Let X : \1-Type be connected. Prove that the groups pi1-1 X x and pi1-1 X y are isomorphic for all x y : X.
The definition of pi1-1 above can, of course, be generalized from 1-types to arbitrary types by means of truncation.
\truncated \data Trunc1 (A : \Type) : \1-Type
| trunc A
\func pi1 (X : \Type) (x : X) : Group => pi1-1 (Trunc1 X) (trunc x)
\truncated \data Trunc0 (A : \Type) : \Set
| trunc A
-- Equivalently, we can truncate 'x = x'.
-- The group structure 'Aut' can be straightforwardly translated to this case.
\func pi1' (X : \Type) (x : X) : \Set => Trunc0 (x = x)
Exercise 3 implies that pi1 maps connected pointed spaces to groups:
\func isConnected (X : \Type) => \Pi (x y : X) -> TruncP (x = y)
-- The class 'Pointed' is defined in 'Homotopy.Pointed'.
\func pi1 (A : \Sigma (X : Pointed) (isConnected X)) : Group => pi1-1 (Trunc1 A.1) (trunc base)
As we will see later in this module, there is an inverse function K1 : Group -> \Sigma (X : Pointed) (isConnected X), called the Eilenberg-Maclane space. The corresponding functors of pi1 and K1 establish equivalence of the category of pointed connected 1-types and the category of groups.
The fundamental group of the circle
Let us now consider an example of a calculation of the fundamental group. We will outline the proof from the Arend standard library that for Sphere1 holds (base1 = base1) = Int, where Sphere1 is Circle and base1 is base in the notation we used above. This implies that pi1 Sphere1 base1 = Int as well as that Sphere1 is 1-type.
The type-theoretic proof of (base1 = base1) = Int follows quite closely the classical homotopy-theoretic proof. First note, that it is very easy to construct a “winding” homomorphism from the group Int to the group base1 = base1, which sends the generator 1 to the generator path loop:
\func wind (x : Int) : base1 = base1
| pos 0 => idp
| pos (suc n) => wind (pos n) *> path loop
| neg (suc n) => wind (neg n) *> inv (path loop)
In order to construct the inverse map we will need to define a fibration over the circle, called the universal cover. This amouts to constructing a specific dependent type, which we denote as code.
Geometrically the universal cover of the circle is a winding of the real line over the circle and can be visualized as a helix. Note that code x would be the fiber over x and \Sigma (x : Sphere1) (code x) the total space, that is the real line in our case. If y : code base1 is a point in the fiber over base1, then a loop l : base1 = base1 can be lifted to a path y = transport code l y in the covering space, where transport code l y is a point in the same fiber.
This gives us a map from loops base1 = base1 to points in the fiber over base1. We can identify the fiber with Int so that the map becomes a homomorphism of groups: simply set code base1 ==> Int and define code (loop i) in such a way that transporting of n along path loop results in n + 1. The latter can be easily done by means of employing nontrivial structure of equality of types given by iso and univalence: mutually inverse automorphisms isuc (which is (+1)) and ipred(which is (-1)) of Int define a loop on Int, which we can use!
\func code (x : Sphere1) : \Set0
| base1 => Int
| loop i => iso isuc ipred ipred_isuc isuc_ipred i
We can now define the map encode that maps a path p : base1 = x to the point in the fiber code x, which is the transport of 0 along p:
\func encode (x : Sphere1) (p : base1 = x) : code x => transport code p 0
Thus we have defined functions in both directions wind : Int -> base1 = base1 and encode base1 : base1 = base1 -> Int. It remains to prove that they are mutually inverse. The key idea is inspired by the classical proof: prove equivalence between universal cover and the path fibration \lam x : Sphere1 => base1 = x, which represents all the paths in Sphere1 with one endpoint fixed at base1. The equivalence of fibers over base1, that is of code base1 ==> Int and base1 = base1, would follow.
We have already defined the map encode from path fibration to universal cover. The inverse function decode (x : Sphere1) : code x -> base1 = x can be defined using the higher induction principle for the circle, which we described above. The full definition of decode as well as the proofs encode_decode, decode_encode that encode and decode are mutually inverse are technical, we omit them here. The rest of the proof can be found in the Arend standard library.
Eilenberg-Maclane space
Given a group G we now construct a pointed connected 1-type K1 G such that the fundamental group of K1 G is G. The type K1 G is called the Eilenberg-Maclane space. This type can be defined as the type with the base point base, for every g : G the loop constructor loop g i and for every g g’ : G the 2-cell relation g g’ i j, which equalizes the composition of loops path (loop g) *> path (loop g’) and the loop path (loop (g * g’)).
\data K1 (G : Group)
| base
| loop G (i : I) \elim i {
| left => base
| right => base
}
| relation (g g' : G) (i : I) (j : I) \elim i, j {
| left, j => base
| right, j => loop g' j
| i, left => loop g i
| i, right => loop (g * g') i
}
\func K1-connected (G : Group) : isConnected (K1 G)
=> {?}
\func grp-to-ptconn (G : Group) : \Sigma (X : Pointed) (isConnected X) => (\new Pointed (K1 G) { | base => base}, K1-connected G)
Exercise 4: Prove that K1 G is connected.
Note that relation g g’ fills the square with path (loop g) (top), path (loop g’) (right), path (loop (g * g’)) (bottom) and idp (left). Therefore path (loop g) *> path (loop g’) = path (loop (g * g’)).
The homomorphism, analogous to wind : Int -> base1 = base1 for Sphere1, is simply \lam g => path (loop g) : G -> base = base.
The proof that (base = base) = G employs the same ideas as in the proof (base1 = base1) = Int for Sphere1. Namely, we need to define the universal cover code : K1 G -> \Type and mutually inverse functions encode (x : K1 G) : code x -> base = x and decode (x : K1 G) : base = x -> code x between the universal cover and the path fibration.
As in the case of Sphere1, the fiber of code over base is G and the transport along path (loop g) defines the homomorphism \lam g’ => g’ * g : G -> G. In order to ensure the latter we need to prove that the right multiplication is an equivalence. We can use the class QEquiv of quasi-equivalences to store the data: the inverse map * (inverse g) and the proofs that the maps * g and * (inverse g) are mutually inverse.
\func rightMulEquiv {G : Group} (g : G) : QEquiv (`* g) \cowith
| ret => `* (inverse g)
| ret_f h => (*-assoc _ _ _) *> pmap (h *) (inverse-right g) *> ide-right h
| f_sec h => (*-assoc _ _ _) *> pmap (h * ) (inverse-left g) *> ide-right h
We can now define code on base and loop g i:
\func code {G : Group} (x : K1 G) : \Type \lp \oo \elim x
| base => G
| loop g j => Equiv-to-= (rightMulEquiv g) @ j
-- 'Equiv-to-=' is essentially 'iso'.
| relation g g' i j => {?}
It remains to define a filling of the square with sides Equiv-to-= (rightMulEquiv g) (top), Equiv-to-= (rightMulEquiv g’) (right), Equiv-to-= (rightMulEquiv (g * g’)) (bottom), idp (left). The function Cube2.map allows to construct such filling out of a proof that code preserves the relation path (loop g) *> path (loop g’) = path (loop (g * g’)).
-- Proof that 'code' preserves the relation on loops.
-- path (\lam i => code (loop g i)) *> path (\lam i => code (loop g' i)) = path (\lam i => code (loop (g * g') i))
\func equivPathComposition {G : Group} (g g' : G)
: (Equiv-to-= (rightMulEquiv g)) *> (Equiv-to-= (rightMulEquiv g')) = (Equiv-to-= (rightMulEquiv (g * g')))
=> {?}
\func code {G : Group} (x : K1 G) : \Type \lp \oo \elim x
| base => G
| loop g j => Equiv-to-= (rightMulEquiv g) @ j
| relation g g' i j => Cube2.map (Equiv-to-= (rightMulEquiv g)) (Equiv-to-= (rightMulEquiv (g * g'))) idp (Equiv-to-= (rightMulEquiv g'))
(movePath (equivPathComposition g g')) @ j @ i
\where {
\func movePath {A : \Type} {a a' a'' : A} {p : a = a'} {q : a' = a''} {r : a = a''} (h : p *> q = r) : p = r *> inv q
=> (inv (pmap (p *>) (*>_inv q)) *> inv (*>-assoc p q (inv q))) *> pmap (`*> inv q) h
}
The rest of the proof, which includes definitions of encode and decode, is technical and essentially repeats the corresponding parts of the proof for the circle. It can be found in the Arend standard library.


--- creation_epoch:<PHONE_NUMBER> lastmod_epoch:<PHONE_NUMBER> categories: ['Tech Tricks'] title: sudo sudoers quick reference --- The man page (http://www.sudo.ws/sudo/sudo.html) has lots of good info, but is a little hard to read.
sudo visudo
userList hostList = (runasUserList : optRunasGroupList) optTagList cmdList
sudo -u user cmd
sudo -i -u user
Runs full login shell with updated environment variables


a journal
Hi there!
Inferior Planets is a journal run by Davis Land and Beyza Ozer who both run some other things and generally just like to over-commit themselves. We like to publish good stuff each quarter. You should submit!
Follow us on Twitter and like us on Facebook for updates.


JavaScript is disabled on your browser.
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes
A
D
E
M
P
S
T
A
AlignerDemo
- Class in
edu.cmu.sphinx.demo.aligner
This class demonstrates how to align audio to existing transcription and receive word timestamps.
AlignerDemo()
- Constructor for class edu.cmu.sphinx.demo.aligner.
AlignerDemo
AllphoneDemo
- Class in
edu.cmu.sphinx.demo.allphone
A simple example that shows how to transcribe a continuous audio file that has multiple utterances in it.
AllphoneDemo()
- Constructor for class edu.cmu.sphinx.demo.allphone.
AllphoneDemo
D
DemoRunner
- Class in
edu.cmu.sphinx.demo
DemoRunner()
- Constructor for class edu.cmu.sphinx.demo.
DemoRunner
DialogDemo
- Class in
edu.cmu.sphinx.demo.dialog
DialogDemo()
- Constructor for class edu.cmu.sphinx.demo.dialog.
DialogDemo
E
edu.cmu.sphinx.demo
- package edu.cmu.sphinx.demo
edu.cmu.sphinx.demo.aligner
- package edu.cmu.sphinx.demo.aligner
edu.cmu.sphinx.demo.allphone
- package edu.cmu.sphinx.demo.allphone
edu.cmu.sphinx.demo.dialog
- package edu.cmu.sphinx.demo.dialog
edu.cmu.sphinx.demo.speakerid
- package edu.cmu.sphinx.demo.speakerid
edu.cmu.sphinx.demo.transcriber
- package edu.cmu.sphinx.demo.transcriber
M
main(String[])
- Static method in class edu.cmu.sphinx.demo.aligner.
AlignerDemo
main(String[])
- Static method in class edu.cmu.sphinx.demo.allphone.
AllphoneDemo
main(String[])
- Static method in class edu.cmu.sphinx.demo.
DemoRunner
main(String[])
- Static method in class edu.cmu.sphinx.demo.dialog.
DialogDemo
main(String[])
- Static method in class edu.cmu.sphinx.demo.speakerid.
SpeakerIdentificationDemo
main(String[])
- Static method in class edu.cmu.sphinx.demo.transcriber.
TranscriberDemo
P
printSpeakerIntervals(ArrayList<SpeakerCluster>, String)
- Static method in class edu.cmu.sphinx.demo.speakerid.
SpeakerIdentificationDemo
printUsage()
- Static method in class edu.cmu.sphinx.demo.
DemoRunner
S
speakerAdaptiveDecoding(ArrayList<SpeakerCluster>, URL)
- Static method in class edu.cmu.sphinx.demo.speakerid.
SpeakerIdentificationDemo
SpeakerIdentificationDemo
- Class in
edu.cmu.sphinx.demo.speakerid
SpeakerIdentificationDemo()
- Constructor for class edu.cmu.sphinx.demo.speakerid.
SpeakerIdentificationDemo
T
time(int)
- Static method in class edu.cmu.sphinx.demo.speakerid.
SpeakerIdentificationDemo
Returns string version of the given time in milliseconds
TranscriberDemo
- Class in
edu.cmu.sphinx.demo.transcriber
A simple example that shows how to transcribe a continuous audio file that has multiple utterances in it.
TranscriberDemo()
- Constructor for class edu.cmu.sphinx.demo.transcriber.
TranscriberDemo
A
D
E
M
P
S
T
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes
Copyright © 2017. All rights reserved.


Up and to the office, where all the morning till late, and Mr. Coventry with us, the first time since before the plague, then hearing my wife was gone abroad to buy things and see her mother and father, whom she hath not seen since before the plague, and no dinner provided for me ready, I walked to Captain Cocke’s, knowing my Lord Bruncker dined there, and there very merry, and a good dinner. Thence my Lord and his mistresse, Madam Williams, set me down at the Exchange, and I to Alderman Backewell’s to set all my reckonings straight there, which I did, and took up all my notes. So evened to this day, and thence to Sir Robert Viner’s, where I did the like, leaving clear in his hands just 2000l. of my owne money, to be called for when I pleased. Having done all this I home, and there to the office, did my business there by the post and so home, and spent till one in the morning in my chamber to set right all my money matters, and so to bed.


{% extends "home/base.html" %} {% load staticfiles %} {% block content %}
Here, you can open or delete (not yet) your submissions or check their publication state.
For more information on this form, see the docs.
Change user information - Change password - Log out


Darkest Light
Home
(current)
Tournaments
Our teams
About us
Mech shop coming soon...
DARKEST LIGHT
Join our Discord server
Our Teams


Your Best Birthday App
See Who's Birthday Is Coming Up
Share On Social Media
View Contacts Birthday
The App That Reminds You!!!
Home
Birthday


 Rating: low +1 (-4 to +4)
Ron Howard's newest film about working-class heroes is a look at what goes on in and out of an incredibly chaotic newsroom. Just as he previously did with firefighters in BACKDRAFT, he is now showing how a good newspaper staff, even on a sleezy-looking tabloid, can make all the difference for a city like New York. It is a story that has been done several times, though usually based on the play "The Front Page" by Ben Hecht and Charles MacArthur. THE PAPER is not obviously based on that play, but the fast- paced style, newsroom pandemonium, comic touches, reporter looking to get out of the job, and even the basic plot of the news scoop that could prevent an injustice leave little doubt where David and Stephan Koepp probably got much of their inspiration.
The film covers 24 hours and 10 seconds in the life of wise-cracking tabloid editor/reporter Henry Hackett (played by Michael Keaton). Even in Hackett's hectic life, this is a particularly frenetic day. His very pregnant wife (played by Marisa Tomei) is an ex-reporter with numerous nightmares of impending empty and prosaic future. Martha Hackett is pushing her husband to take a better-paying and more dependable job. Henry has been offered the job at the New York Times (pronounced "Sentinel") where he will be a soulless, neat professional instead of the wild seat-of-the-pants reporter he is used to being. The Sentinel is the kind of paper where you worry less about scoops and more about being "comprehensive." Complicating matters is a local government functionary has a vendetta against McDougal, a brilliant and grungy co-reporter played by Randy Quaid. Throw into the mix Bernie White (Robert Duvall) a slightly obnoxious chief editor with family problems, prostate cancer, and apparently smoking-related illnesses. All the subplots tie themselves up in ways ranging from unsurprising to highly predictable, even if along the way they take detours through total absurdity.
The pacing of the story is frenetic though at the same time often informative, if somewhat cynical.  One irritation I had watching the film was I kept getting carbonation bubbles up my nose. Ron Howard kept rubbing it in Coca-Cola and its subsidiary products. Calling these product "placements" seems too gentle. This was a product barrage. Howard may have been making up for product placement opportunities missed when he made FAR AND AWAY.
It would be nice to say that Keaton brought some sort of deep resonance to his role. One sort of expects that, but the character of Hackett really does not need or give opportunity for good acting. Hackett is an inconsiderate wiseguy who loves only his job and his wife, in pretty much that order. That doesn't give Keaton much latitude to act. Marginally more room is given to Duvall as Bernie White. Duvall gives him a few rough Jewish characteristics, but this will not be a well-remembered role for him. Glenn Close is bullish and officious. Hers is certainly one of the more interesting characters but her role in a disastrously miscalculated scene toward the end. Marisa Tomei has more drama than she has had in previous roles but doers not carry it well.
THE PAPER has many good moments but overall could have been a much better movie. I give it a low +1 on the -4 to +4 scale.
[Note: the play "The Front Page" referred to above has been filmed four times: THE FRONT PAGE (1931), HIS GIRL FRIDAY (1940), THE FRONT PAGE (1974), and SWITCHING CHANNELS (1988).]
Mark R. Leeper att!mtgzfs3!leeper<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object coins.ssa.Util
Utilities for the SSA module
| Constructor Summary | |
(package private) |
Util(SsaEnvironment e,
Function function)
Constructor |
| Method Summary | |
(package private) void |
changeLabelRef(boolean isTranslate)
Change the LabelRef node into the SSA specified ones. |
(package private) BiList |
findTargetLir(LirNode root,
int opCode,
BiList l)
Search and find the LIR nodes which has the specified operation code. |
(package private) LirNode |
makeNewJump(BasicBlk blk,
LirLabelRef labelRef)
Make a new JUMP node to the specified label. |
(package private) LirNode |
makePhiInst(Symbol s,
BasicBlk blk)
Make a new Phi instruction. |
(package private) BiList |
predEdges(BasicBlk blk,
boolean getPredBlk)
Collect the edges from the predecessors or predecessors themselves. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
Util(SsaEnvironment e, Function function)
e
- The environment of the SSA modulefunction
- The current function| Method Detail |
LirNode makeNewJump(BasicBlk blk, LirLabelRef labelRef)
blk
- The basic block which the new JUMP node put inlabelRef
- The label which the new JUMP node go to
BiList findTargetLir(LirNode root, int opCode, BiList l)
root
- The root node of the searchopCode
- The specified operation codel
- The list which is stored in the found LIR node
void changeLabelRef(boolean isTranslate)
isTranslate
- True if the translation is for the specified onesBiList predEdges(BasicBlk blk, boolean getPredBlk)
blk
- The current basic blkgetPredBlk
- True means to collect predecessors
LirNode makePhiInst(Symbol s, BasicBlk blk)
s
- The specified symbolblk
- The basic block which the new phi instruction is inserted
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


mstc
Contents:
mstc
mstc package
mstc.learning package
mstc.processing package
mstc
Docs
»
Index
Index
_
|
A
|
B
|
C
|
E
|
F
|
G
|
H
|
M
|
O
|
P
|
R
|
S
|
Z
_
__call__() (Aggregator method)
(Brancher method)
(Broadcast method)
(BroadcastMap method)
(Component method)
(Compose method)
(Encoder method)
(Flatten method)
(HubEncoder method)
(Map method)
(Operation method)
(PNGReader method)
(Reader method)
(Reduce method)
(Stacker method)
(ZipMap method)
__init__() (Aggregator method)
(Brancher method)
(Broadcast method)
(BroadcastMap method)
(Component method)
(Compose method)
(Encoder method)
(Flatten method)
(HubEncoder method)
(Map method)
(MultipleOperation method)
(Operation method)
(PNGReader method)
(Reader method)
(Reduce method)
(SingleOperation method)
(Stacker method)
(ZipMap method)
A
Aggregator (class in mstc.processing.aggregator)
B
Brancher (class in mstc.processing.brancher)
Broadcast (class in mstc.processing.operation)
BroadcastMap (class in mstc.processing.operation)
C
Component (class in mstc.processing.core)
Compose (class in mstc.processing.operation)
E
Encoder (class in mstc.processing.encoder)
F
Flatten (class in mstc.processing.encoder)
G
generate_cross_validation_pipeline() (in module mstc.learning.pipeline)
H
HubEncoder (class in mstc.processing.encoder)
M
Map (class in mstc.processing.operation)
mstc (module)
mstc.learning (module)
mstc.learning.pipeline (module)
mstc.processing (module)
mstc.processing.aggregator (module)
mstc.processing.brancher (module)
mstc.processing.core (module)
mstc.processing.encoder (module)
mstc.processing.io (module)
mstc.processing.operation (module)
MultipleOperation (class in mstc.processing.core)
O
Operation (class in mstc.processing.core)
P
PNGReader (class in mstc.processing.io)
R
Reader (class in mstc.processing.io)
Reduce (class in mstc.processing.operation)
S
SingleOperation (class in mstc.processing.core)
Stacker (class in mstc.processing.aggregator)
Z
ZipMap (class in mstc.processing.operation)


Previous article: Concepts - Programming
Next article: Tools - Jupyter
Python libraries for data science
In a previous post we have talked about Python. One of its main characteristics is what the Python community calls 'batteries included' design philosophy. Python not only is a complete language, but can be extended with a vast variety of libraries that allow the user to do virtually anything. The standard way to use these libraries is to install them in the system along the Python installation and then import the library in the program we need it.
One important motto that one will come across is 'Read the Docs'; actually the motto has become the name of the homonymous software documentation platform. In the spirit of the Python ecosystem, the libraries we present, do have good documentation that is worth reading. To be precise, one should read the docs before using the library and will be helpful to keep the reference handy along the way.
NumPy
The name, in a sense, stands for Numerical Python. Since the language was not initially intended for scientific computing, it lacked some relevant features. NumPy is built around a data structure, the 'ndarray', upon which rest the other libraries of the scientific stack.
In contrast to other Python built-in types of arrays, such as the list and the tuple, an 'ndarray' contains elements of the same type, and can be used to represent data structures of more than one dimensions (n-dimensional array). In this way we can represent mathematical structures such as matrices. Additionally it is possible to introduce vectorised operations that run much faster. Instead of using standard Python loop structures to perform an operation on an array, say multiplication with a scalar, NumPy can perform the operation immediately - still there are loops running in the background but much faster since the C language is being used over homogeneous input.
matplotlib
This is the main 2D plotting library for the whole of the Python ecosystem. It can be extended to cover 3D plots, and there are other libraries like bokeh and seaborn that build on top of it. It aims at being easy to create plots yet at the same time customisable to user needs, therefore it contains a lot of standard plots that one can easily call and pass data to them, while at the same time all the elements of the plot (legend, labels, markers, etc.) can be changed
plotly
Add interactive graphs
pandas
The main scope of this library is data manipulation and analysis. pandas builds on NumPy and the ndarray type. It provides two main types of its own the Series and the DataFrame, although under the hood the basis is the ndarray. Series is a one dimension homogeneously-typed array, while a DataFrame is a 2D collection of Series that looks like a spreadsheet. What the DataFrame brings is the fact that is labeled, columns have names that is easy to access and change. pandas then creates a whole assortment of methods to operate on the Series and DataFrame, that represent the common data manipulation actions taken by the data analyst; slicing the data, changing the index, group by and then perform operations on the groups, along with many more. pandas also allows to draw plots and perform data analysis tasks.
scikit-learn
This is the main machine learning library that can be used with the rest of the ecosystem including NumPy and pandas. It contains various classification, regression and clustering algorithms that create the core of scikit-learn. It is build in order to implement the work-flow of a machine learning task: choose the model and its parameters, create the training and test datasets, train the data, and assess the model. One can additionally perform feature engineering tasks, like standardisation, or use elaborate algorithms for that effect, like PCA, etc. All in all, everything one needs for machine learning
NLTK
Natural language processing
virtual environment
Create a sand box for the project.
sources:
- NumPy manual
- Matplotlib User's Guide
- Plotly
- Software Carpentry - Plotting lesson
- pandas documentation
- scikit-learn documentation
[nltk]: http://nltk.org/


| Home | Trees | Indices | Help |
|
|---|
|
|
Serves as a service object proxy for RPC calls. Generates ServiceMethodProxy objects for method calls.
See Also: RequestWrapper for more info.
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
Inherited from |
|
|||
|
_auto_execute If set to True , when a service method is called, the AMF
request is immediately sent to the remote gateway and a response is
returned.
|
|||
| RemotingService |
_gw The parent gateway |
||
str
|
_name The name of the service |
|
|||
|
Inherited from |
|
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
|
Executed when a ServiceMethodProxy is called. Adds a request to the
underlying gateway. If |
Returns a string representation of the name of the service.
|
|
_auto_executeIf set toTrue , when a service method is called, the AMF
request is immediately sent to the remote gateway and a response is
returned. If set to False , a RequestWrapper is returned, waiting for the underlying
gateway to fire the execute method.
|
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Mon Sep 7 23:17:49 2009 | http://epydoc.sourceforge.net |


Microorganism Search Engine
Home
SearchEngine
About
Contact
Sign Up
Sign In
${tg.identity.user.display_name or tg.identity.user.user_name}
Administrator
Edit Profile
Sign Out
All rights reserved 2014-2015. Developed by Mingda Jin


Position: Developer
Salary Range: $100k - $110k
Years of Experience: 5
Location: Sydney
Reference: Fi7wU
Responsibilities: Build website
Description: (Apply) You will work on the most advanced chat system. You will be using ReactJS to upgrade, maintain and optimize Messenger web app where bullions of people reply on your hard work to send text and images.
Skills (essential):
Skills (preferable):
Position: Receptionist
Salary Range: $80k - $85k
Years of Experience: 1
Location: Melbourne
Reference: hYr6G
Responsibilities: Build website
Description: (Apply) Receptionist - well respected Law Firm - Melbourne's South East. The successful candidate will be well presented, possess the ability to multitask, work comfortably and autonomously in a busy environment, have a pleasant telephone manner and a 'can do' attitude.
Skills (essential):
Skills (preferable):
Position: Back-End Developer
Salary Range: $130k - $150k
Years of Experience: 3
Location: Brisbane
Reference: 6NgRj
Responsibilities: Build RESTful APIs
Description: (Apply) Build services which covers big data analytics, third party integrations, payments, communications, ticketing, and workflow automation. You will be building restful api in php which will power android, ios and web apps. Millions of people will reply on the strongly build api that will be carved from scratch.
Skills (essential):
Skills (preferable):


Post-16 statistics team
Email<EMAIL_ADDRESS>Telephone: Sally Marshall 0114 274 2317
National Statistics
Statistics about 16- to 18-year-olds not in education, employment or training (NEET).
PDF , 988KB , 16 pages
MS Excel Spreadsheet , 63.5KB
MS Excel Spreadsheet , 56.3KB
MS Excel Spreadsheet , 58.9KB
MS Excel Spreadsheet , 23.4KB
MS Excel Spreadsheet , 113KB
ZIP , 114KB
Plain text , 2.15KB
This data comes from:
The publication includes:
Email<EMAIL_ADDRESS>Telephone: Sally Marshall 0114 274 2317
Published: 21 May 2015


We are Siddhartha Business Consulting, a company that loves to Learn, Collaborate and Grow Businesses. We are passionate about what we do and love what we do.
From tackling personal decisions to reaching important milestones, our job is to guide your organisation on the path of success. We are fueled by our commitment to excellence and go the extra mile to make sure clients are fully satisfied with our work.
As professional Business Consultants , We believe in maintaining a positive mindset, creating partnerships with a purpose, and always striving for significant outcomes. Contact us today for an initial consultation, and find out more about how We can tailor our services to your needs.
"To help entrepreneurs build business around innovative products and people, to bring about change in people's lives."
Our team consists of well trained professionals with vast experience across different sectors. We are committed to deliver tangible value and rapid return on investment for our clients irrespective of the line of business they are dealing in.
Founder


About a year ago, I built an XBMC-based media center for our home; I was tired of our DVD stack and wanted something a little more modern. Almost immediately, however, a gnawing doubt crept in: what would we do if this new media center crashed/had its hard drive destroyed/etc.? Our entire collection would be toast. Naturally, I started to think about a backup strategy.
It was easy enough to add an external hard drive and use Windows Backup (which, for this use case, was more than sufficient); I merely set Windows to backup my media every night at 2am.
Being energy conscious (read: being cheap), however, I was concerned with leaving the media center on throughout the night. I knew it wasn’t that big of a deal, but I was bothered by the lacking elegance: the media center PC should only be turned on while being backed up. After that process occurs, it should shut itself off.
TL;DR
Automatic backups of a media center PC are possible thanks to the amazing DD-WRT firmware.
The Setup
As always, I took stock of what I had:
- The media center PC
- A DD-WRT powered router
- Windows 7
Here’s how I accomplished a more elegant solution.
Step #1: Enable Wake-On-LAN (WOL) (assuming your network card supports it).
WOL is a method for turning on your PC via sending “magic packets” to the PC’s network card. How-To-Geek has a great guide on how to set WOL up, so I won’t go into that here. Assuming your PC checks out to the specification of that guide, proceed!
Step #2: Configure DD-WRT to wake your PC up at a predefined time every day.
One of DD-WRT’s many features is the ability to support cron:
Cron, also referred to as crond, is a service which can be turned on in DD-WRT systems. Cron is the standard system scheduler process within a system running Linux and other *nix variants. Older versions of DD-WRT Linux use the name and command cron; in newer builds the name cron has been changed to crond, however they work the same.
Check out the CRON page on the DD-WRT wiki for more information.
For our purposes, we are going to set up a cron job that wakes our PC at 1:55am every morning. To do this, simply navigation to “Administration » Management”; look for the “Cron” section. Click the “Enable” radio button
You’ll need to identify the MAC address of the PC that you’re wanting to wake (you can do this via the Status tab in DD-WRT). In my case, I’m going to use XX:XX:XX:XX:XX:XX as a sample.
With that MAC address in hand, put this command into the “Additional Cron Jobs” text area:
55 1 * * * root /usr/sbin/wol -i <IP_ADDRESS> XX:XX:XX:XX:XX:XX
Let’s break down what this command means:
- 55 1 * * *: execute this command at 1:55am every day
- root: execute this command as root
- /usr/sbin/wol -i <IP_ADDRESS> XX:XX:XX:XX:XX:XX: the command itself (which sends WOL packets to the specified MAC address via our broadcast address)
Once you’re done, click “Apply Settings”. Your new cron job should be loaded and ready to go.
Step #3: Over on the PC, configure a Scheduled Task for Windows Backup.
I’m going to assume you’ve already created a backup via Windows Backup (in my case, I merely back up our media files to an external drive).
Open Task Scheduler. In the left-hand pane of the main window, open “Task Scheduler Library » Microsoft » Windows » WindowsBackup”.
Select this item and look for the task named “AutomaticBackup” in the top pane.
Right click on this task and select “Properties”. In the window that appears, select the “Triggers” tab. You should see the schedule-based trigger that you defined when creating your backup.
For our purposes here, we’re going to modify this trigger to execute at 2am every day; this way, it will fire shortly after the cron job boots the PC.
With this set, we’re almost there.
Step #4: Configure a Scheduled Task to shut the PC down when the backup finishes.
Interestingly enough, there’s not a straightforward way to shut the PC down after the backup finishes. Fortunately, there is a way to do it nonetheless.
Right click on the “WindowsBackup” folder in the left-hand pane and select “Create Basic Task.” Fill it in with the following info:
- Name: Shutdown After Backup
- Trigger: When a specific event is logged
- Log: Microsoft-Windows-Backup/Operational
- Source: Backup
- Event ID: 4098 (this is the Event ID that fires when a backup successfully completes)
- Action: Start a program
- Program/Script: C:WindowsSystem32shutdown.exe
- Add arguments: /s
Finish the task and save it.
At this stage, you should be all set – your PC will turn on at 1:55am every morning, back itself up at 2am, and shut itself down after everything is complete.
One thing to note: from what I can tell, 4098 represents a successful backup. I’m not sure what the error code is…I’m sure I’ll pay for that at some point, but for now, we won’t worry about it!


|
|
| Prism (std::string fileNameOfModel, std::string fileNameOfBlock="../data/CuboidBlock.txt", Matrix3x3 initialOrientation=Matrix3x3(), vector3D initialPosition=vector3D()) |
| |
| void | readModelVerticesPosition () override |
| |
| void | calculatePosition () override |
| |
|
std::string | getType () override |
| |
|
std::string | getFileNameOfModel () |
| |
|
std::string | getFileNameOfBlock () |
| |
|
vector3D | getPosition () |
| |
|
Matrix3x3 | getOrientation () |
| |
|
void | setOrientation (Matrix3x3 orient) |
| |
|
void | setPosition (vector3D pos) |
| |
|
const vector3D & | operator[] (int index) const |
| |
|
vector3D & | operator[] (int index) |
| |
| int | getTotal () |
| |
|
void | setScaleX (double scaleX) |
| |
|
void | setScaleY (double scaleY) |
| |
|
void | setScaleZ (double scaleZ) |
| |
|
double | getScaleX () |
| |
|
double | getScaleY () |
| |
|
double | getScaleZ () |
| |
|
|
std::string | fileNameOfModel |
| |
|
std::string | fileNameOfBlock |
| |
|
Matrix3x3 | orientation |
| |
|
vector3D | positionOfCenterOfMass |
| |
|
vector3D | vertices [VERTICES_NUMBER_OF_CUBOID] |
| |
|
double | scaleX |
| |
|
double | scaleY |
| |
|
double | scaleZ |
| |
|
static int | Total =0 |
| |
◆ calculatePosition()
| void Prism::calculatePosition |
( |
| ) |
|
|
overridevirtual |
calculate actual position of obstacle
Reimplemented from Object.
◆ readModelVerticesPosition()
| void Prism::readModelVerticesPosition |
( |
| ) |
|
|
overridevirtual |
read position of obstacle from file and convert it by scale
Reimplemented from Object.
The documentation for this class was generated from the following files:
- /home/chilon/Pobrane/zad5_3-GrzegorzWojnarowicz/inc/Prism.h
- /home/chilon/Pobrane/zad5_3-GrzegorzWojnarowicz/src/Prism.cpp


The northernmost point of entry to Costa Rica, this marina is situated on Guanacaste's Gold Coast. The International airport is less than an hour's drive away. Situated below the hurricane belt and sheltered from the easterly trade winds of Papagayo, this marina should offer a safe haven (albeit a five star one!). It joined the IGY Network of marinas in 2011.
Note: It is the policy at Marina Papagayo not to fuel boats until they have checked in.
Position 10°38.14'N, 85°39.16'W.
See Costa Rica Fomalities for full details on clearing into and out of Costa Rica.
Clearance and Immigration facilities are available here. The Harbourmaster uses the agent, Paramares SA, to clear boats in. This agent can also be used to secure a Permisode Permanencia (2 year cruising permit).
Many cruisers choose to clear into Costa Rica beforehand at Cocos, where clearance is straightforward and simple.
Last updated September 2016.
The marina is part of Peninsula Papagayo - a luxury resort/residential community with a Four Seasons Resort hotel, a top class golf course and a Beach Club & Spa.
The marina has 350 wet slips for yachts ranging in size from 35’ to 240’ in length. Reports are that the marina is very exposed to the trade winds which can make berthing tricky. Chafe gear and sturdy spring lines are recommended to minimise the effects of the surge.
The harbourmaster is reported to be very friendly and helpful, as are the staff.
This is a government recognised marina and as such can provide long term berthing to foreign yachts with a Permisode Permanencia.
Last updated January 2013.


Getting Started
Create an environment
We highly recommend to install compas_assembly
and related packages in a
separate conda environment. In this guide, we will create and use an
environmenment based on Python 3.7 with the name “dem”, referring to
“Discrete Element Modelling”, but you can use any other name you like
(except for “base”, which is the name of the root environment of your conda
installation).
conda create -n dem -c conda-forge python=3.7 COMPAS shapely
conda create -n dem -c conda-forge python=3.7 python.app COMPAS shapely
Activate the environment
The root environment is active by default.
Therefore, you should not forget to activate the “dem” environment whenever
you want to work with compas_assembly
and its related packages.
conda activate dem
Install compas_assembly
There are no released versions of compas_assembly
yet.
To install compas_assembly
directly from GitHub, do
pip install git+https://github.com/BlockResearchGroup/compas_assembly.git#egg=compas_assembly
To install from a local source repo, navigate to the root of the repo, and do
pip install -e .
Check installation
Start an interactive Python interpreter on the commad line and import the packages to check if the installation procedure was successful.
>>> import compas
>>> import compas_assembly
Also check the version of COMPAS
>>> compas.__version__
'0.15.4'
Install compas_assembly for Rhino
python -m compas_rhino.install -p compas compas_rhino compas_assembly
Install compas_rbe
compas_rbe
is an equilibrium solver for compas_assembly
.
To install compas_rbe
directly from GitHub, do
pip install git+https://github.com/BlockResearchGroup/compas_rbe.git#egg=compas_rbe
To install compas_rbe
from a local source repo,
navigate to the root of the repo and do
pip install -e .
Finally, compas_rbe
supports multiple backends for solving the quadratic
optimisation problem formulated in the Rigid Block Equilibrium problem.
conda install -c conda-forge cvxpy cvxopt
conda install -c ibmdecisionoptimization cplex
Note that the CPLEX installed via conda-forge is the Community Edition,
which means it is limited to 1000 variables and constraints.
Although this sounds like a lot, with compas_rbe
you will hit these limits
quite quickly. Since the CPLEX backend is by far the fastest and most robust
option for compas_rbe
, we recommend installing the Academic Edition
if you are affiliated to an academic institution.
Instructions for installing CPLEX and it’s Python API can be found here:
If you have problems with the installation of the Academic Edition, some solutions can be found here:


This map displays the birthplaces and where women scientists from the 20th century worked while they were innovating in the field of radiology
The innovations and work done by these important women have heavily influenced and impacted the field of medical science. Our goal for this mapping project is to provide information to the public in a concise and appealing format
The team members that worked on this website and map are: Erica, Lauren Elizabeth, and Taylor. We are all graduate students at Michigan State Univserity and are apart of the CHI fellowship


{% extends 'base.html' %} {% block title %} ALSET: Jobs {% endblock %} {% block contents %} Jobs Take up jobs and earn rewards. Id Name Rewards Collateral Poster Added Pickup (Lat) Pickup (Long) Dropoff (Lat) Dropoff (Long) State Id Name Rewards Collateral Poster Added Pickup (Lat) Pickup (Long) Dropoff (Lat) Dropoff (Long) State Post new job Name Rewards Collateral Pickup point Dropoff point Post Delivered job Job ID Delivered job Acknowledge delivery Job ID Acknowledge {% endblock %} {% block scripts %} {% endblock %} {% block css %} {% endblock %}
Take up jobs and earn rewards.


A simple solution to implement an additional security on your data on AWS S3. this is to make an antivirus scanning on every new data/object added on your S3 bucket.
Feature
- Uses ClamAV to scan “newly” added files on S3 buckets
- Updates ClamAV database every 3 hours automatically
- Publishes a message to SNS in case of a finding
- Can optionally delete compromised files automatically
How it works
- Using the S3 event notification. the S3 bucket will send events to the SQS queue in case of newly created file(object)
- A ruby script running as a daemon in the background on the EC2 instance will act as a worker that will pull the queue messages from SQS which the contents are the events from the S3 buckets of newly created objects.
- The script will download the newly created object from the S3 bucket then perform clamscan on the downloaded object to verify if there’s a threat on the file
- Once a threat found on a scanned file it will delete the file and send an SNS notification to the subscribers
- The script also perform an antivirus update every 3 hours
Automation
CloudFormation template
The whole stack to implement the AWS S3 virus scan including the creation of SQS queue, SNS topic and the provisioning of the EC2 instance will be build automatically thru CloudFormation template, here’s the sample CF template. for the s3-virusscan-stack. the repo contains 2 JSON file, the template and the params, You only need to modify the content of the params replace it with the value of your own.
Repository: s3-virusscan-stack
Salt State
The Salt state will be the one responsible for the setting-up of the scripts and the installation of the script dependencies like Ruby, Gems, script configuration files and the installation of the ClamAV. checkout the salt state here
Repository: salt-s3clamavscan
Deploying the Stack
To deploy the CloudFormation template, You need to modify the “s3_virusscan_params.json” based on the environment you will going to deploy the stack.
Add the S3 Bucket
Using the S3 event notification feature we can now send message to the SQS when a new object is added to the bucket or an existing object is overwritte
For more details about S3 event notification kindly check it here


--- title: ENGAGE pagina: Engage --- {% include head.html %}
{% include nav.html %}Join our Telegram group (@fundrequestofficial), and deposit your Telegram ID and email through the form you find on our Telegram channel (@fundrequestannouncement).
Become part of the FundRequest community by joining us on Rocket Chat
Developers can find out what issues are most important to the community.
Start testing our Alpha platform and share your feedback with the FundRequest team.
Alpha PlatformDocumentation


{{currentUser.businessname}}
Is this correct?
{{currentUser.name}}
Before continuing, please update your information with Business BCeID or login with a different account.


Static Public Member Functions | |
| (NSString *) | + base64md5FromData: |
| Returns a Base 64 encoded MD5 of the given data. | |
| (NSString *) | + base64md5FromStream: |
| Returns a Base 64 encoded MD5 of the data read from the given input stream. |
| + (NSString * AmazonMD5Util.)base64md5FromStream: | (NSInputStream *) | inputStream |
Returns a Base 64 encoded MD5 of the data read from the given input stream.
The stream is expected to already have been opened. The caller is expected to close the stream. Nil will be returned if the MD5 could not be properly computed.
| NSException | thrown if unable to read stream. |


|
panwave
|
#include <Tree.h>
Public Member Functions | |
| Tree (size_t height) | |
Protected Member Functions | |
| size_t | GetLeafCount () |
| size_t | GetFirstLeaf () |
| size_t | GetLastLeaf () |
| bool | IsLeaf (size_t node) |
| size_t | GetChild (size_t parent, size_t child_index) |
| size_t | GetParent (size_t child) |
| bool | IsMarked (size_t node) |
| void | SetMark (size_t node) |
| void | Unmark () |
Protected Attributes | |
| size_t | _height |
| size_t | _leaf_count |
| std::vector< Element > | _nodes |
| std::vector< bool > | _mark |
A simple, generic k-ary tree implementation.
This class is designed to serve as the basis for the WaveletPacketTree set of classes and, as such, doesn't provide much functionality to use it as a stand-alone tree.
Template argument k defines the number of children each node in the tree has.
If k=2 the tree is an ordinary binary tree.
If k=4 the tree is an ordinary quad tree.
Etc.
Nodes are physically allocated in a vector. The first node in the vector is the root node. The next k nodes are the nodes in the second level of the tree (these are the children of the root node) and the remaining nodes in the vector continue this trend.
|
inline |
Tree constructor.
| height | The height of the tree. A tree consisting only of a single root node has height = 1. |
|
inlineprotected |
Get the child of a parent node.
| parent | The parent node index. |
| child_index | The 0-based index of the child relative to parent. The first child is 0. A binary tree node would have child indices of [0,1]. A quad tree node would have child indicies [0,1,2,3]. |
|
inlineprotected |
Return the index of the first leaf node.
|
inlineprotected |
Return the index of the last leaf node.
|
inlineprotected |
Return the number of leaves in the tree.
Leaves are the nodes in the bottom (last) level of the tree which themselves do not have children nodes.
|
inlineprotected |
Get the parent index for a child node.
| child | The child node index. |
|
inlineprotected |
Returns true if node is a leaf node.
| node | The index of a node to check. |
|
inlineprotected |
Return true if node is set as marked.
| node | The node index to check for mark state. |
|
inlineprotected |
Set node as marked.
| node | The node index to mark. |
|
inlineprotected |
Unmark all nodes in the tree.


The Future Value of your Investment will be {{(investment.result.fv*1 + (investment.result.fvA || 0)*1).toFixed(2)}}.
{{(investment.result.fv*1).toFixed(2)}} of that comes from your initial deposit.
{{(investment.result.fvA*1).toFixed(2)}} of that comes from your monthly deposits.
Enter your initial investment or deposit, the years you want to invest it and the interest rate you get and
click calculate.
The FV (Future Value) and ROI (Return on Investment) of your savings will then be calculated and presented
to you.
You can also specify how often the interest is compounded per year and how much you want to deposit monthly.
Use this calculator to determine how much your money can grow using the power of compound interest.
This investment calculator can be used to calculate a specific parameter for an investment plan. The tabs in
the following represent the parameter to be calculated. For example, if you want to know the return rate
needed to reach your investment goal with a investment schedule, please click the "Return Rate" tab to
calculate that. This investment calculator is based on a fixed return rate.
Rate of return on investment
This is the rate of return you expect from your investments. You are also able to select the frequency that
earnings are compounded in your investment account. The actual rate of return is largely dependent on the
types of investments you select. The Standard & Poor's 500 (S&P 500) for the 10 years ending Dec. 1st,
2014, had an annual compounded rate of return of 8.06%, including reinvestment of dividends. From January
1970 through to Dec. 2014, the average annual compounded rate of return for the S&P 500, including
reinvestment of dividends, was approximately 10.7%. Since 1970, the
highest 12-month return was 61% (June 1982 through June 1983). The lowest 12-month return was -43% (March
2008 to March 2009). Savings accounts at a financial institution may pay as little as 0.25% or less but
carry significantly lower risk of loss of principal balances.
It is important to remember that these scenarios are hypothetical and that future rates of return can't be
predicted with certainty and that investments that pay higher rates of return are generally subject to
higher risk and volatility. The actual rate of return on investments can vary widely over time, especially
for long-term investments. This includes the potential loss of principal on your investment. It is not
possible to invest directly in an index and the compounded rate of return noted above does not reflect sales
charges and other fees that Separate Account investment funds and/or investment companies may charge.
To calculate the future value of your initial investment, this formula is used.
To calculate the future value of your monthly deposits or annuity, this formula is used.
Both formulas take compound interest and length of the period into account.
The Investment Calculator can help you to determine the return on investments with a fixed rate of return. A
good example of this type of investment is a Certificate of Deposit, or CD, which is available at most
banks. A CD is a low risk investment, because, up to the amount of $250,000, it is guaranteed by the Federal
Deposit Insurance Corporation, a U.S. government agency. It pays a fixed rate of interest for a specified
amount of time. The longer you leave your money in the CD, the better the rate of interest you can receive.
Other low-risk investments of this type are savings accounts and money market accounts, which pay relatively
low rates of interest.
Risk is a key factor when making investments. In general, one is paid a premium for taking the greater risk.
So, for example, if you buy the debt of some companies, which is rated at a risky level by the agencies that
determine levels of risk in corporate debt (Moody's, Fitch, Standard & Poor's), you will earn a very high
rate of interest on it, but you run the risk that these companies might go out of business, and you could
lose your investment.
There are, of course, less risky companies to invest in. Buying bonds from companies that are highly rated
for risk by the agencies is much safer, but one earns a lower rate of interest. Bonds can be bought both for
the short term and the long term.
Short-term bond investors want to buy a bond when its price is low and sell it when the price has risen,
rather than holding the bond to maturity. Bond prices tend to drop as interest rates rise, and they
typically rise when interest rates fall. Within different parts of the bond market, differences in supply
and demand can also generate short-term trading opportunities.
When buying bonds for the long term, you invest in a bond and hold it to maturity. In this way, you will get
interest payments, usually twice a year, and receive the face value of the bond at maturity. When you follow
a long-term bond-buying strategy, you need not be too concerned about the impact of interest rates on a
bond's price or market value. If interest rates rise, and the market value of your bond changes, your
strategy does not change unless you try to sell the bond. This is a conservative approach to bond
investment.
One very special kind of bond is the United States Treasury inflation-protected securities, known as (TIPS).
TIPS offer an effective way to handle the risk of inflation. They also provide a risk-free return guaranteed
by the U.S. government. For this reason, they are a very popular investment, although the return is
relatively low compared with other fixed-income investments.
TIPS are guaranteed to keep pace with inflation as defined by the Consumer Price Index (CPI). This is what
makes them unique and defines their behavior. Their rate of return is tied to the index.
If are looking to invest, open up a 401k/retirement savings account or want to deposit your money anywhere
else where you get interest, this calculator can give you a good estimation
on what your money will be worth in a couple of years.
Remember that this calculator is not 100% accurate and that this site does not provide financial advice. For
investment advice, please consult a financial adviser.
Still another form of investment is equity or stocks. While this is not a fixed-interest investment, it is
one of the most important forms of investment for both institutional and private investors.
Stock is a share, literally a percentage of ownership, in a company. It permits you, as a part owner of that
company, to share in its profits, and you receive those funds in the form of dividends for as long as you
hold the shares (and the company pays dividends). Some company stocks are traded on exchanges, and many
investors purchase stocks with the object of buying them at a low price and selling them at a higher one.
Many investors prefer to invest in mutual funds, or other types of stock funds, which group a number of
stocks. These funds are actively managed by a skilled trader who tries to bring together as many performing
stocks as possible. The investor pays a small fee, called a "load," for the privilege of working with the
manager. Another kind of stock fund is the Index fund, which bases its strategy on the performance of
indexes like the Dow Jones, the S&P 500, or the Russell 1000, groups of stocks that are selected on the
basis of size and quality.
Still another profitable and popular investment is real estate. The most basic way of investing is to
purchase low-valued property that you have reason to believe will appreciate in value over a reasonable
period of time. Usually, an influx of people or an increase in development makes the property more valuable.
Alternatively, land that you purchase can be built on and made more valuable in this way.
Another way to invest in real estate is to buy houses or apartment buildings and to rent them. The income
from rental properties - it is known as yield - can rise to 30 percent or 40 percent per year if the
properties are managed carefully, and the proper location is chosen.
Still another popular form of investment is in commodities. These can range from precious metals like gold
and silver, to useful commodities like oil and gas. Investment in gold is complex, as the price of gold is
not determined by any industrial usage. Gold is used in jewelry, but not in any other practical form. The
price of gold is determined very largely by the fact that gold is valuable, and investors wish to hold it,
particularly in times of insecurity. When there is war or crisis, investors buy gold, and the price goes up.
Investing in silver, on the other hand, is very largely determined by the demand for that commodity in
photovoltaics, in the automobile industry, and in other practical uses. Oil is a very popular investment,
and demand for oil is strong as the need for gasoline is always considerable. Oil is traded around the world
on spot markets, and its price goes up and down depending on the state of the global economy. Investment in
commodities like gas, on the other hand, is usually made through the futures exchanges, of which the largest
in the U.S. is the CBOT in Chicago. These trade options on quantities of gas and other commodities before
delivery. A private investor can trade into futures and then trade out, always avoiding the terminal
delivery point.
For investments with a fixed rate of return, this Investment Calculator will help you to determine interest
payments and rate of return, as, for example with a bond investment. The investment calculator also shows
how much you must invest each month to reach a given target.


This page describes Native Code Plugins for the Tizen platform.
[DllImport ("PluginName")]
private static extern float FooPluginFunction();
#include <tizen.h>
EXPORT_API float FooPluginFunction();
If you are using C++ (.cpp) to implement the plugin you must ensure the functions are declared with C linkage to avoid name mangling issues.
extern "C" {
EXPORT_API float FooPluginFunction();
}
Plugins written in C do not need this since these languages do not use name-mangling.
Once built, the shared library should be copied to the Assets->Plugins->Tizen->libs folder. Unity will then find it by name when you define a function like the following in the C# script:
[DllImport ("PluginName")]
private static extern float FooPluginFunction ();
Please note that PluginName should not include the prefix (‘lib’) nor the extension (‘.so’) of the filename. You should wrap all native code methods with an additional C# code layer. This code should check Application.platform and call native methods only when the app is running on the actual device; dummy values can be returned from the C# code when running in the Editor. You can also use platform defines to control platform dependent code compilation.
Unity Tizen supports limited native-to-managed callback functionality via UnitySendMessage:
UnitySendMessage("GameObjectName1", "MethodName1", "Message to send");
This function has three parameters : the name of the target GameObject, the script method to call on that object and the message string to pass to the called method.
Known limitations:
function MethodName(message:string)


Honzi
/
Bookmarks
/
Music
/Röyksopp
...and The Forest Began To Sing
Coming Home
Forsaken Cowboy
Happy Up Here
Only This Moment
Senior
Skulls
Sombre Detune
Sordid Affair
Sparks
The Alcoholic
The Drug
The Girl And The Robot
Tricky Two


Hardhats
Hardhats have long been a symbol associated with engineering at many universities across Canada. However, no university uses the hardhat as such a major symbol as the University of Waterloo. There are nine unique hardhats that represent different positions or ranks used during Orientation Week and throughout the year. While you may not see many hardhats outside of Orientation Week, they're still there. People keep them and display them. They're worn for special occasions. They're remembered.
Earning a hardhat can be symbolic of the work you do. While most hardhats are awarded during Orientation Week for somebody's dedication as a leader, it usually also represents that student's leadership in other fields as well. Many EngSoc executives, directors, student teams captains and members, FedS volunteers, club executives and special events volunteers go on to earn some of the highest level hardhats.
Which hardhat somebody wears is a good indication of what that person is responsible for and who they are. The following are a description of each type of hardhat you'll see during Orientation Week, as well as a couple you may see elsewhere.
Yellow
The Yellow hardhat is reserved for incoming first year students who complete the Principles of Engineering during the Earn Your Hardhat event on the Tuesday of Orientation Week. It symbolises the incoming student's dedication and hard work during their life so far, their Orientation Week, and the years to come. An estimated 1,300 Yellow hardhats will be awarded this year.
Who gets one: Every first year student entering the Faculty of Engineering (this includes Software Engineering and Architecture) who completes the Principles of Engineering and takes the Plummer's Oath during Orientation Week.
What wearing it means: That the wearer is a plummer (a student in the Faculty of Engineering at the University of Waterloo).
Green
The Green hardhat is awarded to the Bigs during Orientation Week that prove their ability to dedicate and sacrifice themselves to their colour group and the first-year students they lead. It represents that leader's ability to be a leader and their dedication to Orientation Week. An estimated 300 Green hardhats will be awarded this year.
Who gets one: Every 'Big' student leader that participates in Engineering Orientation Week that completes their challenges alongside the first-year students in their colour group.
What wearing it means: That the wearer is a 'Big' for Orientation Week, has earned their Yellow hardhat and completed Orientation Leader Training.
Red
The Red hardhat is awarded to the few Huges during Orientation Week who prove their ability to organize their colour group, motivate their leaders and lead their team to victory. It symbolises the hard work they put into the week through organizing and leading their team, as well as their proven abilities as student leaders. Only an estimated 50 Red hardhats will be awarded this year, so those that wear one should be trusted and looked up to.
Who gets one: Every 'Huge' student leader that participates in Engineering Orientation Week, organizes and runs their colour group and participates in the Huge Hardhat Ceremony.
What wearing it means: That the wearer is 'Huge' for Orientation Week, has earned their Yellow hardhat, has completed Orientation Leader Training, has completed Huge training and is a trusted leader of their respective colour group.
Black
The Black hardhat is awarded to the rare student who proves themselves qualified and capable of being part of the Education Committee. It symbolises that the holder was hand selected for their position, and possesses the abilities to organize and run nearly every aspect of the week. The Black hardhat is a rare and desired item during Orientation Week, and the few who earn it deserve the respect due to them. Fewer than 40 Black hardhats will be awarded this year.
Who gets one: Every member of the Education Committee that participates in Engineering Orientation Week and participates in the Education Committee Hardhat Ceremony.
What wearing one means:That the wearer was hand selected to be a part of the Education Committee, has earned their Yellow hardhat, has completed Orientation Leader Training, has completed Education Committee Training, has proven themselves deserving of earning their hardhat and that they are deserving of respect.
Grey
The Grey hardhat is awarded to the organizers of the Architecture Engineering specific Orientation Week. It signifies they are a member of the Federation Orientation Committee, a top student leader, and possess the dedication to organize an Orientation Week between both the main UW campus and the Architecture campus in Cambridge. The wearers also deserve your utmost respect for the dedication they've shown to Orientation Week. Only 2 will be awarded this year; one to Jameela Derrick and the other to Brent Carson. Fewer than 12 exist in total, making them also one of the rarest hardhats.
Who gets one: The Federation Orientation Committee members for Architecture.
What wearing one means: That the wearer was selected to be part of the Federation Orientation Committee to represent Architecture, completed FOC training, developed and organized all Architecture Orientation Week programming, leads all Architecture student leaders, oversees their events, has completed Orientation Leader Training, Huge Training and Education Committee Training, has earned their Yellow hardhat, Green hardhat and Red hardhat and is deserving of your respect for the sacrifices they've made to Orientation Week.
The Cowboy
The Cowboy hardhat is awarded to the two organizers of Engineering Orientation Week itself known as the Superhuges. They are members of the Federation Orientation Committee, leaders of the Huges, and have worked with the Headcom (see below) since last year to produce the best Orientation Week possible. It symbolises the sacrifice they've made to Orientation Week and that they are to be respected. They, and the Headcom, are responsible for a bulk of what you experience during Engineering Orientation Week. Only 2 will be awarded this year; one to Nizar Hasan and the other to Cassandra Leal. A total of 10 exist, making them the second rarest hardhats.
Who gets one: The Superhuges.
What wearing one means:That the wearer was selected to be part of the Federation Orientation Committee to represent Engineering, completed FOC training, developed and organized all Engineering Orientation Week programming, leads the Huges and Bigs, oversees their events, has completed Orientation Leader Training, Huge Training and Education Committee Training, has earned their Yellow hardhat, Green hardhat, Red Hardhat and Black hardhat and is deserving of your respect for the sacrifices they've made to Orientation Week.
The Hellraiser
The Hellraiser hardhat is awarded to the two organizers of Engineering Orientation Week itself known as the Headcom. They are members of the Federation Orientation Committee, leaders of the Education Committee and have worked with the Superhuges (see above) since last year to produce the best Orientation Week possible. It symbolises the sacrifices they've made to Orientation Week and that they deserve your respect. They, and the Superhuges, are responsible for a bulk of what you experience during Engineering Orientation week. Only 2 will be awarded this year; one to Sean O'Neill and the other to Stuart Pearson. A total of only 9 exist, making them the rarest of all hardhats.
Who gets one: The Headcoms
What wearing one means: That the wearer was selected to be part of the Federation Orientation Committee to represent Engineering, completed FOC training, developed and organized all Engineering Orientation Week programming, leads the Education Committee, oversees their events, has completed Orientation Leader Training, Huge Training and Education Committee Training, has earned their Yellow hardhat, Green hardhat, Red Hardhat and Black hardhat and is deserving of your respect for the sacrifices they've made to Orientation Week.
Other hardhats you may see around campus:
Pink
The Pink hardhat is awarded to the executive members of the Engineering Student Societies' Council of Ontario (ESSCO), which is a Provincial organization dedicated to communication and collaboration between all of Ontario's engineering students. Pink is the official colour of ESSCO, and the Pink hardhat represents that the wearer was nominated for and elected to one of the executive positions of council. Elections occur every summer, and the hardhats are usually passed from executive to executive, so new hardhats are rarely produced. These hardhats are usually covered in stickers from various schools, and are decorated, making them easily identifiable. Only two students at the University of Waterloo, Cameron Winterink and Alessia Danelon, currently hold executive positions with ESSCO, and therefore are the only holders of a Pink hardhat this year.
Who gets one: Executive members of the Engineering Student Societies' Council of Ontario
What wearing one means: That the wearer was nominated for and elected to an executive position within ESSCO.
Toolbearer
The Toolbearer hardhat is very similar to the Black hardhat, but no connection between the Education Committee and the Toolbearers can be inferred as they are completely separate groups. The Toolbearer hardhats (identifiable by the white Toolbearer crest on the front) are worn by the Toolbearers only while in the presence of The Tool. It is worn as part of the Toolbearer uniform and are not worn separately. It is unknown how many exist or where they come from.
Who gets one: Toolbearers
What wearing one means: That the wearer is a Toolbearer.


saigon (beta2)
INSTALLiOS 10.2.1 jailbreak by Abraham Masri @cheesecakeufo if you can consier a little donation as a thank you it will be really appreciated!
donate Follow @yassineayouchif you want it to last a year for you click here
iOS 10.2.1 jailbreak by Abraham Masri @cheesecakeufo if you can consier a little donation as a thank you it will be really appreciated!
donate Follow @yassineayouchif you want it to last a year for you click here


Your message has been submitted. We will reply you as soon as possible.
There are something wrong our server problem. Please try again later or contact us on Discord directly.


Banks, William John
| Birth Name | Banks, William John |
| Gender | male |
| Age at Death | 78 years, 9 months, 28 days |
Narrative
20/9/1982 I applied for the death Cert. for Edith Annie Bongers, she was 19yrs old. She is buried with her Grandparents- Gysbert & Mary Ann Bongers in May's Hill Cemetery.
24/2/1983 - Applied for the Marriage Cert. for Julia & William John Banks.
1940's/1960's - Address - 14 Hope Street, Granville NSW, near Rosehill Racecource. Can't find a death notice for Julia Ruth Banks, in the SMH.
Death - William John Banks, 29 Oct 1963, at his residence 14 Hope St Granville, dearly beloved
husband of Julia Ruth Banks & loving father & father-in-law of William & Nellie, Jean & Ray Edwards,
Beryl & Keith Williams, loved grandfather & great-grandfather of their children, aged 78yrs.
FUNERAL - Service to be held at St Pauls CofE Crown Street, Harris Park, Thursday 31/10/1963
at 2pm, for Rookwood Crematorium.
2003 - found death for Julia Banks in Probate files, 30/10/1968 - Probate #663878.
21/3/2003 - asked Joy Murrins for Birth Trans. for Edith Annie Bongers. 18/6/1898.
Found a record in WW.1 index for Pte William John BANKS # 6944, 22nd Batt. Enlisted 23/8/1916.
But no record of what happened to him?
Events
| Event | Date | Place | Description | Sources |
|---|---|---|---|---|
| Birth | 1885 | Liverpool NSW Aust #18451 | ||
|
|
||||
| Death | 1963-10-29 | Granville NSW Aust Probate 569209 | ||
|
|
||||
| Burial | 1963-10-31 | Rookwood Crem NSW Aust | ||
|
|
Parents
| Relation to main person | Name | Birth date | Death date | Relation within this family (if not by birth) |
|---|---|---|---|---|
| Father | Banks, William & Mary Ann | |||
| Banks, William John | 1885 | 1963-10-29 |
Families
Family of Banks, William John and Bongers, Julia Ruth (Great Aunt) |
|||||||||||||||||
| Married | Wife | Bongers, Julia Ruth (Great Aunt) ( * 1881-12-01 + 1968-10-30 ) | |||||||||||||||
|
|||||||||||||||||
| Children |
| Name | Birth Date | Death Date |
|---|---|---|
| Bongers, Edith Annie | 1898-06-18 | 1919-05-04 |
| Banks, William Gisbert “Bill” | 1912-12-19 | 1994-07-03 |
| Banks, Edith “Jean” | 1919-04-30 | 1976-09-13 |
| Banks, Beryl Esma | 1922-02-14 | 1993-02-26 |
| Type | Value | Notes | Sources |
|---|---|---|---|
| _UID | 93E0AA8D6200D71198538897FFB216793E3B |
Attributes
| Type | Value | Notes | Sources |
|---|---|---|---|
| _UID | 92E0AA8D6200D71198538897FFB216793D2B |


EtherSearch
Search Ethereum addresses in bulk.
Bulk check address
Ether addresses
Check
Powered by
Ethplorer.io
Support
BTC
ETH
LTC
Results


CyberAK Smarthouse Control
CyberAK Smarthouse Control
Smarthouse Status:
Security:
Door:
Motion:
Gas:
Thermostat:
Lights:


We're sorry but adeept_bot_controller_web doesn't work properly without JavaScript enabled. Please enable it to continue.


My first dive into a group project. It is a travel app that would tie into social media and find ride fares across Europe.
Second group project. It is an easy to use mobile-first food service application for order entry.
An app that uses a series of prompts to help a user generate a new password.
An app that keeps track of user's workday and changes the color based on if the event is in the future or past.


This is a simple hello world program. Each processor prints out it's rank and the size of the current MPI run (Total number of processors).
This is a simple send/receive program in MPI
Shows how to use probe & get_count to find the size of an incomming message
This is a simple isend/ireceive program in MPI
This is a simple broadcast program in MPI
This program shows how to use MPI_Scatter and MPI_Gather Each processor gets different data from the root processor by way of mpi_scatter. The data is summed and then sent back to the root processor using MPI_Gather. The root processor then prints the global sum.
This program shows how to use MPI_Scatter and MPI_Reduce Each processor gets different data from the root processor by way of mpi_scatter. The data is summed and then sent back to the root processor using MPI_Reduce. The root processor then prints the global sum.
This program shows how to use MPI_Alltoall. Each processor send/rec a different random number to/from other processors.
This program shows how to use MPI_Gatherv. Each processor sends a different amount of data to the root processor. We use MPI_Gather first to tell the root how much data is going to be sent.
This program shows how to use MPI_Alltoallv. Each processor send/rec a different and random amount of data to/from other processors. We use MPI_Alltoall to tell how much data is going to be sent.
This program is designed to show how to set up a new communicator. We set up a communicator that includes all but one of the processors, The last processor is not part of the new communcator, TIMS_COMM_WORLD We use the routine MPI_Group_rank to find the rank within the new connunicator. For the last processor the rank is MPI_UNDEFINED because it is not part of the communicator. For this processor we call get_input
Shows how to use MPI_Type_vector to send noncontiguous blocks of data and MPI_Get_count and MPI_Get_elements to see the number of elements sent
Shows a short cut method to create a collection of communicators. All processors with the "same color" will be in the same communicator. In this case the color is either 0 or 1 for even or odd processors. Index gives rank in new communicator.
This program shows how to use MPI_Gatherv. Each processor sends a different amount of data to the root processor. We use MPI_Gather first to tell the root how much data is going to be sent.
run_script Slurm run script
makefile Makefile for the examples
hellof.f Another hello world example
helloc.c Another hello world example
ex10.in Input for example 10
workerwaspc.c Manager/worker paradigm example
workerwaspf.f Manager/worker paradigm example
testall2all.f90 An example of how to do MPIall2all
mpi.tar Contains all of these examples


GenViewControlClass
works with GenView objects to provide a number of features to your user interface. It is a subclass of
GenControlClass
and works with the GenToolControl to implement tool bars and tool boxes for the view.
For the controller to interact with a GenView, the view must have the GVA_CONTROLLED flag set in its
GVI_attrs
field. The GenViewControl will interact with all views having this flag set.
The GenViewControl features and tools are shown in GenViewControl Features and Tools . All GenViewControl objects must be placed on the MGCNLT_ACTIVE_LIST and GAGCNLT_SELF_LOAD_OPTIONS GCN lists. The view itself should be on the GAGCNLT_CONTROLLED_GEN_VIEW_OBJECTS list.
Code Display 9-6 GenViewControl Features and Tools
/* The GenViewControl supports the following features. */
typedef WordFlags GVCFeatures; #define GVCF_MAIN_100 0x4000 /* sets scale to 100% from View menu */ #define GVCF_MAIN_SCALE_TO_FIT 0x2000 /* allows scale-to-fit in View menu */ #define GVCF_ZOOM_IN 0x1000 /* zooms in on the document */ #define GVCF_ZOOM_OUT 0x0800 /* zooms out on the document */ #define GVCF_REDUCE 0x0400 /* reduces the view's scale factor */ #define GVCF_100 0x0200 /* sets scale to 100% in View submenu */ #define GVCF_ENLARGE 0x0100 /* enlarges the view's scale factor */ #define GVCF_BIG_ENLARGE 0x0080 /* enlarges the scale factor twice */ #define GVCF_SCALE_TO_FIT 0x0040 /* scales the view to fit the document */ #define GVCF_ADJUST_ASPECT_RATIO 0x0020 /* adjusts scale for aspect ratio */ #define GVCF_APPLY_TO_ALL 0x0010 /* applies to all active views */ #define GVCF_SHOW_HORIZONTAL 0x0008 /* shows/hides the horizontal scroller */ #define GVCF_SHOW_VERTICAL 0x0004 /* shows/hides the vertical scroller */ #define GVCF_CUSTOM_SCALE 0x0002 /* allows custom scaling */ #define GVCF_REDRAW 0x0001 /* refreshes the view window */
/* The GenViewControl provides the following tools. */ typedef WordFlags GVCToolboxFeatures; #define GVCTF_100 0x1000 /* sets the scale factor to 100% */ #define GVCTF_SCALE_TO_FIT 0x0800 /* scales the view to fit the document */ #define GVCTF_ZOOM_IN 0x0400 /* zooms in; enlarges the scale factor */ #define GVCTF_ZOOM_OUT 0x0200 /* zooms out; reduces the scale factor */ #define GVCTF_REDRAW 0x0100 /* refreshes the view window */ #define GVCTF_PAGE_LEFT 0x0080 /* scrolls left/back one page width */ #define GVCTF_PAGE_RIGHT 0x0040 /* scrolls right/forward one page width */ #define GVCTF_PAGE_UP 0x0020 /* scrolls up/back one page height */ #define GVCTF_PAGE_DOWN 0x0010 /* scrolls down/forward one page height */ #define GVCTF_ADJUST_ASPECT_RATIO 0x0008 /* adjusts scale for aspect ratio */ #define GVCTF_APPLY_TO_ALL 0x0004 /* applies to all active views */ #define GVCTF_SHOW_HORIZONTAL 0x0002 /* shows/hides the horizontal scroller */ #define GVCTF_SHOW_VERTICAL 0x0001 /* shows/hides the vertical scroller */
/* Default features and tools */ #define GVC_DEFAULT_FEATURES (GVCF_MAIN_100 | GVCF_MAIN_SCALE_TO_FIT | GVCF_REDUCE | GCVF_ENLARGE | GVCF_BIG_ENLARGE | GVCF_SCALE_TO_FIT | GVCF_ADJUST_ASPECT_RATIO | GVCF_APPLY_TO_ALL | GVCF_SHOW_HORIZONTAL | GVCF_SHOW_VERTICAL | GVCF_CUSTOM_SCALE)
#define GVC_DEFAULT_TOOLBOX_FEATURES (GVCTF_100 | GVCTF_ZOOM_IN | GVCTF_ZOOM_OUT)
#define GVC_SUGGESTED_SIMPLE_FEATURES (GVCF_MAIN_100 | GVCF_MAIN_SCALE_TO_FIT | GVCF_ZOOM_IN | GVCF_ZOOM_OUT)
#define GVC_SUGGESTED_INTRODUCTORY_FEATURES (GVCF_MAIN_100 | GVCF_ZOOM_IN | GVCF_ZOOM_OUT)
#define GVC_SUGGESTED_BEGINNING_FEATURES (GVC_SUGGESTED_INTRODUCTORY_FEATURES | GVCF_MAIN_SCALE_TO_FIT)