Help is the start of a help block in MFP language and endh is the end of help block.
Note that although the statements in a help block does not have any impact in the running of the function, it is useful to show user help information when user types "help function_name" or "help function_name(number_of_parameters_in_this_function)" if this help block is right above the function declaration. MFP is also able to feed different help information for different system language. For example, assume a help block is right above function abcd:
Help
This line will be shown for any system language.
@language:
This line will be shown for default system language.
@end
This line will also be shown for any system language.
@language:simplified_chinese
这一行将在系统语言为中文时显示（This line will be shown when system language is simplified Chinese.）。
@end
This line is also a line for any system language.
Endh
Function abcd(x, y)
Endf
. So when user types "help abcd" or "help abcd(2)", he/she will see
This line will be shown for any system language.
This line will be shown for default system language.
This line will also be shown for any system language.
This line is also a line for any system language.
if system language is English which is also the default language. He/she will see
This line will be shown for any system language.
This line will also be shown for any system language.
This line is also a line for any system language.
if system language is Japansee which is not the default language. He/she will see
This line will be shown for any system language.
This line will also be shown for any system language.
这一行将在系统语言为中文时显示（This line will be shown when system language is simplified Chinese.）。
This line is also a line for any system language.
if system language is simplified Chinese which is not the default language. He/she will see
This line will be shown for any system language.
This line will be shown for default system language.
This line will also be shown for any system language.
这一行将在系统语言为中文时显示（This line will be shown when system language is simplified Chinese.）。
This line is also a line for any system language.
if system language is simplified Chinese which is also the default language.
If user simply wants to add comment for a line, "//" can be used. Like C++, words following "//" will be comments. "//" can start a new line or follow a statement.


Intro. to jQuery U.I
Check-In Date:
Submit Date
Click this button to add a month to view
Change Number of Month


---
layout: page
title: Archive
description: A working anthology of multi-platform literary works published by Nicaraguans in 2018-2019, largely in response to post-Sandinista protests and related political activism. These works are NOT my own. The purpose of this page is to collect literary works that I've found from other sources and assemble them in an accessible manner. If you are the author of any of the works below and are unhappy with how your work is represented here, please email me directly and I will accomodate your request in whatever way necessary.
background: '/img/posts/meiselas16.jpg'
---
{% for post in site.posts %}
{{ post.title }}
{% if post.subtitle %}
{{ post.subtitle }}
{% else %}
{{ post.excerpt | strip_html | truncatewords: 15 }}
{% endif %}


Roni has been attending St. Joseph's church with her husband and three children, for the last ten years and feels very privileged to be a part of this beautiful church and community.
You can often find her at the 10am mass and afterwards manning the Repository Shop.
Noreen is married with three children, all of which are attending or have attended St Joseph's Primary School. After a career in finance she took a break to raise her children and is now working in St Joseph's school. She has been a catechist and coordinator for the parish's Holy Communion Programme for the past 6 years.
Originally from Somerset, Chiara has lived in Highgate for the past 15 years and has been a parishioner of St Joseph’s since coming to Highgate. She is married with four children. Chiara organises the monthly coffee mornings.
Born in London, Jenny has lived in East Finchley since 1982. She has worked as a nurse, managed opera singers, administrator work and facilitated groups for spiritual healing and self-awareness. She is a Eucharistic Minister, Parish Registrar, reads at weekday masses, and runs the repository.
Jennifer Buckley is a primary school teacher and has been a parishioner at St Joseph’s for 24 years. Jenny started off teaching children’s liturgy 15 years ago and has gained several other roles since; Eucharist Minister, Collector and preparing the church for the 12 o’clock mass on Sunday. What little time she has left, she spends with her family attending concerts and visiting the theatre.
Betty and her family have been part of St Joseph's since the mid-1990s when they moved to London from the Middle East. She recently retired after a 40 year career in investment banking. Locally, Betty serves as Treasurer of Highgate's Fair in the Square and on various committees at the Highgate Society.
Born in North London, Roxane has lived in the parish for almost forty years. She is a retired financial advertising executive and enjoys travel, gardening, theatre and the arts. She co-ordinates the Readers and Eucharistic ministers rota and also organises the regular church cleaning days.
Frank works in Moorfields Eye Hospital, to which he came from Dublin to finish his medical training in 1990. That's also when he came to live in the parish. Married to Kate, with three (now adult) children Sarah, Hugh and Julia. He joined the Parish Council in 2012
Nicholas Baumgartner is a lawyer and has worked in the City of London for more than a decade. Nicholas has been a member of St Joseph’s Parish since 2009. Nicholas, his wife Kristin, and their two children are regulars at the 10:00 am Mass, and their children attend St Joseph’s Catholic Primary School and Nursery, respectively.
Cheryl has lived in the parish for nearly 30 years doing everything from teaching First Communion to editing the bulletin. After many years as a journalist, she is now teaching History and Classical Civilisation A levels at a special school. Cheryl teaches infant liturgy, runs the Confirmation programme, the Bazaar and variety of other events.


The Challenge
Your Epic Texas Journey
Gonzales is a wonderfully welcoming town, rich with history and attractive to tourists looking to escape the big city!  You’ll enjoy picturesque rolling hills replete with blooming Texas wildflowers on perfect relay roads as you journey over rural dirt roads - even passing Sam Houston’s Tree! After leaving Gonzales, you’ll get a taste of smaller Texas towns with exceptionally large hearts! Shiner, Moulton, Flatonia, Schulenburg, and Weimar, you’ll appreciate each town’s individual flavor, but you will also note that they all possess a distinct relaxing quality. By the time your team reaches Columbus, the sun will be retiring for the day.
Eagle Lake, Wallis, Orchard, Simonton, and Fulshear will be sleeping communities as you pass through (though at least a few will stay up to curiously observe your unrelenting journey through the night). Pressing on tirelessly toward the finish, you and your team will follow the beacons of flashing lights (other runners).
When you begin to make
your way through Cinco Ranch on the west side of Houston, you’ll notice early indicators that a new day is being gifted to us! You’ll
also become aware that you’re crossing the threshold between country and city. Between here and downtown, you’ll traverse paths
that wind through pleasing parks (George Bush Park, Terry Hershey Park, Memorial Park, and the Buffalo Bayou). You’ll admire
stately homes in well-preserved neighborhoods, and then, you’ll stride through Houston’s very downtown, passing right by
reflective sky scrapers and the Toyota Center!
After exiting downtown, you’ll head south to Houston's museum district and Hermann Park, even passing beneath Sam Houston's impressive statue
that points the way to the finish! You'll continue to navigate east on the Brays Bayou Path followed by quiet neighborhoods.
Finally, your epic Texas journey culminates with a momentous celebratory finish in La Porte at the
San Jacinto Battleground and Monument!


Phrase to translate or params.
Values to print.
Translated parsed and substituted string.
Supports the advanced MessageFormat as provided by excellent messageformat module.
You should definetly head over to messageformat.github.io for a guide to MessageFormat.
i18n-for-browser
takes care of new MessageFormat('en').compile(msg);
with the current msg loaded from it's json files and cache that complied fn in memory.
So in short you might use it similar to __()
plus extra object to accomblish MessageFormat's formating.
Phrase to translate or params.
Values to print.
Translate.
Plurals translation of a single phrase.
Singular and plural forms will get added to locales if unknown.
Returns translated parsed and substituted string based on count
parameter.
Translate params.
Target count.
Values to print.
Translate.
Plurals translation of a single phrase.
Singular and plural forms will get added to locales if unknown.
Returns translated parsed and substituted string based on count
parameter.
Singular form to translate, or array of strings.
Target count.
Values to print.
Translate.
Plurals translation of a single phrase.
Singular and plural forms will get added to locales if unknown.
Returns translated parsed and substituted string based on count
parameter.
Singular form to translate.
Plural form to translate.
Target count.
Values to print.
Translate.
Generated using TypeDoc
Translates a single phrase and adds it to locales if unknown.


Govt announces $3.1m for Stewart Is wind turbines
Stewart Island residents will be the benefactors of a $3.16 million Government grant in a bid to create a more sustainable energy source.
Environment Minister David Parker announced today the Provincial Growth Fund allocation would go towards building two wind turbines on the island.
"Stewart Island is our third largest island, after the North and South Islands, and it is high time we addressed its energy future. Its isolation means it faces challenges to its sustainable economic development,'' Mr Parker said.
The island's energy source was currently coming from a diesel generator.
"Currently the full cost of diesel is not met, and fiscal reserves are likely to be depleted within a few years.''
Residents were also estimated to be paying three times as much as mainlanders for power. As a result, the development of local businesses were being hindered.
"The economic resilience of Stewart Island will be considerably improved through this investment. Installing wind turbines will work to improve business viability, increase productivity and encourage businesses to remain on the island.''
Wind turbines would be the most economic and environmentally sustainable option as an energy source, he said.
"It provides a renewable energy source. It is estimated to reduce diesel use on the island by half, which will enable the price of electricity to be stabilised.''
The grant was expected to cover the costs of the pre-development phase and the construction of the turbines.
Some residents had suggested a hydro scheme be installed or a cable from the mainland.
However, both options were proved by the Government to be "too expensive''.
"Wind energy is a clean fuel source compared to other energy sources. It does not pollute the air or produce greenhouse gasses.''


justDisa
What I've been up to lately: A collection of projects, fascinations, obsessions, and rabbit holes.
justDisa
What I've been up to lately: A collection of projects, fascinations, obsessions, and rabbit holes.


About YRBS
Youth Risk Behavior Survey (YRBS) collected is conducted by Center of Disease Control. It selects a sample of US schools in grades 9 through 12. Respondents were asked to report attempted suicides in the past 12 months from which the survey was collected. The survey monitors six categories of health-related behaviors that contribute to the leading causes of death and disability among youth and adults:
- Behaviors that contribute to unintentional injuries and violence
- Sexual behaviors related to unintended pregnancy and sexually transmitted diseases, including HIV infection
- Alcohol and other drug use
- Tobacco use
- Unhealthy dietary behaviors
- Inadequate physical activity
Suicide is the Second Leading Cause of Death among Teens
According to Center of Disease Control (CDC), the rate of teen suicide has been climbing ever since 2009 and has only been surpassed by accidental injury in 2017. More teenagers and young adults die from suicide than from cancer, heart disease, AIDS, birth defects, stroke, pneumonia, influenza, and chronic lung disease, combined. With the dramatic increase of suicide during adolescent, teen suicide is an unfortunate result of more pressure and stresses from the modern world.
YRBS Data Distribution
The data has been filtered to respondents who have attempted suicide in the past. Missing were imputed after exclude respondents who refused to provide response to suicide attempt.
Most respondents out of the 10,686 responded do not display intention to suicide. There were about 793 displayed intention to suicide and 234 of the attempted suicides resulted in injury.
Demographic Variable Distribution
Gender and Race display the most difference in distribution. The uneven spread in Race is driven by the normal population. However, difference in Gender will be worth probing because this pattern is exclusive to the sample selected by the survey.
In the following exploratory analysis we will be focus on grouping findings by Genders.


Caching Driver
CodeIgniter features wrappers around some of the most popular forms of fast and dynamic caching. All but file-based caching require specific server requirements, and a Fatal Exception will be thrown if server requirements are not met.
Example Usage
The following example shows a common usage pattern within your controllers.
<?php
if (! $foo = cache('foo')) {
echo 'Saving to the cache!<br>';
$foo = 'foobarbaz!';
// Save into the cache for 5 minutes
cache()->save('foo', $foo, 300);
}
echo $foo;
You can grab an instance of the cache engine directly through the Services class:
<?php
$cache = \Config\Services::cache();
$foo = $cache->get('foo');
Configuring the Cache
All configuration for the cache engine is done in app/Config/Cache.php. In that file, the following items are available.
$handler
The is the name of the handler that should be used as the primary handler when starting up the engine. Available names are: dummy, file, memcached, redis, predis, wincache.
$backupHandler
In the case that the first choice $handler
is not available, this is the next cache handler to load.
This is commonly the File
handler since the file system is always available, but may not fit
more complex, multi-server setups.
$prefix
If you have more than one application using the same cache storage, you can add a custom prefix string here that is prepended to all key names.
$ttl
The default number of seconds to save items when none is specified.
WARNING: This is not used by framework handlers where 60 seconds is hard-coded, but may be useful to projects and modules. This will replace the hard-coded value in a future release.
$file
This is an array of settings specific to the File
handler to determine how it should save the cache files.
$memcached
This is an array of servers that will be used when using the Memcache(d)
handler.
$redis
The settings for the Redis server that you wish to use when using the Redis
and Predis
handler.
Command-Line Tools
CodeIgniter ships with several commands that are available from the command line to help you work with Cache. These tools are not required to use Cache driver but might help you.
cache:clear
Clears the current system caches:
php spark cache:clear
cache:info
Shows file cache information in the current system:
php spark cache:info
Note
This command only supports the File cache handler.
Class Reference
- class CodeIgniter\Cache\CacheInterface
- isSupported()
- Returns
true
if supported,false
if not- Return type
bool
- get($key) mixed
- Parameters
$key (
string
) – Cache item name
- Returns
Item value or
null
if not found- Return type
mixed
This method will attempt to fetch an item from the cache store. If the item does not exist, the method will return null.
Example:
<?php $foo = $cache->get('my_cached_item');
- remember(string $key, int $ttl, Closure $callback)
- Parameters
$key (
string
) – Cache item name$ttl (
int
) – Time to live in seconds$callback (
Closure
) – Callback to invoke when the cache item returns null
- Returns
The value of the cache item
- Return type
mixed
Gets an item from the cache. If
null
was returned, this will invoke the callback and save the result. Either way, this will return the value.
- save(string $key, $data[, int $ttl = 60[, $raw = false]])
- Parameters
$key (
string
) – Cache item name$data (
mixed
) – the data to save$ttl (
int
) – Time To Live, in seconds (default 60)$raw (
bool
) – Whether to store the raw value
- Returns
true
on success,false
on failure- Return type
bool
This method will save an item to the cache store. If saving fails, the method will return
false
.Example:
<?php $cache->save('cache_item_id', 'data_to_cache');
Note
The
$raw
parameter is only utilized by Memcache, in order to allow usage ofincrement()
anddecrement()
.
- delete($key) bool
- Parameters
$key (
string
) – name of cached item
- Returns
true
on success,false
on failure- Return type
bool
This method will delete a specific item from the cache store. If item deletion fails, the method will return false.
Example:
<?php $cache->delete('cache_item_id');
- deleteMatching($pattern) integer
- Parameters
$pattern (
string
) – glob-style pattern to match cached items keys
- Returns
number of deleted items
- Return type
integer
This method will delete multiple items from the cache store at once by matching their keys against a glob-style pattern. It will return the total number of deleted items.
Important
This method is only implemented for File, Redis and Predis handlers. Due to limitations, it couldn’t be implemented for Memcached and Wincache handlers.
Example:
<?php $cache->deleteMatching('prefix_*'); // deletes all items of which keys start with "prefix_" $cache->deleteMatching('*_suffix'); // deletes all items of which keys end with "_suffix"
For more information on glob-style syntax, please see Glob (programming).
- increment($key[, $offset = 1]) mixed
- Parameters
$key (
string
) – Cache ID$offset (
int
) – Step/value to add
- Returns
New value on success,
false
on failure- Return type
mixed
Performs atomic incrementation of a raw stored value.
Example:
<?php // 'iterator' has a value of 2 $cache->increment('iterator'); // 'iterator' is now 3 $cache->increment('iterator', 3); // 'iterator' is now 6
- decrement($key[, $offset = 1]) mixed
- Parameters
$key (
string
) – Cache ID$offset (
int
) – Step/value to reduce by
- Returns
New value on success,
false
on failure- Return type
mixed
Performs atomic decrementation of a raw stored value.
Example:
<?php // 'iterator' has a value of 6 $cache->decrement('iterator'); // 'iterator' is now 5 $cache->decrement('iterator', 2); // 'iterator' is now 3
- clean()
- Returns
true
on success,false
on failure- Return type
bool
This method will ‘clean’ the entire cache. If the deletion of the cache files fails, the method will return false.
Example:
<?php $cache->clean();
- getCacheInfo()
- Returns
Information on the entire cache database
- Return type
mixed
This method will return information on the entire cache.
Example:
<?php var_dump($cache->getCacheInfo());
Note
The information returned and the structure of the data is dependent on which adapter is being used.
- getMetadata(string $key)
- Parameters
$key (
string
) – Cache item name
- Returns
Metadata for the cached item.
null
for missing items, or an array with at least the “expire” key for absolute epoch expiry (null
for never expires).- Return type
array|null
This method will return detailed information on a specific item in the cache.
Example:
<?php var_dump($cache->getMetadata('my_cached_item'));
Note
The information returned and the structure of the data is dependent on which adapter is being used. Some adapters (File, Memcached, Wincache) still return
false
for missing items.
- static validateKey(string $key, string $prefix)
- Parameters
$key (
string
) – Potential cache key$prefix (
string
) – Optional prefix
- Returns
The verified and prefixed key. If the key exceeds the driver’s max key length it will be hashed.
- Return type
string
This method is used by handler methods to check that keys are valid. It will throw an
InvalidArgumentException
for non-strings, invalid characters, and empty lengths.Example:
<?php $prefixedKey = BaseHandler::validateKey($key, $prefix);
Drivers
File-based Caching
Unlike caching from the Output Class, the driver file-based caching allows for pieces of view files to be cached. Use this with care, and make sure to benchmark your application, as a point can come where disk I/O will negate positive gains by caching. This requires a cache directory to be really writable by the application.
Memcached Caching
Memcached servers can be specified in the cache configuration file. Available options are:
<?php
namespace Config;
use CodeIgniter\Config\BaseConfig;
class Cache extends BaseConfig
{
// ...
public $memcached = [
'host' => '<IP_ADDRESS>',
'port' => 11211,
'weight' => 1,
'raw' => false,
];
// ...
}
For more information on Memcached, please see https://www.php.net/memcached.
WinCache Caching
Under Windows, you can also utilize the WinCache driver.
For more information on WinCache, please see https://www.php.net/wincache.
Redis Caching
Redis is an in-memory key-value store which can operate in LRU cache mode. To use it, you need Redis server and phpredis PHP extension.
Config options to connect to redis server stored in the cache configuration file. Available options are:
<?php
namespace Config;
use CodeIgniter\Config\BaseConfig;
class Cache extends BaseConfig
{
// ...
public $redis = [
'host' => '<IP_ADDRESS>',
'password' => null,
'port' => 6379,
'timeout' => 0,
'database' => 0,
];
// ...
}
For more information on Redis, please see https://redis.io.
Predis Caching
Predis is a flexible and feature-complete PHP client library for the Redis key-value store. To use it, from the command line inside your project root:
composer require predis/predis
For more information on Redis, please see https://github.com/nrk/predis.
Dummy Cache
This is a caching backend that will always ‘miss.’ It stores no data, but lets you keep your caching code in place in environments that don’t support your chosen cache.


Resthaven Aged Care Redevelopment
Murray Bridge, SA
The Resthaven Murray Bridge redevelopment represents more than additional aged care beds and jobs for the community. Over 4 stages, the project improved facilities, landscaping, service upgrades, a new community building, impressive reception and administration area, café, hairdresser, shop and library. This expansion and upgrade positively strengthens Resthaven’s presence in the community, turning the Murray Bridge facility, into a landmark. WCG CONSTRUCTIONS was contracted to build the building's structural framework.


Installation Environments¶
Singularity on HPC¶
One of the architecturally defined features in Singularity is that it can execute containers like they are native programs or scripts on a host computer. As a result, integration with schedulers is simple and runs exactly as you would expect. All standard input, output, error, pipes, IPC, and other communication pathways that locally running programs employ are synchronized with the applications running locally within the container. Additionally, because Singularity is not emulating a full hardware level virtualization paradigm, there is no need to separate out any sandboxed networks or file systems because there is no concept of user-escalation within a container. Users can run Singularity containers just as they run any other program on the HPC resource.
Workflows¶
We are in the process of developing Singularity Hub, which will allow for generation of workflows using Singularity containers in an online interface, and easy deployment on standard research clusters (e.g., SLURM, SGE). Currently, the Singularity core software is installed on the following research clusters, meaning you can run Singularity containers as part of your jobs:
SDSC Comet and Gordon (XSEDE)
MASSIVE M1 M2 and M3 (Monash University and Australian National Merit Allocation Scheme)
Integration with MPI¶
Another result of the Singularity architecture is the ability to properly integrate with the Message Passing Interface (MPI). Work has already been done for out of the box compatibility with Open MPI (both in Open MPI v2.1.x as well as part of Singularity). The Open MPI/Singularity workflow works as follows:
mpirun is called by the resource manager or the user directly from a shell
Open MPI then calls the process management daemon (ORTED)
The ORTED process launches the Singularity container requested by the mpirun command
Singularity builds the container and namespace environment
Singularity then launches the MPI application within the container
The MPI application launches and loads the Open MPI libraries
The Open MPI libraries connect back to the ORTED process via the Process Management Interface (PMI)
At this point the processes within the container run as they would normally directly on the host.
This entire process happens behind the scenes, and from the user’s perspective running via MPI is as simple as just calling mpirun on the host as they would normally. Below are example snippets of building and installing OpenMPI into a container and then running an example MPI program through Singularity.
MPI Development Example¶
What are supported Open MPI Version(s)? To achieve proper container’ized Open MPI support, you should use Open MPI version 2.1. There are however three caveats:
Open MPI 1.10.x may work but we expect you will need exactly matching version of PMI and Open MPI on both host and container (the 2.1 series should relax this requirement)
Open MPI 2.1.0 has a bug affecting compilation of libraries for some interfaces (particularly Mellanox interfaces using libmxm are known to fail). If your in this situation you should use the master branch of Open MPI rather than the release.
Using Open MPI 2.1 does not magically allow your container to connect to networking fabric libraries in the host. If your cluster has, for example, an infiniband network you still need to install OFED libraries into the container. Alternatively you could bind mount both Open MPI and networking libraries into the container, but this could run afoul of glib compatibility issues (its generally OK if the container glibc is more recent than the host, but not the other way around)
Code Example using Open MPI 2.1.0 Stable¶
$ # Include the appropriate development tools into the container (notice we are calling
$ # singularity as root and the container is writable)
$ sudo singularity exec -w /tmp/Centos-7.img yum groupinstall "Development Tools"
$
$ # Obtain the development version of Open MPI
$ wget https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.1.0.tar.bz2
$ tar jtf openmpi-2.1.0.tar.bz2
$ cd openmpi-2.1.0
$
$ singularity exec /tmp/Centos-7.img ./configure --prefix=/usr/local
$ singularity exec /tmp/Centos-7.img make
$
$ # Install OpenMPI into the container (notice now running as root and container is writable)
$ sudo singularity exec -w -B /home /tmp/Centos-7.img make install
$
$ # Build the OpenMPI ring example and place the binary in this directory
$ singularity exec /tmp/Centos-7.img mpicc examples/ring_c.c -o ring
$
$ # Install the MPI binary into the container at /usr/bin/ring
$ sudo singularity copy /tmp/Centos-7.img ./ring /usr/bin/
$
$ # Run the MPI program within the container by calling the MPIRUN on the host
$ mpirun -np 20 singularity exec /tmp/Centos-7.img /usr/bin/ring
Code Example using Open MPI git master¶
The previous example (using the Open MPI 2.1.0 stable release) should work fine on most hardware but if you have an issue, try running the example below (using the Open MPI Master branch):
$ # Include the appropriate development tools into the container (notice we are calling
$ # singularity as root and the container is writable)
$ sudo singularity exec -w /tmp/Centos-7.img yum groupinstall "Development Tools"
$
$ # Clone the OpenMPI GitHub master branch in current directory (on host)
$ git clone https://github.com/open-mpi/ompi.git
$ cd ompi
$
$ # Build OpenMPI in the working directory, using the tool chain within the container
$ singularity exec /tmp/Centos-7.img ./autogen.pl
$ singularity exec /tmp/Centos-7.img ./configure --prefix=/usr/local
$ singularity exec /tmp/Centos-7.img make
$
$ # Install OpenMPI into the container (notice now running as root and container is writable)
$ sudo singularity exec -w -B /home /tmp/Centos-7.img make install
$
$ # Build the OpenMPI ring example and place the binary in this directory
$ singularity exec /tmp/Centos-7.img mpicc examples/ring_c.c -o ring
$
$ # Install the MPI binary into the container at /usr/bin/ring
$ sudo singularity copy /tmp/Centos-7.img ./ring /usr/bin/
$
$ # Run the MPI program within the container by calling the MPIRUN on the host
$ mpirun -np 20 singularity exec /tmp/Centos-7.img /usr/bin/ring
Process 0 sending 10 to 1, tag 201 (20 processes in ring)
Process 0 sent to 1
Process 0 decremented value: 9
Process 0 decremented value: 8
Process 0 decremented value: 7
Process 0 decremented value: 6
Process 0 decremented value: 5
Process 0 decremented value: 4
Process 0 decremented value: 3
Process 0 decremented value: 2
Process 0 decremented value: 1
Process 0 decremented value: 0
Process 0 exiting
Process 1 exiting
Process 2 exiting
Process 3 exiting
Process 4 exiting
Process 5 exiting
Process 6 exiting
Process 7 exiting
Process 8 exiting
Process 9 exiting
Process 10 exiting
Process 11 exiting
Process 12 exiting
Process 13 exiting
Process 14 exiting
Process 15 exiting
Process 16 exiting
Process 17 exiting
Process 18 exiting
Process 19 exiting
Image Environment¶
Directory access¶
By default Singularity tries to create a seamless user experience between the host and the container. To do this, Singularity makes various locations accessible within the container automatically. For example, the user’s home directory is always bound into the container as is /tmp and /var/tmp. Additionally your current working directory (cwd/pwd) is also bound into the container iff it is not an operating system directory or already accessible via another mount. For almost all cases, this will work flawlessly as follows:
$ pwd
/home/gmk/demo
$ singularity shell container.img
Singularity/container.img> pwd
/home/gmk/demo
Singularity/container.img> ls -l debian.def
-rw-rw-r--. 1 gmk gmk 125 May 28 10:35 debian.def
Singularity/container.img> exit
$
For directory binds to function properly, there must be an existing
target endpoint within the container (just like a mount point). This
means that if your home directory exists in a non-standard base
directory like “/foobar/username” then the base directory “/foobar”
must already exist within the container.
Singularity will not create these base directories! You must enter the
container with the option --writable
being set, and create the directory
manually.
Current Working Directory¶
Singularity will try to replicate your current working directory within the container. Sometimes this is straight forward and possible, other times it is not (e.g. if the base dir of your current working directory does not exist). In that case, Singularity will retain the file descriptor to your current directory and change you back to it. If you do a ‘pwd’ within the container, you may see some weird things. For example:
$ pwd
/foobar
$ ls -l
total 0
-rw-r--r--. 1 root root 0 Jun 1 11:32 mooooo
$ singularity shell ~/demo/container.img
WARNING: CWD bind directory not present: /foobar
Singularity/container.img> pwd
(unreachable)/foobar
Singularity/container.img> ls -l
total 0
-rw-r--r--. 1 root root 0 Jun 1 18:32 mooooo
Singularity/container.img> exit
$
But notice how even though the directory location is not resolvable, the directory contents are available.
Standard IO and pipes¶
Singularity automatically sends and receives all standard IO from the host to the applications within the container to facilitate expected behavior from the interaction between the host and the container. For example:
$ cat debian.def | singularity exec container.img grep 'MirrorURL'
MirrorURL "http://ftp.us.debian.org/debian/"
$
Making changes to the container (writable)
By default, containers are accessed as read only. This is both to enable parallel container execution (e.g. MPI). To enter a container using exec, run, or shell you must pass the --writable flag in order to open the image as read/writable.
Containing the container¶
By providing the argument --contain
to exec
, run
or shell
you will find that shared directories
are no longer shared. For example, the user’s home directory is
writable, but it is non-persistent between non-overlapping runs.
License¶
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
(1) Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
(2) Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
(3) Neither the name of the University of California, Lawrence Berkeley
National Laboratory, U.S. Dept. of Energy nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.

You are under no obligation whatsoever to provide any bug fixes, patches, or
upgrades to the features, functionality or performance of the source code
("Enhancements") to anyone; however, if you choose to make your Enhancements
available either publicly, or directly to Lawrence Berkeley National
Laboratory, without imposing a separate written license agreement for such
Enhancements, then you hereby grant the following license: a non-exclusive,
royalty-free perpetual license to install, use, modify, prepare derivative
works, incorporate into other computer software, distribute, and sublicense
such enhancements or derivative works thereof, in binary and source code form.
If you have questions about your rights to use or distribute this software,
please contact Berkeley Lab's Innovation & Partnerships Office at
<EMAIL_ADDRESS>NOTICE. This Software was developed under funding from the U.S. Department of
Energy and the U.S. Government consequently retains certain rights. As such,
the U.S. Government has been granted for itself and others acting on its
behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software
to reproduce, distribute copies to the public, prepare derivative works, and
perform publicly and display publicly, and to permit other to do so.
In layman terms…¶
In addition to the (already widely used and very free open source) standard BSD 3 clause license, there is also wording specific to contributors which ensures that we have permission to release, distribute and include a particular contribution, enhancement, or fix as part of Singularity proper. For example any contributions submitted will have the standard BSD 3 clause terms (unless specifically and otherwise stated) and that the contribution is comprised of original new code that the contributor has authority to contribute.


struct::prioqueue - Create and manipulate prioqueue objects
This package implements a simple priority queue using nested tcl lists.
The command ::struct::prioqueue creates a new priority queue with default priority key type -integer. This means that keys given to the put subcommand must have this type.
This also sets the priority ordering. For key types -ascii and -dictionary the data is sorted in ascending order (as with lsort -increasing), thereas for -integer and -real the data is sorted in descending order (as with lsort -decreasing).
Prioqueue names are unrestricted, but may be recognized as options if no priority type is given.
The ::struct::prioqueue command creates a new prioqueue object with an associated global Tcl command whose name is prioqueueName. This command may be used to invoke various operations on the prioqueue. It has the following general form:
option and the args determine the exact behavior of the command. The following commands are possible for prioqueue objects:
Remove all items from the prioqueue.
Remove the selected item from this priority queue.
Destroy the prioqueue, including its storage space and associated command.
Return the front count items of the prioqueue (but not their priorities) and remove them from the prioqueue. If count is not specified, it defaults to 1. If count is 1, the result is a simple string; otherwise, it is a list. If specified, count must be greater than or equal to 1. If there are no or too few items in the prioqueue, this command will throw an error.
Return the front count items of the prioqueue (but not their priorities), without removing them from the prioqueue. If count is not specified, it defaults to 1. If count is 1, the result is a simple string; otherwise, it is a list. If specified, count must be greater than or equal to 1. If there are no or too few items in the queue, this command will throw an error.
Return the front count items priority keys, without removing them from the prioqueue. If count is not specified, it defaults to 1. If count is 1, the result is a simple string; otherwise, it is a list. If specified, count must be greater than or equal to 1. If there are no or too few items in the queue, this command will throw an error.
Put the item or items specified into the prioqueue. prio must be a valid priority key for this type of prioqueue, otherwise an error is thrown and no item is added. Items are inserted at their priority ranking. Items with equal priority are added in the order they were added.
Return the number of items in the prioqueue.
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category struct :: prioqueue of the Tcllib Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.
When proposing code changes, please provide unified diffs, i.e the output of diff -u.
Note further that attachments are strongly preferred over inlined patches. Attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.
Data structures
Copyright © 2003 Michael Schlenker <mic42@users.sourceforge.net>


{% trans "Booking form" as metadata_custom_label %}
{% include "respa_admin/forms/_select.html" with field=form.authentication %}
{% include "respa_admin/forms/_select.html" with field=form.generic_terms %}
{% include "respa_admin/forms/_select.html" with field=form.payment_terms %}
{% include "respa_admin/forms/_select.html" with field=form.reservation_metadata_set custom_label=metadata_custom_label %}
{% include "respa_admin/forms/_select.html" with field=form.access_code_type %}
{% include "respa_admin/forms/_textarea_input.html" with field=form.specific_terms_fi %}
{% include "respa_admin/forms/_textarea_input.html" with field=form.specific_terms_en %}
{% include "respa_admin/forms/_textarea_input.html" with field=form.specific_terms_sv %}
{% trans "Pricing" %}
{% trans "The space is free of charge" %}
{% include "respa_admin/forms/_input.html" with field=form.min_price prefix_icon="euro" %}
{% include "respa_admin/forms/_input.html" with field=form.max_price prefix_icon="euro" %}
{% include "respa_admin/forms/_select.html" with field=form.price_type %}


About us
Mission
- Our Mission is to provide high quality print services to our clients with timely delivery and customer satisfaction. The passion we have for our work enables us to undertake of our clients jobs. We constantly strive to deliver the highest-quality products possible. There is no greater satisfaction than delivering a finished product that helps a client reach their goals and objectives.
Vision
- Our Vision is to become the leading printing company in Kenya by providing high quality and reliable service to our clientele. We make use of the finest quality materials in the production of client orders ensuring quality, consistency and timely delivery. We strive to always be there with quick and expert advice, friendly customer service. Our goal is to meet and exceed your expectations.
What we are
- Executive Printing Works Ltd was established in the late 1970’s, and is now recognised as one of the leading printing presses in Nairobi, Kenya. We are conveniently located in the city of Nairobi and currently employ over 50 highly-trained production and administrative staff. Executive has earned a good reputation in promptness, product quality and pricing standards and has delivered the very best to its customers. Executive sees itself as a part of the broader enterprise and looks to develop long-term mutually beneficial business relationship. We are committed to provide reliable and professional service at all times.
- Our four colour presses offer the state of the art facilities for full colour offset printing, giving cost effective production, print and finishing all under one roof. We are currently serving the East African Market (Kenya, Tanzania, Uganda and Rwanda). Our market ranges from printing simple one-colour jobs, 2 colour high quality printing to full colour complex printing jobs, ensuring quality, consistency and timely delivery. These attributes have now become a part of our culture, which focuses on customer satisfaction.
- Our State-of-the art machinery, technology, commitment and dedication from our staff and highly developed systems are key factors that play a major role in our success. With our years of experience, we command the very best rates and top levels of service to our individual, corporate and international clients.
What we do
- Artworks & Design, Annual Reports, Books, Boxes, Brochures, Business Cards, Calendars, Catalogues, Certificates, Colour Printing, Complimentary Slips, Diaries, Die Cutting, Die Stamping, Digital Prints, Door Hangers, Embossing, Envelopes, Flyers, Folders, Greeting Cards, Hot Foiling, Inserts, Invitations, Labels, Lamination, Leaflets, Letterheads, Magazines, Menus, Newsletters, Note Books, Pads, Posters, Post Cards, Raffle Tickets, Receipt Books, Shelf Strips, Stationery, Stickers, UV Coating, Wedding Cards, Wobblers
Executive Printing Works Ltd has the facilities to undertake commercial printing for all the segments of the industry. We undertake orders to produce the following in our diverse facility press:
Services
Digital Printing
Digital printing refers to methods of printing from a digital based image directly to a variety of media. It usually refers to professional printing where small run jobs from desktop publishing and other digital sources are printed using large format and/or high volume laser or inkjet printers. Digital printing has a higher cost per page than more traditional offset printing methods but this price is usually offset by the cost saving in avoiding all the technical steps in between needed to make printing plates. Digital Printing also allows for on demand printing, short turn around, and even a modification of the image (variable data) with each impression.
We have integrated digital printing with quality and colour management software to generate the highest quality at reasonable prices. With our varied paper range and innovative product knowledge, we also offer to a niche market segment who look forward for unique features in printing.
Benefits Of Digital Printing
- Short Run Print Jobs
- Variable Data Printing
- Time Saving as the prints are produced almost instantly
- Low Cost
- Top Quality
As techonlogy advances almost on a daily basis, design concepts has been at the forefront of the digital revolution with arrangements in the latest in technology. With our extensive digital printing experience we don’t rest on our laurels; we are constantly evaluating customer requirements so that we stay ahead of the market by utilising the most powerful personalisation tools in digital print with our latest Ricoh C7100X digital printing machine, our customers enjoy shorter lead times and greater flexibility, whether it is personalised products or on-demand printing, we offer high quality Digital Printing as a value priced alternative to our offset printing process.
It is suitable for short or medium quantity runs, such as presentation produNimesahau1 cts, business cards and samples. The main advantage of our digital printing is quick turnaround times. We also offer finishing applications to the products such as saddle stitching of booklets and lamination of business cards. The other advantage of Digital Printing is small print quantities which save the overall cost compared to offset printing. Variable data printing is the biggest advantage with digital printing. Personalisation is the new trend in marketing. You can now custom print every design and present it to any individual according to their taste and requirement.
Our On-Demand Variable Data Printing equipment has got it covered. Black & White or Colour, is no problem. Both presses produce the highest quality digital printing available and also offer the flexibility of variable data printing and processing for all your mailing needs. Get what you need, when you need it with our Zero Waste On-Demand & Variable Data Printing services.
Our New Ricoh 7100X Pro™ Series Machine takes digital printing to the next Level!
- Printing on materials up to 400 gms thick (20 Pt Cover), even with duplex printing
- 1200 X 4800 dpi resolution with Pantone matching capability
- Superior toner transfer to textured stocks including vellums, laid and linen finishes
- A larger format printing capability of 27.5” inches wide by 13” tall
- Printing on specialty media, including gloss, metallic, coated, transparent and other synthetic materials such as viny
- Printing of ENVELOPES (this one is a game changer)
- Inline book binding (saddle-stitching)
Ricoh 7100px pro series machine.
Our Corporate Clients
We have a vast range of clients in Nairobi, all over Kenya and East Africa. Some of our corporate clients include:
- Alison Products (Kenya) Ltd
- Amadeus Global Travel Distribution
- Computer Revolution Africa Ltd
- Gesellschaft für Internationale Zusammenarbeit (GIZ)
- Jubilee Insurance Company of Kenya Ltd
- United Nations / World Food Programme
- various Advertising Agencies
- various Banks
- various Consulates / Embassies
- various Local & East African Hotels and Lodges
- various Travel & Tour Companies
.....among others.


CIX Forums Menu
Previous
Top
Next
This menu gives access to a number of functions specific to CIX Forums.
This is a Hot Spot image. Move your mouse pointer over the image
and when the mouse pointer changes to the shape of a hand click
the left mouse button once for extra help.


'cc<country name>
To get Stats about Country Cases (By default India)
'cc<country name>
To get Stats about Country Cases (By default India)
'cvac
To Get Info About Vaccination
'cmed
To Get Info About Basic Medicines
'addl <name>/<state>/<city>/<contact no.>/<lead>
Format of adding Leads
'get leads
To get the list of all the Details of Person Providing Leads
Which is Verified By Admin.
'getall uv
To get the list of all the Details of Person Providing Leads both
Verified or Unverified
'addn <name>/<state>/<city>/<contact no.>/<need>
Format of adding Needs
'get needs
To get the list of all the Details of Person asking for Resources
'spod
To Get NASA's Photo of the Day
'ssearch
To Search about Space
'gq
To get your Favourite Inspirational Quote
'anime <anime name>
To get Anime Ratings,Episode Count, Release date , Storyline and
much more!
'manga <name>
To get Manga Ratings, Chapter count and Storyline of the Manga
'news <opic>
To get News Related to That Topic
'wall
To get your Wallpapers
'wall <word>
To get your Wallpaper related to that Word


| Date | Profile | Application Status | No. of Applicants | |
|---|---|---|---|---|
| 11th Nov 2016 | Web Development | Applied | 87 | View Application |
| 11th Nov 2016 | Web Development | Shortlisted | 480 | View Application |
| 11th Nov 2016 | Web Development | Applied | 41 | View Application |
New notification
| Date | Profile | Application Status | No. of Applicants | |
|---|---|---|---|---|
| 11th Nov 2016 | Web Development | Applied | 87 | View Application |
| 11th Nov 2016 | Web Development | Shortlisted | 480 | View Application |
| 11th Nov 2016 | Web Development | Applied | 41 | View Application |
Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.


Google Travel - Maps.
Worked on FireOS OTA Update Team to help build infastructure to support External Betas for Consumer Devices. Built out frontend and backend for self-service tools that will allow Technical Program Managers to update consumer devices and see the distribution of consumer devices in various external beta pools. Used Java (3k lines), Python (2k lines), AngularJS (1k lines), and ReactJS (1k lines)
Created infrastructure to analyze latency on fiber-optic taps in the trading environments. Created automation scripts to aggregate latency and trade data. Tuned a Neural Net model based on trade data to assist high frequency traders internally
Conducted Android Application demos for over 25 students. Aided a class of 350+ students with their questions about Android Development and Best Software Engineering Practices. Held office hours, 4 hours a week, to help students build their application.
Worked on the front-end and back-end of a major ASP.NET Web Application. Created user-focused Javascript scripts to aid with the registration process and overall flow of website. Worked on C# backend to add new onboarding features based on what clients requested. Attended weekly Agile meetings to discuss new features with clients and better ways to accomplish the tasks at hand.
GPA: 3.94
GPA: 3.97
Apart from being a student, I enjoy investing and reading up on politics. I have a deep passion for economics and finance, which drives my interest to invest. I seek to combine my CS knowledge into a financial driven script/application in my everyday life; whether this be a trading bot or a visiualization for various metrics. I am also very interested in politics and geopolitical issues that plague our world, in High School I used this passion to lead my Model United Nations team through conferences around the state and nation.
I spend a lot of my free time reading up on sports I follow like: Football, Soccer, and Basketball. I also love to play golf, but as a student its hard to find the time.


brod vmaster brod
Link to this section Summary
Types
fold always returns when reaches the high watermark offset fold also returns when any of the limits is hit
OffsetToContinue: begin offset for the next fold call
Functions
Connect to consumer group coordinator broker. Done in steps: 1) connect to any of the given bootstrap ednpoints; 2) send group_coordinator_request to resolve group coordinator endpoint;; 3) connect to the resolved endpoint and return the connection pid
Connect partition leader.
Create topic(s) in kafka Return the message body of create_topics
, response. See kpro_schema.erl
for struct details
Delete topic(s) from kafka Return the message body of delete_topics
, response. See kpro_schema.erl
for struct details
Describe consumer groups. The given consumer group IDs should be all managed by the coordinator-broker running at the given endpoint. Otherwise error codes will be returned in the result structs. Return describe_groups
response body field named groups
. See kpro_schema.erl
for struct details
Fetch a single message set from the given topic-partition. The first arg can either be an already established connection to leader, or {Endpoints, ConnConfig}
so to establish a new connection before fetch.
Fetch a single message set from the given topic-partition. The first arg can either be an already established connection to leader, or {Endpoints, ConnConfig}
so to establish a new connection before fetch.
Same as fetch_committed_offsets/3
, but works with a started brod_client
Fetch committed offsets for ALL topics in the given consumer group. Return the responses
field of the offset_fetch
response. See kpro_schema.erl
for struct details.
Fold through messages in a partition. Works like lists:foldl/2
but with below stop conditions: Always return after reach high watermark offset Return after the given message count limit is reached Return after the given kafka offset is reached. Return if the FoldFun
returns an {error, Reason}
tuple. NOTE: Exceptions from evaluating FoldFun
are not caught.
Fetch broker metadata Return the message body of metadata
response. See kpro_schema.erl
for details
Fetch broker/topic metadata Return the message body of metadata
response. See kpro_schema.erl
for struct details
Fetch broker/topic metadata Return the message body of metadata
response. See kpro_schema.erl
for struct details
Get number of partitions for a given topic. The higher level producers may need the partition numbers to find the partition producer pid --- if the number of partitions is not statically configured for them. It is up to the callers how they want to distribute their data (e.g. random, roundrobin or consistent-hashing) to the partitions.
List ALL consumer groups in the given kafka cluster. NOTE: Exception if failed to connect any of the coordinator brokers.
List consumer groups in the given group coordinator broker.
Produce one message if Value is binary or iolist, Or send a batch if Value is a (nested) kv-list or a list of maps, in this case Key is discarded (only the keys in kv-list are sent to kafka). The pid should be a partition producer pid, NOT client pid. The return value is a call reference of type call_ref()
, so the caller can used it to expect (match) a #brod_produce_reply{result = brod_produce_req_acked}
message after the produce request has been acked by kafka.
Produce one message if Value is binary or iolist, Or send a batch if Value is a (nested) kv-list or a list of maps, in this case Key is used only for partitioning, or discarded if the 3rd arg is a partition number instead of a partitioner callback. This function first lookup the producer pid, then call produce/3
to do the real work. The return value is a call reference of type call_ref()
, so the caller can used it to expect (match) a #brod_produce_reply{result = brod_produce_req_acked}
message after the produce request has been acked by kafka.
Same as produce/3
only the ack is not delivered as a message, instead, the callback is evaluated by producer worker when ack is received from kafka.
Same as produce/5
only the ack is not delivered as a message, instead, the callback is evaluated by producer worker when ack is received from kafka. Return the partition to caller as {ok, Partition}
for caller to correlate the callback when the 3rd arg is not a partition number.
Find the partition worker and send message without any ack. NOTE: This call has no back-pressure to the caller, excessive usage may cause beam to run out of memory.
Sync version of produce/3 This function will not return until a response is received from kafka, however if producer is started with required_acks set to 0, this function will return onece the messages is buffered in the producer process.
Sync version of produce/5 This function will not return until a response is received from kafka, however if producer is started with required_acks set to 0, this function will return once the messages are buffered in the producer process.
Version of produce_sync/5 that returns the offset assigned by Kafka If producer is started with required_acks set to 0, the offset will be ?BROD_PRODUCE_UNKNOWN_OFFSET
.
Resolve semantic offset or timestamp to real offset.
Resolve semantic offset or timestamp to real offset.
Start brod application.
Application behaviour callback
Start a client.
Dynamically start a topic consumer.
Start group_subscriber_v2
Dynamically start a per-topic producer.
Stop brod application.
Application behaviour callback
Stop a client.
Subscribe data stream from the given topic-partition. If {error, Reason} is returned, the caller should perhaps retry later. {ok, ConsumerPid} is returned if success, the caller may want to monitor the consumer pid to trigger a re-subscribe in case it crashes.
Block wait for sent produced request to be acked by kafka.
As sync_produce_request_offset/1, but also returning assigned offset See produce_sync_offset/5.
Unsubscribe the current subscriber. Assuming the subscriber is self().
Unsubscribe the current subscriber.
Unsubscribe the current subscriber. Assuming the subscriber is self().
Unsubscribe the current subscriber.
Link to this section Types
consumer_option()
consumer_option() :: begin_offset | min_bytes | max_bytes | max_wait_time | sleep_timeout | prefetch_count | prefetch_bytes | offset_reset_policy | size_stat_window.
fold_fun(var)
fold always returns when reaches the high watermark offset fold also returns when any of the limits is hit
fold_limits()
fold_limits() :: #{message_count => pos_integer(), reach_offset => offset()}.
fold_result()
fold_result() :: {fold_acc(), OffsetToContinue :: offset(), fold_stop_reason()}.
fold_stop_reason()
fold_stop_reason() :: reached_end_of_partition | reached_message_count_limit | reached_target_offset | {error, any()}.
OffsetToContinue: begin offset for the next fold call
group_member()
group_member() :: {group_member_id(), #kafka_group_member_metadata{}}.
partition_fun()
produce_result()
produce_result() :: brod_produce_req_buffered | brod_produce_req_acked.
value()
Link to this section Functions
connect_group_coordinator/3
connect_group_coordinator([endpoint()], conn_config(), group_id()) -> {ok, pid()} | {error, any()}.
Connect to consumer group coordinator broker. Done in steps: 1) connect to any of the given bootstrap ednpoints; 2) send group_coordinator_request to resolve group coordinator endpoint;; 3) connect to the resolved endpoint and return the connection pid
connect_leader/4
connect_leader([endpoint()], topic(), partition(), conn_config()) -> {ok, pid()}.
Connect partition leader.
consume_ack/4
create_topics/3
create_topics([endpoint()], [topic_config()], #{timeout => kpro:int32(), validate_only => boolean()}) -> {ok, kpro:struct()} | {error, any()}.
create_topics/4
create_topics([endpoint()], [topic_config()], #{timeout => kpro:int32(), validate_only => boolean()}, conn_config()) -> {ok, kpro:struct()} | {error, any()}.
Create topic(s) in kafka Return the message body of create_topics
, response. See kpro_schema.erl
for struct details
delete_topics/3
delete_topics([endpoint()], [topic()], pos_integer()) -> {ok, kpro:struct()} | {error, any()}.
delete_topics/4
delete_topics([endpoint()], [topic()], pos_integer(), conn_config()) -> {ok, kpro:struct()} | {error, any()}.
Delete topic(s) from kafka Return the message body of delete_topics
, response. See kpro_schema.erl
for struct details
describe_groups/3
describe_groups(endpoint(), conn_config(), [group_id()]) -> {ok, [kpro:struct()]} | {error, any()}.
Describe consumer groups. The given consumer group IDs should be all managed by the coordinator-broker running at the given endpoint. Otherwise error codes will be returned in the result structs. Return describe_groups
response body field named groups
. See kpro_schema.erl
for struct details
fetch/4
Fetch a single message set from the given topic-partition. The first arg can either be an already established connection to leader, or {Endpoints, ConnConfig}
so to establish a new connection before fetch.
fetch/5
fetch(connection() | client_id() | bootstrap(), topic(), partition(), offset(), fetch_opts()) -> {ok, {HwOffset :: offset(), [message()]}} | {error, any()}.
Fetch a single message set from the given topic-partition. The first arg can either be an already established connection to leader, or {Endpoints, ConnConfig}
so to establish a new connection before fetch.
fetch/7
fetch([endpoint()], topic(), partition(), offset(), non_neg_integer(), non_neg_integer(), pos_integer()) -> {ok, [message()]} | {error, any()}.
fetch/8
fetch([endpoint()], topic(), partition(), offset(), non_neg_integer(), non_neg_integer(), pos_integer(), conn_config()) -> {ok, [message()]} | {error, any()}.
fetch_committed_offsets/2
Same as fetch_committed_offsets/3
, but works with a started brod_client
fetch_committed_offsets/3
fetch_committed_offsets([endpoint()], conn_config(), group_id()) -> {ok, [kpro:struct()]} | {error, any()}.
Fetch committed offsets for ALL topics in the given consumer group. Return the responses
field of the offset_fetch
response. See kpro_schema.erl
for struct details.
fold/8
fold(connection() | client_id() | bootstrap(), topic(), partition(), offset(), fetch_opts(), Acc, fold_fun(Acc), fold_limits()) -> fold_result() when Acc :: fold_acc().
Fold through messages in a partition. Works like lists:foldl/2
but with below stop conditions: Always return after reach high watermark offset Return after the given message count limit is reached Return after the given kafka offset is reached. Return if the FoldFun
returns an {error, Reason}
tuple. NOTE: Exceptions from evaluating FoldFun
are not caught.
get_consumer/3
get_metadata/1
Fetch broker metadata Return the message body of metadata
response. See kpro_schema.erl
for details
get_metadata/2
Fetch broker/topic metadata Return the message body of metadata
response. See kpro_schema.erl
for struct details
get_metadata/3
get_metadata([endpoint()], all | [topic()], conn_config()) -> {ok, kpro:struct()} | {error, any()}.
Fetch broker/topic metadata Return the message body of metadata
response. See kpro_schema.erl
for struct details
get_partitions_count/2
get_partitions_count(client(), topic()) -> {ok, pos_integer()} | {error, any()}.
Get number of partitions for a given topic. The higher level producers may need the partition numbers to find the partition producer pid --- if the number of partitions is not statically configured for them. It is up to the callers how they want to distribute their data (e.g. random, roundrobin or consistent-hashing) to the partitions.
get_producer/3
list_all_groups/2
list_all_groups([endpoint()], conn_config()) -> [{endpoint(), [cg()] | {error, any()}}].
List ALL consumer groups in the given kafka cluster. NOTE: Exception if failed to connect any of the coordinator brokers.
list_groups/2
list_groups(endpoint(), conn_config()) -> {ok, [cg()]} | {error, any()}.
List consumer groups in the given group coordinator broker.
produce/3
Produce one message if Value is binary or iolist, Or send a batch if Value is a (nested) kv-list or a list of maps, in this case Key is discarded (only the keys in kv-list are sent to kafka). The pid should be a partition producer pid, NOT client pid. The return value is a call reference of type call_ref()
, so the caller can used it to expect (match) a #brod_produce_reply{result = brod_produce_req_acked}
message after the produce request has been acked by kafka.
produce/5
Produce one message if Value is binary or iolist, Or send a batch if Value is a (nested) kv-list or a list of maps, in this case Key is used only for partitioning, or discarded if the 3rd arg is a partition number instead of a partitioner callback. This function first lookup the producer pid, then call produce/3
to do the real work. The return value is a call reference of type call_ref()
, so the caller can used it to expect (match) a #brod_produce_reply{result = brod_produce_req_acked}
message after the produce request has been acked by kafka.
produce_cb/4
produce_cb(pid(), key(), value(), produce_ack_cb()) -> ok | {error, any()}.
Same as produce/3
only the ack is not delivered as a message, instead, the callback is evaluated by producer worker when ack is received from kafka.
produce_cb/6
produce_cb(client(), topic(), partition() | partitioner(), key(), value(), produce_ack_cb()) -> ok | {ok, partition()} | {error, any()}.
Same as produce/5
only the ack is not delivered as a message, instead, the callback is evaluated by producer worker when ack is received from kafka. Return the partition to caller as {ok, Partition}
for caller to correlate the callback when the 3rd arg is not a partition number.
produce_no_ack/5
Find the partition worker and send message without any ack. NOTE: This call has no back-pressure to the caller, excessive usage may cause beam to run out of memory.
Sync version of produce/3 This function will not return until a response is received from kafka, however if producer is started with required_acks set to 0, this function will return onece the messages is buffered in the producer process.
produce_sync/5
Sync version of produce/5 This function will not return until a response is received from kafka, however if producer is started with required_acks set to 0, this function will return once the messages are buffered in the producer process.
produce_sync_offset/5
Version of produce_sync/5 that returns the offset assigned by Kafka If producer is started with required_acks set to 0, the offset will be ?BROD_PRODUCE_UNKNOWN_OFFSET
.
resolve_offset/3
resolve_offset/4
Resolve semantic offset or timestamp to real offset.
resolve_offset/5
resolve_offset([endpoint()], topic(), partition(), offset_time(), conn_config()) -> {ok, offset()} | {error, any()}.
Resolve semantic offset or timestamp to real offset.
Start brod application.
start/2
Application behaviour callback
start_client/2
start_client/3
start_client([endpoint()], client_id(), client_config()) -> ok | {error, any()}.
Start a client.
BootstrapEndpoints: Kafka cluster endpoints, can be any of the brokers in the cluster which does not necessarily have to be a leader of any partition, e.g. a load-balanced entrypoint to the remote kakfa cluster.
ClientId: Atom to identify the client process.
Config is a proplist, possible values: restart_delay_seconds (optional, default=10) How much time to wait between attempts to restart brod_client process when it crashes
get_metadata_timeout_seconds (optional, default=5) Return {error, timeout}
from brod_client:get_xxx
calls if responses for APIs such as metadata
, find_coordinator
is not received in time.
reconnect_cool_down_seconds (optional, default=1) Delay this configured number of seconds before retrying to estabilish a new connection to the kafka partition leader.
allow_topic_auto_creation (optional, default=true) By default, brod respects what is configured in broker about topic auto-creation. i.e. whatever auto.create.topics.enable
is set in broker configuration. However if allow_topic_auto_creation
is set to false
in client config, brod will avoid sending metadata requests that may cause an auto-creation of the topic regardless of what broker config is.
auto_start_producers (optional, default=false) If true, brod client will spawn a producer automatically when user is trying to call produce
but did not call brod:start_producer
explicitly. Can be useful for applications which don't know beforehand which topics they will be working with.
default_producer_config (optional, default=[]) Producer configuration to use when auto_start_producers is true.
start_consumer/3
start_consumer(client(), topic(), consumer_config()) -> ok | {error, any()}.
Dynamically start a topic consumer.
start_link_client/1
start_link_client/2
start_link_client/3
start_link_client([endpoint()], client_id(), client_config()) -> {ok, pid()} | {error, any()}.
start_link_group_subscriber/7
start_link_group_subscriber(client(), group_id(), [topic()], group_config(), consumer_config(), module(), term()) -> {ok, pid()} | {error, any()}.
start_link_group_subscriber/8
start_link_group_subscriber(client(), group_id(), [topic()], group_config(), consumer_config(), message | message_set, module(), term()) -> {ok, pid()} | {error, any()}.
start_link_group_subscriber_v2/1
Start group_subscriber_v2
start_link_topic_subscriber/5
start_link_topic_subscriber/6
start_link_topic_subscriber/7
start_producer/3
start_producer(client(), topic(), producer_config()) -> ok | {error, any()}.
Dynamically start a per-topic producer.
Stop brod application.
stop/1
Application behaviour callback
Stop a client.
subscribe/3
subscribe(pid(), pid(), consumer_options()) -> ok | {error, any()}.
subscribe/5
Subscribe data stream from the given topic-partition. If {error, Reason} is returned, the caller should perhaps retry later. {ok, ConsumerPid} is returned if success, the caller may want to monitor the consumer pid to trigger a re-subscribe in case it crashes.
If subscribed successfully, the subscriber process should expect messages of pattern: {ConsumerPid, #kafka_message_set{}} and {ConsumerPid, #kafka_fetch_error{}}, -include_lib(brod/include/brod.hrl) to access the records. In case #kafka_fetch_error{} is received the subscriber should re-subscribe itself to resume the data stream.
sync_produce_request/1
Block wait for sent produced request to be acked by kafka.
sync_produce_request/2
sync_produce_request_offset/1
As sync_produce_request_offset/1, but also returning assigned offset See produce_sync_offset/5.
sync_produce_request_offset/2
Unsubscribe the current subscriber. Assuming the subscriber is self().
Unsubscribe the current subscriber.
unsubscribe/3
Unsubscribe the current subscriber. Assuming the subscriber is self().
unsubscribe/4
Unsubscribe the current subscriber.


Conflict
Analyzing the Trigger and Respones
May 10, 2015
After actually thinking about and talking through this, I'm sure it will reinforce how petty this conflict was in the first place, but it's always good to remind myself so I can stay humble and try to keep my emotions in check. I've had plenty of more deep conflicts, but for the purposes of sharing on the Internet, I'll stick to something a little less personal.
For what ever reason, the following was on of the first situations that came to my mind. Every Thursday night, I practice with my tennis team. This has been happening for the last eight years or so. We all have a good time and we really just enjoy the exercise. Several years ago, I must have been having a really bad day because I overreacted to something that normally would have never bothered me. I was playing doubles on a court. We were having some good points and good exchanges, but one of my opponents (who is on my team, but we're practicing against each other) kept lobbing these really high shots and not taking the points seriously. These shots aren't illegal, but there is a certain etiquette in tennis and he was well aware of it, and I knew he was capable of actually hitting better shots. I felt like he was just doing it on that particular night to get on my nerves. I started to make passive aggressive comments, and I think he enjoyed the fact that he was getting in my head because he kept doing it over and over again. Eventually I just got fed up with the whole thing because it felt like I wasn't getting a good workout in at all and I wasn't enjoying it. He questioned me when I left and then I just exploded. I told him he was wasting my time and he was only doing it because he knew I found it annoying. He just laughed at me which made me more angry. I ended up storming off the court and leaving practice.
We always go to a sports bar after practice to grab some food and drinks. I thought about not going at all that night, but I decided to listen to my stomach instead and go apologize so I could get something to eat. I ended up just telling him that I was sorry and I shouldn't have reacted like I did. He understood and all was forgiven. If I could do it all over again, I probably should have taken it as a good opportunity to better my mental game rather than my actually tennis shots.  I just remember feeling like he didn't respect me at the time and he didn't want me to get better at tennis.
This experience taught me a lot. It was a simple situation, but how I reacted to it was really eye-opening. It disturbed me how easily he had manipulated my emotions. How would I react in the professional world if someone got under my skin. Everyone has to deal with things that irritate them on a daily basis, but we have the power to not let them affect us so negatively. I take it as a challenge. Each time I am able to keep my cool and learn something -- I benefit and I set an example for others.


SPACEDRIVE
Home
Domain
Lorem Ipsum
Lorem Ipsum
Lorem Ipsum
Hosting
Lorem Ipsum
Lorem Ipsum
Lorem Ipsum
Services
Blog
Contact
Login
Login
Or login with
Not a member?
Signup now


Please enter a valid first name Please enter a valid last name Please enter a valid username You need to give either your first name and last name or a username Please enter a reachable email address Please enter a valid email address Email address is required {{showPassword ? 'visibility_off' : 'visibility'}} Please enter a valid password (At least 1 lower char, 1 upper char, 1 digit and 1 special char) Password needs to be at least 8 characters long Password is required I accept the terms and conditions. Register
You need to provide at least 5 pictures. We either could not detect a face or we detected too many faces in one or more of the pictures you chose. x


The Adventures of Tom Sawyer
He got home pretty late that night, and when he climbed cautiously in at the window, he uncovered an ambuscade, in the person of his aunt; and when she saw the state his clothes were in her resolution to turn his Saturday holiday into captivity at hard labor became adamantine in its firmness.


{extend name="admin@layouts:framework" /} {block name="main-content"}
{:lang('For your better use of the system, it is recommended that the screen resolution above 1280*768, and install chrome Google browser')}
{:lang('Go to the software Download')}{$tonews_count}
{:lang('Number of articles today')}{$tomembers_count}
{:lang('Number of members today')}{$tocoms_count}
{:lang('Number of reviews today')}


{% include "header.html" %} {% include "side_bar.html" %}
달력(기능 구현 예정)
Dashboard
Calendar
Create New
Drag & Drop Event
My Event One
My Event Two
My Event Three
My Event Four
Remove after drop
Add Category
Add Event
×
Event Name
*
Event Date
*
Submit
Add Event
×
Add Category
×
Category Name
Choose Category Color
Success
Danger
Info
Primary
Warning
Inverse
Save


Harry Redknapp predicts where Arsenal and Manchester United will finish in the Premier League
by Neelabhra RoyHarry Redknapp is of the opinion that Arsenal and Manchester United won’t be able to finish in the top four of the Premier League unless there’s a drastic improvement from them.
Both teams are currently way behind the top four of the league. Arsenal are sixth with 17 points while Manchester United are seventh with 16 points.
SEE MORE: Man Utd set to DEMAND €30m to allow loanee to seal permanent exit
The Red Devils and the Gunners have been quite shaky this season so far and Redknapp feels that unless there’s a major improvement in their performances, he doesn’t see them finishing in the top four of the Premier League. As quoted by Goal.com, the former Tottenham manager said: “But you’re looking at Arsenal — and Manchester United — and wondering if they are going to make it this year. I can see both of those two not making the top four unless there is a big improvement.”
Liverpool and Manchester City’s performance in the past 12 months have often set them apart from all Premier League sides but Chelsea and Leicester City have also been quite impressive this season so far. It’ll be a daunting task for both Arsenal and Manchester United to reach the top four but they have the kind of players who can fight for that position.


Bjergbanestien
The water in Hasseris Å and Binderup Å is very clean and oxygen-rich,
which provides ideal living conditions for a wide range animals and
insects, but also brown trout and other fish thrive here.
Several species of beetles, houseflies and springflies have been found,
such as only found in streams with fine water quality.
Several times are otters seen by the rivers.
The plants along the path contain many species. Within a shorter distance, there is great variation between the species. Some thrive at the top of the railway dam, where the shard under the railway sleepers has created a very dry soil.


The planes are at the front of the line and ready for takeoff, but it looks like something unusual’s going on.
Mystery Airlines
Date
3/2006
Gate
MH21
Seat
1A
Status:
Canceled
Reason:
We just checked the airplane and it turns out it's actually a hologram.
Whoops.
Mystery Airlines
Date
3/2020
Gate
MH21
Seat
1A
Status:
Canceled
Reason:
The airstrip is submerged under several inches of water. Also, the sky looks
really weird right now.
Mystery Airlines
Date
2/2018
Gate
MH21
Seat
1A
Status:
Canceled
Reason:
Someone made way too much popcorn and now there's popcorn everywhere.
Mystery Airlines
Date
10/2015
Gate
MH21
Seat
1A
Status:
Canceled
Reason:
Just kidding, everything looks normal.
Mystery Airlines
Date
10/2007
Gate
MH21
Seat
1A
Status:
Canceled
Reason:
We just noticed the Great Wall of China cuts right through the middle of our
landing strip.
Mystery Airlines
Date
2/2018
Gate
MH21
Seat
1A
Status:
Canceled
Reason:
Looks like some surgeons set up an office on the tarmac.
Mystery Airlines
Date
10/2011
Gate
MH21
Seat
1A
Status:
Canceled
Reason:
Instead of going on your flight, you should go ride the merry-go-round
outside!
Mystery Airlines
Date
2/2018
Gate
MH21
Seat
1A
Status:
Canceled
Reason:
There's an alien invasion!! We're being attacked by a giant robot!!
Mystery Airlines
Date
9/2019
Gate
MH21
Seat
1A
Status:
Canceled
Reason:
There's a large choir outside that won't stop singing and let us take off.
Mystery Airlines
Date
3/2012
Gate
MH21
Seat
1A
Status:
Canceled
Reason:
Someone replaced our landing lights with two bars of fire.
Mystery Airlines
Date
2/2012
Gate
MH21
Seat
1A
Status:
Canceled
Reason:
Someone left a bunch of coffins outside… Wait, are people rising from the
dead?
Mystery Airlines
Date
1/2014
Gate
MH21
Seat
1A
Status:
Canceled
Reason:
It's raining.


COVID-19
Home
Epidemic Statistics
Support
Volunteer
Donation
Giveaway
Doctor Locator
About Us
SignUp | Login
Donation
Full name:
Organization:
Phone number:
Amount (MYR):
Address:
Do you want to be included in the mailing list?


Table Of Contents
Compound Selection Behavior¶
The CompoundSelectionBehavior
mixin class implements the logic
behind keyboard and touch selection of selectable widgets managed by the
derived widget. For example, it can be combined with a
GridLayout
to add selection to the layout.
Compound selection concepts¶
At its core, it keeps a dynamic list of widgets that can be selected. Then, as the touches and keyboard input are passed in, it selects one or more of the widgets based on these inputs. For example, it uses the mouse scroll and keyboard up/down buttons to scroll through the list of widgets. Multiselection can also be achieved using the keyboard shift and ctrl keys.
Finally, in addition to the up/down type keyboard inputs, compound selection can also accept letters from the keyboard to be used to select nodes with associated strings that start with those letters, similar to how files are selected by a file browser.
Selection mechanics¶
When the controller needs to select a node, it calls select_node()
and
deselect_node()
. Therefore, they must be overwritten in order alter
node selection. By default, the class doesn’t listen for keyboard or
touch events, so the derived widget must call
select_with_touch()
, select_with_key_down()
, and
select_with_key_up()
on events that it wants to pass on for selection
purposes.
Example¶
To add selection to a grid layout which will contain
Button
widgets. For each button added to the layout, you
need to bind the on_touch_down
of the button
to select_with_touch()
to pass on the touch events:
from kivy.uix.behaviors.compoundselection import CompoundSelectionBehavior
from kivy.uix.button import Button
from kivy.uix.gridlayout import GridLayout
from kivy.uix.behaviors import FocusBehavior
from kivy.core.window import Window
from kivy.app import App
class SelectableGrid(FocusBehavior, CompoundSelectionBehavior, GridLayout):
def keyboard_on_key_down(self, window, keycode, text, modifiers):
"""Based on FocusBehavior that provides automatic keyboard
access, key presses will be used to select children.
"""
if super(SelectableGrid, self).keyboard_on_key_down(
window, keycode, text, modifiers):
return True
if self.select_with_key_down(window, keycode, text, modifiers):
return True
return False
def keyboard_on_key_up(self, window, keycode):
"""Based on FocusBehavior that provides automatic keyboard
access, key release will be used to select children.
"""
if super(SelectableGrid, self).keyboard_on_key_up(window, keycode):
return True
if self.select_with_key_up(window, keycode):
return True
return False
def add_widget(self, widget):
""" Override the adding of widgets so we can bind and catch their
*on_touch_down* events. """
widget.bind(on_touch_down=self.button_touch_down,
on_touch_up=self.button_touch_up)
return super(SelectableGrid, self).add_widget(widget)
def button_touch_down(self, button, touch):
""" Use collision detection to select buttons when the touch occurs
within their area. """
if button.collide_point(*touch.pos):
self.select_with_touch(button, touch)
def button_touch_up(self, button, touch):
""" Use collision detection to de-select buttons when the touch
occurs outside their area and *touch_multiselect* is not True. """
if not (button.collide_point(*touch.pos) or
self.touch_multiselect):
self.deselect_node(button)
def select_node(self, node):
node.background_color = (1, 0, 0, 1)
return super(SelectableGrid, self).select_node(node)
def deselect_node(self, node):
node.background_color = (1, 1, 1, 1)
super(SelectableGrid, self).deselect_node(node)
def on_selected_nodes(self, gird, nodes):
print("Selected nodes = {0}".format(nodes))
class TestApp(App):
def build(self):
grid = SelectableGrid(cols=3, rows=2, touch_multiselect=True,
multiselect=True)
for i in range(0, 6):
grid.add_widget(Button(text="Button {0}".format(i)))
return grid
TestApp().run()
警告
This code is still experimental, and its API is subject to change in a future version.
-
class
kivy.uix.behaviors.compoundselection.
CompoundSelectionBehavior
(**kwargs)[ソース]¶ ベースクラス:
builtins.object
The Selection behavior mixin implements the logic behind keyboard and touch selection of selectable widgets managed by the derived widget. Please see the
compound selection behaviors module
documentation for more information.バージョン 1.9.0 で追加.
-
deselect_node
(node)[ソース]¶ Deselects a possibly selected node.
It is called by the controller when it deselects a node and can also be called from the outside to deselect a node directly. The derived widget should overwrite this method and change the node to its unselected state when this is called
Parameters: - node
The node to be deselected.
警告
This method must be called by the derived widget using super if it is overwritten.
-
get_index_of_node
(node, selectable_nodes)[ソース]¶ (internal) Returns the index of the node within the selectable_nodes returned by
get_selectable_nodes()
.
-
get_selectable_nodes
()[ソース]¶ (internal) Returns a list of the nodes that can be selected. It can be overwritten by the derived widget to return the correct list.
This list is used to determine which nodes to select with group selection. E.g. the last element in the list will be selected when home is pressed, pagedown will move (or add to, if shift is held) the selection from the current position by negative
page_count
nodes starting from the position of the currently selected node in this list and so on. Still, nodes can be selected even if they are not in this list.注釈
It is safe to dynamically change this list including removing, adding, or re-arranging its elements. Nodes can be selected even if they are not on this list. And selected nodes removed from the list will remain selected until
deselect_node()
is called.警告
Layouts display their children in the reverse order. That is, the contents of
children
is displayed form right to left, bottom to top. Therefore, internally, the indices of the elements returned by this function are reversed to make it work by default for most layouts so that the final result is consistent e.g. home, although it will select the last element in this list visually, will select the first element when counting from top to bottom and left to right. If this behavior is not desired, a reversed list should be returned instead.Defaults to returning
children
.
-
goto_node
(key, last_node, last_node_idx)[ソース]¶ (internal) Used by the controller to get the node at the position indicated by key. The key can be keyboard inputs, e.g. pageup, or scroll inputs from the mouse scroll wheel, e.g. scrollup. ‘last_node’ is the last node selected and is used to find the resulting node. For example, if the key is up, the returned node is one node up from the last node.
It can be overwritten by the derived widget.
Parameters: - key
str, the string used to find the desired node. It can be any of the keyboard keys, as well as the mouse scrollup, scrolldown, scrollright, and scrollleft strings. If letters are typed in quick succession, the letters will be combined before it’s passed in as key and can be used to find nodes that have an associated string that starts with those letters.
- last_node
The last node that was selected.
- last_node_idx
The cached index of the last node selected in the
get_selectable_nodes()
list. If the list hasn’t changed it saves having to look up the index of last_node in that list.
Returns: tuple, the node targeted by key and its index in the
get_selectable_nodes()
list. Returning (last_node, last_node_idx) indicates a node wasn’t found.
-
keyboard_select
¶ Determines whether the keyboard can be used for selection. If False, keyboard inputs will be ignored.
keyboard_select
is aBooleanProperty
and defaults to True.
-
multiselect
¶ Determines whether multiple nodes can be selected. If enabled, keyboard shift and ctrl selection, optionally combined with touch, for example, will be able to select multiple widgets in the normally expected manner. This dominates
touch_multiselect
when False.multiselect
is aBooleanProperty
and defaults to False.
-
nodes_order_reversed
¶ (Internal) Indicates whether the order of the nodes as displayed top- down is reversed compared to their order in
get_selectable_nodes()
(e.g. how the children property is reversed compared to how it’s displayed).
-
page_count
¶ Determines by how much the selected node is moved up or down, relative to the position of the last selected node, when pageup (or pagedown) is pressed.
page_count
is aNumericProperty
and defaults to 10.
-
right_count
¶ Determines by how much the selected node is moved up or down, relative to the position of the last selected node, when the right (or left) arrow on the keyboard is pressed.
right_count
is aNumericProperty
and defaults to 1.
-
scroll_count
¶ Determines by how much the selected node is moved up or down, relative to the position of the last selected node, when the mouse scroll wheel is scrolled.
right_count
is aNumericProperty
and defaults to 0.
-
select_node
(node)[ソース]¶ Selects a node.
It is called by the controller when it selects a node and can be called from the outside to select a node directly. The derived widget should overwrite this method and change the node state to selected when called.
Parameters: - node
The node to be selected.
Returns: bool, True if the node was selected, False otherwise.
警告
This method must be called by the derived widget using super if it is overwritten.
-
select_with_key_down
(keyboard, scancode, codepoint, modifiers, **kwargs)[ソース]¶ Processes a key press. This is called when a key press is to be used for selection. Depending on the keyboard keys pressed and the configuration, it could select or deselect nodes or node ranges from the selectable nodes list,
get_selectable_nodes()
.The parameters are such that it could be bound directly to the on_key_down event of a keyboard. Therefore, it is safe to be called repeatedly when the key is held down as is done by the keyboard.
Returns: bool, True if the keypress was used, False otherwise.
-
select_with_key_up
(keyboard, scancode, **kwargs)[ソース]¶ (internal) Processes a key release. This must be called by the derived widget when a key that
select_with_key_down()
returned True is released.The parameters are such that it could be bound directly to the on_key_up event of a keyboard.
Returns: bool, True if the key release was used, False otherwise.
-
select_with_touch
(node, touch=None)[ソース]¶ (internal) Processes a touch on the node. This should be called by the derived widget when a node is touched and is to be used for selection. Depending on the keyboard keys pressed and the configuration, it could select or deslect this and other nodes in the selectable nodes list,
get_selectable_nodes()
.Parameters: - node
The node that received the touch. Can be None for a scroll type touch.
- touch
Optionally, the touch. Defaults to None.
Returns: bool, True if the touch was used, False otherwise.
-
selected_nodes
¶ The list of selected nodes.
注釈
Multiple nodes can be selected right after one another e.g. using the keyboard. When listening to
selected_nodes
, one should be aware of this.selected_nodes
is aListProperty
and defaults to the empty list, []. It is read-only and should not be modified.
-
text_entry_timeout
¶ When typing characters in rapid sucession (i.e. the time difference since the last character is less than
text_entry_timeout
), the keys get concatenated and the combined text is passed as the key argument ofgoto_node()
.バージョン 1.10.0 で追加.
-
touch_deselect_last
¶ Determines whether the last selected node can be deselected when
multiselect
ortouch_multiselect
is False.バージョン 1.10.0 で追加.
touch_deselect_last
is aBooleanProperty
and defaults to True on mobile, False on desktop platforms.
-
touch_multiselect
¶ A special touch mode which determines whether touch events, as processed by
select_with_touch()
, will add the currently touched node to the selection, or if it will clear the selection before adding the node. This allows the selection of multiple nodes by simply touching them.This is different from
multiselect
because when it is True, simply touching an unselected node will select it, even if ctrl is not pressed. If it is False, however, ctrl must be pressed in order to add to the selection whenmultiselect
is True.注釈
multiselect
, when False, will disabletouch_multiselect
.touch_multiselect
is aBooleanProperty
and defaults to False.
-
up_count
¶ Determines by how much the selected node is moved up or down, relative to the position of the last selected node, when the up (or down) arrow on the keyboard is pressed.
up_count
is aNumericProperty
and defaults to 1.
-


Suhana Khan makes her on screen debut with a short film
by Entertainment DeskPrior to making her Bollywood debut, Shahrukh Khan’s daughter, Suhana Khan, just made her on-screen debut with a short film titled, The Grey Part of Blue. The starlet is currently making waves on social media while several media outlets are lauding her decision to follow in her father’s footsteps.
It turns out that Suhana is making sure she gets her basic right before landing her foot into the industry where her father is deemed king. She completed her graduation from Ardingly College and is currently studying at New York University, according to Pinkvilla.
The film shows how although her acting breathes life into the character, she still requires major practice. Suhana essays the role of Sandy, a young adult who is looking forward to introducing her boyfriend to her parents. The short film shows just the two characters, she and her friend (Robin Gonella), who realise on their way to the hotel, that their relationship has hit the dead-end.
The short film focuses on Suhana’s expressive eyes as she delivers surplus dialogues in happiness but manages to convey the sadness through her eyes.
Apparently she’s also the only character who has to alter her expressions with each moment, given her friend is in a constant state of melancholy. Nevertheless, the young star has proven that she is gearing up for bigger places and bigger debuts with a new approach to acting altogether.


HTML completion demo
Shows the XML completer parameterized with information about the tags in HTML. Press ctrl-space to activate completion.
Shows the XML completer parameterized with information about the tags in HTML. Press ctrl-space to activate completion.


SmileyGo has coached Pan Peru and other NGOs in order to make a sustainable difference in the rural health of Peru, Chile, Argentina and Mexico. We have helped over 12500 citizens in the past eleven years with the help not only from Pan Peru staff, but also from the children of Pampas Grande. Here, we are not only giving the Pampas citizens medical attention, but we are teaching them how to take of themselves through clinics, workshops and CPR conventions. The people receiving our help, are learning from us and hence depending more on themselves in the areas of pediatrics, neurology and dermatology.


|
| Control.Monad.Parameterized | | Portability | non-portable (requires the kitchen sink) | | Stability | experimental | | Maintainer | Edward Kmett<EMAIL_ADDRESS>|
|
|
|
|
|
| Description |
Implements a notion of parameterized monad by varying the monad itself, this lets us
avoid having to carry a parameter around for monads that do not need it, and we can rederive
the normal notion of a parameterized monad from this variation for those that do.
The signature of >>= costs us type inference for the types of return and mzero,
so we restore that by defining return as the unit of the Identity monad and mzero as
the unit of the trivial bottom monad, and appealing to the monad laws to allow these to combine
with all other monads satisfying the monad laws through >>=
Caveat: this currently does not permit types to vary under the do-sugar because of assumptions in GHC
about the shape of >>=.
This imports and defines the correct instances for a good portion of the MTL, primarily because
it is so awkward to import them all otherwise due to the fact that most of them re-export the Monad syntax.
Does not export Control.Monad.ST or Control.Monad.Writer since it is unclear if you want strict or lazy versions in scope
|
|
| Synopsis |
|
|
|
|
| Rebound Monad
|
|
| class Return m where |
| The traditional return, note this probably has lost its type inference where you want to use it.
| | | Methods | | | | Instances | |
|
|
| class Fail m where |
| Restrict the cases where we allow pattern matching to fail. You have to explicitly supply this for your Monad
| | | Methods | | | | Instances | |
|
|
| class (Functor m, Functor m', Functor m'') => Bind m m' m'' | m m' -> m'' where |
| Implement parameterized monads like Oleg's restricted monads, but vary the monad itself rather than restrict its parameters
| | | Methods | | (>>=) :: m a -> (a -> m' b) -> m'' b | | | (>>) :: m a -> m' b -> m'' b |
| | | Instances | |
|
|
| (=<<) :: Bind m m' m'' => (a -> m' b) -> m a -> m'' b |
|
| Rebound MonadPlus
|
|
| class MPlus m m' m'' | m m' -> m'' where |
| Break out mplus
| | | Methods | | mplus :: m a -> m' a -> m'' a |
| | | Instances | |
|
|
| class MonadZero m where |
| Traditional mzero, note this probably has lost its type inference.
You probably want mzero.
| | | Methods | | | | Instances | |
|
|
| A bottom monad
|
|
| data MZero a |
| Same trick using with Identity to build a canonical return, here we exploit the MonadPlus laws to make a canonical mzero.


About
This project aims to predict the occupancy of dark matter halos with a central and satellite galaxies. Shown below is an illustration of a dark matter halo: a spherical region in the universe which contains dark matter. The diffuse, bluish glow is the dark matter halo. The spiral galaxy in the center is a central galaxy. The smaller blue dots are sub-halos that contain the satellite galaxies of the central.
What are we trying to solve?
1. Given the properties of a dark matter halo and its environment, such as halo mass, rotational velocity, concentration, spin, etc., how well can one predict whether the halo will be occupied by a central galaxy.2. Similarly, how well can halo properties and environment predict the number of satellite galaxies.
3. We are also interested in determining which halo properties are the most important when predicting the occupancies.
4. We compare the clustering of the original sample of galaxies and the machine learning predictions. Given a random galaxy in a location, clustering describes the probability that another galaxy will be found within a given distance.
5. We compare the assembly bias in the original sample and the ML predictions. Assembly bias is the level at which the assembly history of the galaxies affects their clustering.
Data Source
We are using halo data from the Millenium simulation. On the left hand column is provided a link to the various databases. We work with the Guo2010a data.
Machine Learning Pipeline
Key results from ML
1. We find that halo-mass, mvir, is the most important feature in determining the number of satellites of a central galaxy. This is expected and confirms prior analytical studies.2. For central galaxies though, we find that the maximum circular velocity of the halo, Vmax, is the most important feature in determining whether a halo will be occupied by a central galaxy or not. This is a novel result.
3. As shown in the notebook, we recover the HOD signal extremely well. The clustering signal was also recovered extremely well at the level of 99.8% for centrals and 99.6% for both centrals and satellites. Similarly, the GAB signal is recovered to 98% for centrals and centrals and satellites. More to follow soon...