sched plugin Activated deleted
bug fixed in method fill() in info.py to prevent an Exception when the dictionary has an unknown key
CondorEC2 BatchSubmit and BatchStatus plugins usable, supporting standard Condor ec2 grid type.
Assuming VMs join local pool as startds, features correlation of VM jobs and corresponding startd.
VM retirement via 'condor_off -peaceful' and VM shutdown when stard is retired.
KeepNRunning sched plugin to convert absolute to relative numbers.
utils not distributed anymore within the RPM. They will be distributed with a dedicated one.
Removed reference to Panda cloud status in StatusOfflineSchedPlugin
created apf-simulated-scheds in misc/
Proxymanager now able to be run standalone as standard system init daemon. This is so base certs need not be owned or readable by the APF user.
Added email notification of factory owner when no valid proxy can be retrieved from the proxymanager.
Eliminated all _readconfig() methods in submit plugins. Switched to full initialization during __init__.
MyProxy support in proxymanager. Allows retrieval of base proxy from MyProxy using passphrase, or using another proxymanager profile proxy for auth.
fixed bug in Scale sched plugin returning 0 when n*factor < 1.
minimum Condor version check. Allows particular plugins to specify minimum. Failure aborts.
multiproxy functionality. Allow multiple proxy profiles. proxymanager tries all until one is found. failure generates email.
scripts and config files added for logs monitor apf-search-failed
strip() after split by comma in configloader, to allow things like 'x = foo, bar' with whitespace after comma
bug in MaxPending sched plugin logic fixed. Now no limit imposed when there are no pending pilots.
queues configuration files can be read from a directory (i.e. /etc/apf/queues.d/). configloader adapted to accept directories instead of list of URIs
method name removed from log messages.
fixed bug in some sched plugins, mixing None and 0 in the logic
add documentation to install.html (in verbatim, no html format)
removed all methods for FactoryCLI from bin/factory, and mainLoop() renamed to run()
added new custom logging level -TRACE- and using it for some long messages, like the output of condor_q in XML format
configloader converts None in conf to Python None object. Change in default_value logic--if no default_value is provided then generic_get returns None.
info major refactoring of Info class hierarchy. most objects now have overridden methods to avoid exception generation.
passing queryargs from queues.conf to query.querycondor() call at Condor batchstatus plugin.
siteid removed from several places and replaced by wmsqueue.
generic_get() simplified
InfoContainer removed.
fake info classes imports removed, and importing from the right place (info.py instead of factory.py)
log messages in sched plugins more homogeneous. Now all of them are "Return=123".
created a script in misc/ to search for pilots running (in theory) for more than 8 days.
Removed allowed variables for Test and Offline Sched plugins, and from the queues.conf. If the plugin is used, we assume it is allowed.
more robust code to deal with scenario where condor_q gives no output
all JSD.add() method replaced to use the new format (2 inputs instead of 1)
jsd.py and jsd3.py moved to attic/ and jsd4.py moved to jsd.py
logserver2.py moved to logserver.py, and old one moved to attic/
using method merge() instead of deepcopy() in configloader.py
method section2dict() created in configloader. It will be usefull to generate the mappings from config files
getConfig() method in configloader.py embedded in a try - except block and all config loader object creation in factory.py embedded in try - except blocks
Exception class ConfigFailure renamed ConfigFailureMandatoryAttr
Cleaning info.py code:
-- method dict() removed
-- method getconfig() removed
-- method __add__() removed
-- method set() removed
-- method get() removed
-- property total removed
-- class attribute valid = [] removed from all classes:
-- therefore method reset() removed
-- therefore method __setattr__() removed
-- method __getattribute__() is created
-- method valid() in class InfoContainer deleted
-- no longer importing Config from configloader
-- no longer self.default_value
-- all __init__() methods now hardcode the entire list of attributes
Removed logger from the input options in method generic_get()
As temporary solution, NotImplementedAttr defined in configloader.py
Documentation on old Sched Plugin SimpleNQueue deleted.
First draft for manpages created, and rpm-post script adapted to install them.
Printing env again after switching ID.
Bug fixed in CREAM example in queues.conf-example
created misc/apf-panda-jobs-info.py
INFO messages in configloader for missing non-mandatory variables moved to DEBUG.
all __XYZ__ module names deleted, except in factory.py
Fixed setup.cfg
Adjusted sysconfig, factory init, and logrotate to use a console.log for python interpreter-level debugging.
Added a log message with the APF version number.
All Sched Plugins returns a tuple (number of pilots, message).
Sending to the monitor the messages returned by Sched Plugins.
Changed setup.py, factory.py and plugins/monitor/APFMonitorPlugin.py to use release version info directly
from factory.py rather than requiring that it be correctly placed in a config file.
versionTag removed from factory.conf
Added logserver2.py, to create directory listing similar to Apache one.
Port number is got from URL instead of from config variable baseLogHttpPort
Method setuppandaenv() deleted from factory.py
copy_to_spool set to True
Dumping the content of queues.conf on start
Allowing raw = True or False in getContent() method in configloader.py
Utils distributed via /usr/share/apf instead of /usr/bin, and have different names.
Created RELEASE_NOTES.
Everything related euca and persistence removed from config files.
created test.py, to start creating unittest-like code
should_transfer_files = NO.
Split plugins into their own directories.
No more Config Plugins.
ReadySchedPlugin created -> Activated decommissioned
KeepNRunningSchedPlugin created.
CondorNordugrid Batch Submit plugin created.
CondorLSF Submit plugin created.
New configuration file for monitor plugins.
New type of plugins for monitor added.
ScaleSchedPlugin created.
Euca plugins improved. Still under development. NOTE: not distributed, most probably they will be removed and never used.
module condor.py created. It includes htcondor python bindings.
wrapper examples are placed in /etc/apf/ instead of /usr/libexec/
Non plugin modules (jsd.py, persistence.py) moved to main directory.
version number for panda userinterface package in setup.cfg
bugs in CondorLocalWMSStatusPlugin fixed
Removing self._valid from all plugins (work in progress)
ConfigFailure moved to apfexceptions.
Removed hardcoded setup of periodic_remove directive from CondorLocal Batch Submit plugin.
Not trying to create robot.txt is logserver is disabled.
Changing directory to new HOME directory after switching identity.
Checking condor daemon is running in CondorBase Batch Submit Plugin and Condor Batch Status Plugin.
Created a Singleton metaclass factory. It creates metaclasses for regular Singletons and multi Singletons.
Printing the path to executable condor_q and condor_submit in debug mode.
Added __add__() method to BatchQueueInfo and WMSQueueInfo classes.
Added factory config variable 'enablequeues'.
Sched plugins do not check for negative outputs. It has been left up to the Submit Plugin to decide what to do in that case.
Added some DEBUG logging messages.
Some messages in Activated Sched Plugin moved from DEBUG logging level to INFO level.
Bug fixed: getboolean() instead of get() when reading value of proxymanager.enabled and logmanager.enabled.
Top logger configured as root, instead of "main".
Log messages format includes method name for python > 2.4
Bumped minor release version to reflect scale of several new features, and cloud submit plugin.
Two new Sched Plugins to handle test queues and offline queues
Bug in monitor.py fixed.
Creates robots.txt file in base of logserver docroot.
Added create_run_var() to init script factory.
It creates the subdirectory var/run/ if it does not exist, to place factory.pid
Added $APFHEAD to init script factory.
This allows for user deployment on any directory, not necessarily $HOME
Fixed the bug in Activated plugin, not returning anything under some circumstances.
Creating multiple Sched plugins (MinPerCycle, MaxPerCycle, MinPending, MaxPending, MaxPerFactory),
and code in factory.py to allow chaining more than one sched plugin.
PandaConfig Plugin refactored to query SchedConfig in a singleton thread.
This is possible because it now uses an URL that delivers the entire SchedConfig content.
Also more variables added: jdladd, environ, and special_pars.
First draft for Euca Submit Plugin created. NOTE: not distributed, most probably they will be removed and never used.
This release is the 'The Hellion' v. 2.1.1
http://www.darylgregory.com/pandemonium/Review_NYRSF.aspx
Refactored scheduler log cleanup. Now handled in a separate thread, one for entire factory.
Defaults may be specified globally in factory.conf or per-queue in queues.conf
Added grid and vo queue attributes, and added executable.defaultarguments and executable.arguments
interpolation. These changes were to support wrapper.sh, runpilot3.sh, and arbitrary executables in
a general way. This feature uses standard Python ConfigParser interpolation. See
http://docs.python.org/library/configparser.html
Made Monitor object a singleton, to avoid repeated timeout delays (during queue initialization)
when APF monitor is unresponsive. Now there is a single attempt when single Monitor is initialized.
Move to wrapper 0.9.5, which checks that retrieved tarball is indeed a tarball (and not an HTML error message
from a misbehaving HTTP proxy.
Fixed logic problem in Activated plugin. Now correctly assuming that Running jobs are no longer
Activated.
Added specific Submit plugin for Cloud.
Configuration objects handled as python native ConfigParser objects instead of custom
APF objects.
Refined running as user rather than from RPM. 'setup.py install --home=/path/to/home' does a
user-based setup. All libs are in ~/lib/python, configs and init script in ~/etc/, and so on.
Added an external queue configuration information plugin mechanism to enable plugin-based
auto-fill/overriding of config information.
Consolidated all plugins into hierarchical inheritance tree, to eliminate duplicated code
(especially the Condor plugins).
This release is the 'Sleeper Service' v. 2.1.0
http://en.wikipedia.org/wiki/GSV_Sleeper_Service
Major refactorization to integrate BNL changes. Full object-oriented functional
plugin architecture, each running in a distinct thread. Allows for
end-user/third-party customization without touching core code.
Refined distutils usage to allow deployment as non-root in a home directory,
or as root in system paths. Added functionality to drop privs even when run as
root.
Added typical init script and sysconfig functionality to handle shell-level/UNIX
concerns.
Added standard Linux logrotate configuration.
Split config system into main source for APF instance (factory.conf), proxy
management (proxy.conf), individual queue configuration (queue.conf). The latter
can be accessed as URI, paving the way to queue configuration via remote DB+URL.
The previous change involved passing ConfigLoader objects to classes, rather than
passing through lists of config files.
Integrated batch system log export via HTTP; now uses embedded Python HTTP server.
Integrated proxy handling and renewal, integrated submit system log file rotation.
Adjusted module, file, and class names to follow Python recommended guidelines. See PEP 8:
http://www.python.org/dev/peps/pep-0008/
Moved all filehandling to factory.py script from Factory class. Factory is now purely
object-oriented suitable for embedding (e.g. in a web application).
Added copy of Jose's generic top-level wrapper to libexec/.
IMPORTANT: For various reasons, it was very difficult to maintain the ability to automatically
reload configs by detecting file mtime changes. So for now simply restart if you change a file.
This feature can be re-enabled soon.
This release is "The Clockmaker". v2.0.0
http://en.wikipedia.org/wiki/List_of_Revelation_Space_characters#The_Clockmaker
Introduced "country" and "group" parameters for queues. These map to
the pilot's -o and -v options allowing for pilots which only pick up
particular types of jobs.
Polling for queues now intelligently uses the country and group
options above to only send pilots when activated jobs of that type
are present at a site.
Introduced "cloud" option to tag a queue to a panda cloud.
Site and cloud status are polled and if 'offline' then pilot
submission is supressed; if a site/cloud is in 'test' status then
the pyfactory status flips to 'test' as well (limits pilot flow).
Introuduced 'pilotDepthBoost' parameter (default 2), which allows
the factory to submit up to queueDepth * pilotDepthBoost into a
non-started state if there are sufficient jobs activated. This helps
a lot if the site has short jobs where the lags in job status
updates mean that sites can run short of pilots. You may want to set
this higher at T1s (especially when doing reco).
This is a more controlled version of the short job patch which was
released in June 2009.
Corrected a small bug in the default queue specification so that it
works properly.
Renamed the 'suppression' option to 'idlePilotSuppression'.
Distributed wrapper script is now called "runpilot3-wrapper.sh",
which is a much more sensible name.
Default server is now pandaserver.cern.ch.
Updated INSTALLATION file for new panda client location in SVN.
Updates to README, INSTALLATION, Makefile corresponding to the above
changes.
Eilish wanted this release called 'Totoro', after one of her
favourite Hayao Miyazaki films,
http://en.wikipedia.org/wiki/My_Neighbour_Totoro.
Upgraded runpilot3.sh to UHURA 18f pilot.
Modified the order of the search for an LFC compatible python. The
ATLAS release python is now tested first (it's usually more recent
than the OS version). N.B. This may provoke a run time python
warning about an API mismatch between the python versions.
Added factoryId to configuration. This allows multiple factories to
run on the same machine. This factory ID is used as the PANDA_JSID
passed to the panda dashboard.
Added baseLogFileUrl to pass the correct URL for the pilot wrapper's
logfiles to the panda dashboard.
Added optional "user" field to allow pilots to be sent to pick up
particular types of jobs from panda, using the "-u USER" argument.
If this is absent or None then nothing is passed with the pilot
arguments (i.e., pickup normal production jobs).
Changed configuration so that each configuration section is a
"queue" which can have a gatekeeper section. This allows pilots to
be sent to the same queue on the CE, but having different "user"
parameters. If there is no "gatekeeper" specified then the name of
the configuration section name is the gatekeeper contact string, as
before.
New example factory configuration file, factory.conf-example makes
use of the above clearer.
Many internal changes to support the above feature.
Modified the main submit code to sort alphabetically by queue name.
cleanLogs.py now much improved. Will read factory log file directory
location from factory.conf. Options for verbosity, days to compress
after and days to delete after.
This release is dedicated to Gary Gygax. d20... 19 hit!
http://en.wikipedia.org/wiki/Gary_Gygax


To reserve any of the following books for parents/carers raising teenagers and young adults to your local library, click on the links to reserve them from our online catalogue, visit any of our libraries, or contact us on 01473 351249 or<EMAIL_ADDRESS>You can sign up for a library card online for free. You can sign your child up for a library card at any age.
See also: Links for your health and wellbeing
Get Out of My Life … but first take me and Alex into town, by Anthony E. Wolf & Suzanne Franks
“Teenagers are tough, and anyone who has their own, or has to spend time with other peoples’, often need help. Tony Wolf and Suzanne Franks have written a witty and helpful guide to living with teenagers.”
Help Your Kids with Growing Up: a no-nonsense guide to puberty and adolescence, by Robert Winston
“Covering everything from the menstrual cycle to sexting and even cyber-bullying, this visual guide to puberty and adolescence is a must-read for all parents and tweens embarking on those scary teenage years. It covers contemporary issues such as internet safety, whilst also tackling key topics such as sexuality and body image.”
Sex, Likes and Social Media: talking to our teens in the digital age, by Allison Havey & Deana Puccio
“Today’s teenagers are the first generation to go through adolescence online. The internet, social media and free online pornography have dramatically altered how young people interact with each other and learn about sex, yet parents have been offered little information about the new dating landscape. This book aims to fill that gap.
“Through their professional work with young people, their parents and teachers - and their experiences with their own children - authors Deana Puccio and Allison Havey know what makes today’s teenagers tick. In this book, they share their experience and show you how to have positive, meaningful conversations with your teenage children around sex, social media, pornography, body image, consent and safety.”
He’ll Be OK: helping adolescent boys become good men, by Celia Lashlie
“In this funny, honest, no-nonsense book, Celia Lashlie reveals what goes on in the world of boys, and with clarity and insight, she offers parents - especially mothers - practical and reassuring advice on raising their boys to become good, loving, articulate men.”

Divas & Door Slammers: the secret to having a better behaved teenager, by Charlie Taylor
“Endless arguments? Communication by grunt? Seismic sulking? Lives ruled by FOMO (fear of missing out)? Sound like your teenager?
“Behavioural expert Charlie Taylor has the answers in this practical handbook which is full of simple, effective techniques for improving your teenager’s behaviour. Charlie’s straight-talking, no-nonsense approach guides you away from knee-jerk parenting towards a more proactive and positive relationship with your teenager.”
Ringleaders & Sidekicks: how to help your son cope with classroom politics, bullying, girls and growing up, by Rosalind Wiseman
“Drawing on 20 years of work with boys and her own experience as a mother of two sons, Rosalind helps parents to understand their tween and teenage sons better.”
Whatever! A down-to-earth guide to parenting teenagers, by Jill Hines & Alison Baverstock
“Raising teenagers can test parental love to breaking point, particularly if you have previously enjoyed a close and loving relationship. This practical guide aims to help teenagers, their parents and the rest of the family by providing workable strategies that can be put into practice immediately.”
Not My Child: a progressive and proactive approach for healing addicted teenagers and their families, by Frank Lawlis
“Not My Child is an insightful, compassionate and encouraging guide for families dealing with an addicted teen or child at risk of becoming addicted to alcohol or drugs.
“Psychologist and rehabilitation specialist Dr Frank Lawlis offers expert advice on detecting and understanding teen addiction; information from the latest neuroscience research on the impact addiction has on the teen brain; guidance, based on years of clinical experience, on what parents can do to help their child deal with depression, obsessive cravings and relationships damaged by the addiction.”


Probability¶
Probability provides the mathematical tools we use to model randomness:
- Probability tells us how likely an event (Frequentist) or what our degree of beliefs in an event is (Bayesian)
- Provides the foundation for statistics and machine learning
- Often our intuitions about randomness are incorrect because we live only one realization
- Enumerating all possible outcomes (using combinatorics) can help us compute the probability of an event
Formalization¶
Lets lay out some rules.
For some sample space S, a probability function P has three properties:
The probability is positive and less than or equal to 1.
The probability of a sure event is 1
If A and B are mutually exclusive, then:
\(P(A \cup B) = P(A) + P(B)\)
The sum of the probabilities of an event and its complement is 1
The probability of an impossible event is zero.
NOTE: Two events are mutually exclusive or disjoint if they cannot both be true
Note
QUESTION
- What is the probability of a Queen in a 52 card deck?
- What is the probability of a Queen or a spade?
Independence¶
Events are independent (notation \(A\bot B\)) if:
or
The above is known as conditional probability.
With respect to independence ask yourself—Does it it provides information about A
- How could we use the definition of independence to test whether two events are independent?
- What does knowing that B has occurred tell us about the likelihood of A?
- Under independence?
- Without independence?
The \(P(A\cap B) = P(A)P(B)\) is known as the multiplication rule
A problem¶
Note
HOMEWORK
Take a moment to think about this question:
- Three types of fair coins are in an urn: HH, HT, and TT
- You pull a coin out of the urn, flip it, and it comes up H
- Q: what is the probability it comes up H if you flip it a second time?
If you expect that this event provides information then a conditional probability may be appropriate.
Conditional probability¶
\(P(B|A) = P(A \cap B) / P(A)\)
Probability Chain Rule¶
In probability theory, the chain rule (also called the general product rule) permits the calculation of any member of the joint distribution of a set of random variables using only conditional probabilities.
We can rearrange the formula for conditional probability to get the product rule:
\(P(A,B) = P(A|B)P(B)\)
We can extend this for three or more variables:
\(P(A,B,C) = P(A| B,C) P(B,C) = P(A|B,C) P(B|C) P(C)\)
More generally:
\(P(\cap_{i}^nX_i) = \prod_i^n P(X_i | \cap_k^{i-1} X_k)\)
Law of Total Probability¶
If \(\{B_n\}\) is a partition of a sample space A, meaning \(\cup_i B_i = A\) and \(B_i \cap B_j=\emptyset \forall i, j\)
Then
\(P(A) = \sum P(A\cap B_i)\)
or
\(P(A) = \sum P(A|B_i) P(B_i)\)
And we call A the marginal distribution of B
Bayes Rule¶
Use Bayes’s Rule when you need to compute conditional probability for \(A|B\) but only have probability for \(B|A\):
\(P(A|B) = \frac{P(B|A)P(A)}{P(B)}\)
\(P(\theta|x) = \frac{P(x|\theta)P(\theta)}{P(x)}\)
Proof: use the definition of conditional probability
Recall that
\(P(A,B) = P(B,A)\)
Lets start with the conditional probability
\(P(A|B) = \frac{P(A \cap B)}{P(B)}\)
If we write the reverse of that
\(P(B|A) = \frac{P(B \cap A)}{P(A)} = \frac{P(A \cap B)}{P(A)}\)
Then multiply by \(P(A)\)
\(P(A \cap B) = P(B|A)P(A)\)
Then plug this back into the conditional probability.
Bayesian statistics¶
Bayesian inference works by combining information about parameters \(\theta\) contained in the observed data \(x\) as quantified in the likelihood function \(p(x|\theta)\). Classical statistics works by making inference about a single point for our parameter, while Bayesian inference works on the whole distribution of that parameter. Parameters through the Bayesian lens are treated as random variables described by distributions.
Lets put Bayesian inference on hold and first look at and example of Bayes Rule.
- Predictive value positive - Prob. person has disease given the test was positive.
- \(PV^{+} = P (D^{+} |T^{+})\)
- Predicitve value negative - Prob. person does not have diease given test was negative
- \(PV^{-} = P (D^{-} |T^{-} )\)
- Sensitivity - Prob. that test positive given person has disease
- \(P (T^{+} |D^{+})\)
- Specificity - Prob. that test negative given person does not have disease
- \(P (T^{-} |D^{-})\)
Prevalance - \(d = P(D^{+})\)
Note that: \(P (T + |D - ) = 1 - \textrm{specificity}\)
Lets say we wanted to know \(PV^{+}\).
\[\begin{eqnarray} P (D^{+} |T^{+}) &=& \frac{P(T^{+}|D^{+}) P(D^{+})}{P(D^{+})P(T^{+}|D{+})+P(D^{-})P(T^{+}|D^{-})} \\ &=& \frac{d \times \textrm{sensitivity}}{d \times \textrm{sensitivity}+(1-d) \times (1-\textrm{specificity})} \end{eqnarray}\]
So if we were given
Sensitivity = 0.84, specificity = 0.77, prevalence = 0.20
Then
\[\begin{split}PV^{+} = \frac{(0.2)(0.84)}{(0.2)(0.84)+(0.8)(0.23)} = 0.48 \\ PV^{-} = \frac{(0.8)(0.77)}{(0.8)(0.77)+(0.2)(0.16)} = 0.95\end{split}\]


--- layout: post status: publish published: true title: Podcast 3.52 - Aramis Ramirez, the next Cubs-killer? author: display_name: Corey Fineran login: Corey email<EMAIL_ADDRESS>url: '' author_login: Corey author_email<EMAIL_ADDRESS>wordpress_id: 6477 wordpress_url: http://ivyenvy.com/?p=6477 date: '2011-12-13 23:42:21 +0000' date_gmt: '2011-12-14 05:42:21 +0000' categories: - Podcast tags: - Aramis Ramirez - Brewers - Koyie Hill - Ron Santo - Tyler Colvin - Pat Hughes - Galesburg IL - DJ LeMahieu - Ian Stewart - Ryan Braun comments: [] ---
Andy, Corey and Kurt talk about meeting Pat Hughes, radio voice of the Chicago Cubs over the weekend at a book signing for "Ron Santo: A Perfect 10", in the Quad Cities. While on the topic of Ron Santo, we read an email from Michael in Galesburg, IL.
We discussed the possibility that with his signing with the Milwaukee Brewers, Aramis Ramirez could become the next in a long-line of Cubs-killers. We also touch on the idea that Ramirez could be forced to carry the power for the Brewers for the first 50 games of the Brewers season with due to Ryan Braun and his "highly unusual circumstances".
Ian Stewart will be the replacement at 3rd base for Ramirez and we take a look at the trade that brought him to the Cubs and Tyler Colvin and DJ LeMahieu to the Rockies. Speaking of players we are ok with seeing leave the Cubs (Colvin), we bid farewell to Koyie Hill. With his departure, we talk about the replacement, and future of the Cubs at the catcher position.
After the photo caption contest, Corey reads some interesting tidbits on baseball players from the late 80's and early 90's from the website RBI Hall of Shame.


Interest in ClickHouse among Chinese experts is growing rapidly. It was second ClickHouse Meetup in Beijing this year and the venue was more than full, it could fit only about 170 people out of 500 who signed up and around 2000 more joined the live translation online. Many Chinese companies have already adopted ClickHouse in production and are willing to share their experience.
See the video recording of all talks and all slides.
Welcome word by William Kwok (郭炜), CTO of Analysys, who played a key role in organizing this event:
Nikolay Kochetov from Yandex demonstrating recent advancements in string processing optimization using LowCardinality feature:
Shang Shujie (尚书杰) from Kuaishou gives an overview of ClickHouse and it's usage scenarios:
Winter Zhang (张健) from QingCloud explains their services based on ClickHouse:
Audience listening to Zhang's talk:
Li Junfei (李俊飞) from Tencent explains how ClickHouse fits their data processing infrastructure:
Questions&Answers session:
Jack Gao (高鹏) from Sina explains their ClickHouse use case and gives some advice based on their extensive experience with ClickHouse:
Chinese developers are also one of the most active worldwide in contributing to ClickHouse source code compared to other countries. Chinese ClickHouse Contributors Awards 2018 ceremony was also part of the meetup agenda with the following:
- 张建 (Winter Zhang, zhang2014) received First Place among independent ClickHouse developers in China for 2018, having developed 22 new features, improvements, and fixes in 57 pull requests.
- Amos Bird received Second Place among independent ClickHouse developers in China for 2018, having developed 16 new features, improvements, and fixes in 42 pull requests.
- 李本旺 (sundy-li) received Third Place among independent ClickHouse developers in China for 2018, having developed 6 new features, improvements, and fixes in 11 pull requests.
A special award went to William Kwok (郭炜) for his active role in developing the Chinese ClickHouse Community.
Sundy Li (李本旺) receives ClickHouse Contributor Award from Alexey Milovidov:
William Kwok (郭炜) receives special award for organizing Chinese ClickHouse community and meetups:
Pre-meetup at the Analysys office:


Hello, Aidar!
You have been registered at secret_tech demo ICO dashboard. Please confirm your email address to get access to the contributor account by putting verification code below
Do not send this code to someone. If you didn't register - just ignore this email.
Contact us to order a turn-key solution for your crowdsale:


public class LineSeg
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable, org.eclipse.draw2d.geometry.Translatable
| Modifier and Type | Class and Description |
|---|---|
static class |
LineSeg.KeyPoint
Enumeration class for defining the keypoint along a line segment.
|
static class |
LineSeg.Sign
Enumeration class for defining the orientations of a point relative to
the line segment.
|
static class |
LineSeg.TrigValues
Structure to hold onto trig values that represent an angle.
|
| Constructor and Description |
|---|
LineSeg(LineSeg.KeyPoint start,
int fromX,
int fromY,
float slope,
long len,
int xdir)
Creates a segment using (fromX, fromY) as either the first point of the
segment (start == Origin) or the midpoint of the segment (start ==
Midpoint), and using slope as its new slope and len as the new length.
|
LineSeg(org.eclipse.draw2d.geometry.Point ptStart,
org.eclipse.draw2d.geometry.Point ptEnd)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
containsPoint(org.eclipse.draw2d.geometry.Point aPoint,
int tolerance)
Checks if this line segment contains the given point within a tolerance
value.
|
float |
distanceAlong(org.eclipse.draw2d.geometry.Point coord)
Finds the percentage distance along this line segement where the given
point resides.
|
long |
distanceToPoint(int xCoord,
int yCoord)
Finds the perpendicular distance from a point coordinates to this line
segment.
|
boolean |
equals(java.lang.Object seg) |
double[] |
getEquation()
Returns array with 3 numbers in it, which are the coefficients of the
generalized line equation of the line corresponding to this line segment
a*x+b*y=c is the equation => result[0]=a, result[1]=b, result[2]=c.
|
org.eclipse.draw2d.geometry.Point |
getInfimum()
Get a
Point representing the lowest point value for this
line segment. |
static double[] |
getLineEquation(double x1,
double y1,
double x2,
double y2)
Returns the coefficients of the generalized equation of the line passing
through points (x1,y1) and (x2,y2) Generalized line equation: ax+by=c =>
a==result[0], b==result[1], c==result[2].
|
org.eclipse.draw2d.geometry.PointList |
getLineIntersectionsWithEllipse(org.eclipse.draw2d.geometry.Rectangle ellipseBounds)
Calculates intersection points of the line of the line segment and
ellipse.
|
org.eclipse.draw2d.geometry.PointList |
getLineIntersectionsWithLineSegs(org.eclipse.draw2d.geometry.PointList points)
Calculates intersection points of the line that contains this line
segment with a list of other line segments.
|
org.eclipse.draw2d.geometry.PointList |
getLinesIntersections(LineSeg line)
Returns intersection points of two lines that contain this line segment
and the argumet line segment.
|
org.eclipse.draw2d.geometry.Point |
getOrigin()
Accesssor to retrieve the origin point of the line segement.
|
LineSeg |
getParallelLineSegThroughPoint(org.eclipse.draw2d.geometry.Point ptLoc)
Returns a new
LineSeg that is parallel to this by the given
distance. |
org.eclipse.draw2d.geometry.Point |
getSupremum()
Get points representing the highest point value for this line segment.
|
org.eclipse.draw2d.geometry.Point |
getTerminus()
Accesssor to retrieve the terminal point of the line segement.
|
LineSeg.TrigValues |
getTrigValues(org.eclipse.draw2d.geometry.Ray ptToVector)
Gets the trig values associated with the angle from this line segment to
the given vector.
|
int |
hashCode() |
org.eclipse.draw2d.geometry.Point |
intersect(LineSeg line,
int nTolerance)
Determines the intersect point between this line and the line passed in
as a parameter.
|
boolean |
isHorizontal()
Determines if this a horizontal segment.
|
boolean |
isVertical()
Determines if this a vertical segment.
|
double |
length()
Calculate the length of the line segment.
|
org.eclipse.draw2d.geometry.Point |
locatePoint(double pctDist,
long theHeight,
LineSeg.Sign asOriented)
Locates a point at a given height and distance along the line segment.
|
org.eclipse.draw2d.geometry.Point |
movePointOnSeq(org.eclipse.draw2d.geometry.Point p,
int units)
Move point on seq.
|
void |
performScale(double factor) |
void |
performTranslate(int dx,
int dy) |
org.eclipse.draw2d.geometry.Point |
perpIntersect(int startX,
int startY)
Calculates the perpendicular intersection point on the line segment from
the given point.
|
float |
perpSlope()
Calculates the perpendicular slope of this line segment.
|
boolean |
pointOn(long theDistance,
LineSeg.KeyPoint fromKeyPoint,
org.eclipse.draw2d.geometry.Point ptResult)
Gets the point on the line segment at the given distance away from the
key point.
|
LineSeg.Sign |
positionRelativeTo(org.eclipse.draw2d.geometry.Point rel)
Returns out a positive or negative value (Positive / Negative) depending
on the orientation of the given point to the line.
|
double |
projection(int xCoord,
int yCoord)
Calculates the projection of the given point onto the line segment.
|
void |
setOrigin(org.eclipse.draw2d.geometry.Point origin)
Sets the origin point of the line segment.
|
void |
setTerminus(org.eclipse.draw2d.geometry.Point terminus)
Sets the terminating point of the line segment.
|
float |
slope()
Calculates the slope of this line segment (y=mx+b).
|
public LineSeg(org.eclipse.draw2d.geometry.Point ptStart, org.eclipse.draw2d.geometry.Point ptEnd)
ptStart
- Point indicating the start of the line segmentptEnd
- Point indicating the end of the line segmentpublic LineSeg(LineSeg.KeyPoint start, int fromX, int fromY, float slope, long len, int xdir)
start
- KeyPoint
from which the other parameters are
relative tofromX
- int x value of start KeyPoint
fromY
- int y value of start KeyPoint
slope
- float
slope of the linelen
- long
length of the linexdir
- directionpublic boolean equals(java.lang.Object seg)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public org.eclipse.draw2d.geometry.Point getOrigin()
Point
the origin of the line segment.public org.eclipse.draw2d.geometry.Point getTerminus()
Point
the terminating point of the line segmentpublic void setOrigin(org.eclipse.draw2d.geometry.Point origin)
origin
- Point to set as originpublic void setTerminus(org.eclipse.draw2d.geometry.Point terminus)
terminus
- Point to set as terminuspublic final org.eclipse.draw2d.geometry.Point getSupremum()
Point
Representing the highest point value.public final org.eclipse.draw2d.geometry.Point getInfimum()
Point
representing the lowest point value for this
line segment.Point
Representing the lowest point value.public final boolean isHorizontal()
boolean
true
if horizontal,
false
otherwise.public final boolean isVertical()
boolean
true
if vertical,
false
otherwise.public final float slope()
float
the slope of this segment. If the slope is not
defined such as when the line segment is vertical, then the
constant BIGSLOPE
is returned to avoid divide by
zero errors.public final float perpSlope()
BIGSLOPE
is returned if the calculated slope before
inverting it was zero.float
the perpendicular slope value of the line
segment.public final double length()
double
length of the line segment.public org.eclipse.draw2d.geometry.Point intersect(LineSeg line, int nTolerance)
false
.line
- LineSeg
to test the intersection against.nTolerance
- int tolerance value for detecting the intersection.Point
that represents the intersection with this
line, or null
if the calculation is not possible.public final boolean containsPoint(org.eclipse.draw2d.geometry.Point aPoint, int tolerance)
aPoint
- Point
to test if contained in this line.tolerance
- int tolerance value for detecting the intersection.boolean
true
if the given point lies on
this segment, false
otherwise.public final float distanceAlong(org.eclipse.draw2d.geometry.Point coord)
coord
- Point
to determine how far along the line segment
it resides.float
the distance along the line segment where the
ptCoord is in a percentage from.public final long distanceToPoint(int xCoord, int yCoord)
xCoord
- the x coordinate of the point.yCoord
- the y coordinate of the point.long
the distance from the line segment to the given
point.public final org.eclipse.draw2d.geometry.Point perpIntersect(int startX, int startY)
startX
- the x coordinate of the pointstartY
- the y coordinate of the pointPoint
value containment the perpendicular
intersection point.public final double projection(int xCoord, int yCoord)
xCoord
- the x coordinate of the point.yCoord
- the y coordinate of the point.double
value of the calculated projection.public final LineSeg.Sign positionRelativeTo(org.eclipse.draw2d.geometry.Point rel)
rel
- Point
to test the relative position against this
line.Sign
value indicating the relative position of the
given point.public final org.eclipse.draw2d.geometry.Point locatePoint(double pctDist, long theHeight, LineSeg.Sign asOriented)
pctDist
- double
distance along the linetheHeight
- long
height above the lineasOriented
- Sign
indicating relative position of the point to
be locatedPoint
value that was located on the line.public final boolean pointOn(long theDistance, LineSeg.KeyPoint fromKeyPoint, org.eclipse.draw2d.geometry.Point ptResult)
theDistance
- long
distance along the linefromKeyPoint
- KeyPoint
to calculate the distance fromptResult
- Point
where the resulting calculating value is
stored.boolean
true
if point can be
calculated, false
otherwise.public LineSeg.TrigValues getTrigValues(org.eclipse.draw2d.geometry.Ray ptToVector)
ptToVector
- Ray
value to calculate trig values of.TrigValues
object representing the trigonometry
values for the angle of the passed in Ray
relative
to this
or null if calculation is not possible,public final LineSeg getParallelLineSegThroughPoint(org.eclipse.draw2d.geometry.Point ptLoc)
LineSeg
that is parallel to this by the given
distance. Orientation is relative to the start and end. Negative implies
to the left and Position implies to the right.ptLoc
- Point
value to constrain the line to.LineSeg
line that was calculated going through the
given pointpublic static double[] getLineEquation(double x1, double y1, double x2, double y2)
x1
- - x coordinate of the 1st pointy1
- - y coordinate of the 1st pointx2
- - x coordinate of the 2nd pointy2
- - y coordinate of the 2nd pointpublic double[] getEquation()
public org.eclipse.draw2d.geometry.PointList getLinesIntersections(LineSeg line)
line
- - the line segmentpublic org.eclipse.draw2d.geometry.PointList getLineIntersectionsWithEllipse(org.eclipse.draw2d.geometry.Rectangle ellipseBounds)
ellipseBounds
- - width and height of the ellipsePointList
containing all intersection pointspublic org.eclipse.draw2d.geometry.PointList getLineIntersectionsWithLineSegs(org.eclipse.draw2d.geometry.PointList points)
PolyLine
, i.e form a closed polygon
figure, then the method will claculate intersections of a line and a
figurepoints
- - list of points that form linesegments, i.e the
PolyLine
public void performScale(double factor)
performScale
in interface org.eclipse.draw2d.geometry.Translatable
public void performTranslate(int dx, int dy)
performTranslate
in interface org.eclipse.draw2d.geometry.Translatable
public org.eclipse.draw2d.geometry.Point movePointOnSeq(org.eclipse.draw2d.geometry.Point p, int units)
p
- the punits
- the units


This spell gives the willing creature you touch the ability to see things as they actually are. For the duration, the creature has truesight, notices secret doors hidden by magic, and can see into the Ethereal Plane, all out to a range of 120 feet.
This spell gives the willing creature you touch the ability to see things as they actually are. For the duration, the creature has truesight, notices secret doors hidden by magic, and can see into the Ethereal Plane, all out to a range of 120 feet.


- satisfaction(MouseEvent) - Method in class gui.MainMenuNetworkManager
-
- satisfaction(MouseEvent) - Method in class gui.MainMenuReports
-
- SatisfactionSurvey - Class in gui
-
- SatisfactionSurvey() - Constructor for class gui.SatisfactionSurvey
-
- saveIPaction(ActionEvent) - Method in class gui.ClientIpSetController
-
- selectedProduct - Static variable in class gui.CatalogController
-
- selectedSurvey(ActionEvent) - Method in class gui.SurveyExpertController
-
- selectedSurvey(ActionEvent) - Method in class gui.SurveyResultsController
-
- selectYearAndQuarter() - Method in class gui.ReportComplainsController
-
- selectYearAndQuarter() - Method in class gui.ReportOrdersController
-
- selectYearAndQuarter() - Method in class gui.ReportRevenueController
-
- selectYearAndQuarter() - Method in class gui.ReportSatisfactionController
-
- selectYearAndQuarter1() - Method in class gui.ReportComplains2Controller
-
- selectYearAndQuarter1() - Method in class gui.ReportOrders2Controller
-
- selectYearAndQuarter1() - Method in class gui.ReportRevenue2Controller
-
- selectYearAndQuarter1() - Method in class gui.ReportSatisfaction2Controller
-
- selectYearAndQuarter2() - Method in class gui.ReportComplains2Controller
-
- selectYearAndQuarter2() - Method in class gui.ReportOrders2Controller
-
- selectYearAndQuarter2() - Method in class gui.ReportRevenue2Controller
-
- selectYearAndQuarter2() - Method in class gui.ReportSatisfaction2Controller
-
- sendRequestToServer(Actions) - Method in class gui.GUIcontroller
-
- sendRequestToServer(Actions, Object) - Method in class gui.GUIcontroller
-
- sendRequestToServer(Actions, Object, Shop) - Method in class gui.GUIcontroller
-
- sendToAllClients(Object) - Method in class ocsf.server.AbstractServer
-
Sends a message to every client connected to the server.
- sendToAllClients(Object) - Method in class ocsf.server.ObservableServer
-
Sends a message to every client connected to the server.
- sendToClient(Object) - Method in class ocsf.server.ConnectionToClient
-
Sends an object to the client.
- sendToServer(Object) - Method in class ocsf.client.AbstractClient
-
Sends an object to the server.
- sendToServer(Object) - Method in class ocsf.client.ObservableClient
-
Sends an object to the server.
- server - package server
-
- SERVER_CLOSED - Static variable in class ocsf.server.ObservableServer
-
The string sent to the observers when the server has closed.
- SERVER_STARTED - Static variable in class ocsf.server.ObservableServer
-
The string sent to the observers when the server has started.
- SERVER_STOPPED - Static variable in class ocsf.server.ObservableServer
-
The string sent to the observers when the server has stopped.
- ServerController - Class in server
-
- ServerController(int) - Constructor for class server.ServerController
-
- ServerData - Class in server
-
- ServerData() - Constructor for class server.ServerData
-
- serverDetailsUpdate(String, String, String) - Static method in class server.ServerController
-
- ServerResponse - Class in entity
-
- ServerResponse() - Constructor for class entity.ServerResponse
-
- ServerResponse(Actions) - Constructor for class entity.ServerResponse
-
- ServerResponse(Actions, Object) - Constructor for class entity.ServerResponse
-
- ServiceExpertDatabase - Class in database
-
- ServiceExpertDatabase() - Constructor for class database.ServiceExpertDatabase
-
- setAction(Actions) - Method in class entity.Request
-
- setAction(Actions) - Method in class entity.ServerResponse
-
- setAnswer(Actions) - Method in class entity.ServerResponse
-
- setAnswer(boolean) - Method in class entity.ValidationResult
-
- setAuthorized(int) - Method in class entity.CreditCard
-
- setAuthorized(int) - Method in class entity.User
-
- setAvgResults(SurveyResults) - Method in class gui.SurveyExpertController
-
- setBacklog(int) - Method in class ocsf.server.AbstractServer
-
Sets the maximum number of waiting connections accepted by the
operating system.
- setBacklog(int) - Method in class ocsf.server.ObservableServer
-
Sets the maximum number of
waiting connections accepted by the operating system.
- setCardNumber(String) - Method in class entity.CreditCard
-
- setCart(ArrayList<CartProduct>) - Method in class entity.ReportOrders
-
- setCatalogProducts(ArrayList<Product>) - Method in class gui.CatalogController
-
- setCity(String) - Method in class entity.Address
-
- setColor(String) - Method in class entity.CustomMadeProduct
-
- setCompensation(float) - Method in class entity.Complain
-
- setComplainDate(LocalDate) - Method in class entity.Complain
-
- setComplains(ArrayList<Complain>) - Method in class entity.ReportComplains
-
- setConclusion(String) - Method in class entity.SurveyConclusion
-
- setConclusion(String) - Method in class gui.SurveyExpertController
-
- setCurrentScene(Scene) - Static method in class gui.GUIcontroller
-
- setCurrentStage(Stage) - Static method in class gui.GUIcontroller
-
- setCvv(String) - Method in class entity.CreditCard
-
- setDate(LocalDate) - Method in class entity.Order
-
- setDate(LocalDate) - Method in class entity.Revenue
-
- setDate(LocalDate) - Method in class entity.SurveyResults
-
- setDealPrice(float) - Method in class entity.Product
-
- setDeals(ArrayList<Deal>) - Method in class gui.CatalogController
-
- setDealsCart(ArrayList<Deal>) - Method in class gui.CartController
-
- setDesc(String) - Method in class entity.Complain
-
- setDescription(String) - Method in class entity.ImgFile
-
- setEndDate(LocalDate) - Method in class entity.ReportRevenue
-
- setEndDate(LocalDate) - Method in class entity.ReportSatisfaction
-
- setExe(String) - Method in class entity.ImgFile
-
- setExpMonth(int) - Method in class entity.CreditCard
-
- setExpYear(int) - Method in class entity.CreditCard
-
- setFileName(String) - Method in class entity.ImgFile
-
- setFname(String) - Method in class entity.User
-
- setGreeting(String) - Method in class entity.Order
-
- setHost(String) - Method in class ocsf.client.AbstractClient
-
Sets the server host for the next connection.
- setHost(String) - Method in class ocsf.client.ObservableClient
-
Sets the server host for the next connection.
- setHours(int) - Method in class entity.Order
-
- setId(int) - Method in class entity.Address
-
- setId(int) - Method in class entity.Complain
-
- setId(int) - Method in class entity.CreditCard
-
- setId(int) - Method in class entity.Deal
-
- setId(int) - Method in class entity.Order
-
- setId(int) - Method in class entity.Refund
-
- setId(int) - Method in class entity.Shop
-
- setId(int) - Method in class entity.Survey
-
- setId(int) - Method in class entity.SurveyConclusion
-
- setId(int) - Method in class entity.SurveyResults
-
- setId(int) - Method in class entity.User
-
- setImage(String) - Method in class entity.Product
-
- setImgf(ImgFile) - Method in class entity.Product
-
- setInfo(String, Object) - Method in class ocsf.server.ConnectionToClient
-
Saves arbitrary information about this client.
- setLname(String) - Method in class entity.User
-
- setMaxPrice(float) - Method in class entity.CustomMadeProduct
-
- setMaxPrice(Float) - Method in class gui.CustomMadeController
-
- setMinPrice(float) - Method in class entity.CustomMadeProduct
-
- setMinPrice(Float) - Method in class gui.CustomMadeController
-
- setMinutes(int) - Method in class entity.Order
-
- setMoney(ArrayList<Revenue>) - Method in class entity.ReportRevenue
-
- setMoney(float) - Method in class entity.Revenue
-
- setMsg(ArrayList<String>) - Method in class entity.ValidationResult
-
- setMybytearray(byte[]) - Method in class entity.ImgFile
-
- setMyUser(User) - Method in class entity.CustomMadeProduct
-
- setNumber(int) - Method in class entity.Address
-
- setNumberVoters(int) - Method in class gui.SurveyExpertController
-
- setObser(ObservableList<Complain>) - Method in class gui.ReportComplains2Controller
-
- setObser2(ObservableList<Complain>) - Method in class gui.ReportComplains2Controller
-
- setOrder(Order) - Method in class entity.Refund
-
- setOrder_id(int) - Method in class entity.CartProduct
-
- setOrderDate(LocalDate) - Method in class entity.CartProduct
-
- setPassword(String) - Method in class entity.User
-
- setPaymentMethod(int) - Method in class entity.Order
-
- setPercent(int) - Method in class entity.Deal
-
- setPermissions(int) - Method in class entity.User
-
- setPhone(String) - Method in class entity.User
-
- setPid(int) - Method in class entity.Product
-
- setPort(int) - Method in class ocsf.client.AbstractClient
-
Sets the server port number for the next connection.
- setPort(int) - Method in class ocsf.client.ObservableClient
-
Sets the server port number for the next connection.
- setPort(int) - Method in class ocsf.server.AbstractServer
-
Sets the port number for the next connection.
- setPort(int) - Method in class ocsf.server.ObservableServer
-
Sets the port number for the next connection.
- setPrice(float) - Method in class entity.Order
-
- setPrice(float) - Method in class entity.Product
-
- setPriceOfShipping(float) - Method in class entity.Shop
-
- setProduct(Product) - Method in class entity.Order
-
- setProduct_type(String) - Method in class entity.CartProduct
-
- setProductId(int) - Method in class entity.Deal
-
- setProductId(String) - Method in class entity.Product
-
- setProductName(String) - Method in class entity.Product
-
- setProductsCart(ArrayList<Product>) - Method in class gui.CartController
-
- setProductType(String) - Method in class entity.Product
-
- setQ1(String) - Method in class entity.Survey
-
- setQ1(int) - Method in class entity.SurveyResults
-
- setQ2(String) - Method in class entity.Survey
-
- setQ2(int) - Method in class entity.SurveyResults
-
- setQ3(String) - Method in class entity.Survey
-
- setQ3(int) - Method in class entity.SurveyResults
-
- setQ4(String) - Method in class entity.Survey
-
- setQ4(int) - Method in class entity.SurveyResults
-
- setQ5(String) - Method in class entity.Survey
-
- setQ5(int) - Method in class entity.SurveyResults
-
- setQ6(String) - Method in class entity.Survey
-
- setQ6(int) - Method in class entity.SurveyResults
-
- setRefund(float) - Method in class entity.Refund
-
- setReq(Request) - Method in class gui.GUIcontroller
-
- setShop(Shop) - Method in class entity.Request
-
- setShop(Shop) - Method in class entity.User
-
- setShopName(String) - Method in class entity.Shop
-
- setSize(int) - Method in class entity.ImgFile
-
- setStartDate(LocalDate) - Method in class entity.ReportRevenue
-
- setStartDate(LocalDate) - Method in class entity.ReportSatisfaction
-
- setStatus(int) - Method in class entity.Complain
-
- setStatus(String) - Method in class entity.Order
-
- setStock(int) - Method in class entity.Product
-
- setStreet(String) - Method in class entity.Address
-
- setSurvey(Survey) - Method in class entity.SurveyResults
-
- setSurveyId(int) - Method in class entity.SurveyConclusion
-
- setSurveyId(int) - Method in class entity.SurveyResults
-
- setSurveyName(String) - Method in class entity.Survey
-
- setSurveyResults(ArrayList<SurveyResults>) - Method in class entity.ReportSatisfaction
-
- setTimeout(int) - Method in class ocsf.server.AbstractServer
-
Sets the timeout time when accepting connections.
- setTimeout(int) - Method in class ocsf.server.ObservableServer
-
Sets the timeout time when accepting connection.
- setType(String) - Method in class entity.CustomMadeProduct
-
- setType(String) - Method in class entity.Revenue
-
- setUser(User) - Method in class entity.Complain
-
- setUser(User) - Method in class entity.CreditCard
-
- setUser(User) - Method in class entity.Order
-
- setUsername(String) - Method in class entity.User
-
- setValue(Object) - Method in class entity.Request
-
- setValue(Object) - Method in class entity.ServerResponse
-
- Shop - Class in entity
-
- Shop() - Constructor for class entity.Shop
-
- shop - Static variable in class gui.LoginController
-
- shop - Static variable in class server.ServerController
-
- shop1 - Static variable in class gui.MainMenuNetworkManager
-
- shop2 - Static variable in class gui.MainMenuNetworkManager
-
- showAlert(String) - Method in class gui.CustomMadeController
-
- showBoxes(Survey) - Method in class gui.SurveyResultsController
-
- ShowLoginMessage(int) - Method in class gui.LoginController
-
- start(Stage) - Method in class client.ClientData
-
- start(Stage) - Method in class gui.ClientIpSetController
-
- start(Stage) - Method in class gui.DatabaseLoginController
-
- start(Stage) - Method in class gui.LoginController
-
- start(Stage) - Method in class server.ServerData
-
- stopListening() - Method in class ocsf.server.AbstractServer
-
Causes the server to stop accepting new connections.
- stopListening() - Method in class ocsf.server.ObservableServer
-
Causes the server to stop accepting new connections.
- Survey - Class in entity
-
- Survey(String, String, String, String, String, String, String) - Constructor for class entity.Survey
-
- Survey(int, String, String, String, String, String, String, String) - Constructor for class entity.Survey
-
- survey(MouseEvent) - Method in class gui.MainMenuService
-
- SurveyConclusion - Class in entity
-
- SurveyConclusion() - Constructor for class entity.SurveyConclusion
-
- SurveyExpertController - Class in gui
-
- SurveyExpertController() - Constructor for class gui.SurveyExpertController
-
- SurveyManagerDatabase - Class in database
-
- SurveyManagerDatabase() - Constructor for class database.SurveyManagerDatabase
-
- surveyResult(MouseEvent) - Method in class gui.MainMenuEmployeeController
-
- SurveyResultDatabase - Class in database
-
- SurveyResultDatabase() - Constructor for class database.SurveyResultDatabase
-
- SurveyResults - Class in entity
-
- SurveyResults(int, int, int, int, int, int, int, int) - Constructor for class entity.SurveyResults
-
- SurveyResults(int, int, int, int, int, int, int) - Constructor for class entity.SurveyResults
-
- SurveyResultsController - Class in gui
-
- SurveyResultsController() - Constructor for class gui.SurveyResultsController
-


Links
Projects
A nice simple amp project
http://runawaybrainz.blogspot.co.uk/2012/04/audio-crystal-cmoy-freeform-headphone.html
Shopping
Tokyu hands
http://hands.net/cate/diy/material/molding-medicine/


Waiterbot Kitchen
Orders in currently in flight in the Waiterbot restaraunt.
Order Timestamp
Table
Item
Fulfill
Confirm Order


Play modules
A Play application can be assembled from several application modules. This allows you to reuse application components across several applications or split a large application into several smaller applications.
O que é um módulo?
A module is just another Play application; however some differences exist in the way resources are loaded for an application module:
- A module does not have a
conf/application.conf
file. - A module can have a
conf/routes
file, but these routes will not be loaded automatically. - All files are first searched for in the main application path, then in all loaded modules.
- A module can contain plain Java code packaged as a JAR file in the module/lib directory.
- A module can include a documentation page.
- Everything in a module is optional.
You can create a module with the play new-module
command.
Como carregar um módulo de uma aplicação
Modules are automatically loaded from the /modules
directory of the application. You can use the dependency management system to automatically manage your application modules.
Carregando rotas padrão de módulos
A module can provide a default routes
file. You can load it in the main application routes
file, using a special route declaration:
# Import the default CRUD routes
GET /admin module:crud
You can even load routes from all available modules:
GET / module:*
Add documentation to a module
You can add a documentation page to a module simply by adding a file documentation/manual/home.textile
to the module. Use the same Textile syntax as the Play documentation itself, in ${play.path}/documentation/manual/
.
If you are running a Play application that uses one or more modules with documentation, then the local Play documentation at http://localhost:9000/@documentation will include links to their documentation pages under Installed Modules in the side bar.
Usando o repositório de módulos
The module repository identifies all modules contributed by the community. A module can have several versions. You have to check the module’s documentation for which version you need to use for your framework version.
You can also browse the module repository using the play list-modules
command.
gbo-mac:~ guillaume$ play list-modules
~ _ _
~ _ __ | | __ _ _ _| |
~ | '_ \| |/ _' | || |_|
~ | __/|_|\____|\__ (_)
~ |_| |__/
~
~ play! 1.2, http://www.playframework.org
~
~ You can also browse this list online at http://www.playframework.org/modules
~
~ [bespin]
~ Bespin online editor
~ http://www.playframework.org/modules/bespin
~ Versions: 1.0, 1.0.1
~
~ [cobertura]
~ Cobertura
~ http://www.playframework.org/modules/cobertura
~ Versions: 1.0
...
You can install a module locally using the play install {module}-{version}
command. Installing a module locally allows you to use it from several application without having to install a different copy in each application. It is useful for large modules that are more like framework extensions than extensions to your application.
For example, to install Scala support in the framework, use:
play install scala-head
By convention the head
version is the unstable version of the module. You can also install the default version of a module by omitting the version information. For example:
play install scala
Modules installed this way are downloaded to the /modules
directory of your framework installation.
You can change the installation path using the --path
option:
play install gwt --path=my-project
Contribuindo com um novo módulo para o repositório
Prerequisites
To register a new module, the following are required.
- A Google account, to post on the Google Group.
- An OpenID for your developer log-in (you can use your Google account for this).
- A module name that matches the regular expression
[a-zA-Z]+
. - Module documentation that explains what the module is for and how to use it.
- A module home page with the source code available and a way to report bugs, e.g. a GitHub, Google Code or Launchpad project.
- A license file, such as the open-source license in the Play distribution’s
COPYING
file.
Module registration
To use your Google account as your OpenID, you need to discover its full URL, as follows.
- On http://www.playframework.org/modules, under Developer login enter
https://www.google.com/accounts/o8/id
and click the Login button. - Log in to your Google account.
- Make a note of the full Google OpenID URL under Developer login, e.g.
https://www.google.com/accounts/o8/id?id=BItOawk7q69CFhRarQIo
Post a module registration request on the play-framework Google Group. For example:
Subject: Module registration request: {module name}
Module name:
jqueryui
Display name:
jQuery UI
Description:
Working examples of jQuery UI widgets, integrated with a Play application.
Project home page:
https://github.com/hilton/jqueryui-module
OpenID:
https://www.google.com/accounts/o8/id?id=BItOawk7q69CFhRarQIo
When your module has been registered, you can publish a release.
Releasing your module
To release your module:
- set the module version number in the first line of
conf/dependency.yml
, e.g.self: play -> jqueryui 1.0
- build the module with the
play build-module
command - log in to http://www.playframework.org/modules under Developer login
- browse to your module’s page, via the link on http://www.playframework.org/modules/developers under Your modules
- upload the generated ZIP file from your your module’s
dist/
directory, using the form under Manage module releases
You can of course use the offical Google Group to provide help and share information about your work.
Continuing the discussion
Aprenda how to efficiently manage your modules using Gerenciamento de dependências.


WOEFUL MOOR, AND BODRIGAN'S LEAP
THE Bodrigans, from a very early period, were connected with the borough of Looe. Otto, or Otho de Bodrigan, was lord of the manor of Pendrim and Looe in the reign of 'Edward II. Another Otho de Bodrigan was sheriff of Cornwall in the third of Richard II., A.D. 1400.
Sir Henry Bodrigan was "attaynted for taking part with King Richard III. against Henry VII. ; and, after flying into Ireland, Sir Richard Egecombe, father of Sir Pears Egecombe, had Bodrigan, and other parcels of Bodrigari's lands; and Trevanion had part of Bodrigan's lands, as Restronget and Newham, both in Falmouth Haven."
On the Barton of Bodrigan there exists what are evidently the remains of ancient fortifications, and near them a piece of waste land known as the Woeful Moor.
Here Sir Henry Edgecombe and Trevanion defeated the great Bodrigan. He fled, and tradition preserves, on the side of the cliff, the spot known as Bodrigan's Leap, from which he leapt into the sea, and swam to a ship which kept near the shore. As he leapt the precipice, he bequeathed, with a curse, "his extravagance to the Trevanions, and his folly to the Edgecombes."
These families divided between them an estate said to be worth, in those days, £10,000 per annum.
"At that period in our history when the law of the strongest was the rule, three families in Cornwall were engaged in a series of domestic wars; these were Bodrigan, Trevanion, and Edgecumbe. And when Richard the Third obtained sovereign power, on the division which then took place in the York faction, Bodrigan endeavoured to seize the property of Edgecumbe, with little respect, as it would seem, for the life of the possessor; but in the final struggle at Bosworth Field, where Henry Tudor put an entire end to this contest for power under the guise of property, by seizing the whole to himself, Trevanion and Edgecumbe had the good fortune to appear on the winning side, and subsequently availed themselves to the utmost of belligerent rights against Bodrigan, as he had attempted to dQ before against them. The last of that family was driven from his home, and seems to have perished in exile. His property was divided between the two families opposed to him, and, after the lapse of three hundred and fifty years, continues to form a large portion of their respective possessions."--Gilbert, vol iii., p. 204.
William de Bodrigan was lord of the manor of Restronget, in the 12th of Henry IV. The family possessed it till the beginning of the reign of Henry VII., when, on the attainder of Bodrigan, it was given to William Trevanion. [a]
[a] See Gilbert, vol. iii., p. 193, and Bond's account of the Trelawnys in Bond's Looe


#include <pstreams.h> class instm: iobase { bool get_eof(); bool get_eol(); char preview(); char get(); void putback(); string token(const cset& chars [, int limit ] ); int token(const cset& chars, char* buf, int size); string line(); string line( [ int limit ] ); int line(char* buf, int size); void skipline(); void skiptoken(const cset& chars); int skip(int numbytes); int read(char* buf, int count); }
This class implements the basic functionality of input streams. Instm is derived from iobase and inherits all its public methods and properties. All methods of instm except read() and get_eof() require buffering.
bool instm::get_eof() returns true if the end of file is reached.
bool instm::get_eol() returns true if the file pointer is currently at the end of a line. Since operating systems use different end-of-line codes or combinations of codes, it is recommended to check the end-of-line status using this property and skip the end-of-line sequence by calling skipline() method.
char instm::preview() returns the next character from the stream but does not advance the file pointer. If the pointer is at the end of file, preview() returns eofchar (null character).
char instm::get() returns the next character from the stream. If an attempt is made to read beyond the file (i.e. if the property eof is set), this method returns eofchar (null character).
void instm::putback() puts the last retrieved character back to the stream; a faster equivalent to seek(-1, IO_CURRENT). This function can be called only after a call to get() if the latter did not return an eof character.
string instm::token(const cset& chars [, int limit ] ) reads the next token that only contains characters of the given set chars. The optional parameter limit specifies the maximum number of bytes to read. If the token exceeds the limit, an exception (estream*) is thrown with error number ERANGE.
int instm::token(const cset& chars, char* buf, int size) -- this version of token() reads the next token to the given buffer buf. The number of characters is limited to size. This method returns the actual number of characters read from the stream which can not be greater than size. Unlike the other version of token(), does not throw exceptions if the token exceeds the limit, but rather truncates it to size. Note: this function does not put a terminating null symbol in the buffer.
string instm::line( [ int limit ] ) reads the current line from the stream. The end-of-line code(s) are not included in the returning value, however, line() skips them and sets the file pointer at the beginning of the next line. The optional parameter limit specifies the maximum number of bytes to read. If the token exceeds the limit, an exception (estream*) is thrown with error number ERANGE.
int instm::line(char* buf, int size) -- this version of line() reads the next line from the stream to the buffer buf. The number of characters is limited to size. This method returns the actual number of characters read from the stream which can not be greater than size. Unlike the other version of line(), does not throw exceptions if the token exceeds the limit, but rather truncates it to size. Note: this function does not put a terminating null symbol in the buffer.
void instm::skiptoken(const cset& chars) works like previous versions of token() except that the token string is not returned. Can be safely used to skip very large tokens.
void instm::skipline() skips the current line and sets the file pointer at the beginning of the next line.
int instm::skip(int numbytes) skips the specified number of bytes from the input stream.
int instm::read(char* buf, int count) reads count bytes from the stream and stores them in the buffer buf. This method does not require buffering.
See also: iobase, outstm, string, cset, Error handling


SAML Service Provider Home
Show SAML AuthnRequest
Send the request to configured Single Sign On URL of the Identity Provider
Send Request


Next: Use of Triple Semicolon, Previous: Use of Single Semicolon, Up: Semicolon
Comments that begin with a double semicolon are all aligned to the same level of indentation as a form would be at that same position in the code. The text of such a comment usually describes the state of the program at the point where the comment occurs, the code which follows the comment, or both.


Test results for
Orders
thumb_up
no failures
warning
new failures
repeat_one
reproduced failures
5 repeat failures
ignored failures
visibility_off
inaccessible
mood
improving
mood_bad
worsening
For example
5 repeat failures
1
repeat_one
2
warning
5
mood
Is read as
1 ignored failures,
2 repeat failures,
5 new failures,
and improving
thumb_up
No failures
warning
7
7 unconfirmed failures
repeat_one
3
3 confirmed failures
warning
1
1 unconfirmed failure
thumb_up
No failures
thumb_up
No failures
thumb_up
No failures
mood
Improved since last run
warning
2
2 unconfirmed failures
mood
Improved since last run
thumb_up
No failures
mood
Improved since last run
5 repeat failures
2
2 failures that have failed for 5 or more runs
repeat_one
6
6 confirmed failures
warning
42
42 unconfirmed failures
mood_bad
More confirmed failures since last run
visibility_off
No tests requiering Refunded were able to run


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.lwjgl.Sys
public final class Sys
System class (named Sys so as not to conflict with java.lang.System)
| Method Summary | |
|---|---|
static void |
alert(java.lang.String title,
java.lang.String message)
Attempt to display a modal alert to the user. |
static java.lang.String |
getClipboard()
Get the contents of the system clipboard. |
static long |
getTime()
Gets the current value of the hires timer, in ticks. |
static long |
getTimerResolution()
Obtains the number of ticks that the hires timer does in a second. |
static java.lang.String |
getVersion()
Return the version of the core LWJGL libraries as a String. |
static void |
initialize()
Initialization. |
static boolean |
is64Bit()
Returns true if a 64bit implementation was loaded. |
static boolean |
openURL(java.lang.String url)
Open the system web browser and point it at the specified URL. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static java.lang.String getVersion()
public static void initialize()
public static boolean is64Bit()
public static long getTimerResolution()
public static long getTime()
NOTEZ BIEN that the hires timer WILL wrap around.
public static void alert(java.lang.String title, java.lang.String message)
The alert should display the title and the message and then the current thread should block until the user dismisses the alert - typically with an OK button click.
It may be that the user's system has no windowing system installed for some reason, in which case this method may do nothing at all, or attempt to provide some console output.
title
- The title of the alert. We suggest using the title of your game.message
- The message text for the alert.public static boolean openURL(java.lang.String url)
There is no guarantee that this will work, nor that we can detect if it has failed - hence we don't return success code or throw an Exception. This is just a best attempt at opening the URL given - don't rely on it to work!
url
- The URL. Ensure that the URL is properly encoded.
public static java.lang.String getClipboard()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Chips is used to enter multiple values on an input field.
Chips requires an array as its model.
Chips can be used in a model driven form as well.
A chip is customized using a ng-template element where the value is passed as the implicit variable.
| Name | Type | Default | Description |
|---|---|---|---|
| field | string | null | Name of the property to display on a chip. |
| max | number | null | Maximum number of entries allowed. |
| disabled | boolean | false | When present, it specifies that the element should be disabled. |
| style | string | null | Inline style of the element. |
| styleClass | string | null | Style class of the element. |
| placeholder | string | null | Advisory information to display on input. |
| tabindex | number | null | Index of the element in tabbing order. |
| inputId | string | null | Identifier of the focus input to match a label defined for the component. |
| ariaLabelledBy | string | null | Establishes relationships between the component and label(s) where its value should be one or more element IDs. |
| allowDuplicate | boolean | true | Whether to allow duplicate values or not. |
| inputStyle | string | null | Inline style of the input field. |
| inputStyleClass | string | null | Style class of the input field. |
| addOnTab | boolean | false | Whether to add an item on tab key press. |
| addOnBlur | boolean | false | Whether to add an item when the input loses focus. |
| separator | string | null | Separator char to add an item when pressed in addition to the enter key. Currently only possible value is "," |
| Name | Parameters | Description |
|---|---|---|
| onAdd | originalEvent: Browser event value: Added item value |
Callback to invoke when a value is added. |
| onRemove | originalEvent: Browser event value: Added item value |
Callback to invoke when a value is removed. |
| onChipClick | originalEvent: Browser event value: Clicked item value |
Callback to invoke when a chip is clicked. |
| onFocus | originalEvent: Browser event | Callback to invoke when a input is focused. |
| onBlur | originalEvent: Browser event | Callback to invoke when a input loses focus. |
| Name | Parameters |
|---|---|
| chip | $implicit: value |
Following is the list of structural style classes, for theming classes visit theming page.
| Name | Element |
|---|---|
| p-chips | Container element. |
| p-chips-token | Chip element container. |
| p-chips-token-icon | Icon of a chip. |
| p-chips-token-label | Label of a chip. |
| p-chips-input-token | Container of input element. |
None.


General support queries. User Guides: https://support.komodoplatform.com/ Support staff: Angelina#6231 gcharang#6833. If you want to ask JL777 a question, use the #ask-jl777 channel.
100 messages
Before 05-Dec-19 12:00 AM
Hermes01-Aug-18 11:02 PM
Take a good rest @agnewpickens let us know if that solves the issue
agnewpickens01-Aug-18 11:22 PM
Cheers @Hermes
c2k01-Aug-18 11:51 PM
anyone having loading issues with BDEX? 1.1.0 loaded for me. then i updated my coin list, shut down, downloaded 1.1.1 and after putting in seed the window opens but no coins load. there is just a constant spinning circle.
GatewayBOT01-Aug-18 11:53 PM
[matrix] <hermes_t:matrix.org> Not really did you saw if bdex closed completely on the last shut down
[matrix] <hermes_t:matrix.org> Also you can try erasing the Barterdex folder in %appdata%
[matrix] <hermes_t:matrix.org> And retry launching
c2k01-Aug-18 11:54 PM
it did close completely. i even checked in task manager for any marketmaker instance and there was none
i did get some microsoft window popup tho...asking if i wanted to send them information about marketmaker.
and there was a marketmaker popup behind that
GatewayBOT01-Aug-18 11:59 PM
[matrix] <hermes_t:matrix.org> Ok
[matrix] <hermes_t:matrix.org> I think that erasing the Barterdex folder in %appdata% should help you
c2k02-Aug-18 12:00 AM
this is the initial popup message
i cant paste a snippet in here for some reason
1) im not comfortable doing that
2) when you say "i think" im reluctant to do it even more
Hermes02-Aug-18 12:07 AM
Normally if you don't have any stuck swap that's one possible solution
Because erasing the whole Barterdex folder in %appdata% will clear the path for a fresh start or sometimes erasing coins.json file in that same Barterdex folder(edited)
Nabob02-Aug-18 02:26 AM
which coin when added you get constant spinning? electrum or native
@c2k
MarkoPolo02-Aug-18 07:50 AM
@Hermes Thanks for info. I erased whole Barterdex folder in %appdata% and its working now. Could not connect to Eletctrum node, but now I can add only 3 coins??? What happend???
How to add new coins to 'startup' in BarterDEX. The saved coins will load automatically each time you login to BarterDEX. BarterDEX is an atomic swap based d...
MarkoPolo02-Aug-18 08:30 AM
Thanks
tkh2302-Aug-18 03:39 PM
Hi. Want to install barterdex on Arch Linux. Following the instructions, I started with installing komodo from git.
Compiling fails despite having installed all dependencies.
Any help would be greatly appreciated!
SHossain02-Aug-18 03:41 PM
post the console output
which branch you were trying to install? from which repo?
are you planning on using native mode?
if you want to use SPV mode without downloading blockchain data, you don't need to use komodo binaries
use electrum mode if you don't want to download blockchain data
tkh2302-Aug-18 03:47 PM
Okay. Thanks for the fast help brother. I will try that way
1
tkh2302-Aug-18 04:20 PM
Can Zcash be added to BarterDEX GUI?
nvm, had to restart after updating coinsdb or enabling experimental features. Not sure which
But it's there now. Disregard
jl777c02-Aug-18 04:32 PM
I dont think ZEC will work now due to their recently changed new txformat
0x0302-Aug-18 06:34 PM
idiot question, if i send coins to the resulting p2sh address of a 6a (OP_RETURN) script, are they then locked? how would i come up with the PK for such an address anyways?
jl777c02-Aug-18 06:35 PM
opreturn coins are burned
0x0302-Aug-18 06:42 PM
ok, so basically bJj83uBV4WXQLqyCdH841bzjW84JwQexnK would be a valid burn address, right?
jl777c02-Aug-18 06:43 PM
not necessarily
it is possible for some redeemscript to end up with that address
0x0302-Aug-18 06:43 PM
ok. what if i used 0 1 OP_EQUALVERIFY
instead of OP_RETURN
and no i dont wanna burn my coins, i'm just trying to understand this
jl777c02-Aug-18 06:45 PM
to be able to spend the coins, you need to satisfy the spend script
for p2sh address, additionally you need to know the redeemscript
0x0302-Aug-18 06:46 PM
that much i understood. the script hash and the 'data to satisfy the script' so it evals to true
but if it is a p2sh address you wont necessarily know the redeemscript
0x0302-Aug-18 06:48 PM
ic. now how would i come up with that
thats not something thats documented a lot or i'm just completely unable to find the info
jl777c02-Aug-18 06:49 PM
it is meant to be a secret until the first spend
so you can spend to a p2sh address and not let anybody else know what its all about
you just need to have the redeemscript somehow, any method
0x0302-Aug-18 06:51 PM
ic. but even if i had the script for the 0 1 OP_EQUALVERIFY it then wouldn't help me a lot. true?(edited)
jl777c02-Aug-18 06:52 PM
in this case, since it is an unspendable script, it would be difficult to spend
0x0302-Aug-18 06:52 PM
because i could use the address but couldn't send off the coins.
very much appreciated your explanations, thanks a lot.
jl777c02-Aug-18 06:53 PM
the only way to be able to spend it would be to do a hardfork that creates some special rule to allow spending a 0 1 EQUALVERIFY and likely that wont be too well received
GatewayBOT03-Aug-18 07:11 AM
[slack] <modus> cant get new bdex to work... no servers
miles03-Aug-18 07:26 AM
Morning @Hermes - have some time today to look at that Zilla native wallet sync issue - seen a few links to new versions of agama in other discord channels - anything worth me testing?
erikajane03-Aug-18 10:45 AM
Hi, I have encountered an error when I was trying to install Agama wallet (Windows version) on my laptop..
0.2.41 beta version
It says that that the downloaded compressed (zipped) folder was invalid.
SHossain03-Aug-18 11:52 AM
@erikajane your file download was corrupted or not completed successfully. try clearing your browser cache and download again.
Nabob03-Aug-18 11:54 AM
@modus whats the issue ? have you followed our bdex video on how to add coins
I am having trouble getting BarterDex to show my balance for HODLC even after I've successfully enabled it. I definitely have a HODL balance, and marketmaker has successfully connected to the coin. Anyone else run into this?
Screenshots (2 images): https://imgur.com/a/0ukirXM(edited)
SHossain03-Aug-18 12:06 PM
HODL & HODLC are different
do you have HODLC balance at the same address that barterDEX is using?
luke03-Aug-18 12:13 PM
hmm... let me check
luke03-Aug-18 12:20 PM
You're absolutely correct, I just wasn't looking at the right address. https://imgur.com/xM72UNA . Thank you! Follow up question... is there a way to tell barterDEX to use this other address instead so that it shows a balance when I run the "balances" command?
SHossain03-Aug-18 12:22 PM
you need to use the private key or passphrase or the address you want to use
luke03-Aug-18 12:44 PM
oh, I see. there was a gap in my understanding. I needed to first send the coins to the barterDex smart address for HODLC. I can see that value now, thanks!
Nate03-Aug-18 10:34 PM
getting a "cannot find module ./lib" error that pops up after I updated to the new 2.41 version of agama wallet. Any suggestions? @Nabob


Layout (1): Overview / Grid System / Utilities for layout
.container
or a fluid container .container-fluid
is used for a basic layout element.
div.container
⇒ Responsive: width is set to one of the fixed steps (breakpoints), center-aligneddiv.container-fluid
⇒ Fits to the parent (100%)A width of a container .container
is set within the breakpoints as below (see Grid options table for details)
| Name | Viewport width | Width of .container |
|---|---|---|
| (xs) | <576px | Browser default (auto) |
| sm | ≧576px | 540px |
| md | ≧768px | 720px |
| lg | ≧992px | 960px |
| xl | ≧1200px | 1140px |
Bootstrap uses class names with breakpoint (sm|md|lg|xl)
for responsive settings (like .col-md
).
.col
): Sets as default (least prior).col-md
): Sets for a specific breakpoint or greater (prior to default)-xs
class-fix (same as setting as default). Using breakpoint priorities, you can switch layouts, or show/hide some contents with specific viewport range.Some Bootstrap components reserve z-indexes (≥1000
) for specific purposes. 1,2,3
are also used for visual customization for element states (hover, active, and focus) (set to internally-created sibling elements for presentation).
| Z-index | Usage |
|---|---|
| 1,2,3 | Internally used for element states (hover, active, focus) |
| 1000 | Dropdown |
| 1020 | Sticky top (Navbar) |
| 1030 | Fixed top / Fixed bottom (Navbar) |
| 1040 | Backdrop (Modal background) |
| 1050 | Modal |
| 1060 | Popover |
| 1070 | Tooltip |
The grid system has the following three layer structure.
div.container
(or div.container-fluid
)
div.row
(Flexbox available inside with display: flex
)
div.col({-breakpoint}{-width})
On layouts with div.container
, paddings called gutters are set to left and right sides (15px
each). Actual widths for inner elements are set to 30px
smaller than breakpoint widths of div.container
s. Gutters are used for horizontal (inner) paddings for multi-row layouts.
This page also uses containers and has gutters on both sides. The example bellow shows how gutters are set within the layout. The container has the gray border. The inner elements have the light gray background. The areas on left and right without background color are gutters.
div.container
(with gray border)
padding-(left|right): 15px
$grid-gutter-width
. You can change it by customizing Bootstrap styles from Sass. See Customizing from Sass source for detail.On Bootstrap grid system, inside containers are rows div.row
(children) and columns div.col
(grandchildren). But gutters are specially treated differently in each level. The example below shows gutter treatments for all levels. Each level is bordered with a different color. But three borders are overlapped because their sizes are the same as the result.
div.container
(with gray border)
padding-(left|right): 15px
div.row
(with red border)
margin-(left|right) : -15px
padding-(left|right): 0
div.col
(with blue border)
margin-(left|right): 0
padding-(left|right): 15px
Setting multiple columns div.col
inside a row div.row
arranges columns horizontally with the same width. A maximum number of columns in a row is determined by a browser from widths of a row and colomns. See examples below (up to 20 columns).
.border
) to columns div.col*
to indicate boundaries. Areas of inner contents also set background colors (.bg-light
) to indicate gutters.The following structure is used (containers div.container
are omitted from here).
div.row
div.col
(× number of columns: 1..16)
{index}/{number of columns}
For equal-width layouts using div.col
, use an empty div.w-100
to insert a break to a new line.
.row
.row
⇒ .w-100
.row
.row
.row
⇒ .w-100
.row
.row
.row
.row
div.row
div.col
(×2)div.w-100
(breaks to a new line)div.col
(×3)div.w-100
(breaks to a new line)div.col
(×4)Width of a grid column can be set from 1/12 (approx. 8.3%) to 12/12 (100%).
div.col-(1|2|3|4|5|6|7|8|9|10|11|12)
.col-1
.col-2
.col-3
.col-4
.col-5
.col-6
.col-7
.col-8
.col-9
.col-10
.col-11
.col-12
.col
1/6(equal).col-6
6/12(set).col
1/6(equal).col
1/6(equal).col
7/36(equal).col
7/36(equal).col-5
5/12(set).col
7/36(equal)div.row
div.col
div.col-6
div.col
(×2)div.row
div.col
(×2)div.col-5
div.col
.col-auto
sets an element width to browser default (by CSS width: auto;
). A width of a element is automatically calculated by a browser from its inner content.
.col-auto
123
.col-auto
1234567890
.col-auto
12345678901234567890
Setting 12 or more columns in total automatically breaks to a next line.
.col-9
.col-4
.col-7
.col-3
div.row
div.col-9
div.col-4
breaks by being greater than 12div.col-7
div.col-3
breaks by being greater than 12On setting each width to columns, div.w-100
also can be used to insert a break to a new line.
.col-3
.col-5
⇒ .w-100
.col-4
div.row
div.col-3
div.col-5
div.w-100
(inserts a break)div.col-4
.col-(sm|md|lg|xl)(-1|-2|-3|...|-12|-auto)?
.col
(always two columns)
.col
.col
.col-sm
(two columns on width≧576px, two rows on width<576px)
.col-sm
.col-sm
.col-md
(two columns on width≧768px, two rows on width<768px)
.col-md
.col-md
.col-lg
(two columns on width≧992px, two rows on width<992px)
.col-lg
.col-lg
.col-xl
(two columns on width≧1200px, two rows on width<1200px)
.col-xl
.col-xl
div.row
div.col(-sm|-md|-lg|-xl)?
(×2).col-3
.col-6
.col-sm-3
.col-sm-6
.col-md-3
.col-md-6
.col-lg-3
.col-lg-6
.col-xl-3
.col-xl-6
div.row
div.col(-sm|-md|-lg|-xl)?-3
div.col(-sm|-md|-lg|-xl)?-6
.col-auto
12345
.col-auto
12345678901234567890
.col-sm-auto
12345
.col-sm-auto
12345678901234567890
.col-md-auto
12345
.col-md-auto
12345678901234567890
.col-lg-auto
12345
.col-lg-auto
12345678901234567890
.col-xl-auto
12345
.col-xl-auto
12345678901234567890
div.row
div.col(-sm|-md|-lg|-xl)?-auto
(×2)
The next example demonstrates switching between stacked (as mobile) and horizontal (as PC) layouts on the md breakpoint (768px) as follows.
Live example below (change the browser window width to switch).
.col-md-8
.col-md-4
.col-md
.col-md
.col-md
div.row
div.col-md-8
div.col-md-4
div.row
div.col-md
(×3)Another example of layout switching on the md breakpoint.
Live example below
.col-12.col-md-8
.col-6.col-md-4
.col-6.col-md-4
.col-6.col-md-4
.col-6.col-md-4
.col-6
.col-6
A complex example using auto-width, flexbox, and responsive behaviors (from the official document).
.justify-content-md-center
(⇒ Flex) to rows div.row
(aligns inner elements center on ≥md).col-md-auto
to the central row of each column (sets browser default width on ≥md).col
to the lower-left column (equal or available maximum width).col.col-lg-2
to all other columns (equal width as default, 2/12 on ≥md)Live example below (central rows .col-md-auto
are shown with orange background)
.col.col-lg-2
.col-md-auto
.col.col-lg-2
.col
.col-md-auto
.col.col-lg-2
Responsive behaviors (three cases)
Use Flex utilities.
In examples below, red border is added and height is fixed to 5rem
for each row.
.row.align-items-start
.col
(1/3)
.col
(2/3)
.col
(3/3)
.row.align-items-center
.col
(1/3)
.col
(2/3)
.col
(3/3)
.row.align-items-end
.col
(1/3)
.col
(2/3)
.col
(3/3)
.col.align-self-(start|center|end)
-start
-center
-end
.row.justify-content-start
.col-2
(1/3).col-2
(2/3).col-2
(3/3).row.justify-content-center
.col-2
(1/3).col-2
(2/3).col-2
(3/3).row.justify-content-end
.col-2
(1/3).col-2
(2/3).col-2
(3/3).row.justify-content-around
.col-2
(1/3).col-2
(2/3).col-2
(3/3).row.justify-content-between
.col-2
(1/3).col-2
(2/3).col-2
(3/3)Adding .no-gutters
to div.row
removes gutters from a row.
div.row
.col-9
.col-3
div.row.no-gutters
.col-9
.col-3
Actual internal behavior is more complex (not just removes gutters: Also see Gutters for details).
div.row.no-gutters
-15px
to 0
) ⇒ margin-(left|right): 0
>
)
.no-gutters > .col* { padding-(left|right): 0 }
The next example is based on the official document.
div.row
.col-12.col-sm-6.col-md-8
.col-6.col-md-4
div.row.no-gutters
.col-12.col-sm-6.col-md-8
.col-6.col-md-4
It is also an example of responsive behaviors (three cases).
You can change columns' order with adding .order-(1|2|3|...|12)
(⇒ Flex utilities ).
.order-12
.order-1
.order-7
div.row
div.col.order-12
div.col.order-1
div.col
div.col.order-7
Use .order-first
to set at first, .order-last
to set at last.
.order-last
.order-first
div.row
div.col
div.col.order-last
div.col.order-first
.offset-(1|2|3|...)
sets offset spacing on the left as the same width as .col-(1|2|3...)
.col-4
.offset-4.col-4
div.row
div.col-4
div.offset-4.col-4
.offset-3.col-3
.offset-3.col-3
div.row
div.offset-3.col-3
div.offset-3.col-3
.offset-3.col-6
div.row
div.offset-3.col-6
Responsive offset: .offset-(xl|lg|md|sm)-(1|2|3|...)
An example below is based on the official document (difficult).
.col-sm-5
.col-md-6
.offset-sm-2.col-sm-5
.offset-md-0.col-md-6
.col-sm-6
.col-md-5
.col-lg-6
.col-sm-6
.offset-md-2.col-md-5
.offset-lg-0.col-lg-6
Overall conditions
| xs | sm | md | lg,xl | xs | sm | md | lg,xl | ||
|---|---|---|---|---|---|---|---|---|---|
| 1st row, left (1L) |
None (12/12) |
5/12 | 6/12 | 1st row, right (1R) |
None (12/12) |
Offset 2 and 5/12 |
Offset 0 [Note] and 6/12 |
||
| 2nd row, left (2L) |
None (12/12) |
6/12 | 5/12 | 6/12 | 2nd row, right (2R) |
None (12/12) |
6/12 | Offset 2 and 5/12 |
Offset 0 [Note] and 6/12 |
Resposive behaviors (four cases)
An example below (from the official document) shows how to use spacing utilities for responsive grid layouts (advanced).
.col-md-4
.col-md-4.ml-auto
.col-md-3.ml-md-auto
.col-md-3.ml-md-auto
.col-auto.mr-auto
.col-auto
Overall conditions
| < md | ≧ md | < md | ≧ md | ||
|---|---|---|---|---|---|
| 1st row, left (1L) |
None (12/12) |
4/12 | 1st row, right (1R) |
None (12/12) |
4/12 Left margin auto |
| 2nd row, right (2L) |
None (12/12) |
3/12 Left margin auto |
2nd row, right (2R) |
None (12/12) |
3/12 Left margin auto |
| 3rd low, left (3L) |
Width auto Right margin auto |
3rd row, right (3R) |
Width auto |
Responsive behaviors
You can nest grid row/column structures with inserting div.row(-*)
's to div.col(-*)
's (in any level but practically once). It is typically required to make eight (any number that does not divide 12) column layouts with mutiple span(s). See the example below.
div.row
div col-6
(Top-left half)
div.row
(nests and re-divides inner)
div.col-3
(×4)
div.bg-light
(1|2|3|4)
div.row
div.col-6.offset-6
(Bottom-right half)
div.row
(nests and re-divides inner)
div.col-3
(×4)
div.bg-light
(5|6|7|8)
The example below shows structural details of the above.
div.row
div.row


CFile Class Reference
List of all members.
Detailed Description
FILE* wrapper. Closes file automatically when leaving scope. Also adds cleaner reading and writing functions as well as formatted text outputting.
bool print_file_info(char* filename) {
CFile file;
if (!file.open(filename, "rb"))
return false;
printf("size: %d", file.size());
char c;
if (file.read(&c, 1))
printf("%c", c);
printf("position: %d", file.position());
return true;
}
Definition at line 52 of file CFile.h.
|
Public Member Functions |
| bool | open (char *fn, char *mode) |
| void | close () |
| bool | opened () |
| bool | read (void *p, unsigned int size) |
| bool | write (void *p, unsigned int size) |
| bool | printf (char *format,...) |
| unsigned long | position () |
| bool | seek (unsigned long position) |
| int | size () |
Protected Attributes |
|
FILE * | f |
| | File handle.
|
Member Function Documentation
| bool CFile::open |
( |
char * |
fn, |
|
|
char * |
mode |
|
) |
|
|
|
|
Same as fopen(fn, mode). - Parameters:
-
| fn | Filename of the file to open. |
| mode | Mode to open file with. See the description of fopen for a list of possible options. |
- Returns:
- Return true on succes, false otherwise.
Definition at line 78 of file CFile.h. |
Here is the call graph for this function:
|
|
Same as fclose(f).
Definition at line 88 of file CFile.h. |
Here is the call graph for this function:
|
|
Returns true if the file is opened. - Returns:
- Return true on succes, false otherwise.
Definition at line 99 of file CFile.h. |
| bool CFile::read |
( |
void * |
p, |
|
|
unsigned int |
size |
|
) |
|
|
|
|
Reads size bytes from file to p. - Parameters:
-
| p | Pointer to beginning of data. |
| size | Size of the data chunk to write in bytes. |
- Returns:
- Return true on succes, false otherwise.
Definition at line 112 of file CFile.h. |
Here is the call graph for this function:
| bool CFile::write |
( |
void * |
p, |
|
|
unsigned int |
size |
|
) |
|
|
|
|
Writes size bytes to file from p. - Parameters:
-
| p | Address of target location. |
| size | The number of bytes to read from the file. |
- Returns:
- Return true on succes, false otherwise.
Definition at line 125 of file CFile.h. |
Here is the call graph for this function:
| bool CFile::printf |
( |
char * |
format, |
|
|
|
... |
|
) |
|
|
|
|
Writes formatted text to file. Same as regular printf(...). - Parameters:
-
| format | Text to print with regular special x characters. See documentation of printf. |
| ... | Variable sized argument list. See printf. |
- Returns:
- Return true on success, false otherwise.
Definition at line 138 of file CFile.h. |
Here is the call graph for this function:
| unsigned long CFile::position |
( |
|
) |
|
|
|
|
Returns the file position in bytes. - Returns:
- The file position in bytes.
Definition at line 156 of file CFile.h. |
Here is the call graph for this function:
| bool CFile::seek |
( |
unsigned long |
position |
) |
|
|
|
|
Seeks position bytes from the beginning of the file. - Parameters:
-
| position | The position in bytes from the beginning of the file to seek to. |
- Returns:
- Returns true on succes, false otherwise.
Definition at line 167 of file CFile.h. |
Here is the call graph for this function:
|
|
Returns the size of the file in bytes. - Returns:
- The size of the file in bytes.
Definition at line 179 of file CFile.h. |
Here is the call graph for this function:
The documentation for this class was generated from the following file:
Generated on Tue Feb 8 21:59:37 2005 for MarSTDv2004 by
1.4.1


No Account? Register
Boats4Dayz was first envisioned through a class project. We wanted to create an honest service that connects customers to customers by allowing boat owners with unused boats to rent them to people who don’t have the means to own one themselves.
It is our goal to make the Minnesota pastime of relaxing on the lake available to everyone. After all, with 10,000 lakes, there’s enough room to go around. We strive to make Boats4Dayz as secure, friendly and easy to use as we can and welcome feedback.
You'll be saying 'Holy ship, what a deal!'


GC Shopping Cart
Please use the form below to enter in products that you would like to add to your shopping cart
Product Name
Quantity
Unit Price
Add item


{{if !empty($cart_list)}}
{{foreach $cart_list as $goods}}
{{/if}}
|
{{$goods.title}}
{{if !empty($goods.spec)}}
|
￥{{$goods.total_price}} x{{$goods.stock}} | 删除 |


|
CS 391 - Special Topic: Machine Learning
Course Information |
Course Description
Machine Learning is a subfield of Artificial Intelligence that has a goal
of building systems that can adapt to their environment or learn from experience.
Reinforcement learning is a specific approach to Machine Learning in which
a software agent seeks to learn optimal behavior through interaction with
a real or simulated environment. The agent senses the current state
of the environment, selects and performs an action, and consequently receives
a numeric reward/penalty signal. Through repeated experience of this
process, the agent seeks to learn an action policy that maximizes its reward
over time. In this course, we will cover the reinforcement learning
problem, dynamic programming, Monte Carlo methods, temporal-difference
learning, eligibility traces, and function approximators. Each student
will then independently propose and complete a reinforcement learning programming
project.
Texts
Texts
Todd Neller
Lecture: M,W,F 12:00-12:50, Glatfelter 203
Office: Glatfelter 209
Office Hours: M-F 10:00-10:50AM or by appointment.
Note:
Generally, feel free to drop in if my office door is open. If it
is closed, I'm desperately seeking to keep on top of things and rabid attack
ferrets may drop from the ceiling in my defense.
Phone: 337-6643
E-mail:
Grading
Your final grade will be determined from the following components:
- 50% Homework Assignments
- 20% Project (including Documentation and Presentation)
- 5% Quizzes
- 25% Attendance / Class Participation
You are responsible to know the material from each lecture and reading
assignment before the start of the next class. Homework is due at
the beginning of lecture on the due date. Late homework will
not necessarily be accepted. Homework submitted after the beginning
of the following lecture will receive no credit. Code that does
not compile may not receive credit. Class attendance and participation
is required. If you attend all classes and are willing to participate,
you'll get 100% for this part of your grade. Even if you know enough
to give a particular lecture, please consider the value of helping your
peers during in-class exercises
Honor Code
Honesty, Integrity, Honor. These are more important than anything
we will teach in this class. Students can and are encouraged to help
each other understand course concepts, but all graded work must be done
independently. The work you submit (including both code and problem solving
ideas expressed in the code) should be your independent work. For
detailed information about the honor code, see
http://www.gettysburg.edu/college_life/orgs/honor_code/index.html.