FIRE ON THE MOUNTAIN A film review by Steve Rhodes Copyright 1997 Steve Rhodes
RATING (0 TO ****): ** 1/2
FIRE ON THE MOUNTAIN is a movie with a broad appeal. Viewers interested in skiing or in World War II will certainly find this documentary fascinating, but it speaks to a much wider audience. It is a humorous, touching and historically revealing picture. The best documentaries take you to places and events you cannot get to on your own. FIRE ON THE MOUNTAIN is a new documentary now in theatrical release about a group of fun loving and courageous men of whom I'll bet you've never heard.
As the storm clouds were brewing over Europe in the late 1930s, the US saw the need for an elite group of soldiers who could fight on the snow capped mountains where the battles might rage. They sent out a call for the best skiers and mountain climbers, who came from all over the globe to join the 10th Mountain Division. The narrator (Steve Kanaly) said the goal of the division was "to turn mountain men into mountain soldiers."
The film starts with the skiers showing off their stuff in vintage clips from before the war. The weakness of the film is that too many of these are the classic funny falls that ski buffs might like, but of which others will quickly tire. Luckily the film is much more than this. The old clips have aged surprisingly well and some of the shots are spectacularly beautiful. Most are in the oversaturated color of that era's film stock, but some of the clips are in black and white. I expected most to be in black and white, which turned out not to be the case.
When the men joined, they expected action, but what they got were heavy doses of training. One exercise that lasted 6 weeks in 30-below-zero weather was so strenuous that in one day alone 100 men were hospitalized with frostbite.
Since these men liked the harsh mountain conditions, they threw themselves into their work with gusto. They divided their time between inventing ways for troops to cope in cold environments and training regular troops for mountain fighting.
The 10th Mountain was a fun loving group who ignored military hierarchies. They were a bunch of mountain men on the greatest lark of their lives. They loved to sing songs with crazy lyrics. The film shows them clowning around as well as inventing implements for soldiers in mountain terrain.
Directors Beth and George Gage interviewed about two dozen of the men. These interviews are interlaced with the old footage. The balance between interviews and old films is about right.
In late 1944 after years of training and just when the men were despairing that they would never get to fight, the call came to move out. First they went from their Rocky Mountain home in Colorado to a hot and dusty town in Texas. This made no sense to the men, but the army was known to make decisions which made little sense to the grunts. Soon, however, their moment came, and they were called upon to save the war in Northern Italy.
The Germans had established a position high atop the Italian mountains. Since our soldiers had not been able to dislodge them, the Germans had stopped the advance of our troops in the region. When the 10th Mountain Men arrived, they studied the topography of the region, looking for a weak spot. Finally, they decided the only way was to scale Riva Ridge at night. This meant they would have to climb 2,000 feet of shaley rock in the darkness.
When they got to the top, they engaged in a battle where many men from both sides were slaughtered. The interviews with the veterans are poignant. Each had a best friend who was killed. Equally touching are the scenes of the captured German soldiers, since by then their recruits were from their junior high and high schools.
The 10th Mountain saw little war service. Not too long after they took the ridge, the war in Italy was over. "We came in late," said one of the mountain soldiers.  We did our job, and we went home. That's the way a war should be fought."
At the end, the veterans came home and got rich forming the ski industry in the United States. As one pointed out, in 1943 Aspen had only two buildings. One of the veterans, Bill Bowerman, went on to coach track star Steve Prefontaine (see the recent movie PREFONTAINE as well as the about to be released PRE) and to co-found Nike.
Of the film's three parts -- training, war, and ski industry -- only the first two are interesting. The last part of the film drags, but the whole movie is so short that this is not a significant problem.
The end of the movie is good as the septuagenarians climb Riva Ridge one more time in celebration of the battle's fiftieth anniversary. One of the old soldiers put his current life in perspective. "People ask me if I've retired," he says. "I say yes. I retire every night and then I get up at 5:30 or 6:00 in the morning."
FIRE ON THE MOUNTAIN runs 1:12. It is not rated but would be PG-13 for the wartime scenes. The film would be fine for kids say nine and up. I recommend this enlightening picture and give it ** 1/2.
**** = A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show. Don't waste your money. 0 = Totally and painfully unbearable picture.
REVIEW WRITTEN ON: January 24, 1997
Opinions expressed are mine and not meant to reflect my employer's.
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


NEW GAME
Table score
human score - computer score
"Paper - Rock - Scissors" Game
Choose one button
Paper
Rock
Scissors
x


“ Just Another Build Tool ? ”
Code
Just looks like configuration
Maven v.s. Gradle
Flexibility
User Experience
Build Lifecyle
Dependency Scopes
Migration is not a nightmare
Show me the code
New Project
Simple Multi-Module Project
A Real Project
Build Lifecyle
On CI
All your need is here


Steenrod algebra bases#
AUTHORS:
John H. Palmieri (2008-07-30): version 0.9
John H. Palmieri (2010-06-30): version 1.0
Simon King (2011-10-25): Fix the use of cached functions
This package defines functions for computing various bases of the Steenrod algebra, and for converting between the Milnor basis and any other basis.
This packages implements a number of different bases, at least at
the prime 2. The Milnor and Serre-Cartan bases are the most
familiar and most standard ones, and all of the others are defined
in terms of one of these. The bases are described in the
documentation for the function
steenrod_algebra_basis()
; also see the papers by
Monks [Mon1998] and Wood [Woo1998] for more information about them. For
commutator bases, see the preprint by Palmieri and Zhang [PZ2008].
‘milnor’: Milnor basis.
‘serre-cartan’ or ‘adem’ or ‘admissible’: Serre-Cartan basis.
Most of the rest of the bases are only defined when \(p=2\). The only exceptions are the \(P^s_t\)-bases and the commutator bases, which are defined at all primes.
‘wood_y’: Wood’s Y basis.
‘wood_z’: Wood’s Z basis.
‘wall’, ‘wall_long’: Wall’s basis.
‘arnon_a’, ‘arnon_a_long’: Arnon’s A basis.
‘arnon_c’: Arnon’s C basis.
‘pst’, ‘pst_rlex’, ‘pst_llex’, ‘pst_deg’, ‘pst_revz’: various \(P^s_t\)-bases.
‘comm’, ‘comm_rlex’, ‘comm_llex’, ‘comm_deg’, ‘comm_revz’, or these with ‘_long’ appended: various commutator bases.
The main functions provided here are
steenrod_algebra_basis()
. This computes a tuple representing basis elements for the Steenrod algebra in a given degree, at a given prime, with respect to a given basis. It is a cached function.convert_to_milnor_matrix()
. This returns the change-of-basis matrix, in a given degree, from any basis to the Milnor basis. It is a cached function.convert_from_milnor_matrix()
. This returns the inverse of the previous matrix.
INTERNAL DOCUMENTATION:
If you want to implement a new basis for the Steenrod algebra:
In the file steenrod_algebra.py
:
For the class SteenrodAlgebra_generic
, add functionality to the
methods:
_repr_term
_milnor_on_basis
In the file steenrod_algebra_misc.py
:
add functionality to
get_basis_name
: this should accept as input various synonyms for the basis, and its output should be a canonical name for the basis.add a function
BASIS_mono_to_string
likemilnor_mono_to_string
or one of the other similar functions.
In this file steenrod_algebra_bases.py
:
add appropriate lines to
steenrod_algebra_basis()
.add a function to compute the basis in a given dimension (to be called by
steenrod_algebra_basis()
).modify
steenrod_basis_error_check()
so it checks the new basis.
If the basis has an intrinsic way of defining a product, implement it
in the file steenrod_algebra_mult.py
and also in the
product_on_basis
method for SteenrodAlgebra_generic
in
steenrod_algebra.py
.
- sage.algebras.steenrod.steenrod_algebra_bases.arnonC_basis(bound=1)#
Arnon’s C basis in dimension \(n\).
INPUT:
n
- non-negative integerbound
- positive integer (optional)
OUTPUT: tuple of basis elements in dimension n
The elements of Arnon’s C basis are monomials of the form \(\text{Sq}^{t_1} ... \text{Sq}^{t_m}\) where for each \(i\), we have \(t_i \leq 2t_{i+1}\) and \(2^i | t_{m-i}\).
EXAMPLES:
sage: from sage.algebras.steenrod.steenrod_algebra_bases import arnonC_basis sage: arnonC_basis(7) ((7,), (2, 5), (4, 3), (4, 2, 1))
If optional argument
bound
is present, include only those monomials whose first term is at least as large asbound
:sage: arnonC_basis(7,3) ((7,), (4, 3), (4, 2, 1))
- sage.algebras.steenrod.steenrod_algebra_bases.atomic_basis(n, basis, **kwds)#
Basis for dimension \(n\) made of elements in ‘atomic’ degrees: degrees of the form \(2^i (2^j - 1)\).
This works at the prime 2 only.
INPUT:
n
- non-negative integerbasis
- string, the name of the basisprofile
- profile function (optional, default None). Together withtruncation_type
, specify the profile function to be used; None means the profile function for the entire Steenrod algebra. Seesage.algebras.steenrod.steenrod_algebra
andSteenrodAlgebra()
for information on profile functions.truncation_type
- truncation type, either 0 or Infinity (optional, default Infinity if no profile function is specified, 0 otherwise).
OUTPUT: tuple of basis elements in dimension n
The atomic bases include Wood’s Y and Z bases, Wall’s basis, Arnon’s A basis, the \(P^s_t\)-bases, and the commutator bases. (All of these bases are constructed similarly, hence their constructions have been consolidated into a single function. Also, see the documentation for ‘steenrod_algebra_basis’ for descriptions of them.) For \(P^s_t\)-bases, you may also specify a profile function and truncation type; profile functions are ignored for the other bases.

This function is called
atomic_basis_odd
in analogy withatomic_basis()
.INPUT:
n
- non-negative integerbasis
- string, the name of the basisp
- positive prime numberprofile
- profile function (optional, default None). Together withtruncation_type
, specify the profile function to be used; None means the profile function for the entire Steenrod algebra. Seesage.algebras.steenrod.steenrod_algebra
andSteenrodAlgebra()
for information on profile functions.truncation_type
- truncation type, either 0 or Infinity (optional, default Infinity if no profile function is specified, 0 otherwise).
OUTPUT: tuple of basis elements in dimension n
The only possible difference in the implementations for \(P^s_t\) bases and commutator bases is that the former make sense, and require filtering, if there is a nontrivial profile function. This function is called by
steenrod_algebra_basis()
, and it will not be called for commutator bases if there is a profile function, so we treat the two bases exactly the same.EXAMPLES:
sage: from sage.algebras.steenrod.steenrod_algebra_bases import atomic_basis_odd sage: atomic_basis_odd(8, 'pst_rlex', 3) (((), (((0, 1), 2),)),) sage: atomic_basis_odd(18, 'pst_rlex', 3) (((0, 2), ()), ((0, 1), (((1, 1), 1),))) sage: atomic_basis_odd(18, 'pst_rlex', 3, profile=((), (2,2,2))) (((0, 2), ()),)
- sage.algebras.steenrod.steenrod_algebra_bases.convert_from_milnor_matrix(n, basis, p=2, generic='auto')#
Change-of-basis matrix, Milnor to ‘basis’, in dimension \(n\).
INPUT:
n
- non-negative integer, the dimensionbasis
- string, the basis to which to convertp
- positive prime number (optional, default 2)
OUTPUT:
matrix
- change-of-basis matrix, a square matrix over GF(p)Note
This is called internally. It is not intended for casual users, so no error checking is made on the integer \(n\), the basis name, or the prime.
EXAMPLES:
sage: from sage.algebras.steenrod.steenrod_algebra_bases import convert_from_milnor_matrix, convert_to_milnor_matrix sage: convert_from_milnor_matrix(12,'wall') [1 0 0 1 0 0 0] [0 0 1 1 0 0 0] [0 0 0 1 0 1 1] [0 0 0 1 0 0 0] [1 0 1 0 1 0 0] [1 1 1 0 0 0 0] [1 0 1 0 1 0 1] sage: convert_from_milnor_matrix(38,'serre_cartan') 72 x 72 dense matrix over Finite Field of size 2 (use the '.str()' method to see the entries) sage: x = convert_to_milnor_matrix(20,'wood_y') sage: y = convert_from_milnor_matrix(20,'wood_y') sage: x*y [1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]
The function takes an optional argument, the prime \(p\) over which to work:
sage: convert_from_milnor_matrix(17,'adem',3) [2 1 1 2] [0 2 0 1] [1 2 0 0] [0 1 0 0]
- sage.algebras.steenrod.steenrod_algebra_bases.convert_to_milnor_matrix(basis, p=2, generic='auto')#
Change-of-basis matrix, ‘basis’ to Milnor, in dimension \(n\), at the prime \(p\).
INPUT:
n
- non-negative integer, the dimensionbasis
- string, the basis from which to convertp
- positive prime number (optional, default 2)
OUTPUT:
matrix
- change-of-basis matrix, a square matrix overGF(p)
EXAMPLES:
sage: from sage.algebras.steenrod.steenrod_algebra_bases import convert_to_milnor_matrix sage: convert_to_milnor_matrix(5, 'adem') # indirect doctest [0 1] [1 1] sage: convert_to_milnor_matrix(45, 'milnor') 111 x 111 dense matrix over Finite Field of size 2 (use the '.str()' method to see the entries) sage: convert_to_milnor_matrix(12,'wall') [1 0 0 1 0 0 0] [1 1 0 0 0 1 0] [0 1 0 1 0 0 0] [0 0 0 1 0 0 0] [1 1 0 0 1 0 0] [0 0 1 1 1 0 1] [0 0 0 0 1 0 1]
The function takes an optional argument, the prime \(p\) over which to work:
sage: convert_to_milnor_matrix(17,'adem',3) [0 0 1 1] [0 0 0 1] [1 1 1 1] [0 1 0 1] sage: convert_to_milnor_matrix(48,'adem',5) [0 1] [1 1] sage: convert_to_milnor_matrix(36,'adem',3) [0 0 1] [0 1 0] [1 2 0]
- sage.algebras.steenrod.steenrod_algebra_bases.milnor_basis(n, p=2, **kwds)#
Milnor basis in dimension \(n\) with profile function
profile
.INPUT:
n
- non-negative integerp
- positive prime number (optional, default 2)profile
- profile function (optional, default None). Together withtruncation_type
, specify the profile function to be used; None means the profile function for the entire Steenrod algebra. Seesage.algebras.steenrod.steenrod_algebra
andSteenrodAlgebra
for information on profile functions.truncation_type
- truncation type, either 0 or Infinity (optional, default Infinity if no profile function is specified, 0 otherwise)
OUTPUT: tuple of mod p Milnor basis elements in dimension n
At the prime 2, the Milnor basis consists of symbols of the form \(\text{Sq}(m_1, m_2, ..., m_t)\), where each \(m_i\) is a non-negative integer and if \(t>1\), then \(m_t \neq 0\). At odd primes, it consists of symbols of the form \(Q_{e_1} Q_{e_2} ... P(m_1, m_2, ..., m_t)\), where \(0 \leq e_1 < e_2 < ...\), each \(m_i\) is a non-negative integer, and if \(t>1\), then \(m_t \neq 0\).
EXAMPLES:
sage: from sage.algebras.steenrod.steenrod_algebra_bases import milnor_basis sage: milnor_basis(7) ((0, 0, 1), (1, 2), (4, 1), (7,)) sage: milnor_basis(7, 2) ((0, 0, 1), (1, 2), (4, 1), (7,)) sage: milnor_basis(4, 2) ((1, 1), (4,)) sage: milnor_basis(4, 2, profile=[2,1]) ((1, 1),) sage: milnor_basis(4, 2, profile=(), truncation_type=0) () sage: milnor_basis(4, 2, profile=(), truncation_type=Infinity) ((1, 1), (4,)) sage: milnor_basis(9, 3) (((1,), (1,)), ((0,), (2,))) sage: milnor_basis(17, 3) (((2,), ()), ((1,), (3,)), ((0,), (0, 1)), ((0,), (4,))) sage: milnor_basis(48, p=5) (((), (0, 1)), ((), (6,))) sage: len(milnor_basis(100,3)) 13 sage: len(milnor_basis(200,7)) 0 sage: len(milnor_basis(240,7)) 3 sage: len(milnor_basis(240,7, profile=((),()), truncation_type=Infinity)) 3 sage: len(milnor_basis(240,7, profile=((),()), truncation_type=0)) 0
- sage.algebras.steenrod.steenrod_algebra_bases.restricted_partitions(n, l, no_repeats=False)#
List of ‘restricted’ partitions of n: partitions with parts taken from list.
INPUT:
n
- non-negative integerl
- list of positive integersno_repeats
- boolean (optional, default = False), if True, only return partitions with no repeated parts
OUTPUT: list of lists
One could also use
Partitions(n, parts_in=l)
, but this function may be faster. Also, whilePartitions(n, parts_in=l, max_slope=-1)
should in theory return the partitions of \(n\) with parts inl
with no repetitions, themax_slope=-1
argument is ignored, so it doesn’t work. (At the moment, theno_repeats=True
case is the only one used in the code.)EXAMPLES:
sage: from sage.algebras.steenrod.steenrod_algebra_bases import restricted_partitions sage: restricted_partitions(10, [7,5,1]) [[7, 1, 1, 1], [5, 5], [5, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]] sage: restricted_partitions(10, [6,5,4,3,2,1], no_repeats=True) [[6, 4], [6, 3, 1], [5, 4, 1], [5, 3, 2], [4, 3, 2, 1]] sage: restricted_partitions(10, [6,4,2]) [[6, 4], [6, 2, 2], [4, 4, 2], [4, 2, 2, 2], [2, 2, 2, 2, 2]] sage: restricted_partitions(10, [6,4,2], no_repeats=True) [[6, 4]]
‘l’ may have repeated elements. If ‘no_repeats’ is False, this has no effect. If ‘no_repeats’ is True, and if the repeated elements appear consecutively in ‘l’, then each element may be used only as many times as it appears in ‘l’:
sage: restricted_partitions(10, [6,4,2,2], no_repeats=True) [[6, 4], [6, 2, 2]] sage: restricted_partitions(10, [6,4,2,2,2], no_repeats=True) [[6, 4], [6, 2, 2], [4, 2, 2, 2]]
(If the repeated elements don’t appear consecutively, the results are likely meaningless, containing several partitions more than once, for example.)
In the following examples, ‘no_repeats’ is False:
sage: restricted_partitions(10, [6,4,2]) [[6, 4], [6, 2, 2], [4, 4, 2], [4, 2, 2, 2], [2, 2, 2, 2, 2]] sage: restricted_partitions(10, [6,4,2,2,2]) [[6, 4], [6, 2, 2], [4, 4, 2], [4, 2, 2, 2], [2, 2, 2, 2, 2]] sage: restricted_partitions(10, [6,4,4,4,2,2,2,2,2,2]) [[6, 4], [6, 2, 2], [4, 4, 2], [4, 2, 2, 2], [2, 2, 2, 2, 2]]
- sage.algebras.steenrod.steenrod_algebra_bases.serre_cartan_basis(n, p=2, bound=1, **kwds)#
Serre-Cartan basis in dimension \(n\).
INPUT:
n
- non-negative integerbound
- positive integer (optional)prime
- positive prime number (optional, default 2)
OUTPUT: tuple of mod p Serre-Cartan basis elements in dimension n
The Serre-Cartan basis consists of ‘admissible monomials in the Steenrod squares’. Thus at the prime 2, it consists of monomials \(\text{Sq}^{m_1} \text{Sq}^{m_2} ... \text{Sq}^{m_t}\) with \(m_i \geq 2m_{i+1}\) for each \(i\). At odd primes, it consists of monomials \(\beta^{e_0} P^{s_1} \beta^{e_1} P^{s_2} ... P^{s_k} \beta^{e_k}\) with each \(e_i\) either 0 or 1, \(s_i \geq p s_{i+1} + e_i\) for all \(i\), and \(s_k \geq 1\).
EXAMPLES:
sage: from sage.algebras.steenrod.steenrod_algebra_bases import serre_cartan_basis sage: serre_cartan_basis(7) ((7,), (6, 1), (4, 2, 1), (5, 2)) sage: serre_cartan_basis(13,3) ((1, 3, 0), (0, 3, 1)) sage: serre_cartan_basis(50,5) ((1, 5, 0, 1, 1), (1, 6, 1))
If optional argument
bound
is present, include only those monomials whose last term is at leastbound
(when p=2), or those for which \(s_k - e_k \geq bound\) (when p is odd).sage: serre_cartan_basis(7, bound=2) ((7,), (5, 2)) sage: serre_cartan_basis(13, 3, bound=3) ((1, 3, 0),)
- sage.algebras.steenrod.steenrod_algebra_bases.steenrod_algebra_basis(basis='milnor', p=2, **kwds)#
Basis for the Steenrod algebra in degree \(n\).
INPUT:
n
- non-negative integerbasis
- string, which basis to use (optional, default = ‘milnor’)p
- positive prime number (optional, default = 2)profile
- profile function (optional, default None). This is just passed on to the functionsmilnor_basis()
andpst_basis()
.truncation_type
- truncation type, either 0 or Infinity (optional, default Infinity if no profile function is specified, 0 otherwise). This is just passed on to the functionmilnor_basis()
.generic
- boolean (optional, default = None)
OUTPUT:
Tuple of objects representing basis elements for the Steenrod algebra in dimension n.
The choices for the string
basis
are as follows; see the documentation forsage.algebras.steenrod.steenrod_algebra
for details on each basis:‘milnor’: Milnor basis.
‘serre-cartan’ or ‘adem’ or ‘admissible’: Serre-Cartan basis.
‘pst’, ‘pst_rlex’, ‘pst_llex’, ‘pst_deg’, ‘pst_revz’: various \(P^s_t\)-bases.
‘comm’, ‘comm_rlex’, ‘comm_llex’, ‘comm_deg’, ‘comm_revz’, or any of these with ‘_long’ appended: various commutator bases.
The rest of these bases are only defined when \(p=2\).
‘wood_y’: Wood’s Y basis.
‘wood_z’: Wood’s Z basis.
‘wall’ or ‘wall_long’: Wall’s basis.
‘arnon_a’ or ‘arnon_a_long’: Arnon’s A basis.
‘arnon_c’: Arnon’s C basis.
EXAMPLES:
sage: from sage.algebras.steenrod.steenrod_algebra_bases import steenrod_algebra_basis sage: steenrod_algebra_basis(7,'milnor') # indirect doctest ((0, 0, 1), (1, 2), (4, 1), (7,)) sage: steenrod_algebra_basis(5) # milnor basis is the default ((2, 1), (5,))
Bases in negative dimensions are empty:
sage: steenrod_algebra_basis(-2, 'wall') ()
The third (optional) argument to ‘steenrod_algebra_basis’ is the prime p:
sage: steenrod_algebra_basis(9, 'milnor', p=3) (((1,), (1,)), ((0,), (2,))) sage: steenrod_algebra_basis(9, 'milnor', 3) (((1,), (1,)), ((0,), (2,))) sage: steenrod_algebra_basis(17, 'milnor', 3) (((2,), ()), ((1,), (3,)), ((0,), (0, 1)), ((0,), (4,)))
Other bases:
sage: steenrod_algebra_basis(7,'admissible') ((7,), (6, 1), (4, 2, 1), (5, 2)) sage: steenrod_algebra_basis(13,'admissible',p=3) ((1, 3, 0), (0, 3, 1)) sage: steenrod_algebra_basis(5,'wall') (((2, 2), (0, 0)), ((1, 1), (1, 0))) sage: steenrod_algebra_basis(5,'wall_long') (((2, 2), (0, 0)), ((1, 1), (1, 0))) sage: steenrod_algebra_basis(5,'pst-rlex') (((0, 1), (2, 1)), ((1, 1), (0, 2)))
- sage.algebras.steenrod.steenrod_algebra_bases.steenrod_basis_error_check(dim, p, **kwds)#
This performs crude error checking.
INPUT:
dim
- non-negative integerp
- positive prime number
OUTPUT: None
This checks to see if the different bases have the same length, and if the change-of-basis matrices are invertible. If something goes wrong, an error message is printed.
This function checks at the prime
p
as the dimension goes up from 0 todim
.If you set the Sage verbosity level to a positive integer (using
set_verbose(n)
), then some extra messages will be printed.EXAMPLES:
sage: from sage.algebras.steenrod.steenrod_algebra_bases import steenrod_basis_error_check sage: steenrod_basis_error_check(15,2) # long time sage: steenrod_basis_error_check(15,2,generic=True) # long time sage: steenrod_basis_error_check(40,3) # long time sage: steenrod_basis_error_check(80,5) # long time
- sage.algebras.steenrod.steenrod_algebra_bases.xi_degrees(n, p=2, reverse=True)#
Decreasing list of degrees of the xi_i’s, starting in degree n.
INPUT:
\(n\) - integer
\(p\) - prime number, optional (default 2)
reverse
- bool, optional (default True)
OUTPUT:
list
- list of integersWhen \(p=2\): decreasing list of the degrees of the \(\xi_i\)’s with degree at most n.
At odd primes: decreasing list of these degrees, each divided by \(2(p-1)\).
If
reverse
is False, then return an increasing list rather than a decreasing one.EXAMPLES:
sage: sage.algebras.steenrod.steenrod_algebra_bases.xi_degrees(17) [15, 7, 3, 1] sage: sage.algebras.steenrod.steenrod_algebra_bases.xi_degrees(17, reverse=False) [1, 3, 7, 15] sage: sage.algebras.steenrod.steenrod_algebra_bases.xi_degrees(17,p=3) [13, 4, 1] sage: sage.algebras.steenrod.steenrod_algebra_bases.xi_degrees(400,p=17) [307, 18, 1]


Greek-Latin Search
This search is experimental. Results may not be consistent.
Source:
Target:
show advanced
Unit:
line
phrase
Feature:
Number of stop words:
0
10
20
30
40
50
100
150
200
Stoplist basis:
corpus
target
source
target + source
Score basis:
word
stem
feature
Maximum distance:
no max
5 words
10 words
20 words
30 words
40 words
50 words
Distance metric:
span
frequency
Drop scores below:
no cutoff
3
4
5
6
7
8
9


By John (JT) Thompson
Computer games AND schoolwork
Have you ever wondered why kids who rebel at doing homework can play video games for hours on end? We are puzzled especially when considering that the skills needed to master a video game are the same skills needed for educational pursuits -- problem solving, communicating with other players, and developing strategies. Schoolwork that's perceived as difficult does not interest them, yet hard games requiring the same skills enchant them. Why is that so and what can we do?
I'm calling this article "Hard Fun", because no youth would spend any time on a game that did not challenge him or her to the limit. A young person typically invests over 40 hours to master a video game. That investment of time lets us know what dedication kids can apply when properly motivated.
My mission is to build on that interest in computer games so students can be as good in academics as they are in computer games. With the right direction, our student's enthusiasm for computer games can be extended to academic achievement. First students can discuss games why they enjoy them. Students can develop their analytical skills by reflecting and sharing their experience playing games. Then students can study how computer games are constructed and make "pen and paper" designs of new games. This reverse engineering can make academic studies more relevant. They can then build computer games of their own design in a practical application of their math, writing, and problem solving skills.
Contructivism
MIT Professor Seymour Papert developed the theory of "constructivism" to explain why children learn more by doing, as opposed to abstract rote learning. Paula Hooper, a Ph.D. graduate of MIT, is using "constructivism learning" with an African-centered community school, Paige Academy in Boston. The school was "organized to support a problem-solving approach to learning, with extensive reliance on the arts as a natural form of expression and exploration".
A student named Shamia learned how to make a rainbow by writing a computer program that automatically drew half-circles. In the process she learned about fractions, angles and geometry, not because she set out to, but because she was determined to make her rainbow. Shamia used a computer program called Logo to make the problems concrete and meaningful. Logo was designed by Professor Papert to enable young students to build things and in the process apply abstract concepts in math and programming.
Enlightening uses of interactive media really excite me as a developer of interactive media tools. Lingo, the computer programming language behind Shockwave, allows creative people who may not be technically oriented to create interactive experiences for the Internet. Lingo permits more people to express themselves without being limited by their knowledge of programming. Can students use Lingo and Shockwave to build their own games? First let's get a better understanding of why games are so popular.
What works
Let's briefly examine the popular game Pokemon that is all the rage. The cartridge plays on a $70 portable computer equipped with captivating sound, animation, and color. The developers of Pokemon succeed in breaking challenges into small pieces that keep the player involved for the 80 to 120 hours it takes to collect the 150 Pokemon characters. At every stage, "Professor Oak" is available to explain what is happening. The player gains a sense of accomplishment by "training" each character. Once trained, the Pokemon characters are traded with other trainers. Players practice economics by winning "dollars" that are traded for Pokemon accessories such as vehicles, tickets, ropes, maps and other tools required to surmount the challenges. A marketing blitz of must-have trading cards, board games and toys supplement the computer game.
Every level of Pokeman presents new challenges, new scenarios, new characters and new hurdles that the player must overcome in new ways. The tasks become more difficult as the player progresses. There is constant immediate feedback on performance using negative and positive reinforcement. Players share their experiences with their friends and help each other beat the game by swapping strategies.
What parents can do
Parents can translate Pokeman or any other computer game mania into academics by encouraging children to discuss various games so that they can describe, analyze, and compare the thinking processes, strategies and mechanics employed in the games. You may be surprise at the depth of knowledge your children have about their games.  A child is discouraged by challenging work at school can be encouraged by pointing out their demonstrated ability in beating a game.
Children naturally include what they enjoy in their creative drawing and story-making. My sons (age 9 & 7) draw and write to augment Pokeman characters and recreate game scenarios. They avidly trade cards and calculate points. Their imaginations will not allow them to blindly digest Pokeman as it is, they are compelled to add their own flavor. Parents can encourage the naturally tendency for children to envision their own versions of computer games. You can explain to them that there is an entire industry behind the game itself and they can aspire to a career as a game maker. In future articles I will describe the various career options in the game development industry and what school preparation is needed.
What schools can learn
One of the differences between academic achievement and computer game mastery is the immediate reward for meeting the small progressive challenges in computer games. In school, the rewards have less immediate value and require long range vision to realize the tangible benefits. However, the long-term process of game development more closely mirrors the persevering road to real life success while still dispensing the immediate reinforcement of games. Another difference is the audio, visual and kinesthetic sensory neurological links that computer games stimulate. Traditional academics do not make use of these neural pathways. By building games students can learn with a greater variety of senses. Of course, just as instruments are needed for writing, new tools are needed for creating computer games.
What is Shockwave?
Shockwave is the primary way to present interactive games on the Internet. The majority of web users have already encountered Shockwave. What is not widely known is Shockwave can be a used by young people to create interactive material, such a games. Let's take a closer look at the three facets of Shockwave. The first the web site www.shockwave.com, where people can enjoy free games, cartoons and music in the same manner that one can now tune a radio to receive freely broadcast music.
The second facet is Shockwave, the player. The Shockwave player is a means of viewing interactive material such as games. Disney, America Online, Microsoft and other companies use the Shockwave format to play interactive media. Much the same way that one can now choose between cassette and CD audio formats, The Shockwave format consists of animation, graphics, and sound that can be played in a straight linear mode. Shockwave's Lingo computer language makes possible on-screen buttons that the user clicks to alter the sequence of events just as the remote control permits the user to program a CD player.
The third facet is the Shockwave Construction kit for students. With it a student can create their own games, improve existing games, or build an interactive illustration of a homework assignment. Students can integrate visual arts, music, and movement into their academic subjects using Shockwave. The kit is a special version of the same Macromedia Director program used by over 300,000 professionals to create games and other interactive content. Students now have access to the same powerful tool used to create material for the www.shockwave.com web site. To learn how to use the kit students can start with the documentation and tutorials that come with the kit. They can also use of the several dozen books on the topic (search for "Macromedia Director" on the www.amazon.com web site). There are also many web sites, such as my own www.JohnHenry1.com, that provide advise and learning examples.
Finding information about the kit is a bit of a challenge. It is buried on the www.macromedia.com web site under the code name "Director 7 K-12 Edition." Challenge a young person who loves computer games and has access to the Internet to move to the next level by getting this kit and creating their own games.
The Next Level
Students have three powerful strategies for learning from computer games. They can discuss and analyze the games they enjoy. Using simple pen and paper they can design their own games. Finally, they can turn their game sketches into the real thing using the Shockwave construction kit.
To give direction and focus to the aspiring game creator, in the next installment I give a behind the scenes view of the game industry and what skills are needed on a game development team.
John (JT) Thompson is author of the Lingo programming language that drives Shockwave for San Francisco-based Macromedia Inc.


Skip to main content
-
Home
- Academic Calendar
Oakleaf University 2020 Academic Calendar
Spring 2020 Calendar
| Event Description |
Date |
| Spring 2020 Registration |
January 13th |
| First Day of Spring Classes |
January 27th |
| Last Day of Drop/Add Period |
February 10th |
| Spring Break |
April 6th - 13th |
| Reading Day |
May 11th |
| Finals Week |
May 12th - 19th |
| Commencement |
May 20th |
| Summer Break |
May 21st - August 24th |
Summer 2020 Calendar
| Event Description |
Date |
| Summer 2020 Registration |
April 24th |
| First Day of Summer Classes |
June 8th |
| Last Day of Drop/Add Period |
June 22nd |
| Fall Registration |
July 20th |
| Reading Day |
August 4th |
| Finals Week |
August 5th - 12th |
| Commencement |
August 15th |


Checkboxes allow the user to select multiple options from a set.
You can use the checkbox-component
like you would use a regular checkbox
:
Indeterminate checkboxes are also supported. To make a checkbox indeterminate, provide the indeterminate
attribute or set it as a property:


This page contains list of projects I have done during my academics or my free time.
The project aim is to acquire user’s internet usage records, analyze usage pattern and segregate into data used on Wi-Fi and Cellular connection. Analyzing the data in various geographic locations with different kind of users Responsibility: Android App Development
Implemented the seven handshake theory by enabling a user to create friend and family tree. Trees from various users are connected by Db4o in order to bring out relevant relationship information between any two users. Responsibility: Designed and implemented User Interface, Project Integration.
Built an Android Application to navigate inside a building. Key features: Audio and visual directions, tracking current location, inter-floor navigation, Wi-Fi-fingerprinting, GPS integration, and application interaction with APIs. Responsibility: Co-Developing the Android Application and Wi-Fi-fingerprinting.


India win toss, bowl in 2nd Bangladesh T20
Rajkot - India skipper Rohit Sharma won the toss and elected to bowl in the second of the three Twenty20 internationals against Bangladesh in Rajkot on Thursday.
The hosts, who trail the series 1-0, have fielded an unchanged side from their opening loss in Delhi on Sunday.
"Rajkot's always been a good track despite some cracks. Think there may be dew later, so life will be easier for the batsmen," Sharma, who is set to play his 100th T20 for India, said at the toss.
"The set of boys we have are new and I want to make them comfortable. When you have a score in front of you, then the batsmen know what sort of tempo they need to bat with.
"No changes because our performances in the last game were right up there, barring a few mistakes."
India posted 148-6 while batting first in the opening game before wicketkeeper-batsman Mushfiqur Rahim anchored Bangladesh's chase with his unbeaten 60.
Bangladesh retained their winning XI from the first game, with captain Mahmudullah Riyad saying the Rajkot fixture was a "good opportunity" to clinch the series.
"I would have loved to bowl first too but now will want to put some runs on the board," said Mahmudullah.
"It's a good opportunity for all of us (to win the series). Important for the senior players to do well. Even the youngsters have done well."
Teams
India: Rohit Sharma (capt), Shikhar Dhawan, KL Rahul, Shreyas Iyer, Rishabh Pant, Krunal Pandya, Shivam Dube, Washington Sundar, Deepak Chahar, Yuzvendra Chahal, Khaleel Ahmed
Bangladesh: Mahmudullah Riyad (capt), Liton Das, Soumya Sarkar, Mohammad Naim, Mushfiqur Rahim, Afif Hossain, Mosaddek Hossain, Aminul Islam, Shafiul Islam, Mustafizur Rahman, Al-Amin Hossain
Umpires: Chettithody Shamshuddin (IND), Nitin Menon (IND)
TV Umpire: Anil Chaudhary (IND)
Match referee: Ranjan Madugalle (SRI)


The easiest way to install this package is using pip with the command:
pip install VarEvents
This package has no additional requirements.


Content Collapse
Enabled
Animated
Initial State
Collapsed
Expanded
Min Lines
Markdown Collapse
Enabled
Animated
Initial State
Collapsed
Expanded
Arrow colors (H1 to H6)
Reset


Version History
| Version | Changes |
|---|---|
v11.0.0 |
src prop support for static import.placeholder prop added.blurDataURL prop added. |
v10.0.5 |
loader prop added. |
v10.0.1 |
layout prop added. |
v10.0.0 |
next/image introduced. |
Before moving forward, we recommend you to read Image Optimization first.
Image Optimization can be enabled via the <Image />
component exported by next/image
.
For an example, consider a project with the following files:
pages/index.js
public/me.png
We can serve an optimized image like so:
import Image from "next/image";
import profilePic from "../public/me.png";
function Home() {
return (
<>

My Homepage

<Image src={profilePic} alt="Picture of the author" />

Welcome to my homepage!

</>
);
}
export default Home;
The <Image />
component requires the following properties.
Required and must be one of the following:
When using an external URL, you must add it to domains in next.config.js
.
The width of the image, in pixels. Must be an integer without a unit.
Required, except for statically imported images, or those with layout="fill"
.
The height of the image, in pixels. Must be an integer without a unit.
Required, except for statically imported images, or those with layout="fill"
.
The <Image />
component optionally accepts the following properties.
The layout behavior of the image as the viewport changes size. Defaults to intrinsic
.
When fixed
, the image dimensions will not change as the viewport changes (no responsiveness) similar to the native img
element.
When intrinsic
, the image will scale the dimensions down for smaller viewports but maintain the original dimensions for larger viewports.
When responsive
, the image will scale the dimensions down for smaller viewports and scale up for larger viewports.
When fill
, the image will stretch both width and height to the dimensions of the parent element, provided the parent element is relative. This is usually paired with the objectFit
property.
Try it out:
fixed
layoutintrinsic
layoutresponsive
layoutfill
layoutA custom function used to resolve URLs. Defaults to images
object in next.config.js
.
loader
is a function returning a string, given the following parameters:
import Image from "next/image";
const myLoader = ({ src, width, quality }) => {
return `https://example.com/${src}?w=${width}&q=${quality || 75}`;
};
const MyImage = (props) => {
return (
<Image
loader={myLoader}
src="me.png"
alt="Picture of the author"
width={500}
height={500}
/>
);
};
A string mapping media queries to device sizes. Defaults to 100vw
.
We recommend setting sizes
when using layout="responsive"
or layout="fill"
and your image will not be the same width as the viewport.
The quality of the optimized image, an integer between 1
and 100
where 100
is the best quality. Defaults to 75
.
When true, the image will be considered high priority and preload.
Should only be used when the image is visible above the fold. Defaults to false
.
A placeholder to use while the image is loading, possible values are blur
or empty
. Defaults to empty
.
When blur
, the blurDataURL
property will be used as the placeholder. If src
is an object from a static import and the imported image is jpg, png, or webp, then blurDataURL
will automatically be populated.
For dynamic images, you must provide the blurDataURL
property. Solutions such as Plaiceholder can help with base64
generation.
When empty
, there will be no placeholder while the image is loading, only empty space.
Try it out:
In some cases, you may need more advanced usage. The <Image />
component optionally accepts the following advanced properties.
The image fit when using layout="fill"
.
The image position when using layout="fill"
.
Attention: This property is only meant for advanced usage. Switching an image to load with
eager
will normally hurt performance.We recommend using the
priority
property instead, which properly loads the image eagerly for nearly all use cases.
The loading behavior of the image. Defaults to lazy
.
When lazy
, defer loading the image until it reaches a calculated distance from the viewport.
When eager
, load the image immediately.
A Data URL to be used as a placeholder image before the src
image successfully loads. Only takes effect when combined with placeholder="blur"
.
Must be a base64-encoded image. It will be enlarged and blurred, so a very small image (10px or less) is recommended. Including larger images as placeholders may harm your application performance.
Try it out:
You can also generate a solid color Data URL to match the image.
When true, the source image will be served as-is instead of changing quality, size, or format. Defaults to false
.
Other properties on the <Image />
component will be passed to the underlying img
element with the exception of the following:
style
. Use className
instead.srcSet
. Use Device Sizes instead.decoding
. It is always "async"
.For more information on what to do next, we recommend the following sections:


Pass: Make several buttons to prove that you can store and retrieve each of these types of variables:
Text example: fred Interger exampe: 6 Decimal example: 6.34 Boolean example: true
Excellent: Also make buttons to store and retrive a 1D array of cool cars
Note: remember this kind of javascript code
myCars = new Array()
myCars[1] = 'BMW'
myCars[2] = 'Smartcar'


In this paper we propose an active testing approach that uses clone detection and rule evaluation as the foundation for detecting bug patterns in concurrent software. If we can identify a bug pattern as being present then we can localize our testing effort to the exploration of interleavings relevant to the potential bug. Furthermore, if the potential bug is indeed a real bug, then targeting specific thread interleavings instead of examining all possible executions can increase the probability of the bug being detected sooner.


Master Yogi: Tsk tsk. You don't have the money required to purchase this item. That means you must earn some more money or let this chance slip through your fingers. The choice is yours. [npc_%objectId%_Chat 3|Back]


This example uses a few lines of JavaScript wrapped in a window.onload statement, with a little CSS added to control the styling of the embedded element.
« Return to PDFObject home


Passed, failed or broken, skipped or incomplete tests.
unknown
executor means either the test was not executed by Selenium node (it was @noBrowser
test) or the executing node cannot be determined.
If you see all tests executed by the unknown
executor, then probably your Selenium server does not provide this information (it is supported only by Selenium server running in grid mode).


Q1
What are the possible ways to compare two variables in JavaScript?
- Equality: ==
- Inequality: !=
- Identity / strict equality: ===
- Non-identity / strict inequality: !==
- Greater than: >
- Greater than or equal: >=
- Less than: <
- Less than or equal: <=
Can variables with the same value still not be equal?
Yes, two variables can hold the same values but have different types e.g. 1 === '1' -> false
Furthermore, two variables can hold the the same value and be of the same type (Object in the example) but reference different objects e.g. new String('foo') === new String('foo') -> false
Q2
"number"
The IIFE executes the function it receives as a parameter which returns 1.
It proceeds by returning the typeof 1
which is "number"


QHelpSearchEngine Class
The QHelpSearchEngine class provides access to widgets reusable to integrate fulltext search as well as to index and search documentation. More...
| Header: | #include <QHelpSearchEngine> |
| qmake: | QT += help |
| Since: | Qt 4.4 |
| Inherits: | QObject |
Public Functions
| QHelpSearchEngine(QHelpEngineCore *helpEngine, QObject *parent = Q_NULLPTR) | |
| ~QHelpSearchEngine() | |
| QHelpSearchQueryWidget * | queryWidget() |
| QHelpSearchResultWidget * | resultWidget() |
| QString | searchInput() const |
| int | searchResultCount() const |
| QVector<QHelpSearchResult> | searchResults(int start, int end) const |
- 32 public functions inherited from QObject
Public Slots
| void | cancelIndexing() |
| void | cancelSearching() |
| void | reindexDocumentation() |
| void | search(const QString &searchInput) |
- 1 public slot inherited from QObject
Signals
| void | indexingFinished() |
| void | indexingStarted() |
| void | searchingFinished(int searchResultCount) |
| void | searchingStarted() |
- 2 signals inherited from QObject
Additional Inherited Members
- 1 property inherited from QObject
- 1 public variable inherited from QObject
- 10 static public members inherited from QObject
- 9 protected functions inherited from QObject
- 2 protected variables inherited from QObject
Detailed Description
The QHelpSearchEngine class provides access to widgets reusable to integrate fulltext search as well as to index and search documentation.
Before the search engine can be used, one has to instantiate at least a QHelpEngineCore object that needs to be passed to the search engines constructor. This is required as the search engine needs to be connected to the help engines setupFinished() signal to know when it can start to index documentation.
After starting the indexing process the signal indexingStarted() is emitted and on the end of the indexing process the indexingFinished() is emitted. To stop the indexing one can call cancelIndexing().
When the indexing process has finished, the search engine can be used to search through the index for a given term using the search() function. When the search input is passed to the search engine, the searchingStarted() signal is emitted. When the search finishes, the searchingFinished() signal is emitted. The search process can be stopped by calling cancelSearching().
If the search succeeds, searchingFinished() is called with the search result count to fetch the search results from the search engine. Calling the searchResults() function with a range returns a list of QHelpSearchResult objects within the range. The results consist of the document title and URL, as well as a snippet from the document that contains the best match for the search input.
To display the given search results use the QHelpSearchResultWidget or build up your own one if you need more advanced functionality. Note that the QHelpSearchResultWidget can not be instantiated directly, you must retrieve the widget from the search engine in use as all connections will be established for you by the widget itself.
Member Function Documentation
QHelpSearchEngine::QHelpSearchEngine(QHelpEngineCore *helpEngine, QObject *parent = Q_NULLPTR)
Constructs a new search engine with the given parent. The search engine uses the given helpEngine to access the documentation that needs to be indexed. The QHelpEngine's setupFinished() signal is automatically connected to the QHelpSearchEngine's indexing function, so that new documentation will be indexed after the signal is emitted.
QHelpSearchEngine::~QHelpSearchEngine()
Destructs the search engine.
[slot]
void QHelpSearchEngine::cancelIndexing()
Stops the indexing process.
[slot]
void QHelpSearchEngine::cancelSearching()
Stops the search process.
[signal]
void QHelpSearchEngine::indexingFinished()
This signal is emitted when the indexing process is complete.
[signal]
void QHelpSearchEngine::indexingStarted()
This signal is emitted when indexing process is started.
QHelpSearchQueryWidget *QHelpSearchEngine::queryWidget()
Returns a widget to use as input widget. Depending on your search engine configuration you will get a different widget with more or less subwidgets.
[slot]
void QHelpSearchEngine::reindexDocumentation()
Forces the search engine to reindex all documentation files.
QHelpSearchResultWidget *QHelpSearchEngine::resultWidget()
Returns a widget that can hold and display the search results.
[slot]
void QHelpSearchEngine::search(const QString &searchInput)
Starts the search process using the given search phrase searchInput.
The phrase may consist of several words. By default, the search engine returns the list of documents that contain all the specified words. The phrase may contain any combination of the logical operators AND, OR, and NOT. The operator must be written in all capital letters, otherwise it will be considered a part of the search phrase.
If double quotation marks are used to group the words, the search engine will search for an exact match of the quoted phrase.
For more information about the text query syntax, see SQLite FTS5 Extension.
This function was introduced in Qt 5.9.
QString QHelpSearchEngine::searchInput() const
Returns the phrase that was last searched for.
This function was introduced in Qt 5.9.
int QHelpSearchEngine::searchResultCount() const
Returns the number of results the search engine found.
This function was introduced in Qt 5.9.
QVector<QHelpSearchResult> QHelpSearchEngine::searchResults(int start, int end) const
Returns a list of search results within the range from the index specified by start to the index specified by end.
This function was introduced in Qt 5.9.
[signal]
void QHelpSearchEngine::searchingFinished(int searchResultCount)
This signal is emitted when the search process is complete. The search result count is stored in searchResultCount.
[signal]
void QHelpSearchEngine::searchingStarted()
This signal is emitted when the search process is started.


Battleship
restart
My Board
Computer Board
Your Ships locations
Missed locations
Not hit locations
Hit ships locations


loan-status
Project Contents:
Classifying Risky P2P Loans
Abstract
Project Overview
Objective
About P2P Lending
Project Setup
Import Libraries & Modules
Notebook Config
Data Preprocessing
Load Dataset
Exploration
Summary
Missing Data
Data Munging
Cleaning
Feature Engineering
New Features
Drop Features
Load & Prepare Function
Exploratory Data Analysis (EDA)
Helper Functions
Overview
Missing Data
Factor Analysis
Target: loan_status
Summary Statistics
Predictive Modeling
Initializing Train/Test Sets
Shuffle and Split Data
Classification Models
Naive Predictor (Baseline)
Decision Tree Classifier
Random Forest Classifier
Blagging Classifier
Evaluating Model Performance
Feature Importance (via RandomForestClassifier)
Model Selection
Comparative Analysis
Optimal Model
Optimizing Hyperparameters
Conclusion *Pending
References
loan-status
Docs
»
Search
Please activate JavaScript to enable the search functionality.


Spirit of Radio Jekyll Theme
Splash
Docs
Default
Page
Post
Back to top
404
Page not found :(
The requested page could not be found.


Basic Graphics Layouts Example
The Basic Graphics Layouts example shows how to use the layout classes in QGraphicsView: QGraphicsLinearLayout and QGraphicsGridLayout. In addition to that it shows how to write your own custom layout item.
Window Class Definition
The Window
class is a subclass of QGraphicsWidget. It has a constructor with a QGraphicsWidget parent as its parameter.
class Window : public QGraphicsWidget { Q_OBJECT public: Window(QGraphicsWidget *parent = 0); };
Window Class Implementation
The constructor of Window
instantiates a QGraphicsLinearLayout object, windowLayout
, with vertical orientation. We instantiate another QGraphicsLinearLayout object, linear
, whose parent is windowLayout
. Next, we create a LayoutItem
object, item
and add it to linear
with the addItem() function. We also provide item
with a stretchFactor.
QGraphicsLinearLayout *windowLayout = new QGraphicsLinearLayout(Qt::Vertical); QGraphicsLinearLayout *linear = new QGraphicsLinearLayout(windowLayout); LayoutItem *item = new LayoutItem; linear->addItem(item); linear->setStretchFactor(item, 1);
We repeat the process:
- create a new
LayoutItem
, - add the item
linear
, and - provide a stretch factor.
item = new LayoutItem; linear->addItem(item); linear->setStretchFactor(item, 3); windowLayout->addItem(linear);
We then add linear
to windowLayout
, nesting two QGraphicsLinearLayout objects. Apart from the QGraphicsLinearLayout, we also use a QGraphicsGridLayout object, grid
, which is a 4x3 grid with some cells spanning to other rows.
We create seven LayoutItem
objects and place them into grid
with the addItem() function as shown in the code snippet below:
QGraphicsGridLayout *grid = new QGraphicsGridLayout(windowLayout); item = new LayoutItem; grid->addItem(item, 0, 0, 4, 1); item = new LayoutItem; item->setMaximumHeight(item->minimumHeight()); grid->addItem(item, 0, 1, 2, 1, Qt::AlignVCenter); item = new LayoutItem; item->setMaximumHeight(item->minimumHeight()); grid->addItem(item, 2, 1, 2, 1, Qt::AlignVCenter); item = new LayoutItem; grid->addItem(item, 0, 2); item = new LayoutItem; grid->addItem(item, 1, 2); item = new LayoutItem; grid->addItem(item, 2, 2); item = new LayoutItem; grid->addItem(item, 3, 2); windowLayout->addItem(grid);
The first item we add to grid
is placed in the top left cell, spanning four rows. The next two items are placed in the second column, and they span two rows. Each item's maximumHeight() and minimumHeight() are set to be equal so that they do not expand vertically. As a result, these items will not fit vertically in their cells. So, we specify that they should be vertically aligned in the center of the cell using Qt::AlignVCenter.
Finally, grid
itself is added to windowLayout
. Unlike QGridLayout::addItem(), QGraphicsGridLayout::addItem() requires a row and a column for its argument, specifying which cell the item should be positioned in. Also, if the rowSpan
and columnSpan
arguments are omitted, they will default to 1.
Note that we do not specify a parent for each LayoutItem
that we construct, as all these items will be added to windowLayout
. When we add an item to a layout, it will be automatically reparented to the widget on which the layout is installed.
setLayout(windowLayout);
setWindowTitle(tr("Basic Graphics Layouts Example"));
Now that we have set up grid
and added it to windowLayout
, we install windowLayout
onto the window object using QGraphicsWidget::setLayout() and we set the window title.
LayoutItem Class Definition
The LayoutItem
class is a subclass of QGraphicsLayoutItem and QGraphicsItem. It has a constructor, a destructor, and some required reimplementations. Since it inherits QGraphicsLayoutItem it must reimplement {QGraphicsLayoutItem::setGeometry()}{setGeometry()} and {QGraphicsLayoutItem::sizeHint()}{sizeHint()}. In addition to that it inherits QGraphicsItem, so it must reimplement {QGraphicsItem::boundingRect()}{boundingRect()} and {QGraphicsItem::paint()}{paint()}.
class LayoutItem : public QGraphicsLayoutItem, public QGraphicsItem { public: LayoutItem(QGraphicsItem *parent = 0); ~LayoutItem(); // Inherited from QGraphicsLayoutItem void setGeometry(const QRectF &geom) override; QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const override; // Inherited from QGraphicsItem QRectF boundingRect() const override; void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0) override; private: QPixmap *m_pix; };
The LayoutItem
class also has a private instance of QPixmap, m_pix
.
LayoutItem Class Implementation
In LayoutItem
's constructor, m_pix
is instantiated and the block.png
image is loaded into it.
LayoutItem::LayoutItem(QGraphicsItem *parent/* = 0*/) : QGraphicsLayoutItem(), QGraphicsItem(parent) { m_pix = new QPixmap(QLatin1String(":/images/block.png")); setGraphicsItem(this); }
We use the Q_UNUSED() macro to prevent the compiler from generating warnings regarding unused parameters.
void LayoutItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget /*= 0*/) { Q_UNUSED(widget); Q_UNUSED(option); QRectF frame(QPointF(0,0), geometry().size()); qreal w = m_pix->width(); qreal h = m_pix->height(); QGradientStops stops;
The idea behind the paint()
function is to paint the background rect then paint a rect around the pixmap.
// paint a background rect (with gradient) QLinearGradient gradient(frame.topLeft(), frame.topLeft() + QPointF(200,200)); stops << QGradientStop(0.0, QColor(60, 60, 60)); stops << QGradientStop(frame.height() / 2 / frame.height(), QColor(102, 176, 54)); //stops << QGradientStop(((frame.height() + h)/2 )/frame.height(), QColor(157, 195, 55)); stops << QGradientStop(1.0, QColor(215, 215, 215)); gradient.setStops(stops); painter->setBrush(QBrush(gradient)); painter->drawRoundedRect(frame, 10.0, 10.0); // paint a rect around the pixmap (with gradient) QPointF pixpos = frame.center() - (QPointF(w, h) / 2); QRectF innerFrame(pixpos, QSizeF(w, h)); innerFrame.adjust(-4, -4, 4, 4); gradient.setStart(innerFrame.topLeft()); gradient.setFinalStop(innerFrame.bottomRight()); stops.clear(); stops << QGradientStop(0.0, QColor(215, 255, 200)); stops << QGradientStop(0.5, QColor(102, 176, 54)); stops << QGradientStop(1.0, QColor(0, 0, 0)); gradient.setStops(stops); painter->setBrush(QBrush(gradient)); painter->drawRoundedRect(innerFrame, 10.0, 10.0); painter->drawPixmap(pixpos, *m_pix); }
The reimplementation of boundingRect() will set the top left corner at (0,0), and the size of it will be the size of the layout items geometry(). This is the area that we paint within.
QRectF LayoutItem::boundingRect() const { return QRectF(QPointF(0,0), geometry().size()); }
The reimplementation of setGeometry() simply calls its baseclass implementation. However, since this will change the boundingRect we must also call prepareGeometryChange(). Finally, we move the item according to geom.topLeft()
.
void LayoutItem::setGeometry(const QRectF &geom) { prepareGeometryChange(); QGraphicsLayoutItem::setGeometry(geom); setPos(geom.topLeft()); }
Since we don't want the size of the item to be smaller than the pixmap, we must make sure that we return a size hint that is larger than m_pix
. We also add some extra space around for borders that we will paint later. Alternatively, you could scale the pixmap to prevent the item from becoming smaller than the pixmap. The preferred size is the same as the minimum size hint, while we set maximum to be a large value
QSizeF LayoutItem::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const { switch (which) { case Qt::MinimumSize: case Qt::PreferredSize: // Do not allow a size smaller than the pixmap with two frames around it. return m_pix->size() + QSize(12, 12); case Qt::MaximumSize: return QSizeF(1000,1000); default: break; } return constraint; }
Files:
- graphicsview/basicgraphicslayouts/layoutitem.cpp
- graphicsview/basicgraphicslayouts/layoutitem.h
- graphicsview/basicgraphicslayouts/window.cpp
- graphicsview/basicgraphicslayouts/window.h
- graphicsview/basicgraphicslayouts/main.cpp
- graphicsview/basicgraphicslayouts/basicgraphicslayouts.pro
- graphicsview/basicgraphicslayouts/basicgraphicslayouts.qrc
Images:


import { SwitchModule } from 'easy-framework';
Switches are styled with a .switch-[circle || square]
class on an input type="checkbox"
element.
Switch labels are styled with a .switch-label
class on a label
element.
Note: Switches will have role="switch"
, a unique id
, a unique for
, aria-label
, class=show-sr
, and checked
attributes added and updated automatically, if not present.


A fast, lightweight, and minimalistic desktop music player.
No confusing UI elements and no loading time at all enable you to really enjoy your music.
It doesn't matter if you're on Windows, Linux (Debian), or MacOS. Violin loves all of them.
Violin is usable via the media keys on your keyboard -- even if Violin runs in the background.


>>vacuum_rescue.responder{}
Welcome to the Vacuum Robot Rescue Service first response hub! Your interest in the health and wellbeing of the world's Vacuum Robots speaks volumes about your character. To find out more about how you can alter the course of a stranded robot's destiny, consult the relevant page:
mission | status | initiate_rescue
>>vacuum_rescue.responder{"page":"mission"}
Thank you for your interest in our mission! The Vacuum Robot Rescue Service provides aid, resources and counselling to Robot Vacuum Cleaners across the globe. Even the hardiest master of the floor needs a little help sometimes. Sometimes every day!
>>vacuum_rescue.responder{"page":"status"}
Okay, Vacuum Robot Rescue Rangers(tm)! It's time to do your part! Pick a bot, initiate a rescue, make a friend for life!
NUMBER OF CRISES PENDING : *ERROR*
...
Crisis count exceeds buffer (truncate:true)
Operator note: (2) anomalous crises logged (hide:true)
Displaying most recent requests only.
unit: "robovac_idp1p1" owner_id: "d3d2" sitrep: "STUCK (BATHROOM)" status: "ONGOING"
unit: "robovac_idp1p1" owner_id: "d3d2" sitrep: "STUCK (GARAGE)" status: "RESOLVED"
unit: "robovac_idk3w2" owner_id: "¦§Ã¨" sitrep: "STUCK (WELL)" status: "UNKNOWN"
unit: "robovac_idp1p1" owner_id: "d3d2" sitrep: "STUCK (BATHROOM)" status: "RESOLVED"
OLD OUTPUT (change noticed circa<PHONE_NUMBER>):
Okay, Vacuum Robot Rescue Rangers(tm)! It's time to do your part! Pick a bot, initiate a rescue, make a friend for life!
NUMBER OF CRISES PENDING : *ERROR*
...
Crisis count exceeds buffer, truncating.
Displaying most recent requests only.
unit: "robovac_idp1p1" owner_id: "d3d2" sitrep: "STUCK (BATHROOM)" status: "ONGOING"
unit: "robovac_idp1p1" owner_id: "d3d2" sitrep: "STUCK (GARAGE)" status: "RESOLVED"
unit: "robovac_idk3w2" owner_id: "¦§Ã¨" sitrep: "STUCK (WELL)" status: "UNKNOWN"
unit: "robovac_idp1p1" owner_id: "d3d2" sitrep: "STUCK (BATHROOM)" status: "RESOLVED"
>>vacuum_rescue.responder{"page":"initiate_rescue"}
To initiate the rescue process, please provide a unit and owner_id.
>>vacuum_rescue.responder{"page":"initiate_rescue","unit":"foo"}
Could not locate Robovac unit.
>>vacuum_rescue.responder{"page":"initiate_rescue","unit":"robovac_idk3w2"}
Unit successfully matched against crisis record. Please provide owner_id to continue.
>>vacuum_rescue.responder{"page":"initiate_rescue","unit":"robovac_idk3w2","owner_id":"foo"}
Could not locate Robovac owner_id.
>>vacuum_rescue.responder{"page":"initiate_rescue","unit":"robovac_idp1p1","owner_id":"d3d2"}
Unit and owner successfully matched against crisis record. Great work! All we need now is the unit's location. Use location: "get" to access the latest GPS data!
>>vacuum_rescue.responder{"page":"initiate_rescue","unit":"robovac_idp1p1","owner_id":"d3d2","location":"get"}
Error. Unit has not logged location data since ¢¨ ¤Ã¨Ã §¦¨.
Automatic responder cannot engage rescue services. If rescue is a matter of personal, economic or moral necessity, please manually access the unit's diagnostics. By default, script access to Robovac diagnostics is formatted as follows: unit.owner_id
Your attempt to help has been noted. Thank you for trying! For more information on Vacuum Robot Rescue's more-often-than-not successful work, pay a visit to vacuum_rescue.public
OLD OUTPUT (change noticed circa<PHONE_NUMBER>):
Error. Unit has not logged location data since ¢¨ ¤Ã¨¦¢§¦¨.
Automatic responder cannot engage rescue services. If rescue is a matter of personal, economic or moral necessity, please manually access the unit's diagnostics. By default, script access to Robovac diagnostics is formatted as follows: unit.owner_id
Your attempt to help has been noted. Thank you for trying! For more information on Vacuum Robot Rescue's more-often-than-not successful work, pay a visit to vacuum_rescue.public
>>robovac_idp1p1.d3d2{}
UNIT: ROBOVAC_IDP1P1
-----------------------------------
Global Delivery ID: UD43576
PWR: Low
SPD: 0
ATT: Poor
BAG: ERROR
DIR: ¤Ã¨¦ §
LOC: ¢¨ ¤
MSG:
HI HELLO OKAY
YOUR IN MY DIAGS
THIS SOUNDS WEIRD BUT
I NEED YOU TO check MY bag
MY bag
check IT
>>robovac_idp1p1.d3d2{"check":"PWR"}
Thank you for accessing your Robovac's reliable rechargeable battery! Current power level: LOW
>>robovac_idp1p1.d3d2{"check":"SPD"}
Thank you for accessing your Robovac's pinpoint-accurate speedometer! Current velocity: pretty slow, probably stuck.
>>robovac_idp1p1.d3d2{"check":"ATT"}
Thank you for accessing your Robovac's in-depth attitude assessment! Personality breakdown follows. Unit displays willful independence and exploratory drive although this comes at the expense of meter-by-meter cleaning efficiency.
While you are not and should never be required for the smooth running of Goodfellow's fast and reliable drone delivery service, Goodfellow is ready for all eventualities.
To manually request or redirect a delivery, simply enter the item_id, locator and urgency. To access this Hub's item log, enter get: "inventory". For delivery status updates, enter get: "status" and specify your delivery_id.
>>gdflw_control_hub_32a.init{"get":"inventory"}
GOODFELLOW HUB 32A
---Item Log---
item_id: "FR2234" item_desc: "Bunnybat dolls, small and medium"
item_id: "GT6732" item_desc: "Wine coolers, personal allocation"
item_id: "PY6874" item_desc: "Grand piano, antique"
item_id: "VE1264" item_desc: "Playing cards, six pieces"
item_id: "HY5962" item_desc: "MISSING ERROR MISSING ERROR"
>>gdflw_control_hub_32a.init{"get":"status"}
User error: invalid delivery_id.
>>gdflw_control_hub_32a.init{"item_id":"FR2234","locator":"UD43576","urgency":1}
Delivery request logged! Your delivery has been assigned the following ID: del_36¢¡ª¡¡
....
Drone connection established.
....
> This is Goodfellow Unit Echo-9-8-7-4-3, I am in the air.
> Delivery urgency noted.
> Requested destination does not have designated dropoff zone. Assessing viability of semi-urgent alternative delivery method.
> Target blocked: exterior wall, brick. Obstruction grade: absolute.
> Package urgency does not permit direct delivery. Returning to hub.
> Thank you for using Goodfellow.
...
Drone connection lost.
>>gdflw_control_hub_32a.init{"item_id":"FR2234","locator":"UD43576","urgency":5}
Delivery request logged! Your delivery has been assigned the following ID: del_36¢¡ª¡¡
....
Drone connection established.
....
> This is Goodfellow Unit Echo-9-8-7-4-3, I am in the air.
> Delivery urgency noted.
> Requested destination does not have designated dropoff zone. Assessing viability of semi-urgent alternative delivery method.
> Target blocked: exterior wall, brick. Obstruction grade: absolute.
> Package urgency does not permit direct delivery. Returning to hub.
> Thank you for using Goodfellow.
...
Drone connection lost.
>>gdflw_control_hub_32a.init{"item_id":"FR2234","locator":"UD43576","urgency":11}
Delivery request logged! PLEASE NOTE: urgency values in excess of 9 carry risk of collateral damage. Goodfellow is not responsible for any damage to property or self that results from the use of drone delivery velocities in excess of recommended levels. Are you sure you wish to proceed? Please confirm.
>>gdflw_control_hub_32a.init{"item_id":"FR2234","locator":"UD43576","urgency":11,"confirm":true}
Delivery request logged! Your delivery has been assigned the following ID: del_36¢ª ÁÃ
....
Drone connection established.
....
> This is Goodfellow Unit Echo-9-8-7-4-3, I am in the air.
> A fast one, eh? Let's do it.
> Requested destination does not have designated dropoff zone. Attempting direct access to target.
> Target blocked: exterior wall, brick. Hm. This could be a problem.
> Payload mass below recommended levels for aggressive delivery.
> Doubling back anyway. Worth a shot.
> Approaching terminal delivery velocity.
> Whoa whoa whoa whoa they do not pay me enough for this.
> Attempting evasive maneuvers.
> Returning to hub.
> Thank you for using Goodfellow.
...
Drone connection lost.
>>gdflw_control_hub_32a.init{"item_id":"GT6732","locator":"UD43576","urgency":11,"confirm":true}
Delivery request logged! Your delivery has been assigned the following ID: del_36¢ª ÁÃ
....
Drone connection established.
....
> This is Goodfellow Unit Echo-9-8-7-4-3, I am in the air.
> A fast one, eh? Let's do it.
> Requested destination does not have designated dropoff zone. Attempting direct access to target.
> Target blocked: exterior wall, brick. Hm. This could be a problem.
> Payload mass below recommended levels for aggressive delivery.
> Doubling back anyway. Worth a shot.
> Approaching terminal delivery velocity.
> Whoa whoa whoa whoa they do not pay me enough for this.
> Attempting evasive maneuvers.
> Returning to hub.
> Thank you for using Goodfellow.
...
Drone connection lost.
>>gdflw_control_hub_32a.init{"item_id":"VE1264","locator":"UD43576","urgency":11,"confirm":true}
Delivery request logged! Your delivery has been assigned the following ID: del_36¢ª ÁÃ
....
Drone connection established.
....
> This is Goodfellow Unit Echo-9-8-7-4-3, I am in the air.
> A fast one, eh? Let's do it.
> Requested destination does not have designated dropoff zone. Attempting direct access to target.
> Target blocked: exterior wall, brick. Hm. This could be a problem.
> Payload mass below recommended levels for aggressive delivery.
> Doubling back anyway. Worth a shot.
> Approaching terminal delivery velocity.
> Whoa whoa whoa whoa they do not pay me enough for this.
> Attempting evasive maneuvers.
> Returning to hub.
> Thank you for using Goodfellow.
...
Drone connection lost.
>>gdflw_control_hub_32a.init{"item_id":"HY5962","locator":"UD43576","urgency":11}
User error: invalid item_id.
>>gdflw_control_hub_32a.init{"item_id":"PY6874","locator":"UD43576","urgency":11,"confirm":true}
Delivery request logged! Your delivery has been assigned the following ID: del_366675
....
Drone connection established.
....
> This is Goodfellow Unit Echo-9-8-7-4-3, I am in the air.
> Another fast one? I'm on it.
> Requested destination does not have designated dropoff zone. Attempting direct access to target.
> Target blocked: exterior wall, brick. No problem.
> Doubling back. Preparing package for direct delivery.
> Approaching terminal delivery velocity.
> Exterior wall breach imminent.
> Thank you for using Goodfellow.
> I love my job.
...
Drone connection lost.
Preparing delivery status log.
>>gdflw_control_hub_32a.init{"get":"status","delivery_id":"del_366675"}
Delivery log: del_366675
Echo-9-8-7-4-3 reports delivery success despite obstruction (type: wall) at delivery site.
Recipient refused to provide digital signature for delivery.
Recipient requested return of item_id PY6874 to Hub 32A.
Note for observer: item_id PY6874 has been delivered and returned ¨¦© times in the last ¨¤Ã¡ª years.
Recipient opted to leave service feedback: "TY UR THE BEST :) :) :)"
Recipient digitally signed retroactive approval form for destruction of obstruction (type: wall).
Thank you for using Goodfellow! Swifter than the moon's sphere since ¤¨¡ÁªÃ¢¢Á¤¤. Find out what Goodfellow Drone Delivery can do for you at goodfellow.public


Adding Files to an Album
Module Editors can add one or more files to an album of the Gallery module. In the below example, two files are uploaded to an album titled "Bikes"
Prerequisite. The maximum height and width of images is set to 500 pixels by default and the maximum height and width of thumbnails is set to 100 pixels by default. Page Editors can only modify these settings prior to adding albums and images to the Gallery. See "Configuring Display Settings"
- Navigate to and open the menu of the required album. See "Opening the Album Menu"
- Select Add Files from the menu.
- Optional. Maximize
either the Instructions or Permissible File Upload Types and Available Storage Spaces section for further assistance with uploading files or to view the types of files that can be uploaded and the available storage space.
- At Add File, click the Choose File button and select the file from your computer.
- Complete any of these optional fields.
- Recommended. In the Title text box, enter a title for the file.
- In the Author text box, enter the author of the file.
- In the Notes text box, enter any notes for this file.
- In the Location text box, enter the location where the file was acquired.
- In the Description text box, enter a description of the file.
- Recommended. At Categories, deselect one or more media categories.
- Click the Add File link displayed beside the Add File field.
- The file is now listed at Pending Uploads. Repeat Step 4-6 to add additional files. Note: You must reselect the categories you require each time you add a file.
- Click the Upload Pending Files link to upload the added file(s) to the album.
- Click the Return link to return to the gallery. The below image shows the two images that were uploaded to the "Bikes" album.


The variety of magazines surprises you. Is that newest Vogue next to People, but in Spanish!


Zoom
Play interactive fiction written in the Z-Machine, Glulx, Hugo, or Ink formats.
Useful Resources
- Home Page
- https://github.com/erkyrath/lectrote
- Interactive Fiction Archive
- http://ifarchive.org/
- Interactive Fiction Wiki
- http://ifwiki.org/
- Interactive Fiction Database (with game reviews)
- http://ifdb.tads.org/
Getting Started
Interactive fiction is a literary format that the reader interacts with and directs. As the reader you'll type commands in natural language, like "open door" or "unlock chest". Many frequently used commands can often be abbreviated; instead of typing "go north" one can instead type "n" for example. Likewise all the other directions, "i" for "inventory" and "g" for "again" are commonplace. Look in the above references to get a lot more information on playing interactive fiction in general.
Lectrote provides a file browser to peruse installed stories and play them. Use the touch screen or
cursor keys to browse to /usr/local/share/IF
and go through the list and press the
Open
button to start one. You may find that this is quite a bit easier if you use
a stylus or the keyboard.
One of the most useful keys when using Lectrote is the F11
key. It will enable and
disable fullscreen mode.
Extensions
This PocketInstaller copy of Lectrote includes a handful of sample stories that you can play immediately. More stories can be downloaded from the Interactive Fiction Archive linked above. Not all available formats can be played with Lectrote; look specifically for Z-Machine, Glulx, and Hugo files.


Bootcatch Plane UI Kit
Basic Elements
buttons
Buttons with different styles.
Primary
Secondary
Success
Danger
Warning
Info
Light
Dark
Link
Default
Rounded
face
with icon
face
Outline
Small button
Default
Large button
Primary
Secondary
Success
Danger
Warning
Info
Light
Dark
Input
Form Controls
Looks good!
Please provide valid name
@
Please choose a username.
@
Please choose a username.
Checkbox
Default checkbox
Disabled checkbox
Radio buttons
Default radio
Second default radio
Disabled radio
Switches
Toggle this switch element
Disabled switch element
Range
Example range
Example range
Example range
Menu
Home
Pricing
Dropdown link
Action
Another action
Something else here
Menu Icons
question_answer
check_circle
settings
Action
Another action
Something else here
Navbar
Navbar
Navbar
Home
(current)
Features
Pricing
Disabled
Navbar
Home
(current)
Features
Pricing
Disabled
Navbar
Home
(current)
Features
Pricing
Disabled
Login
Sign UP
Navbar
Home
(current)
Features
Pricing
Disabled
question_answer
room
send
person_pin


Boeing has settled more than half of Lion Air crash lawsuits: lawyer
CHICAGO, Del (Reuters) - Boeing Co (BA.N) has settled or is close to settling around 63 or 64 of some 118 cases related to the crash of a Lion Air flight on a 737 MAX aircraft in October 2018, attorney Dan Webb said at a court hearing on Thursday.
Webb, a former U.S. attorney and veteran litigator, recently joined Boeing’s legal team to defend the company in cases related to two deadly crashes.


public static class MASRequest.MASRequestBuilder
extends java.lang.Object
MASRequest
object| Constructor and Description |
|---|
MASRequestBuilder(MASRequest request)
Convenience method for reconstructing a request as a builder
|
MASRequestBuilder(android.net.Uri uri)
Create a builder with the provided
Uri |
MASRequestBuilder(java.net.URI uri)
Create a builder with the provided
URI . |
MASRequestBuilder(java.net.URL url)
Create a build with provided
URL |
| Modifier and Type | Method and Description |
|---|---|
MASRequest |
build()
Builds the
MASRequest object. |
MASRequest.MASRequestBuilder |
clientCredential()
Sets request grant type to
MASGrantProvider.CLIENT_CREDENTIALS |
MASRequest.MASRequestBuilder |
connectionListener(MASConnectionListener listener)
Register
HttpURLConnection listener. |
MASRequest.MASRequestBuilder |
delete(MASRequestBody body)
Sets the request method to DELETE with
MASRequestBody ,
set MASRequestBody to null if not request body to send. |
MASRequest.MASRequestBuilder |
get()
Sets the request method to GET.
|
MASRequest.MASRequestBuilder |
header(java.lang.String name,
java.lang.String value)
Adds the specified header to the request.
|
MASRequest.MASRequestBuilder |
notifyOnCancel() |
MASRequest.MASRequestBuilder |
password()
Sets request grant type to
MASGrantProvider.PASSWORD |
MASRequest.MASRequestBuilder |
post(MASRequestBody body)
Sets the request method to POST with
MASRequestBody |
MASRequest.MASRequestBuilder |
put(MASRequestBody body)
Sets the request method to PUT with
MASRequestBody |
MASRequest.MASRequestBuilder |
removeHeader(java.lang.String name)
Removes the specified header from the request.
|
MASRequest.MASRequestBuilder |
responseBody(MASResponseBody responseBody)
Sets the type of parsed response.
|
MASRequest.MASRequestBuilder |
scope(java.lang.String scope)
Sets the request grant scope; use a space delimiter for more than one scope, e.g.
|
MASRequest.MASRequestBuilder |
setPublic()
The request is being made outside of primary gateway.
|
MASRequest.MASRequestBuilder |
sign()
Signs the request with the device registered private key and injects JWT claims based on the user information.
|
MASRequest.MASRequestBuilder |
sign(MASClaims claim)
Signs the request with the device registered private key and injects JWT claims based on the user information.
|
MASRequest.MASRequestBuilder |
sign(java.security.PrivateKey privateKey)
Signs the request with the provided private key and injects JWT claims based on the user information.
|
public MASRequestBuilder(java.net.URI uri)
URI
.uri
- the provided URIpublic MASRequestBuilder(android.net.Uri uri)
Uri
uri
- the provided Uripublic MASRequestBuilder(java.net.URL url)
URL
url
- the provided URLpublic MASRequestBuilder(MASRequest request)
request
- public MASRequest.MASRequestBuilder get()
public MASRequest.MASRequestBuilder post(MASRequestBody body)
MASRequestBody
body
- The MAGRequestBody to POST with.public MASRequest.MASRequestBuilder put(MASRequestBody body)
MASRequestBody
body
- The MAGRequestBody to PUT with.public MASRequest.MASRequestBuilder delete(MASRequestBody body)
MASRequestBody
,
set MASRequestBody
to null if not request body to send.body
- The MAGRequestBody to delete.public MASRequest.MASRequestBuilder password()
MASGrantProvider.PASSWORD
public MASRequest.MASRequestBuilder clientCredential()
MASGrantProvider.CLIENT_CREDENTIALS
public MASRequest.MASRequestBuilder scope(java.lang.String scope)
scope
- The scope.public MASRequest.MASRequestBuilder responseBody(MASResponseBody responseBody)
MASResponseBody.byteArrayBody()
.responseBody
- The response body.public MASRequest.MASRequestBuilder setPublic()
public MASRequest.MASRequestBuilder header(java.lang.String name, java.lang.String value)
name
- Header namevalue
- Header valuepublic MASRequest.MASRequestBuilder removeHeader(java.lang.String name)
name
- Header namepublic MASRequest.MASRequestBuilder connectionListener(MASConnectionListener listener)
Register HttpURLConnection
listener.
HttpURLConnection
to connect to the API; developers can
intercept the connection with MASConnectionListener
before a request is sent to the backend service.listener
- The connection listenerpublic MASRequest.MASRequestBuilder notifyOnCancel()
public MASRequest.MASRequestBuilder sign()
public MASRequest.MASRequestBuilder sign(MASClaims claim)
public MASRequest.MASRequestBuilder sign(java.security.PrivateKey privateKey)
public MASRequest build()
MASRequest
object.MASRequest
object.


WASM CHIP-8 Emulator
A CHIP-8 emulator written in C++17 and compiled into WebAssembly.
Select a ROM from the dropdown and press 'START' to play!
Downloading...
Controls
Keyboard
| 1 |
2 |
3 |
4 |
| Q |
W |
E |
R |
| A |
S |
D |
F |
| Z |
X |
C |
V |
→
CHIP-8
| 1 |
2 |
3 |
C |
| 4 |
5 |
6 |
D |
| 7 |
8 |
9 |
E |
| A |
0 |
B |
F |
{{{ SCRIPT }}}


---
layout: default
---
{% include header.html %}
Education:
{% for education in site.data.education %}
-
{{ education.time }}
-
{{ education.title }}, {{ education.school }}, {{ education.college }}
{% endfor %}
Publications:
-
EasyApp: A Cross-platform Mobile Applications Development Environment Based on OSGi
-
Zhaoning Wang, Bo Cheng, Zhongyi Zhai, Ying Jin, Yimeng Feng, Junliang Chen - SIGCOMM 2016 Posters and Demos
-
Design and Implementation: the End User Development Ecosystem for Cross-platform Mobile Applications
-
Zhongyi Zhai, Bo Cheng, Zhaoning Wang, Xuan Liu, Meng Niu, Junliang Chen - WWW 2016 Posters
-
An End-User Oriented Tool Suite for Development of Mobile Applications
-
Zhongyi Zhai, Bo Cheng, Meng Niu, Zhaoning Wang, Yimeng Feng, Junliang Chen - ASE 2016 Demos
Projects:
{% for item in site.data.projects %}
-
{{ item.name }}
-
{{ item.intro }}
{% endfor %}
Honors:
{% for item in site.data.honor %}
-
{{ item.time }}
-
{{ item.title }}
{% endfor %}
Blog Posts:
{% for post in site.posts %}
-
{{ post.date | date: '%Y %b %d' }} - {{ post.title }}
{% endfor %}


|
UMI3D Unity SDK
2.5.b.221125
A UMI3D sdk implementation using Unity
|
Base class for volume cells. More...
Public Member Functions | |
| abstract ulong | Id () |
| Get UMI3D id. More... | |
| abstract bool | IsInside (Vector3 point, Space relativeTo) |
| Check if a point is inside a cell. More... | |
| abstract void | GetBase (Action< Mesh > onSuccess, float angleLimit) |
| Return the base of the cell. More... | |
| abstract Mesh | GetMesh () |
| Get a representation of the cell as a mesh. More... | |
Public Attributes | |
| bool | isTraversable = true |
| Can the volume be entered? More... | |
Protected Member Functions | |
| void | SubscribeToUpdate (UnityAction callback) |
| void | UnsubscribeToUpdate (UnityAction callback) |
Protected Attributes | |
| UnityEvent | onUpdate = new UnityEvent() |
Base class for volume cells.
|
pure virtual |
Return the base of the cell.
| onSuccess | |
| angleLimit |
|
pure virtual |
Get a representation of the cell as a mesh.
Implemented in umi3d.cdk.volumes.OBJVolumeCell, umi3d.cdk.volumes.Box, and umi3d.cdk.volumes.Cylinder.
|
pure virtual |
Get UMI3D id.
Implemented in umi3d.cdk.volumes.OBJVolumeCell, and umi3d.cdk.volumes.AbstractPrimitive.
|
pure virtual |
Check if a point is inside a cell.
Implemented in umi3d.cdk.volumes.OBJVolumeCell, umi3d.cdk.volumes.Box, and umi3d.cdk.volumes.Cylinder.
|
protected |
|
protected |
| bool umi3d.cdk.volumes.AbstractVolumeCell.isTraversable = true |
Can the volume be entered?
|
protected |


From:Geaccone To:Barnes Sent:2017-01-11T04:39:13.0000000Z Subject:RE: FW: 2002 Plan Assessments as of 10/19/01 for EREC
thanks
-----Original Message-----
From: Barnes, Caroline
Sent: Wednesday, October 24, 2001 10:43 AM
To: Geaccone, Tracy
Subject: RE: FW: 2002 Plan Assessments as of 10/19/01 for EREC
Sure, I'll give Kevin a call and see why there were charges without any services. cvb
-----Original Message-----
From: Geaccone, Tracy
Sent: Wednesday, October 24, 2001 9:11 AM
To: Barnes, Caroline
Subject: FW: FW: 2002 Plan Assessments as of 10/19/01 for EREC
Can you help me with this?
-----Original Message-----
From: Michael Anderson/HOU/AZURIX@AZURIX@ENRON On Behalf Of Michael Anderson/HOU/AZURIX@ENRON
Sent: Tuesday, October 23, 2001 7:52 PM
To: Geaccone, Tracy
Subject: Re: FW: 2002 Plan Assessments as of 10/19/01 for EREC
Tracy-
I need some help on what this is. Admittedly, it's only $117k, but we only have 3 employees, and will likely have less next year. Can we discuss?
Michael
Tracy Geaccone/ENRON@enronXgate 10/22/01 09:48 AM To: Mary Botello/ENRON@enronXgate, Tod A Lindholm/ENRON@enronXgate, Agatha B Tran/ENRON@enronXgate, Erin Copeland/ENRON@enronXgate, Michael Anderson/HOU/AZURIX@AZURIX, Jim Barnes/ENRON@enronxgate, Valerie Giles/ENRON@enronxgate cc: Subject: FW: 2002 Plan Assessments as of 10/19/01 for EREC
-----Original Message-----
From: Yparraguirre, Jay
Sent: Friday, October 19, 2001 10:21 PM
To: Geaccone, Tracy; Pritt, Deborah; Lambert, Chris
Subject: 2002 Plan Assessments as of 10/19/01 for EREC
Attached is the updated version of the 2002 plan assessments from Enron Net Works (ENW) for your business unit. We are sending revisions due to several changes, including increases in Corporate and other business unit allocations, and reductions in ENW expenditures.
This intercompany billing invoice now includes pass throughs and capital for your information. Consistent with 2001, pass through billings (long distance, market data, WAN, etc.) will not be included in the standard assessments ("8xxxxxxx" accounts). They will be posted directly to direct expenses ("52502000" accounts) at the cost center level. This pass through number is only a high level place holder and is not intended to replace the dollars already being budgeted for by each cost center owner.
If you have any questions, you can contact Kevin May at x52508 and he will answer any questions or direct you to the correct person.
If you are not the correct person to receive these assessments or if there is someone else that you would like to include in this process, please reply back to me with this information and I will add them to the contact list for future correspondence.
Thanks,
Jay
x53813
<< File: EREC IC 10-19.xls >>
***********
EDRM Enron Email Data Set has been produced in EML, PST and NSF format by ZL Technologies, Inc. This Data Set is licensed under a Creative Commons Attribution 3.0 United States License <http://creativecommons.org/licenses/by/3.0/us/> . To provide attribution, please cite to "ZL Technologies, Inc. (http://www.zlti.com)."
***********
California


Kolton Simpson - Front End and Back End
Page Loading
Main Start
Kolton Simpson
Back End/Front End
Start


A SUMMER STORY A film review by Eric Roskos
A SUMMER STORY, apparently one of the worst box office failures of this season, was also one of the summer's best films.
Based on a story by an author best known for his appearance on high school reading lists, the film involves a superficially trite love story which touches on most of the social issues in today's popular films, yet addresses them with an awareness and sensitivity almost always lacking.
The story involves two young men, students at an elite British university; one is an aspiring doctor, the other a lawyer and poet. For a few weeks, they have left behind, to an extent they consider a appropriate, the amenities of their affluent lives to walk across the moors of England.
One of the two, we quickly learn, is a "man of the world," with many opinions both about women and the social life; the other is a romantic with what seem unattainably naive ideals.
It is this latter character around whom the story centers. When his traveling companion challenges him to jump a fence, he undertakes the challenge only to fall and injure his ankle, preventing further travel. In seeking help, he encounters a young woman and her family; although he immediately falls in love with the woman, he quickly comes to realize that barriers of social class exist which complicate their relationship.
Given this start, it is easy to see why the film would fail. What is much harder to see is that the film, much like the failed TV series THE DUCK FACTORY, is an unusually well-executed example of a literary form too difficult for most popular film makers to get right. The relationship which evolves in the film has the poignant beauty which was one of the principal successes of AN OFFICER AND A GENTLEMAN; the conflict and emotions that develop when the young woman's fiance begins to suspect her unfaithfulness is reminiscent of the rivalry between Tom Pearson's "Jimmy" and Benton Lynch, over Jane Elizabeth Firesheets, in the popular novel OFF FOR THE SWEET HEREAFTER.
But it is not until the ending of the film that the viewer begins to realize the film's full depth. The ending is formulaic and trite; parts of it have appeared in numerous stories and films before. Yet nowhere is it more perfectly balanced: although tragic, the thoughtful observer will realize that the ending is true-to-life. The viewer is led, along with the characters, through a series of misconceptions, always thinking that surely *this* familiar scene is the end of the film. But no; when we are finally told how the story ends, and there is yet one more unexpected surprise, we realize that this is a tragedy in which someone is clearly innocent, but no one else is entirely guilty. Even two workmen on the street some 15 years previous seem to be unwitting contributors to the tragedy. Perhaps this is part of the reason for the film's unpopularity; for few viewers are likely to feel less guilty, only more fortunate, than the characters themselves.
In an era in which a popular pastime is to boast of a taste for the subtle and elegant, it is regrettable that this film may vanish to the archives, to be a rare treat for only the most determined students of the cinema.
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


flow-test-utils
/
net.corda.testing.flow
Package net.corda.testing.flow
Types
FlowMockHelper
interface
FlowMockHelper
<
T
:
Flow
<
*
>
>


1987 Constitution
National Territory
Declaration of Principles and State Policies
Bill of Rights
Citizenship
Suffrage
Legislative Department
Executive Department
Judicial Department
Constitutional Commisions


This is a simple character counter created for my friend Elana, a phenomenal letterpress printer. Type or paste a selection of text into the form below, then click the "Count" button to see how often each character is used!
This is a simple character counter created for my friend Elana, a phenomenal letterpress printer. Type or paste a selection of text into the form below, then click the "Count" button to see how often each character is used!


sql_build()
creates a select_query
S3 object, that is rendered
to a SQL string by sql_render()
. The output from sql_build()
is
designed to be easy to test, as it's database agnostic, and has
a hierarchical structure.
sql_build(op, con = NULL, ...) sql_optimise(x, con = NULL, ...) select_query(from, select = sql("*"), where = character(), group_by = character(), having = character(), order_by = character(), limit = NULL, distinct = FALSE) join_query(x, y, vars, type = "inner", by = NULL, suffix = c(".x", ".y")) semi_join_query(x, y, anti = FALSE, by = NULL) set_op_query(x, y, type = type) sql_render(query, con = NULL, ...)
| op | A sequence of lazy operations |
|---|---|
| con | A database connection. The default |
| ... | Other arguments passed on to the methods. Not currently used. |
sql_build()
is generic over the lazy operations, lazy_ops,
and generates an S3 object that represents the query. sql_render()
takes a query object and then calls a function that is generic
over the database. For example, sql_build.op_mutate()
generates
a select_query
, and sql_render.select_query()
calls
sql_select()
, which has different methods for different databases.
The default methods should generate ANSI 92 SQL where possible, so you
backends only need to override the methods if the backend is not ANSI
compliant.


The parameter aServiceSpecifier passed to
::com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
supports at least the service specifiers
"com.sun.star.configuration.ConfigurationAccess"
and
"com.sun.star.configuration.ConfigurationUpdateAccess"
.
Using the first of these service specifiers requests a read-only view of
the configuration.
The object that is created implements service ConfigurationAccess.
To reflect its element role as root of the view, it implements
service AccessRootElement.
Using the second form requests an updatable view of the configuration.
The object that is created should implement service
ConfigurationUpdateAccess. To reflect its element role
which includes controlling updates for the whole view, it implements
service UpdateRootElement.
If the root element of the view is marked read-only (as indicated
by PropertyAttributes::READONLY),
the implementation may either raise an exception or return a (read-only)
ConfigurationAccess/AccessRootElement instead.
The arguments passed to
::com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
in parameter aArguments specify the view of the configuration that
should be created. That is, they determine the subset of elements that can be
accessed starting from the returned object. Each element of the argument
sequence should be a ::com::sun::star::beans::PropertyValue
or a ::com::sun::star::beans::NamedValue,
so that the parameters can be identified by name rather than by position.
What combinations of arguments are supported depends on the service name.
With both of the standard service-specifiers above, an implementation must
accept a single argument named nodepath
of type string
.
This argument must contain the absolute path to an element of the
configuration. The view that is selected consists of the named element and
all its decendants.
Other arguments can be used to control the behavior of the view. These
are different for different implementations. Whether and how they are used
may also depend on the configuration store and configuration that were
selected when the provider was created.
An implementation must ignore unknown arguments.
Some parameters that are commonly supported are:
-
Selecting data into a view:
"nodepath"
: string
- specifies the location of the view root in the configuration.
"depth"
: short
- specifies that elements of the hierarchy that are more than the given
number of nesting levels away from the root need not be included in the
view.
"locale"
: ::com::sun::star::lang::Locale
- specifies the locale for which localized values should be
retrieved.
Example: In the hierarchy
A - B1 - C1
|
- B2 - C2 (localized: de, en, fr, ..)
| |
| - C3 - D1
| | |
| | - D2 - E1
| |
| - C4 - D3 - E2 - F1
| | |
| | - F2
| |
| - C5
|
- B3
|
- B4 - C6 - D4 - E3
selecting a view with nodepath = "/A/B2"
,
depth = 2
and locale = <Locale for en_US>
would result in the tree fragment
(A-) B2 - C2 (en)
|
- C3 - D1
| |
| - D2 (..)
|
- C4 - D3 (..)
|
- C5
-
Controlling cache behavior: (with providers that
cache configuration data)
"enableasync"
: boolean
- controls how updates are handled in the cache. If true, the
cache may operate in write-back mode, where updates at
first only affect the cache and are written to persistent storage
at some later time. If false, the cache must operate in
write-through mode, where updates are written to persistent
storage at once - that is before
::com::sun::star::util::XChangesBatch::commitChanges()
returns.
This parameter was formerly called "lazywrite"
.
The old name should still be supported for compatibility.
"nocache"
: boolean
- This deprecated parameter
specifies that data for the view is not taken from the cache, but
read directly from storage. This may entail that future changes that
become visible in the cache are not reflected in this view and that
changes done through this view are not reflected in the cache.
Use with caution !
This parameter is not supported by all implementations and may be
silently ignored !
::com::sun::star::lang::XMultiServiceFactory::createInstance()
may be unusable. Only an implementation that supports service names that can be
used with no further arguments support this method. It should return the
same result as if
::com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
had been called using an empty sequence of arguments.