Ambient Hecke modules#
- class sage.modular.hecke.ambient_module.AmbientHeckeModule(base_ring, rank, level, weight, category=None)#
Bases:
HeckeModule_free_module
An ambient Hecke module, i.e. a Hecke module that is isomorphic as a module over its base ring \(R\) to the standard free module \(R^k\) for some \(k\). This is the base class for ambient spaces of modular forms and modular symbols, and for Brandt modules.
- ambient_hecke_module()#
Return the ambient space that contains this ambient space.
This is, of course, just this space again.
EXAMPLES:
sage: M = ModularForms(11, 4); M.ambient_hecke_module() is M True
- complement()#
Return the largest Hecke-stable complement of this space.
EXAMPLES:
sage: M = ModularSymbols(11,2,1); M Modular Symbols space of dimension 2 for Gamma_0(11) of weight 2 with sign 1 over Rational Field sage: M.complement() Modular Symbols subspace of dimension 0 of Modular Symbols space of dimension 2 for Gamma_0(11) of weight 2 with sign 1 over Rational Field sage: C = M.cuspidal_subspace(); C Modular Symbols subspace of dimension 1 of Modular Symbols space of dimension 2 for Gamma_0(11) of weight 2 with sign 1 over Rational Field sage: C.complement() Modular Symbols subspace of dimension 1 of Modular Symbols space of dimension 2 for Gamma_0(11) of weight 2 with sign 1 over Rational Field
- decomposition_matrix()#
Return the matrix whose columns form a basis for the canonical sorted decomposition of
self
coming from the Hecke operators.If the simple factors are \(D_0, \ldots, D_n\), then the first few columns are an echelonized basis for \(D_0\), the next an echelonized basis for \(D_1\), the next for \(D_2\), etc.
EXAMPLES:
sage: S = ModularSymbols(37, 2) sage: S.decomposition_matrix() [ 1 0 0 0 -1/3] [ 0 1 -1 0 1/2] [ 0 0 0 1 -1/2] [ 0 1 1 1 0] [ 0 0 0 0 1]
- decomposition_matrix_inverse()#
Return the inverse of the decomposition matrix.
This is the inverse of the matrix returned by
decomposition_matrix()
.EXAMPLES:
sage: S = ModularSymbols(37, 2) sage: t = S.decomposition_matrix_inverse(); t [ 1 0 0 0 1/3] [ 0 1/2 -1/2 1/2 -1/2] [ 0 -1/2 -1/2 1/2 0] [ 0 0 1 0 1/2] [ 0 0 0 0 1] sage: t * S.decomposition_matrix() == 1 True
- degeneracy_map(codomain, t=1)#
The \(t\)-th degeneracy map from
self
to the modulecodomain
.The level of the codomain must be a divisor or multiple of level, and \(t\) must be a divisor of the quotient.
INPUT:
codomain
- a Hecke module, which should be of the same type as self, or a positive integer (in which case Sage will usehecke_module_of_level()
to find the “natural” module of the corresponding level).t
- int, the parameter of the degeneracy map, i.e., the map is related to \(f(q)\) - \(f(q^t)\).
OUTPUT: A morphism from
self
tocodomain
.EXAMPLES:
sage: M = ModularSymbols(11,sign=1) sage: d1 = M.degeneracy_map(33); d1 Hecke module morphism degeneracy map corresponding to f(q) |--> f(q) defined by the matrix [ 1 0 0 0 -2 -1] [ 0 -1 1 0 0 0] Domain: Modular Symbols space of dimension 2 for Gamma_0(11) of weight ... Codomain: Modular Symbols space of dimension 6 for Gamma_0(33) of weight ... sage: M.degeneracy_map(33,3).matrix() [ 3 2 0 2 -2 1] [ 0 0 -1 1 0 0] sage: M = ModularSymbols(33,sign=1) sage: d2 = M.degeneracy_map(11); d2.matrix() [ 1 0] [ 0 -2] [ 0 2] [ 0 1] [-1 0] [-1 0] sage: (d2*d1).matrix() [4 0] [0 4]
sage: M = ModularSymbols(3,12,sign=1) sage: M.degeneracy_map(1) Hecke module morphism degeneracy map corresponding to f(q) |--> f(q) defined by the matrix [1 0] [0 0] [0 1] [0 1] [0 1] Domain: Modular Symbols space of dimension 5 for Gamma_0(3) of weight ... Codomain: Modular Symbols space of dimension 2 for Gamma_0(1) of weight ...
sage: S = M.cuspidal_submodule() sage: S.degeneracy_map(1) Hecke module morphism defined by the matrix [1 0] [0 0] [0 0] Domain: Modular Symbols subspace of dimension 3 of Modular Symbols space ... Codomain: Modular Symbols space of dimension 2 for Gamma_0(1) of weight ...
sage: D = ModularSymbols(10,4).cuspidal_submodule().decomposition() sage: D [ Modular Symbols subspace of dimension 2 of Modular Symbols space of dimension 10 for Gamma_0(10) of weight 4 with sign 0 over Rational Field, Modular Symbols subspace of dimension 4 of Modular Symbols space of dimension 10 for Gamma_0(10) of weight 4 with sign 0 over Rational Field ] sage: D[1].degeneracy_map(5) Hecke module morphism defined by the matrix [ 0 0 -1 1] [ 0 1/2 3/2 -2] [ 0 -1 1 0] [ 0 -3/4 -1/4 1] Domain: Modular Symbols subspace of dimension 4 of Modular Symbols space ... Codomain: Modular Symbols space of dimension 4 for Gamma_0(5) of weight ...
We check for a subtle caching bug that came up in work on github issue #10453:
sage: loads(dumps(J0(33).decomposition()[0].modular_symbols())) Modular Symbols subspace of dimension 2 of Modular Symbols space of dimension 9 for Gamma_0(33) of weight 2 with sign 0 over Rational Field
We check that certain absurd inputs are correctly caught:
sage: chi = kronecker_character(7) sage: ModularSymbols(Gamma0(7), 4).degeneracy_map(ModularSymbols(chi, 4)) Traceback (most recent call last): ... ValueError: the characters of the domain and codomain must match
- dual_free_module()#
The free module dual to self, as a submodule of the dual module of the ambient space. As this space is ambient anyway, this just returns self.free_module().
EXAMPLES:
sage: M = ModularForms(2,8); M.dual_free_module() Vector space of dimension 3 over Rational Field sage: M.dual_free_module() is M.free_module() True
- fcp(n, var='x')#
Return the factorization of the characteristic polynomial of the Hecke operator \(T_n\) of index \(n\) acting on this space.
INPUT:
self
- Hecke module invariant under the Hecke operator of index n.int n
- a positive integer.var
- variable of polynomial (default \(x\))
OUTPUT:
list
- list of the pairs (g,e), where g is an irreducible factor of the characteristic polynomial of T_n, and e is its multiplicity.
EXAMPLES:
sage: m = ModularSymbols(23, 2, sign=1) sage: m.fcp(2) (x - 3) * (x^2 + x - 1) sage: m.hecke_operator(2).charpoly('x').factor() (x - 3) * (x^2 + x - 1)
- free_module()#
Return the free module underlying this ambient Hecke module (the forgetful functor from Hecke modules to modules over the base ring)
EXAMPLES:
sage: ModularForms(59, 2).free_module() Vector space of dimension 6 over Rational Field
- hecke_bound()#
Return an integer B such that the Hecke operators \(T_n\), for \(n\leq B\), generate the full Hecke algebra as a module over the base ring. Note that we include the \(n\) with \(n\) not coprime to the level.
At present this returns an unproven guess for non-cuspidal spaces which appears to be valid for \(M_k(\Gamma_0(N))\), where k and N are the weight and level of self. (It is clearly valid for cuspidal spaces of any fixed character, as a consequence of the Sturm bound theorem.) It returns a hopelessly wrong answer for spaces of full level \(\Gamma_1\).
TODO: Get rid of this dreadful bit of code.
EXAMPLES:
sage: ModularSymbols(17, 4).hecke_bound() 15 sage: ModularSymbols(Gamma1(17), 4).hecke_bound() # wrong! 15
- hecke_images(i, v)#
Return images of the \(i\)-th standard basis vector under the Hecke operators \(T_p\) for all integers in \(v\).
INPUT:
i
- nonnegative integerv
- a list of positive integer
OUTPUT:
matrix
- whose rows are the Hecke images
EXAMPLES:
sage: M = ModularSymbols(DirichletGroup(13).0, 3) sage: M.T(2)(M.0).element() (zeta12 + 4, 0, -1, 1) sage: M.hecke_images(0, [1,2]) [ 1 0 0 0] [zeta12 + 4 0 -1 1]
- hecke_module_of_level(level)#
Return the Hecke module corresponding to self at the given level, which should be either a divisor or a multiple of the level of self.
This raises NotImplementedError, and should be overridden in derived classes.
EXAMPLES:
sage: sage.modular.hecke.ambient_module.AmbientHeckeModule.hecke_module_of_level(ModularForms(2, 8),6) Traceback (most recent call last): ... NotImplementedError
- intersection(other)#
Return the intersection of self and other, which must both lie in a common ambient space of modular symbols.
EXAMPLES:
sage: M = ModularSymbols(43, sign=1) sage: A = M[0] + M[1] sage: B = M[1] + M[2] sage: A.rank(), B.rank() (2, 3) sage: C = A.intersection(B); C.rank() # TODO 1
- is_ambient()#
Return
True
if and only ifself
is an ambient Hecke module.Warning
self can only be ambient by being of type AmbientHeckeModule.
For example, decomposing a simple ambient space yields a single factor, and that factor is not considered an ambient space.
EXAMPLES:
sage: m = ModularSymbols(10) sage: m.is_ambient() True
sage: a = m[0] # the unique simple factor sage: a == m True sage: a.is_ambient() False
- is_full_hecke_module(compute=True)#
Return
True
if this space is invariant under the action of all Hecke operators, even those that divide the level. This is always true for ambient Hecke modules, so returnTrue
.EXAMPLES:
sage: ModularSymbols(11, 4).is_full_hecke_module() True
- is_new(p=None)#
Return
True
if this module is entirely new.EXAMPLES:
sage: ModularSymbols(11, 4).is_new() False sage: ModularSymbols(1, 12).is_new() True
- is_old(p=None)#
Return
True
if this module is entirely old.EXAMPLES:
sage: ModularSymbols(22).is_old() True sage: ModularSymbols(3, 12).is_old() False
- is_submodule(V)#
Return
True
if and only ifself
is a submodule ofV
.Since this is an ambient space, this returns
True
if and only ifV
is equal toself
.EXAMPLES:
sage: ModularSymbols(1, 4).is_submodule(ModularSymbols(11,4)) False sage: ModularSymbols(11, 4).is_submodule(ModularSymbols(11,4)) True
- linear_combination_of_basis(v)#
Given a list or vector of length equal to the dimension of self, construct the appropriate linear combination of the basis vectors of self.
EXAMPLES:
sage: ModularForms(3, 12).linear_combination_of_basis([1,0,0,0,1]) 2*q + 2049*q^2 + 177147*q^3 + 4196177*q^4 + 48830556*q^5 + O(q^6)
- new_submodule(p=None)#
Return the new or p-new submodule of self.
INPUT:
p
- (default: None); if not None, return only the p-new submodule.
OUTPUT: the new or p-new submodule of self, i.e. the intersection of the kernel of the degeneracy lowering maps to level \(N/p\) (for the given prime \(p\), or for all prime divisors of \(N\) if \(p\) is not given).
If self is cuspidal this is a Hecke-invariant complement of the corresponding old submodule, but this may break down on Eisenstein subspaces (see the amusing example in William Stein’s book of a form which is new and old at the same time).
EXAMPLES:
sage: m = ModularSymbols(33); m.rank() 9 sage: m.new_submodule().rank() 3 sage: m.new_submodule(3).rank() 4 sage: m.new_submodule(11).rank() 8
- nonembedded_free_module()#
Return the free module corresponding to self as an abstract free module (rather than as a submodule of an ambient free module).
As this module is ambient anyway, this just returns
self.free_module()
.EXAMPLES:
sage: M = ModularSymbols(11, 2) sage: M.nonembedded_free_module() is M.free_module() True
- old_submodule(p=None)#
Return the old or p-old submodule of self, i.e. the sum of the images of the degeneracy maps from level \(N/p\) (for the given prime \(p\), or for all primes \(p\) dividing \(N\) if \(p\) is not given).
INPUT:
p
- (default: None); if not None, return only the p-old submodule.
OUTPUT: the old or p-old submodule of self
EXAMPLES:
sage: m = ModularSymbols(33); m.rank() 9 sage: m.old_submodule().rank() 7 sage: m.old_submodule(3).rank() 6 sage: m.new_submodule(11).rank() 8
sage: e = DirichletGroup(16)([-1, 1]) sage: M = ModularSymbols(e, 3, sign=1); M Modular Symbols space of dimension 4 and level 16, weight 3, character [-1, 1], sign 1, over Rational Field sage: M.old_submodule() Modular Symbols subspace of dimension 3 of Modular Symbols space of dimension 4 and level 16, weight 3, character [-1, 1], sign 1, over Rational Field
Illustrate that github issue #10664 is fixed:
sage: ModularSymbols(DirichletGroup(42)[7], 6, sign=1).old_subspace(3) Modular Symbols subspace of dimension 0 of Modular Symbols space of dimension 40 and level 42, weight 6, character [-1, -1], sign 1, over Rational Field
- rank()#
Return the rank of this ambient Hecke module.
OUTPUT:
Integer
EXAMPLES:
sage: M = sage.modular.hecke.ambient_module.AmbientHeckeModule(QQ, 3, 11, 2); M Generic ambient Hecke module of rank 3, level 11 and weight 2 over Rational Field sage: M.rank() 3
- submodule(M, Mdual=None, check=True)#
Return the Hecke submodule of
self
generated by \(M\), which may be a submodule of the free module of self, or a list of elements of self.EXAMPLES:
sage: M = ModularForms(37, 2) sage: A = M.submodule([M.newforms()[0].element(), M.newforms()[1].element()]); A Modular Forms subspace of dimension 2 of Modular Forms space of dimension 3 for Congruence Subgroup Gamma0(37) of weight 2 over Rational Field
- submodule_from_nonembedded_module(V, Vdual=None, check=True)#
Create a submodule of this module, from a submodule of an ambient free module of the same rank as the rank of self.
INPUT:
V
- submodule of ambient free module of the same rank as the rank of self.Vdual
- used to pass in dual submodule (may be None)check
- whether to check that submodule is Hecke equivariant
OUTPUT: Hecke submodule of self
EXAMPLES:
sage: V = QQ^8 sage: ModularForms(24, 2).submodule_from_nonembedded_module(V.submodule([0])) Modular Forms subspace of dimension 0 of Modular Forms space of dimension 8 for Congruence Subgroup Gamma0(24) of weight 2 over Rational Field
- submodule_generated_by_images(M)#
Return the submodule of this ambient modular symbols space generated by the images under all degeneracy maps of M.
The space M must have the same weight, sign, and group or character as this ambient space.
EXAMPLES:
sage: ModularSymbols(6, 12).submodule_generated_by_images(ModularSymbols(1,12)) Modular Symbols subspace of dimension 12 of Modular Symbols space of dimension 22 for Gamma_0(6) of weight 12 with sign 0 over Rational Field
- sage.modular.hecke.ambient_module.is_AmbientHeckeModule(x)#
Return
True
ifx
is of typeAmbientHeckeModule
.EXAMPLES:
sage: from sage.modular.hecke.ambient_module import is_AmbientHeckeModule sage: is_AmbientHeckeModule(ModularSymbols(6)) True sage: is_AmbientHeckeModule(ModularSymbols(6).cuspidal_subspace()) False sage: is_AmbientHeckeModule(ModularForms(11)) True sage: is_AmbientHeckeModule(BrandtModule(2, 3)) True


This is the course website CSCI P-14110
Note: this example has less documentation and therefore might be a tougher problem.
First install with pip: add !pip install rebound
in your jupyter notebook. Then you should be able to do import rebound
in your notebook to import this package. See this website for more info about installing and testing rebound.
Begin by going through the solar system example as a warm up: NASA Horizon interface and the Starman example. This pings the NASA Horizon telescope to get the current positions of all the planets.
Once you have a feel for the Rebound
solver, translate the galaxy initial conditions found on the Lesson 4 page into units that Rebound
expects. For hints you can check out some old code right here.
EXTENSION: Download and use PyICs to generate your own initial galaxy particle positions.


 You are reallly missing out... Update it and never look back.
No, really.
YOU HAVE MADE
MISTAKES


Select a link below to open a new tab with related ecosystem data for the selected region.
Large seamounts
Marine Protected Areas


Dem Rep. Jayapal: Trump Himself Is the 'Smoking Gun' in Impeachment Case | Breitbart
by Trent BakerMonday on CNN’s “New Day,” Rep. Pramila Jayapal (D-WA) charged President Donald Trump with being the “smoking gun” in the impeachment case against him over an alleged phone call with Ukrainian President Volodymyr Zelensky demanding a quid pro quo.
According to Jayapal, what Trump did was “a corruption of our elections process.”
“This is a fairly clear-cut case where the president himself is the smoking gun,” Jayapal told host John Berman.
She continued, “[T]his is an odd situation where we had the first and best witness very early on, on national television, saying exactly what he wanted from that call with Ukrainian President Zelensky. And that was Donald Trump when he came out and he said he wanted an investigation into the Bidens.”
Jayapal then advised she and the rest of the House Democrats hope to “lay out the facts” against Trump.
Follow Trent Baker on Twitter @MagnifiTrent


This software provide an interface with SDR (software defined radio) capable of reading out superconductive frequency multiplexed detectors and perform basic noise analysis.
The software consist in two parts: a GPU server application and a Python 2.7 client API. The respective documentation is accessible in the menu at the top of the page.
The GPU server is a program that exchange the data between the SDR(s) and the GPU(s).
It sources DSP specifications needed for analyzing and generating signals from the client API via TCP protocol. The result of the signal processing is streamed to the client API and/or saved on local storage. The GPU server has first to be compiled on the linux machine that will run it. Launch it with sudo permission and make sure it finds at least one device.
The client API interfaces the user with the server exposing high level functionalities like VNA scan and multitone noise acquisition.
The API communicate with the GPU server via TCP protocol and saves to disk the data received. The API also includes basic noise analysis functionalities like resonator fitting and noise spectra plotting


# Modified by Microsoft Corporation.
# Licensed under the MIT license.
import random
import numpy as np
from convlab.agent.memory.replay import Replay
from convlab.lib import util
[docs]class SumTree:
'''
Helper class for PrioritizedReplay
This implementation is, with minor adaptations, Jaromír Janisch's. The license is reproduced below.
For more information see his excellent blog series "Let's make a DQN" https://jaromiru.com/2016/09/27/lets-make-a-dqn-theory/
MIT License
Copyright (c) 2018 Jaromír Janisch
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
'''
write = 0
def __init__(self, capacity):
self.capacity = capacity
self.tree = np.zeros(2 * capacity - 1) # Stores the priorities and sums of priorities
self.indices = np.zeros(capacity) # Stores the indices of the experiences
def _propagate(self, idx, change):
parent = (idx - 1) // 2
self.tree[parent] += change
if parent != 0:
self._propagate(parent, change)
def _retrieve(self, idx, s):
left = 2 * idx + 1
right = left + 1
if left >= len(self.tree):
return idx
if s <= self.tree[left]:
return self._retrieve(left, s)
else:
return self._retrieve(right, s - self.tree[left])
[docs] def total(self):
return self.tree[0]
[docs] def add(self, p, index):
idx = self.write + self.capacity - 1
self.indices[self.write] = index
self.update(idx, p)
self.write += 1
if self.write >= self.capacity:
self.write = 0
[docs] def update(self, idx, p):
change = p - self.tree[idx]
self.tree[idx] = p
self._propagate(idx, change)
[docs] def get(self, s):
assert s <= self.total()
idx = self._retrieve(0, s)
indexIdx = idx - self.capacity + 1
return (idx, self.tree[idx], self.indices[indexIdx])
[docs] def print_tree(self):
for i in range(len(self.indices)):
j = i + self.capacity - 1
print(f'Idx: {i}, Data idx: {self.indices[i]}, Prio: {self.tree[j]}')
[docs]class PrioritizedReplay(Replay):
'''
Prioritized Experience Replay
Implementation follows the approach in the paper "Prioritized Experience Replay", Schaul et al 2015" https://arxiv.org/pdf/1511.05952.pdf and is Jaromír Janisch's with minor adaptations.
See memory_util.py for the license and link to Jaromír's excellent blog
Stores agent experiences and samples from them for agent training according to each experience's priority
The memory has the same behaviour and storage structure as Replay memory with the addition of a SumTree to store and sample the priorities.
e.g. memory_spec
"memory": {
"name": "PrioritizedReplay",
"alpha": 1,
"epsilon": 0,
"batch_size": 32,
"max_size": 10000,
"use_cer": true
}
'''
def __init__(self, memory_spec, body):
util.set_attr(self, memory_spec, [
'alpha',
'epsilon',
'batch_size',
'max_size',
'use_cer',
])
super().__init__(memory_spec, body)
self.epsilon = np.full((1,), self.epsilon)
self.alpha = np.full((1,), self.alpha)
# adds a 'priorities' scalar to the data_keys and call reset again
self.data_keys = ['states', 'actions', 'rewards', 'next_states', 'dones', 'priorities']
self.reset()
[docs] def reset(self):
super().reset()
self.tree = SumTree(self.max_size)
[docs] def add_experience(self, state, action, reward, next_state, done, error=100000):
'''
Implementation for update() to add experience to memory, expanding the memory size if necessary.
All experiences are added with a high priority to increase the likelihood that they are sampled at least once.
'''
super().add_experience(state, action, reward, next_state, done)
priority = self.get_priority(error)
self.priorities[self.head] = priority
self.tree.add(priority, self.head)
[docs] def get_priority(self, error):
'''Takes in the error of one or more examples and returns the proportional priority'''
return np.power(error + self.epsilon, self.alpha).squeeze()
[docs] def sample_idxs(self, batch_size):
'''Samples batch_size indices from memory in proportional to their priority.'''
batch_idxs = np.zeros(batch_size)
tree_idxs = np.zeros(batch_size, dtype=np.int)
for i in range(batch_size):
s = random.uniform(0, self.tree.total())
(tree_idx, p, idx) = self.tree.get(s)
batch_idxs[i] = idx
tree_idxs[i] = tree_idx
batch_idxs = np.asarray(batch_idxs).astype(int)
self.tree_idxs = tree_idxs
if self.use_cer: # add the latest sample
batch_idxs[-1] = self.head
return batch_idxs
[docs] def update_priorities(self, errors):
'''
Updates the priorities from the most recent batch
Assumes the relevant batch indices are stored in self.batch_idxs
'''
priorities = self.get_priority(errors)
assert len(priorities) == self.batch_idxs.size
for idx, p in zip(self.batch_idxs, priorities):
self.priorities[idx] = p
for p, i in zip(priorities, self.tree_idxs):
self.tree.update(i, p)


panelet_continuous.Rd
Plot continuous values belonging to class labels. The values are plotted relative to each other in a gradient from a spectrum between two colors. User has the option to perform an association test and output p-value and a table summarizing median values and range.
panelet_continuous(pp,pp.col,gr, var.n="var.n",NA.flag=TRUE, NA.col="grey", get.pval=FALSE, border=FALSE, border.col="black", ...)
| pp | required. vector. A vector of continuous values of interest |
|---|---|
| pp.col | required. vector. A vector of colors out of which a spectrum of relative values will be plotted to make a gradient of continuous values in |
| gr | required. vector. Class labels as passed to |
| var.n | character. A character specifying the name of the variable. Set to |
| NA.flag | logical, default is |
| NA.col | default is "grey". see |
| get.pval | logical, default is |
| border | logical, default is |
| border.col | default is |
| ... | pass optional arguments here |
...
can pass other parameters. Use it for controlling names and colors of panelets via cex, col
. border line type and thickness can be controlled via lty
and lwd
respectively.
A colored panelet
of continuous values is plotted as a gradient with values relative to each other. Make sure the variable is ordered according to the group labels in panelet_group
.
A colored panelet
of categorical values is plotted.
if get.pval=TRUE
, returns a table summarizing the median value and range with a p-value from Kruskal Wallis Test
makepanel
#adjust margins and number of panelet values par(mfrow=c(6,1),mar=c(0,8,0,14)) #sort the entire data frame according to the group solution you are interested in mtcars.sort = mtcars[order(mtcars$cyl),] #plot group tt=panelet_group(gr=mtcars.sort$cyl, gr.col=c("red","blue","green"), gr.name="cyl",cex=1, border=TRUE, legend=FALSE) #plot variable mpg tt =panelet_continuous(mtcars.sort$mpg, pp.col=c("white","darkred"), gr=mtcars.sort$cyl,var.n="mpg",NA.flag=FALSE, get.pval=TRUE, border=TRUE)#>## Performing Kruskal-Wallis test


This application provides a basic example of how redux-saga can be applied to a counter.
The whole state of your app is stored in an object tree inside a single store. The only way to change the state tree is to emit an action, an object describing what happened. To specify how the actions transform the state tree, you write pure reducers.
Redux is a predictable state container for JavaScript apps.
It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test.
On top of that, it provides a great developer experience, such as live code editing combined with a time traveling debugger.
You can use Redux together with React, or with any other view library. It is tiny (2kB, including dependencies).


settings
Settings
Sign Out
John Doe
<EMAIL_ADDRESS>shopping_cart
Shipment
redeem
Request Pickup
search
Lost Packages
Subheader
Log Out
menu
Lost Package Complaint
Name
Tracking Number
Contact
Email
done_all
Submit


About Us
Choies.com is a global website destination for fashion-forward and IN girls to shop clothing, shoes, jewelry and accessories. Our mission is to bring heart to commerce and become the better origin of fashion inspiration. Our goal is to inspire and be inspired by cool girls all over the world.
Record Your Inspired Fashion:
Choies walks you along the Fresh Spring, Hot Summer, Golden Autumn and Cool Winter. Many years later, we will still be together in fashion sense. We are trying to tell you the secret of Street Fashion. It is an attitude, a kind of gesture towards life.
Our young buyers always want to find something that is unique, special, and different. Here you just come to the right place. Choies is stocked weekly with all kinds of trendy and stylish designs that will refresh your wardrobe and your mind
as well.
Don't know where to begin? Go through our catalogs and check the products on Choies.com, read our fashion blogs, chat with us on Facebook or Twitter or you may go directly to have a live chat with our customer care department. Sign up to receive
email notification of the latest fashion hints, exclusive online offers, and what's more, 1500 shopping points (worth $15) + chances to get all kinds of giveaways.
Dress to Impress! Why CHOIES?
The name CHOIES was inspired by a Common Casual Chat:
"You are going to make a choice?!"
"A choice? YES!"
Then here comes the name: CHOIES!
---Life is actually a kind of choice
---The steering wheel is in your hands
---So is fashion, and so it is!


During my final year in the undergraduate Industrial Engineering program at the University of Toronto, I had the pleasure of working on a capstone design project with Healthcare Human Factors (HHF) to design a solution that would tackle the challenges that people living with type 1 diabetes face while travelling.
You can read the shortened version of this case study on Medium here.
Designer
Sep 2019 - Apr 2020
Figma
Ryan Cheng, Meggie Debnath, Lauren Ip (me!)
Type 1 diabetes is a chronic disease that affects the way your body regulates blood sugar, or glucose. While glucose is used to fuel your body’s cells, it requires the help of a key hormone called insulin—which people with type 1 diabetes (T1Ds) are unable to produce. Without insulin, blood sugar levels can spike up and down to extreme levels very quickly.
Most people are familiar with type 2 diabetes, as it is much more common than type 1. However, they are different diseases with unique causes and challenges. People with type 2 diabetes have insulin resistance, meaning the body can still produce insulin, but is unable to use it effectively. T1Ds are unable to produce insulin at all, which makes basic nutritional management much more complex. We decided to focus on type 1 because of the greater risks associated with travel.
While a vacation trip to Mexico might mean relaxation and enjoyment for most people, it can mean stress and anxiety for T1Ds. There is a huge amount of planning and uncertainty associated with travelling with T1D that often detracts from an ideal experience—for example, keeping track of supplies/medications, constantly monitoring blood sugar levels, and preparing for life-or-death emergency situations.
These travel-related factors can cause certain stressors and trigger emotional responses, often classified as diabetes distress. Our goal was to decrease this distress among T1Ds and instead increase their overall confidence in travelling.
Although there are existing resources that provide T1Ds with general tips and advice, many of them only address certain aspects of the travel journey, and are impersonal to their itinerary, treatment plan, and preferences. Users must actively seek out information that is relevant to their own situation, adding unnecessary burden to an already stressful process.
So, we developed a digital travel companion called JourneyOn, a mobile application that guides T1Ds through the entire traveling process, from planning and preparation to getting around their destinations. JourneyOn helps alleviate the burden of gathering and packing supplies, improves interactions with security authorities, and provides resources to navigate a variety of different travel situations, all in a smart and personalized way.
My team and I carried out research activities such as stakeholder interviews, user interviews, research synthesis and usability testing. During the design phase I led the prototyping and visual design portion of the process, turning our low-fidelity wireframe sketches into a testable prototype using Figma.
My team reviewed a variety of literature and online publications in order to better understand the problem space and identify current gaps in technology. We scoured online communities, forums, and social media to collect some initial data (in the form of comments, discussions, etc.) from representative users.
In order to dig deeper into the underlying factors that influence their travel experiences, it was incredibly important for us to conduct 1-on-1 interviews with T1Ds. We created a safe and open environment where T1Ds were comfortable sharing their lived experiences and were able to express how these challenges affected them on an emotional level. At the end, we left with five key takeaways:
1
Inherent fear and anxiety are associated with a T1D’s first few trips.
2
Feelings of fear and anxiety intensify when travelling to an unfamiliar destination or a remote location.
3
Most stress is generated during the planning phase, since it involves thinking about worst-case scenarios.
4
T1Ds rely heavily on supports and resources to help them prepare for their first few trips.
5
Travel companions ease the travelling process by providing support throughout.
The interviews also provided insight into the main challenge areas that T1Ds encounter while travelling:
Awareness and control of blood glucose levels
Determining how unfamiliar foods, activities, or time zone changes affect blood glucose levels can put T1Ds in a stressful and precarious situation.
Getting help in an emergency situation
Determining how unfamiliar foods, activities, or time zone changes affect blood glucose levels can put T1Ds in a stressful and precarious situation.
Making a detailed medication list
Not only do T1Ds keep a record of their medication and insulin pump settings, they may also have to anticipate that certain countries have different names for the insulin they use.
Navigating airport/border security
If security personnel are unfamiliar with type 1 diabetes, T1Ds may receive questions about their insulin pump or snacks that they are bringing, which can be a frustrating and uncomfortable interaction.
Gathering of supplies
Figuring out what insulin pump and glucose monitoring supplies are needed and determining how much they should bring as a backup can be a daunting task.
Storage of supplies
Ensuring that their supplies, especially insulin, are kept at the right temperature and remain intact can be challenging, especially if encountering varying environmental conditions.
We realized that the emotional stress surrounding travel for T1Ds stemmed from a general lack of knowledge/experience. Those who had lived with T1D for much longer had already figured out their own methods and processes for travel, simply based on lived experience. Where there was a greater gap in knowledge was for those who were less experienced with T1D travel, such as youth/young adults with T1D, or someone who was recently diagnosed with T1D in a later stage in life.
We decided to focus on the following 3 user types, all with limited experience travelling with T1D by themselves: 1) Young & Inexperienced, 2) Recently Diagnosed, and 3) Parent & Child Duo.
During our brainstorm we sketched out a light journey map to capture the pain points and emotional experiences felt by T1Ds throughout a typical travel journey. We outlined opportunity areas at each stage of the journey, which helped us come up with a set of solutions/features that addressed the specific challenges that T1Ds face.
A mobile application was selected as the primary solution due to its capacity to provide personalized information to the user, on top of the convenient, accessible, and portable nature of the digital platform itself. After narrowing down an MVP set of features based on importance and feasibility, we started to whiteboard a rough outline of what the mobile app would look like.
I then took our sketches and turned them into a more detailed low-fidelity prototype in Figma.
We also mocked up a complementary part of our solution, an improved medical information card for T1Ds to show airport security personnel when checking in carry-on baggage (allowing them to bring in certain medical supplies and wear their insulin pump).
We tested the first iteration of our prototype with real users to get feedback on the overall design concept and product features. We had a total of five participants, ranging from ages 15 to 58 and including both T1Ds and their caregivers. An effort was made to recruit T1Ds who were more recently diagnosed, therefore having less experience travelling with T1D.
We used the T-PAID scale, a travel-related version of the Problem Areas in Diabetes (PAID) scale, to measure diabetes distress in users before and after using JourneyOn. The results showed a mean reduction of 23.5 points (SD = 14.9) in diabetes distress, which indicates a very effective intervention. A system usability score (SUS) questionnaire was also given to participants to assess the overall usability of the prototype, with a resulting mean SUS score of 88.0 (SD = 10.8) on a scale of 100.
23.5 points
mean reduction in diabetes distress. A 10-15 point reduction is an indication of an effective intervention.
88.0
mean SUS score. A score of 68 is considered "average", and above 85 is "excellent".
Overall the design received very positive feedback from users. Most features were generally seen as useful, though we received many suggestions for ways to make our feature set more robust.
5 out of 5
participants found the app intuitive and easy to use overall
5 out of 5
participants would use the app for their actual travels
4 out of 5
participants felt the app would help them travel with more confidence
“This all-in-one-place capability of the app alleviates the burden of self-searching. It’s like I can get reassurance from the app rather than other people.”
Participants thought the to-do list and supplies checklist were the most useful features. They liked that it was tailored to their personal itinerary and treatment plan, but also emphasized the value of being able to customize or edit any auto-generated content from the app.
“I don’t usually use diabetes apps, but this to-do list with the timeline is useful for keeping track of things.”
Some key areas of interest that came up often across participants included:
We also got feedback on features that were less useful, or required further consideration due to concerns over privacy or feasbility.
“Meal management doesn't feel like an appropriate area to receive advice here. It’s difficult to get accurate nutritional info such as carb counts, so I wouldn’t trust this anyway.”
“If the airport was aware of the medical information card, it would be useful. But I’m wondering if the card would be trusted by security. How would they validate its authenticity?”
Using the feedback we got from users, we made some important design changes to the initial prototype and made it higher-fidelity.
The goal of JourneyOn was to reduce overall TDD levels throughout one’s travel journey. Our hope was for the application to allow users to feel less burdened by the amount of information they would normally have to search for or remember themselves, and ultimately inspire greater confidence in travelling. The “final” design places emphasis on:
Check out the full JourneyOn prototype below.
Initially we had planned to do one more round of testing, to see what users thought after we made improvements to our first design. However, due to COVID-19 circumstances, we were only able to show our high-fidelity prototype to 2 users. (Can’t really say much about the results of two participants, but both had an overall positive reaction to the design, if you were curious).
Through our work with Healthcare Human Factors on JourneyOn, we were able to help them further their research and thinking around designing for the diabetes community. We hoped that our research would not only empower the greater diabetes community, but also inspire others to address these kinds of unique needs and experiences using a user-centered design approach.
As part of our efforts to disseminate this research to the broader public, we published a medium article about our project and design process. You can check it out here.
One of the biggest challenges in this process was finding representative users who were willing and able to participate in our studies. While we still gained valuable insights from the small group of T1Ds/caregivers who did participate, a larger variety of participants might have given a more in-depth representation of specific needs across the T1D/caregiver population.
Another challenge was the huge learning curve. I went from having little to no understanding of type 1 diabetes, to learning all about how insulin pumps work; the difference between a Continuous Glucose Monitor and a Flash Glucose Monitor; what a basal/bolus ratio is; how important it is for insulin to be kept at cool temperatures...and the list goes on! But this all goes without saying that what made our app stand out to users was the attention we paid to those finer, nuanced details.
Given more time and resources, there were several areas of consideration we would’ve liked to explore in the future:
I found it to be such an eye-opening experience to be able to talk to real people living with Type 1 diabetes, and try to understand what they go through day-to-day. Learning about T1D through literature simply does not compare to learning from very human stories—something that should be considered in ALL design processes.


Welcome to the Oversigt configuration.
This is where you configure the Oversigt server, create dashboards and set up event sources to produce the data you want to display.
Use the above menu to go to the primary configuration sections. Each page will show you more possibilities to adjust the settings.


A Domain Name is part of a URL and can be typed into a browser to find a particular web site. When a computer connects to the Internet, it uses a unique IP Address; because IP Addresses can be difficult to remember, the DNS or Domain Name System was put in place to correlate IP Addresses to domain names. ICANN is the ruling body that monitors the domain naming system.
The Internet Corporation for Assigned Names and Numbers (ICANN) is an internationally organized, non-profit corporation. It is a community working together to promote the stability and integrity of the Internet. As a private-public partnership, ICANN is dedicated to preserving the operational stability of the Internet; to promoting competition; to achieving broad representation of global Internet communities; and to developing policy appropriate to its mission through bottom-up, consensus-based processes.
ICANN is responsible for coordinating the management of the technical elements of the DNS to ensure universal resolvability so that all users of the Internet can find all valid addresses. It does this by overseeing the distribution of unique technical identifiers used in the Internet's operations, and delegation of Top-Level Domain names (such as .com, .info, etc.).


All hadoop commands are invoked by the bin/hadoop script. Running the hadoop script without any arguments prints the description for all commands.
Usage: hadoop [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]
Hadoop has an option parsing framework that employs parsing generic options as well as running classes.
| COMMAND_OPTION | Description |
|---|---|
| --config confdir | Overwrites the default Configuration directory. Default is $HADOOP_HOME/conf. |
| GENERIC_OPTIONS COMMAND_OPTIONS | The common set of options supported by multiple commands. Various commands with their options are described in the following sections. The commands have been grouped into User Commands and Administration Commands. |
The following options are supported by dfsadmin, fs, fsck, job and fetchdt. Applications should implement Tool to support GenericOptions.
| GENERIC_OPTION | Description |
|---|---|
| -conf <configuration file> | Specify an application configuration file. |
| -D <property>=<value> | Use value for given property. |
| -jt <local> or <jobtracker:port> | Specify a job tracker. Applies only to job. |
| -files <comma separated list of files> | Specify comma separated files to be copied to the map reduce cluster. Applies only to job. |
| -libjars <comma seperated list of jars> | Specify comma separated jar files to include in the classpath. Applies only to job. |
| -archives <comma separated list of archives> | Specify comma separated archives to be unarchived on the compute machines. Applies only to job. |
Commands useful for users of a hadoop cluster.
Creates a hadoop archive. More information can be found at Hadoop Archives.
Usage: hadoop archive -archiveName NAME <src>* <dest>
| COMMAND_OPTION | Description |
|---|---|
| -archiveName NAME | Name of the archive to be created. |
| src | Filesystem pathnames which work as usual with regular expressions. |
| dest | Destination directory which would contain the archive. |
Copy file or directories recursively. More information can be found at Hadoop DistCp Guide.
Usage: hadoop distcp <srcurl> <desturl>
| COMMAND_OPTION | Description |
|---|---|
| srcurl | Source Url |
| desturl | Destination Url |
Usage: hadoop fs [GENERIC_OPTIONS] [COMMAND_OPTIONS]
Deprecated, use hdfs dfs instead.
Runs a generic filesystem user client.
The various COMMAND_OPTIONS can be found at File System Shell Guide.
Runs a HDFS filesystem checking utility. See fsck for more info.
Usage: hadoop fsck [GENERIC_OPTIONS] <path> [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]
| COMMAND_OPTION | Description |
|---|---|
| path | Start checking from this path. |
| -move | Move corrupted files to /lost+found |
| -delete | Delete corrupted files. |
| -openforwrite | Print out files opened for write. |
| -files | Print out files being checked. |
| -blocks | Print out block report. |
| -locations | Print out locations for every block. |
| -racks | Print out network topology for data-node locations. |
Gets Delegation Token from a NameNode. See fetchdt for more info.
Usage: hadoop fetchdt [GENERIC_OPTIONS] [--webservice <namenode_http_addr>] <path>
| COMMAND_OPTION | Description |
|---|---|
| fileName | File name to store the token into. |
| --webservice https_address | use http protocol instead of RPC |
Runs a jar file. Users can bundle their Map Reduce code in a jar file and execute it using this command.
Usage: hadoop jar <jar> [mainClass] args...
The streaming jobs are run via this command. Examples can be referred from Streaming examples
Word count example is also run using jar command. It can be referred from Wordcount example
Command to interact with Map Reduce Jobs.
Usage: hadoop job [GENERIC_OPTIONS] [-submit <job-file>] | [-status <job-id>] | [-counter <job-id> <group-name> <counter-name>] | [-kill <job-id>] | [-events <job-id> <from-event-#> <#-of-events>] | [-history [all] <jobOutputDir>] | [-list [all]] | [-kill-task <task-id>] | [-fail-task <task-id>] | [-set-priority <job-id> <priority>]
| COMMAND_OPTION | Description |
|---|---|
| -submit job-file | Submits the job. |
| -status job-id | Prints the map and reduce completion percentage and all job counters. |
| -counter job-id group-name counter-name | Prints the counter value. |
| -kill job-id | Kills the job. |
| -events job-id from-event-# #-of-events | Prints the events' details received by jobtracker for the given range. |
| -history [all]jobOutputDir | Prints job details, failed and killed tip details. More details about the job such as successful tasks and task attempts made for each task can be viewed by specifying the [all] option. |
| -list [all] | Displays jobs which are yet to complete. -list all displays all jobs. |
| -kill-task task-id | Kills the task. Killed tasks are NOT counted against failed attempts. |
| -fail-task task-id | Fails the task. Failed tasks are counted against failed attempts. |
| -set-priority job-id priority | Changes the priority of the job. Allowed priority values are VERY_HIGH, HIGH, NORMAL, LOW, VERY_LOW |
Runs a pipes job.
Usage: hadoop pipes [-conf <path>] [-jobconf <key=value>, <key=value>, ...] [-input <path>] [-output <path>] [-jar <jar file>] [-inputformat <class>] [-map <class>] [-partitioner <class>] [-reduce <class>] [-writer <class>] [-program <executable>] [-reduces <num>]
| COMMAND_OPTION | Description |
|---|---|
| -conf path | Configuration for job |
| -jobconf key=value, key=value, ... | Add/override configuration for job |
| -input path | Input directory |
| -output path | Output directory |
| -jar jar file | Jar filename |
| -inputformat class | InputFormat class |
| -map class | Java Map class |
| -partitioner class | Java Partitioner |
| -reduce class | Java Reduce class |
| -writer class | Java RecordWriter |
| -program executable | Executable URI |
| -reduces num | Number of reduces |
command to interact and view Job Queue information
Usage: hadoop queue [-list] | [-info <job-queue-name> [-showJobs]] | [-showacls]
| COMMAND_OPTION | Description |
|---|---|
| -list | Gets list of Job Queues configured in the system. Along with scheduling information associated with the job queues. |
| -info job-queue-name [-showJobs] | Displays the job queue information and associated scheduling information of particular job queue. If -showJobs options is present a list of jobs submitted to the particular job queue is displayed. |
| -showacls | Displays the queue name and associated queue operations allowed for the current user. The list consists of only those queues to which the user has access. |
Commands useful for administrators of a hadoop cluster.
Runs a cluster balancing utility. An administrator can simply press Ctrl-C to stop the rebalancing process. See Balancer for more details.
Usage: hadoop balancer [-threshold <threshold>] [-policy <policy>]
| COMMAND_OPTION | Description |
|---|---|
| -threshold threshold | Percentage of disk capacity. This overwrites the default threshold. |
| -policy policy | datanode (default): Cluster is balanced if each datanode is balanced. blockpool: Cluster is balanced if each block pool in each datanode is balanced. |
Note that the blockpool policy is more strict than the datanode policy.
Get/Set the log level for each daemon.
Usage: hadoop daemonlog -getlevel <host:port> <name> Usage: hadoop daemonlog -setlevel <host:port> <name> <level>
| COMMAND_OPTION | Description |
|---|---|
| -getlevel host:port name | Prints the log level of the daemon running at host:port. This command internally connects to http://host:port/logLevel?log=name |
| -setlevel host:port name level | Sets the log level of the daemon running at host:port. This command internally connects to http://host:port/logLevel?log=name |
Runs a HDFS datanode.
Usage: hadoop datanode [-rollback]
| COMMAND_OPTION | Description |
|---|---|
| -rollback | Rollsback the datanode to the previous version. This should be used after stopping the datanode and distributing the old hadoop version. |
Runs a HDFS dfsadmin client.
Usage: hadoop dfsadmin [GENERIC_OPTIONS] [-report] [-safemode enter | leave | get | wait] [-refreshNodes] [-finalizeUpgrade] [-upgradeProgress status | details | force] [-metasave filename] [-setQuota <quota> <dirname>...<dirname>] [-clrQuota <dirname>...<dirname>] [-restoreFailedStorage true|false|check] [-help [cmd]]
| COMMAND_OPTION | Description |
|---|---|
| -report | Reports basic filesystem information and statistics. |
| -safemode enter / leave / get / wait | Safe mode maintenance command. Safe mode is a Namenode state in which it 1. does not accept changes to the name space (read-only) 2. does not replicate or delete blocks. Safe mode is entered automatically at Namenode startup, and leaves safe mode automatically when the configured minimum percentage of blocks satisfies the minimum replication condition. Safe mode can also be entered manually, but then it can only be turned off manually as well. |
| -refreshNodes | Re-read the hosts and exclude files to update the set of Datanodes that are allowed to connect to the Namenode and those that should be decommissioned or recommissioned. |
| -finalizeUpgrade | Finalize upgrade of HDFS. Datanodes delete their previous version working directories, followed by Namenode doing the same. This completes the upgrade process. |
| -upgradeProgress status / details / force | Request current distributed upgrade status, a detailed status or force the upgrade to proceed. |
| -metasave filename | Save Namenode's primary data structures to filename in the directory specified by hadoop.log.dir property. filename is overwritten if it exists. filename will contain one line for each of the following 1. Datanodes heart beating with Namenode 2. Blocks waiting to be replicated 3. Blocks currrently being replicated 4. Blocks waiting to be deleted |
| -setQuota quota dirname...dirname | Set the quota quota for each directory dirname. The directory quota is a long integer that puts a hard limit on the number of names in the directory tree. Best effort for the directory, with faults reported if 1. N is not a positive integer, or 2. user is not an administrator, or 3. the directory does not exist or is a file, or 4. the directory would immediately exceed the new quota. |
| -clrQuota dirname...dirname | Clear the quota for each directory dirname. Best effort for the directory. with fault reported if 1. the directory does not exist or is a file, or 2. user is not an administrator. It does not fault if the directory has no quota. |
| -restoreFailedStorage true / false / check | This option will turn on/off automatic attempt to restore failed storage replicas. If a failed storage becomes available again the system will attempt to restore edits and/or fsimage during checkpoint. 'check' option will return current setting. |
| -help [cmd] | Displays help for the given command or all commands if none is specified. |
Runs MR admin client
Usage: hadoop mradmin [ GENERIC_OPTIONS ] [-refreshQueueAcls]
| COMMAND_OPTION | Description |
|---|---|
| -refreshQueueAcls | Refresh the queue acls used by hadoop, to check access during submissions and administration of the job by the user. The properties present in mapred-queue-acls.xml is reloaded by the queue manager. |
Runs the MapReduce job Tracker node.
Usage: hadoop jobtracker [-dumpConfiguration]
| COMMAND_OPTION | Description |
|---|---|
| -dumpConfiguration | Dumps the configuration used by the JobTracker alongwith queue configuration in JSON format into Standard output used by the jobtracker and exits. |
Runs the namenode. More info about the upgrade, rollback and finalize is at Upgrade Rollback.
Usage: hadoop namenode [-format] | [-upgrade] | [-rollback] | [-finalize] | [-importCheckpoint]
| COMMAND_OPTION | Description |
|---|---|
| -format | Formats the namenode. It starts the namenode, formats it and then shut it down. |
| -upgrade | Namenode should be started with upgrade option after the distribution of new hadoop version. |
| -rollback | Rollsback the namenode to the previous version. This should be used after stopping the cluster and distributing the old hadoop version. |
| -finalize | Finalize will remove the previous state of the files system. Recent upgrade will become permanent. Rollback option will not be available anymore. After finalization it shuts the namenode down. |
| -importCheckpoint | Loads image from a checkpoint directory and save it into the current one. Checkpoint dir is read from property fs.checkpoint.dir |
Runs the HDFS secondary namenode. See Secondary Namenode for more info.
Usage: hadoop secondarynamenode [-checkpoint [force]] | [-geteditsize]
| COMMAND_OPTION | Description |
|---|---|
| -checkpoint [-force] | Checkpoints the Secondary namenode if EditLog size >= fs.checkpoint.size. If -force is used, checkpoint irrespective of EditLog size. |
| -geteditsize | Prints the EditLog size. |


When you walk into our office for training, we are dedicated to providing you with friendly service, a welcoming atmosphere, and above all else, meet you with excellent word-class proffessionals to handle your need. If you are not satisfied, please let us know and we will do whatever we can to make things right!


Subtopic title should be at most {{MAX_CHARS_IN_SUBTOPIC_TITLE}} characters.
{{errorMsg}}
Enter the url fragment for the subtopic*
The subtopic URL fragment is used to uniquely access the subtopic viewer page. It should consist of one or more hyphen-separated words, all in lowercase, with at most {{MAX_CHARS_IN_SUBTOPIC_URL_FRAGMENT}} characters in total and must be unique across the topic. Please use meaningful keywords, and avoid using words like "and", "of", or "the".
This subtopic can be accessed at the following URL:
{{hostname}}/learn/{{classroomUrlFragment}}/{{this.topic.getUrlFragment()}}/revision/{{editableUrlFragment}}
The subtopic url fragment is not unique.
Explanation of the subtopic*
Give a description or explanation of the subtopic.


Most of the reports I've heard, from a 'friend of a friends' led me to the conclusion that fox was purely recreational, something like a low dose of Mdma with a slight psychedelic kick. I'm laughing out loud as I write that.
The setting would be my home, Saturday night with a few friends over. Tripping buddy for the night would be who I would call almost the female version of myself, M, who tried foxy before about a year earlier at 13 mgs and got the recreational, tingly effect. Friends would be drinking lightly and popping a couple hits of nitrous, there to watch us guinea pigs experiment.
Doses were measure by scale, 17 mgs each, put into shot glasses and topped with rootbeer. The stuff tastes horrible. The funny thing is we were debating 20 because of the expected recreational nature of this drug. Both of us are heavily experienced with acid and other mind-altering substances. On a side note, I added 17 drops of vodka to my glass to see if the powder was soluble enough to make a solution where 1 drop= 1mg foxy. There were undisolved crystals remaining, so it is not. More experimentation is in order in this department.
After about 15 minutes, M, who hadn't eaten since breakfast, began to trip. I had eaten a large snack in the afternoon, so it took me about 25 minutes. It felt like the come-up of high grade acid. The drug grabbed us by the essence our very being, picked us up and threw us into a beautifully chaotic ball of psychedelic sweet lovin'. Peak came on very fast, then the drug tapered off ever so slowly thru the night.
The first hour was characterized by an intense acid like high. Visuals were almost identical to acid for both of us. With the exception of the lack of 'ghosts' (look at a purple spot on the wall, turn away and see it still, but without needing that initial stimuli). Dominating further still for that hour was the body energy. My body was spun, but my mind was tripping off of acid. Everything was tingly, like a slight Mdma feeling without the mental high. During the entire night we were too caught up in the mental and didn't even think of getting my rolling toys out.  M declared music had a brassy quality on which I agree, and distorted on a low level. Tool proved interesting…
We left the living room and my five guests; introspective psychedelic fun was in store. I think my friends were a little disappointed, but M and I both need to get into our own individual head space, it was hard to begin transcending with nearly sober people around. At this dosage inward focusing is extremely enjoyable. M and I would lay on my bed for the rest of the night naked, minus bathroom breaks. We did not have conversation for hours, internal dialogue transpiring was hard to communicate in words form.
Also aiding in my decision to leave the sober crowd was the fact that when I did nitrous, the body energy and the psychedelic pleasure mind-fuck took over my whole, catapulting me into intense full body exploding bursts of astronomic pleasure. I would moan uncontrollably and writhe around perfectly to the beat of whatever music was playing. The deeper the meaning or amount of emotion felt personally by a particular tune before this trip was multiplied 10 fold.
The acid like high begins to dominate after about the first 1.5 hours. The body energy was there, and would be until 7+ hours, to a lesser and lesser extent.
During one double balloon, the white parts in the black and white bjork poster on my wall began to show the faces of all the people that had ever made me laugh. The higher the number their face appeared, and larger, the closer relationship I presently had with them. They were all laughing. I then begin to recall, in a period of about 2-5 minutes, EVERY moment I had every laughed and why in my life time, one by one. It wasn’t even like I was remembering them, I was reliving them; each was so intensely hilarious. Hard to ponder but it happened. This of course made me start laughing maniacally for another 5-10 minutes. I only stopped because M started making noises, which snapped me back into the real world.
Had a one or two OOBE’s during nitrous after this, won’t even bother trying to explain them here.
Visuals were very heavy, ceiling fan bulbs turned into eyeballs and watched me on my journey. They did NOT go away when I stared straight at them.
Senses were hyper aware, more so than any drug I've done. When a candle broke and spilled on glass a few feet away, I heard every drop, I heard the wax spilling down the candle. I knew what I heard and I'll be damned if I didn't look at the candle and see the wax solidifying. Wow, that really did happen I thought.
No synesthesia (tasting sounds, hearing colors) to the extent of acid, but something to make up for it. Auras very much present. At some times keyed by something. A smell of skin. The pitch and tone of a friend's voice saying goodbye. Warmth was everywhere in my friends. M actually told me the day after that she had experienced a blue purple aura in my face. Whenever I trip off the thought of my own aura, this is the color I feel. This is my favorite color. Odd that she saw that in me without telling her about that idea.
We decided to look at a clock, thinking that we better get to bed soon because the sun is going to come up. We estimated 5-6am. It was 1:40 at this time. Complete and utter time distortion.
Another couple hours later, a little more lucid at this point:
In the middle of doing another double balloon, M began to give me oral sex, totally unexpected. I did orgasm, only in my head though apparently. When the nitrous wore off I honestly did not know if I had ejaculated or not. I was VERY surprised to find out that I hadn't even achieved an erection. I told M that this orgasm was all in my head, and regardless of whether or not it happened physically, it happened mentally, the only place it really mattered.
M had a similar experience, I thought I’d let her describe it for this report. These are her own words:
“I had much the same experience; my wonderful counterpart handed me a triple balloon and told me that this was going to be 'for me'. As I hit the balloon, my mind slid towards non-existence, and the basic methods of life and earth became vividly clear. When he began teasing me, my body suddenly ceased to exist except for the places his hands came into contact with. Eventually, we began having sex, and when I came, it seemed as if my mind had been cast into the center of a sparkling crystal ball, and I observed refracting light and rainbows everywhere. Yow.”
I managed to finally get some sleep at about 8 am. M did not sleep, and I for only 2 hours. I made a large breakfast at 11, and was able to eat no problem. M did not want to finish her plate.
All in all this was one of my best trips thus far. What added on to the trip a lot is that we were not expecting anywhere close to this experience.
This drug has the potential to replace acid for me, considering the fact that it is f*#@ing impossible to find within the last year or two, even in the bay area California.
One more thing, the only minor side effect I had was a little stomach tightness, queasy kinda. This happened the first hour, and I took one of my grandpa’s prescription anti-cramping anti- diarrhea pills that I had lying around and it never came back. M didn’t experience this, neither did two other friends that I dosed at 13 mgs a few days prior.
The other two females I dosed at 13 went clubbing and had a great time. They described it as purely recreational and very good for a social setting. This is the first psychedelic they’ve tried, and were not uncomfortable in any way.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Tabletop Game Room Generator
Randomly create a room for a tabletop game
This is the ULTIMATE Web App for Dungeon Masters hailing from any world, dimension, or plane of existence!
If you and your party are crawling, and you realize that you are about to run into an empty room this Program will generate a room with randomly selected dimensions, furniture, goodies, and some sweet loot!
So crawl on Masters! and may your parties be merry!


Want To Get In Touch With Me?
Contact Details
Address
29 Manse Close
Exhall
Coventry
Warwickshire
CV7 9NT
<EMAIL_ADDRESS>Phone
Mobile:<PHONE_NUMBER>9
Home:<PHONE_NUMBER>7
Find me on social media via the links in the top right corner.
Address
29 Manse Close
Exhall
Coventry
Warwickshire
CV7 9NT
<EMAIL_ADDRESS>Phone
Mobile:<PHONE_NUMBER>9
Home:<PHONE_NUMBER>7
Find me on social media via the links in the top right corner.


isambard.tools.amino_acids module¶
-
add_amino_acid_to_json
(code, description, letter='X', modified=None, force_add=False)[source]¶ Add an amino acid to the amino_acids.json file used to populate the amino_acid table.
Parameters: - code (str) – New code to be added to amino acid table.
- description (str) – Description of the amino acid, e.g. ‘amidated terminal carboxy group’.
- letter (str, optional) – One letter code for the amino acid. Defaults to ‘X’
- modified (str or None, optional) – Code of modified amino acid, e.g. ‘ALA’, or None. Defaults to None
- force_add (bool, optional) – If True, will over-write existing dictionary value for code if already in amino_acids.json. If False, then an IOError is raised if code is already in amino_acids.json.
Raises: IOError
– If code is already in amino_acids.json and force_add is False.Returns: Return type:
-
get_aa_code
(aa_letter)[source]¶ Get three-letter aa code if possible. If not, return None.
If three-letter code is None, will have to find this later from the filesystem.
Parameters: aa_letter (str) – One-letter amino acid code. Returns: aa_code – Three-letter aa code. Return type: str, or None
-
get_aa_info
(code)[source]¶ Get dictionary of information relating to a new amino acid code not currently in the database.
Notes
Use this function to get a dictionary that is then to be sent to the function add_amino_acid_to_json(). use to fill in rows of amino_acid table for new amino acid code.
Parameters: code (str) – Three-letter amino acid code. Raises: IOError
– If unable to locate the page associated with the amino acid name on the PDBE site.Returns: aa_dict – Keys are AminoAcidDB field names. Values are the str values for the new amino acid, scraped from the PDBE if possible. None if not found. Return type: dict


The HX711 load cell amplifier is an integrated circuit that reads analog voltages from a load cell, does analog to digital conversions, and serially outputs a 24 bit value representing the weight on the load cell. The interface to the Pi is through two GPIO lines, clock and data. Although a two wire interface named clock and data suggests the I2C bus, the HX711 is NOT an I2C device, but uses a custom protocol where the Pi generates a clock signal and the HX711 shifts out data on every pulse of the clock. Timing is controlled in software; thus, any two GPIO pins can be used for the HX711 interface. The HX711 project provides a class with a threaded task that reads data from the HX711 into an array that can be shared with Python. The relevant files are:


|
S1 Text
|
Formulation of socio-climate model. Includes full descriptio ... |
|
S1 Table
|
Labels for state variables and dynamic processes in the soci ... |
|
S2 Table
|
Definitions and values for the parameters in the socio-clima ... |
|
S1 Fig
|
Comparing temperature projections from the simple Earth syst ... |
|
S2 Fig
|
Climate trends with and without adaptation to climate change ... |
|
S3 Fig
|
Worst-case scenario of the coupled socio-climate model. Sett ... |
|
S4 Fig
|
Best-case scenario of the coupled socio-climate model. Setti ... |
|
S5 Fig
|
Functional form for perceived costs associated with climate ... |
|
S6 Fig
|
Estimated historical CO 2 emissions. Data from the CDIAC on ... |
|
S7 Fig
|
Emissions in the absence of behavioural change. In the socio ... |
|
S8 Fig
|
Comparing per capita CO 2 emissions with global temperature ... |
|
S9 Fig
|
CO 2 emissions by country. Total industrial CO2 emissions fr ... |
|
S10 Fig
|
CO 2 emissions per capita by country. Total industrial CO 2 ... |


{% extends 'layouts/layout.html' %} {% block title %} Terms of Service | {{ title }} {% endblock %} {% block content %}
Welcome to {{ title }}, a website that user's save money. With our service you can quickly monitor, manage and visualize your data in order to grow your business. Contact us and we will respond promptly.
By using this Service you are deemed to accept the validity of and be bound by the Terms of Service as stated herein without modification.
Except as specified in these Terms, to the maximum extent permitted under applicable law, the Service provided by {{ title }} is provided “as is” without any kind of warranty. Except as specified in these Terms, we are not responsible for any loss, injury, claim, liability, damage, or consequential damage related to your use of the Service, or inaccessibility of the Service whether from errors or omissions in the content of this Service or any other linked sites or for any other reason. Use of this Service is at your own risk.{{ title }} does not represent or warrant that the Site, its server or any linked sites are free of any harmful materials.
If any portion of the Site or Services require you to open an account, you must complete the registration process by providing {{ title }} with current, complete and accurate information, as prompted by the applicable registration form if you wish to have access to such features. You further agree to keep any registration information you provide to {{ title }} current, complete and accurate. As part of the registration process, you may be asked to select a username and password. You are entirely responsible for maintaining the security and confidentiality of your account information and password.  You agree to notify {{ title }} immediately of any unauthorized use of your account or any other breach of security. {{ title }} will not be liable for any loss that you may incur as a result of someone else using your password or account, either with or without your knowledge. However, you may be held liable for any losses incurred by {{ title }} or another party due to someone else using your account or password.
In connection with your use of the Sites and/or the Services, you acknowledge and agree that you will not:
You may not duplicate, copy, or reuse any portion of the HTML/CSS or visual design elements without express written permission from <%- company.name %>.
This Agreement (including the Privacy Policy) constitutes the entire agreement and understanding between you and {{ title }} and governs your use of the Site and the Services, superseding any prior agreements between you and {{ title }}. This Agreement and the relationship between you and {{ title }} shall be governed by and construed in accordance with the laws of Belarus, without regard to its conflict of law provisions. This Agreement is not assignable, transferable or sub-licensable by you except with our prior written consent. However, we may assign this Agreement to any third party whom we choose without your consent. You acknowledge that we have the right hereunder to seek an injunction, if necessary, to stop or prevent a breach of your obligations hereunder.
{{ title }} may modify this Agreement at any time. If such change is material, we will post notice of the change on the Site’s home page or by email to registered users. Your use of the Site following such notice shall be deemed your acceptance of such changes. You agree to review the Agreement periodically to be aware of such modifications.


You have created a duplicate account. Sign out of your account and try signing in using a different service (Google, GitHub, Facebook) that you may have used to in the past. Or try signing in using an email address you may have used on freeCodeCamp in the past.
We are working on a dashboard for you to be able to update or cancel your donations right from your settings page. For the meantime, if you need to update or cancel your monthly donation, forward an invoice you received in your email to<EMAIL_ADDRESS>and tell us what you'd like us to do, and we'll take care of it for you in our database.
We have archived millions of solutions from prior to June 2018, and are working on a sustainable way to host them and the future solutions.
You can meanwhile use the download my solution button to view and copy the solution from the local copy on your browser, after you complete a challenge.
We are working on fixing a number of issues with the streaks on freeCodeCamp. Thank you for your patience.
Do a hard refresh of the website by pressing control+shift+r in Windows or command+shift+r on Mac/Linux. If that doesn't work, you may need to clear your cookies. Here is how to clear specific cookies.
This is caused by an infinite loop in your code editor. Here's how to fix this.
You can ask for help on our forum, and the freeCodeCamp volunteer contributor team will do their best to help you. Note that for privacy and security reasons, they don't have access to your account in the freeCodeCamp database. Also note that you will need to create a forum account if you don't already have one. Click here to ask your support question
.


Thank you for signing up to {HOST}. Use your account data to sign in: Login: {email} Password: {password} If you have any questions, please contact us via e-mail {support_email}, or via the Contact us form.


@* * This template takes a single argument, a String containing a * message to display. *@ @(message: String) @* * Call the the `main` template with two arguments. The first * argument is a `String` with the title of the page, the second * argument is an `Html` object containing the body of the page. *@ @main("Welcome to Play") { @index("")
Player Bio:
Michael Jeffrey Jordan (born February 17, 1963), also known by his initials, MJ, is an American former professional basketball player. He is also a businessman, and principal owner and chairman of the Charlotte Hornets. Jordan played 15 seasons in the National Basketball Association (NBA) for the Chicago Bulls and Washington Wizards. His biography on the NBA website states: "By acclamation, Michael Jordan is the greatest basketball player of all time."Jordan was one of the most effectively marketed athletes of his generation and was considered instrumental in popularizing the NBA around the world in the 1980s and 1990s.
Jordan played three seasons for coach Dean Smith at the University of North Carolina. He was a member of the Tar Heels' national championship team in 1982. Jordan joined the NBA's Chicago Bulls in 1984 as the third overall draft pick. He quickly emerged as a league star, entertaining crowds with his prolific scoring. His leaping ability, illustrated by performing slam dunks from the free throw line in slam dunk contests, earned him the nicknames "Air Jordan" and "His Airness". He also gained a reputation for being one of the best defensive players in basketball. In 1991, he won his first NBA championship with the Bulls, and followed that achievement with titles in 1992 and 1993, securing a "three-peat". Although Jordan abruptly retired from basketball before the beginning of the 1993–94 NBA season to pursue a career in baseball, he returned to the Bulls in March 1995 and led them to three additional championships in 1996, 1997, and 1998, as well as an NBA-record 72 regular-season wins in the 1995–96 NBA season. Jordan retired for a second time in January 1999, but returned for two more NBA seasons from 2001 to 2003 as a member of the Wizards.
Wikipedia


Paging indicator widgets compatible with the ViewPager
from the Android Support Library and ActionBarSherlock. Originally based on Patrik Åkerfeldt's ViewFlow.
When using the ViewPager
widget it is not always obvious to the user that there are adjacent views they can navigate to. By implementing this widget you provide a clear indicator that there exists additional content which they can click or swipe to see.
Version 2.4.1 — 2012-09-11
Change Log
IconPageIndicator
! Uses state-list images to represent pages.TabPageIndicator
now supports icons via IconPagerAdapter
interface.android:background
attribute on Canvas-based views.ViewPager
.ViewPager
page when a motion is cancelled.Looking for an older version? Check here.
ViewPager
it represents.
<com.viewpagerindicator.TitlePageIndicator android:id="@+id/titles" android:layout_height="wrap_content" android:layout_width="fill_parent" />
onCreate
method (or onCreateView
for a fragment), bind the indicator to the ViewPager
.
//Set the pager with an adapter ViewPager pager = (ViewPager)findViewById(R.id.pager); pager.setAdapter(new TestAdapter(getSupportFragmentManager())); //Bind the title indicator to the adapter TitlePageIndicator titleIndicator = (TitlePageIndicator)findViewById(R.id.titles); titleIndicator.setViewPager(pager);
//continued from above titleIndicator.setOnPageChangeListener(mPageChangeListener);
For more examples please take a look at the source code to the samples.
Is your app missing?
Contact Jake Wharton or fork the project, update this page, and send a pull request!
Hint: It's in the gh-pages
branch.
© 2012 Jake Wharton — @JakeWharton · +JakeWharton
Developed and distributed under the Apache License, Version 2.0.
Originally based on widgets developed by Patrik Åkerfeldt.


Warning
10 item(s) require your attention
Fix this
Returned back items
More detail is required before these items can be accepted and paid
Disallowed items
Disallowed items cannot be paid
More detail is required before these items can be accepted and paid
Disallowed items cannot be paid


Creating a simple model and generate the database with EF Core 1.0
Create a ASP.NET Core Web Application (.NET Core) project and select the template Web Application. In this example I will create a simple Web Application to model a simple school. I will call the project SchoolWebApp.
Install the packages for EF Core tools and SqlServer provider as seen in the previous post.
Create the model
Create a Model folder. Inside this folder, create a Student.cs
file and will insert the following properties:
~~~ c# public int StudentID { get; set; } public String Name { get; set; } public String Surname { get; set; } ~~~
Every property of the class will be mapped as a column with the same name in the Student
table (which will be automatically generated).
Code First infers that a property is a primary key if it’s named one of the following:
- Class name followed by “Id”.
- “Id”
Create the context
To generate the database table, it’s not sufficient to create the Student
class. We also need to create a DbContext containing a DbSet class (exposing it as a property) of type Student
.
Doing this, EF will generate a table named Students (class name + “s”) and a table for each type referenced by the Student class (in this case nothing).
Let’s create a Persistence folder in the project root and create inside it a SchoolContext.cs
file. This file will contain the SchoolContext
, which extends the DbContext
class.
This class will allow us to generate the database in an automatic way.
Add the following constructor and property to the class:
~~~ c#
public SchoolContext(DbContextOptions
public DbSet
Add also the using Microsoft.EntityFrameworkCore;
at the beginning of the file.
Register the context with DI
In order to use the SchoolContext in the our web application, we need to register it as a service.
The classes of the application (such as controllers) which requires the SchoolContext are provided by Dependency Injection through the class contructor.
Open the Startup.cs
class and add the following lines at the beginning of ConfigureServices(IServiceCollection services)
method.
~~~ c#
var connectionString = @”Server=(localdb)\mssqllocaldb;Database=SchoolDatabase;Trusted_Connection=True;”;
services.AddDbContext
Add also the using Microsoft.EntityFrameworkCore;
at the beginning of the file.
Generate the code to create the database and execute it
We are finally ready to automatically generate the code, which once executed will create the database.
Open the Package Manager Console
and enter the command Add-Migration
followed by the name you want to give to this migration. For example:
Add-Migration CreateStudentsMigration
Let’s look at the project directory: a new Migration folder has been generated.
It contains 2 classes:
-<PHONE_NUMBER>5014_CreateStudentsMigration.cs
- SchoolContextModelSnapshot.cs
Analyze the content of the first file.
It contains a class CreateStudentsMigration
(the name is the same of the one entered as argument of Add-Migration
command), which has 2 methods:
- Up
- Down
The Up
method is responsible of the creation of the Students
table in the database. It creates the table, the columns and the contraints inferred by the class model.
The Down
method is responsible to delete the table once it’s not longer needed.
Now it’s time to generate the database. With EF core is a very simple operation, you only have to run the
Update-Database
command to apply the migration.
View the created database
Of course, we are very interested in viewing the created database.
To do so, open the SQL Server Object Explorer tab in Visual Studio, expand the (localdb)\MSSQLLocalDB
selection, Database folder and… here’s our brand new SchoolDatabase
.
Expand it, go into the Tables folder and you can find the dbo.Students
table!
Double clicking on the dbo.Students
table it will open the Design window. Here you can see the table structure and the SQL commands that created it.
Well done! We have generated the relational database from our class model!
Adding a class to the model
In the real world, a student belongs to a class. The class is characterized by a name, a room used for the lecture and, of course, by a set of students. Let’s add a class to the model which represents this concept.
Add to the Model folder the Class.cs
file and insert the following code:
~~~ c#
public class Class
{
public String ClassId { get; set; }
public String RoomName { get; set; }
public List
} ~~~
Now, insert the Class
class to the SchoolContext
. It will appear like the following:
~~~ c#
public class SchoolContext : DbContext
{
public SchoolContext(DbContextOptions
public DbSet<Student> Students { get; set; }
public DbSet<Class> Classes { get; set; } } ~~~
To generate another migration file, run the command Add-Migration
with a name which specifies the operation to do (adding a Class to the database):
Add-Migration CreateClassesMigration
As you can see, a new class in the Migrations folder has been created, containing the code to create:
1 - Create Classes table on the database, composed by ClassId and RoomName columns
~~~ c#
migrationBuilder.CreateTable(
name: “Classes”,
columns: table => new
{
ClassId = table.Column
2 - Add a ClassId column to the Students table
~~~ c#
migrationBuilder.AddColumn
3 - Add the contraint to link the foreign key of table Students to the primary key of table Classes
~~~ c# migrationBuilder.AddForeignKey( name: “FK_Students_Classes_ClassId”, table: “Students”, column: “ClassId”, principalTable: “Classes”, principalColumn: “ClassId”, onDelete: ReferentialAction.Restrict); ~~~
Now we can apply these changes to the database running:
Update-Database
As you can see, EF automatically infers the 1:N relation between Students and Classes and generates the foreign key in the Students table. That’s very elegant!
Undoing a database update
What can we do if the migration we have applied was wrong? Fortunately, EF provides also this scenario.
If you want to undo the Update-Database
command, you can just run a Update-Database
followed by the name of the migration you want to rollback.
For example, if we want to come back to the previous state, when we had only the Students table, just run:
Now it’s time to generate the database. With EF core is a very simple operation, you only have to run:
Update-Database CreateStudentsMigration


All test runs in current directory
History
Node
Tests
Names
Total
Success
Failed
Skipped
Missing
Sun Dec 14 2008 22:01:09
ct@aura
1
ecouch-trunk.tests
7
0
0
7
0
Copyright © 2008
Open Telecom Platform
Updated: Sun Dec 14 2008 22:01:11


runListeners() → {Object}
Factory that sets up the database listeners. Firebase enables real-time updates any time database entries change, and the listeners in this factory get notified. The updated data is then routed to appropriate controllers (e.g. for rendering new user position on the map).
- Source:
Returns:
Returns the factory object ('listener') with all methods to be used by controllers
- Type
- Object
Methods
(static) childAdded()
Listens for new user entries (e.g. when a new user sets up an account and gets added to the database).
- Source:
(static) childChanged()
Listens for updates in any single user data in the database (child_changed). On change, $rootscope broadcasts the event along with the snapshot of the new data that needs to be rendered or updated on the client's screen
- Source:
(static) childRemoved()
Listens for deletions (e.g. when user logs out and their coordinates are removed from the database)
- Source:


{% if show_response_modal %} {% endif %}
{{response_dict['Prompt']}}
Answer{{response_dict['Answer']}}
SourcesPlease wait...
Please wait while we ingest the documents.
Introducing a cutting-edge application that empowers users to
leverage the capabilities of a language model, even in the absence
of an internet connection. This advanced tool serves as an
indispensable resource for accessing information beyond the
confines of traditional language model tools such as chatGPT.
One of the key advantages of this application is the preservation
of data control. This feature becomes particularly valuable when
handling sensitive data that must remain within the confines of an
organization or personal documents that warrant utmost
confidentiality, eliminating the need to transmit information
through third-party channels.
Seamlessly integrating personal documents into the system is
effortless, ensuring a smooth user experience. Whether in the form
of text, PDF, CSV, or Excel files, users can conveniently provide
the desired information for inquiry. The application swiftly
processes these documents, effectively creating a comprehensive
database for the model to leverage, enabling accurate and
insightful responses.
A notable benefit of this approach lies in its efficient resource
utilization. Unlike the resource-intensive retraining processes
employed by alternative methods, the ingestion of documents within
this application demands significantly less compute power. This
efficiency optimization allows for a streamlined user experience,
saving both time and computational resources.
Discover the unparalleled capabilities of this technical marvel,
as it enables users to tap into the full potential of language
models, all while operating offline. Experience a new era of
information access, bolstering productivity and expanding
possibilities. Embrace this powerful tool and unlock the true
potential of your data today.
1. To upload documents for the app to ingest as its new knowledge
base click the
Upload
button.
2. Select the documents you want to serve as your new knowledge
base to converse with.
3. Then you will be prompted with a confirmation to either
Add the
documents to your knowledge base,
Reset
your knowledge base with the documents you just selected, or
Cancel
the upload.
4. There will be a short wait time as the documents get ingested
into the vector database as your new knowledge base.
1. In order to ask a question, type a question into the search bar
like:
2.
Give me a summary of the documents
3. Hit enter on your keyboard or click
Search
4. Wait while the LLM model consumes the prompt and prepares the
answer.
5. Once done, it will print the answer and the 4 sources it used
as context from your documents; you can then ask another question
without re-running the script, just wait for the prompt again.


event
namespace event
an event system based on nodeJS EventEmitter interface
Summary
Properties from event
Public Properties
BLUR: string = "me.blur"
string
event generated when the main browser or window is losing focus
CANVAS_ONRESIZE: string = "canvas.onresize"
string
Event for when the canvas is resized
(this usually follows a WINDOW_ONRESIZE event).
Data passed : {number} canvas width
Data passed : {number} canvas height
DOM_READY: string = "dom_ready"
string
event when the DOM is Ready is booting
DRAGEND: string = "me.game.dragend"
string
Event for dragend events on a Draggable entity
Data passed:
{object} the drag event
{object} the Draggable entity
DRAGSTART: string = "me.game.dragstart"
string
Event for dragstart events on a Draggable entity
Data passed:
{object} the drag event
{object} the Draggable entity
FOCUS: string = "me.focus"
string
event generated when the main browser or window is gaining back focus
GAME_AFTER_DRAW: string = "me.game.afterDraw"
string
Event for the start of the draw loop Data passed : {number} time the current time stamp
GAME_AFTER_UPDATE: string = "me.game.afterUpdate"
string
event for the end of the update loop Data passed : {number} time the current time stamp
GAME_BEFORE_DRAW: string = "me.game.beforeDraw"
string
Event for the end of the draw loop Data passed : {number} time the current time stamp
GAME_BEFORE_UPDATE: string = "me.game.beforeUpdate"
string
event for when the engine is about to start a new game loop Data passed : {number} time the current time stamp
GAME_INIT: string = "me.game.onInit"
string
event for when the game manager is initialized
Data passed : none
GAME_RESET: string = "me.game.onReset"
string
event for when the game manager is resetted
Data passed : none
GAME_UPDATE: string = "me.game.onUpdate"
string
Event for when the game is updated (will be impacted by frame skip, frame interpolation and pause/resume state)
Data passed : {number} time the current time stamp
GAMEPAD_CONNECTED: string = "gamepad.connected"
string
Event for when a gamepad is connected
Data passed : {object} gamepad object
GAMEPAD_DISCONNECTED: string = "gamepad.disconnected"
string
Event for when a gamepad is disconnected
Data passed : {object} gamepad object
GAMEPAD_UPDATE: string = "gamepad.update"
string
Event for when gamepad button/axis state is updated
Data passed : {number} index
Data passed : {string} type : "axes" or "buttons"
Data passed : {number} button
Data passed : {number} current.value
Data passed : {boolean} current.pressed
KEYDOWN: string = "me.input.keydown"
string
Event for pressing a binded key
Data passed : {string} user-defined action, {number} keyCode,
{boolean} edge state
Edge-state is for detecting "locked" key bindings. When a locked key
is pressed and held, the first event will have the third argument
set true. Subsequent events will continue firing with the third
argument set false.
me.input.bindKey(me.input.KEY.X, "jump", true); // Edge-triggered
me.input.bindKey(me.input.KEY.Z, "shoot"); // Level-triggered
me.event.on(me.event.KEYDOWN, (action, keyCode, edge) => {
// Checking bound keys
if (action === "jump") {
if (edge) {
this.doJump();
}
// Make character fall slower when holding the jump key
this.vel.y = this.body.gravity;
}
});
KEYUP: string = "me.input.keyup"
string
Event for releasing a binded key
Data passed : {string} user-defined action, {number} keyCode
me.event.on(me.event.KEYUP, (action, keyCode) => {
// Checking unbound keys
if (keyCode == me.input.KEY.ESC) {
if (me.state.isPaused()) {
me.state.resume();
}
else {
me.state.pause();
}
}
});
LEVEL_LOADED: string = "me.game.onLevelLoaded"
string
Event for when a level is loaded
Data passed : {string} Level Name
LOADER_COMPLETE: string = "me.loader.onload"
string
Event for when everything has loaded
Data passed : none
LOADER_PROGRESS: string = "me.loader.onProgress"
string
Event for displaying a load progress indicator
Data passed : {number} [0 .. 1], {Resource} resource object
ONCONTEXT_RESTORED: string = "renderer.contextrestored"
string
Event for when the current context is restored
Data passed : {me.Renderer} the current renderer instance`
POINTERLOCKCHANGE: string = "me.event.pointerlockChange"
string
Event for onPointerLockChange event
Data passed : {boolean} pointer lock status (true/false)
POINTERMOVE: string = "me.event.pointermove"
string
Event for pointermove events on the screen area
Data passed : {me.Pointer} a Pointer object
STAGE_RESET: string = "me.stage.onReset"
string
event for when a stage is resetted
STATE_CHANGE: string = "me.state.onChange"
string
event for when the changing to a different stage
STATE_PAUSE: string = "me.state.onPause"
string
event when the game is paused
Data passed : none
STATE_RESTART: string = "me.state.onRestart"
string
event for when the game is restarted
Data passed : {number} time in ms the game was stopped
STATE_RESUME: string = "me.state.onResume"
string
event for when the game is resumed
Data passed : {number} time in ms the game was paused
STATE_STOP: string = "me.state.onStop"
string
event when the game is stopped
Data passed : none
TICK: string = "me.tick"
string
event generated when the system update the engine and the renderer by one step
VIDEO_INIT: string = "me.video.onInit"
string
event for when the video is initialized
Data passed : {Renderer} the renderer instance created
VIEWPORT_ONCHANGE: string = "viewport.onchange"
string
Event for when the viewport position is updated
Data passed : {me.Vector2d} viewport position vector
VIEWPORT_ONRESIZE: string = "viewport.onresize"
string
Event for when the viewport is resized
(this usually follows a WINDOW_ONRESIZE event, when using the flex
scaling mode is used and after the viewport was updated).
Data passed : {number} viewport width
Data passed : {number} viewport height
Data passed : {Camera2d} a reference to the camera viewport being resized
WEBGL_ONCONTEXT_LOST: string = "renderer.contextlost"
string
Event for when the current context is lost
Data passed : {me.Renderer} the current renderer instance
WINDOW_ONORIENTATION_CHANGE: string = "globalThis.orientationchange"
string
Event for when the device is rotated
Data passed : {Event} Event object
WINDOW_ONRESIZE: string = "globalThis.onresize"
string
Event for when the (browser) window is resized
Data passed : {Event} Event object
WINDOW_ONSCROLL: string = "globalThis.onscroll"
string
Event for when the (browser) window is scrolled
Data passed : {Event} Event object
WORLD_STEP: string = "me.world.step"
string
Event for when the physic world is updated Data passed : {number} time the current time stamp
Public Methods
emit(eventName: string | symbol) → {boolean}
calls each of the listeners registered for a given event.
me.event.emit("event-name", a, b, c);
| Name | Type | Attributes | Description |
|---|---|---|---|
| eventName | string | symbol |
The event name. |
|
| ...arguments | object |
<optional> |
arguments to be passed to all listeners |
| Type | Description |
|---|---|
| boolean |
true if the event had listeners, false otherwise. |
off(eventName: string | symbol, listener: Function) → {EventEmitter}
remove the given listener for a given event.
me.event.off("event-name", myFunction);
| Name | Type | Description |
|---|---|---|
| eventName | string | symbol |
The event name. |
| listener | Function |
The listener function. |
| Type | Description |
|---|---|
| EventEmitter |
|
on(eventName: string | symbol, listener: Function, context: unknown) → {EventEmitter}
Add a listener for a given event.
me.event.on("event-name", myFunction, this);
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
| eventName | string | symbol |
The event name. |
||
| listener | Function |
The listener function. |
||
| context | unknown |
<optional> |
this |
The context to invoke the listener with. |
| Type | Description |
|---|---|
| EventEmitter |
|
once(eventName: string | symbol, listener: Function, context: unknown) → {EventEmitter}
Add a one-time listener for a given event.
me.event.once("event-name", myFunction, this);
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
| eventName | string | symbol |
The event name. |
||
| listener | Function |
The listener function. |
||
| context | unknown |
<optional> |
this |
The context to invoke the listener with. |
| Type | Description |
|---|---|
| EventEmitter |
|


--- title: Deep Learning & Neural Network free resource(中文) author: Alven Yu date: '2017-08-21' slug: deep-learning-neural-network-free-resource-中文 categories: - Deep learning tags: - deep learning subtitle: '' summary: '' authors: [] lastmod: '2020-07-12T19:50:20+10:00' featured: no image: caption: '' focal_point: '' preview_only: no projects: [] ---
Mang resources about deep learning.


24 Jan 2014
Better management of git code bases
In this blog post I want to explain about how we manage our codebase of Enterprise Mobility platform at WSO2.  I am not saying we have the best management process for git (We are getting there :) ) but the current workflow significantly increased our productivity.
Multiple Repos to rule them all
First when we got started our whole product was just another JavaScript application (JaggeryJS actually). But soon it got complicated with
- The Enterprise Mobility Management server
- App Publisher
- App Store
- Mobile Application Management console
Now we needed a process to manage it and after playing around with submodules and git-tree I figured git tree offered the best method.
Our current workflow has the server repo as our main repo and it is what everyone will build. It contains codebase that is regarding carbon and Jaggery modules. It also has our application repos as well. These application repos points to the master branch of each repo. When I want to get new updates from the child projects - I have to only pull the master branch inside the child project. I can go back to my server directory and commit the pulled codebase to the server codebase as updates from submodules. By having multiple projects in our workflow - dependencies created by child projects to each another is reduced.A minus point about this approach is that we have to pull changes from child projects. I’ll be address this later in the blog post. But next comes the other important aspect of git.
Branching for good
Git is nothing without it’s powerful branches. I like to quote Jeff Atwood on this -
Branching is widely misunderstood, and rarely implemented– even though branching, like versioning, lies at the very heart of source control, and thus software engineering
I like the example where he brings out the parallel world’s concept. How we did our implementation of branching was - Branch per Release. The master branch has always the latest released code. Branches are frozen once the development is stopped and we merge the development branch to master branch. When we do a General Availability release - we tag the release so that it can be retrieved at a later stage if it required to be patched for bugs.
Couple of experiments I am trying out these days is the git-freeze plugin that allows us to retire a branch.
Automate it :)
With all the child projects comes the rearing. After couple of times pulling-pushing-merging becomes a headache.  In our case it requires couple of additional cases.
- Merging submodules in parent project
- Getting new development branches from github
- Merging development branch to master and pushing to Github
I wrote a couple of scripts that can be used inline with oh-my-zsh that helps me do all of this.
Conclusion
Thinking about how git can be better used will lead you and your team to become more productive.
Till next time mate,
Dulitha
at 04:05


The prompt gets put here.
How effectively does the graph support the presented claim?
| Definitely Supports | Somewhat Supports | Somewhat Does Not Support | Definitely Does Not Support |
Explain why in 1-3 sentences.
Take a screenshot with SPACEBAR and circle the graph feature that supports or does not support the claim with the mouse.