--- layout: post title: "Tuple bifunctor" description: "A Pair (a two-tuple) forms a bifunctor. An article for object-oriented programmers." date: 2018-12-31 12:13 UTC tags: [Software Design] --- {% include JB/setup %}
{{ page.description }}
This article is an instalment in an article series about bifunctors. In the previous overview, you learned about the general concept of a bifunctor. In practice, there's two useful bifunctor instances: pairs (two-tuples) and Either. In this article, you'll see how a pair is a bifunctor, and in the next article, you'll see how Either fits the same abstraction.
You can treat a normal pair (two-tuple) as a functor by mapping one of the elements, while keeping the other generic type fixed. In Haskell, when you have types with multiple type arguments, you often 'fix' the types from the left, leaving the right-most type free to vary. Doing this for a pair, which in C# has the type Tuple<T, U>
, this means that tuples are functors if we keep T
fixed and enable translation of the second element from U1
to U2
.
This is easy to implement with a standard Select
extension method:
public static Tuple<T, U2> Select<T, U1, U2>( this Tuple<T, U1> source, Func<U1, U2> selector) { return Tuple.Create(source.Item1, selector(source.Item2)); }
You simply return a new tuple by carrying source.Item1
over without modification, while on the other hand calling selector
with source.Item2
. Here's a simple example, which also highlights that C# understands functors:
var t = Tuple.Create("foo", 42); var actual = from i in t select i % 2 == 0;
Here, actual
is a Tuple<string, bool>
with the values "foo"
and true
. Inside the query expression, i
is an int
, and the select
expression returns a bool
value indicating whether the number is even or odd. Notice that the string
in the first element disappears inside the query expression. It's still there, but the code inside the query expression can't see "foo"
.
There's no technical reason why the mapping has to be over the second element; it's just how Haskell does it by convention. There are other, more philosophical reasons for that convention, but in the end, they boil down to the ultimately arbitrary cultural choice of reading from left to right (in Western scripts).
You can translate the first element of a tuple as easily:
public static Tuple<T2, U> SelectFirst<T1, T2, U>( this Tuple<T1, U> source, Func<T1, T2> selector) { return Tuple.Create(selector(source.Item1), source.Item2); }
While, technically, you can call this method Select
, this can confuse the C# compiler's overload resolution system - at least if you have a tuple of two identical types (e.g. Tuple<int, int>
or Tuple<string, string>
). In order to avoid that sort of confusion, I decided to give the method another name, and in keeping with how C# LINQ methods tend to get names, I thought SelectFirst
sounded reasonable.
In Haskell, this function is called first
, and is part of the Bifunctor
type class:
Prelude Data.Bifunctor> first (even . length) ("foo", 42) (False,42)
In C#, you can perform the same translation using the above SelectFirst
extension method:
var t = Tuple.Create("foo", 42); var actual = t.SelectFirst(s => s.Length % 2 == 0);
This also returns a Tuple<bool, int>
containing the values false
and 42
. Notice that in this case, the first element "foo"
is translated into false
(because its length is odd), while the second element 42
carries over unchanged.
You've already seen how the above Select
method maps over the second element of a pair. This means that you can already map over both dimensions of the bifunctor, but perhaps, for consistency's sake, you'd also like to add an explicit SelectSecond
method. This is now trivial to implement, since it can delegate its work to Select
:
public static Tuple<T, U2> SelectSecond<T, U1, U2>( this Tuple<T, U1> source, Func<U1, U2> selector) { return source.Select(selector); }
There's no separate implementation; the only thing this method does is to delegate work to the Select
method. It's literally the Select
method, just with another name.
Clearly, you could also have done it the other way around: implement SelectSecond
and then call it from Select
.
The SelectSecond
method works as you'd expect:
var t = Tuple.Create("foo", 1337); var actual = t.SelectSecond(i => i % 2 == 0);
Again, actual
is a tuple containing the values "foo"
and false
, because 1337
isn't even.
This fits with the Haskell implementation, where SelectSecond
is called second
:
Prelude Data.Bifunctor> second even ("foo", 1337) ("foo",False)
The result is still a pair where the first element is "foo"
and the second element False
, exactly like in the C# example.
With SelectFirst
and SelectSecond
, you can trivially implement SelectBoth
:
public static Tuple<T2, U2> SelectBoth<T1, T2, U1, U2>( this Tuple<T1, U1> source, Func<T1, T2> selector1, Func<U1, U2> selector2) { return source.SelectFirst(selector1).SelectSecond(selector2); }
This method takes two translations, selector1
and selector2
, and first uses SelectFirst
to project along the first axis, and then SelectSecond
to map the second dimension.
This implementation creates an intermediary pair that callers never see, so this could theoretically be inefficient. In this article, however, I want to show you that it's possible to implement SelectBoth
based on SelectFirst
and SelectSecond
. In the next article, you'll see how to do it the other way around.
Using SelectBoth
is easy:
var t = Tuple.Create("foo", 42); var actual = t.SelectBoth(s => s.First(), i => i % 2 == 0);
This translation returns a pair where the first element is 'f'
and the second element is true
. This is because the first lambda expression s => s.First()
returns the first element of the input string "foo"
, whereas the second lambda expression i => i % 2 == 0
determines that 42
is even.
In Haskell, SelectBoth
is called bimap
:
Prelude Data.Bifunctor> bimap head even ("foo", 42) ('f',True)
The return value is consistent with the C# example, since the input is also equivalent.
Pairs obey all the bifunctor laws. While it's formal work to prove that this is the case, you can get an intuition for it via examples. Often, I use a property-based testing library like FsCheck or Hedgehog to demonstrate (not prove) that laws hold, but in this article, I'll keep it simple and only cover each law with a parametrised test.
private static T Id<T>(T x) => x; [Theory] [InlineData("foo", 42)] [InlineData("bar", 1337)] [InlineData("foobar", 0)] [InlineData("ploeh", 7)] [InlineData("fnaah", -6)] public void SelectFirstObeysFirstFunctorLaw(string first, int second) { var t = Tuple.Create(first, second); Assert.Equal(t, t.SelectFirst(Id)); }
This test uses xUnit.net's [Theory]
feature to supply a small set of example input values. It defines the identity function as a private
function called Id
, since C# doesn't come equipped with such a function in the Base Class Library.
The test simply creates a tuple with the input values and verifies that the original tuple t
is equal to the tuple projected over the first axis with the Id
function.
Likewise, the first functor law applies when translating over the second dimension:
[Theory] [InlineData("foo", 42)] [InlineData("bar", 1337)] [InlineData("foobar", 0)] [InlineData("ploeh", 7)] [InlineData("fnaah", -6)] public void SelectSecondObeysFirstFunctorLaw(string first, int second) { var t = Tuple.Create(first, second); Assert.Equal(t, t.SelectSecond(Id)); }
This is the same test as the previous test, with the only exception that it calls SelectSecond
instead of SelectFirst
.
Since SelectBoth
in this example is implemented by composing SelectFirst
and SelectSecond
, you should expect it to obey the general identity law for bifunctors. It does, but it's always nice to see it with your own eyes:
[Theory] [InlineData("foo", 42)] [InlineData("bar", 1337)] [InlineData("foobar", 0)] [InlineData("ploeh", 7)] [InlineData("fnaah", -6)] public void SelectBothObeysIdentityLaw(string first, int second) { var t = Tuple.Create(first, second); Assert.Equal(t, t.SelectBoth(Id, Id)); }
Here you can see that projecting over both dimensions with the identity function returns the original tuple.
In general, it shouldn't matter whether you map with SelectBoth
or a combination of SelectFirst
and SelectSecond
:
[Theory] [InlineData("foo", 42)] [InlineData("bar", 1337)] [InlineData("foobar", 0)] [InlineData("ploeh", 7)] public void ConsistencyLawHolds(string first, int second) { Func<string, bool> f = string.IsNullOrWhiteSpace; Func<int, DateTime> g = i => new DateTime(i); var t = Tuple.Create(first, second); Assert.Equal( t.SelectBoth(f, g), t.SelectSecond(g).SelectFirst(f)); Assert.Equal( t.SelectFirst(f).SelectSecond(g), t.SelectSecond(g).SelectFirst(f)); }
This example creates two functions f
and g
. The first function, f
, is just an alias for string.IsNullOrWhiteSpace
, although I want to stress that it's just an example. The law should hold for any two (pure) functions. The second function, g
, creates a new DateTime
object from an integer, using one of the DateTime
constructor overloads.
The test then verifies that you get the same result from calling SelectBoth
as when you call SelectFirst
followed by SelectSecond
, or the other way around.
The composition laws insist that you can compose functions, or translations, and that again, the choice to do one or the other doesn't matter. Along each of the axes, it's just the second functor law applied. You've already seen that SelectSecond
is nothing but an alias for Select
, so surely, the second functor law must hold for SelectSecond
as well. This parametrised test demonstrates that it does:
[Theory] [InlineData("foo", 42)] [InlineData("bar", 1337)] [InlineData("foobar", 0)] [InlineData("ploeh", 7)] [InlineData("fnaah", -6)] public void SecondFunctorLawHoldsForSelectSecond(string first, int second) { Func<bool, char> f = b => b ? 'T' : 'F'; Func<int, bool> g = i => i % 2 == 0; var t = Tuple.Create(first, second); Assert.Equal( t.SelectSecond(x => f(g(x))), t.SelectSecond(g).SelectSecond(f)); }
Here, f
is a function that returns 'T'
for true
and 'F'
for false
, and g
is a function that, as you've seen before, determines whether a number is even. The second functor law states that mapping f(g(x))
in a single step is equivalent to first mapping over g
and then map the result of that using f
.
The same law applies if you fix the second dimension and translate over the first:
[Theory] [InlineData("foo", 42)] [InlineData("bar", 1337)] [InlineData("foobar", 0)] [InlineData("ploeh", 7)] [InlineData("fnaah", -6)] public void SecondFunctorLawHoldsForSelectFirst(string first, int second) { Func<int, bool> f = x => x % 2 == 0; Func<string, int> g = s => s.Length; var t = Tuple.Create(first, second); Assert.Equal( t.SelectFirst(x => f(g(x))), t.SelectFirst(g).SelectFirst(f)); }
Here, f
is the even function, whereas g
is a function that returns the length of a string. Again, the test demonstrates that the output is the same whether you map over an intermediary step, or whether you map using only a single step.
This generalises to the composition law for SelectBoth
:
[Theory] [InlineData("foo", 42)] [InlineData("bar", 1337)] [InlineData("foobar", 0)] [InlineData("ploeh", 7)] [InlineData("fnaah", -6)] public void SelectBothCompositionLawHolds(string first, int second) { Func<int, bool> f = x => x % 2 == 0; Func<string, int> g = s => s.Length; Func<bool, char> h = b => b ? 'T' : 'F'; Func<int, bool> i = x => x % 2 == 0; var t = Tuple.Create(first, second); Assert.Equal( t.SelectBoth(x => f(g(x)), y => h(i(y))), t.SelectBoth(g, i).SelectBoth(f, h)); }
Again, whether you translate in one or two steps shouldn't affect the outcome.
As all of these tests demonstrate, the bifunctor laws hold for pairs. The tests only showcase 4-5 examples for a pair of string and integer, but I hope it gives you an intuition how any pair is a bifunctor. After all, the SelectFirst
, SelectSecond
, and SelectBoth
methods are all generic, and they behave the same for all generic type arguments.
Pairs (two-tuples) are bifunctors. You can translate the first and second element of a pair independently of each other, and the bifunctor laws hold for any pure translation, no matter how you compose the projections.
As always, there can be performance differences between the various compositions, but the outputs will be the same regardless of composition.
A functor, and by extension, a bifunctor, is a structure-preserving map. This means that any projection preserves the structure of the underlying container. In practice that means that for pairs, no matter how you translate a pair, it remains a pair. A pair is characterised by containing two values at once, and no matter how you translate it, it'll still contain two values.
The other common bifunctor, Either, is complementary. While it has two dimensions, it only contains one value, which is of either the one type or the other. It's still a bifunctor, though, because mappings preserve the structure of Either, too.
Next: Either bifunctor.


|
{%include "issue_star.html"%}
|
|
|
{{issue.owners|show_users:issue}}
|
{{issue.reviewers|show_users:issue}}
|
{%if issue.comp_score > -1%}
{{issue.comp_score}}
{%else%}
Not graded yet
{%endif%}
|
{%firstof issue.num_comments%} |
{%firstof issue.num_messages%} |
{%firstof issue.num_drafts%} |
{{ issue.num_subms }} |
{{issue.modified|timesince}} |


you're at home baby!
sbadhsa hsa dkas dkhsa kdh sakhd salhd ;sah d;jsa dj;sa d;jsa;hd sahd jsad bsadsa


FOOD CENT
Menu
Login
Thanks for registering!
Your confirmation email is on its way. Please click the link in the email to complete the registration.


---
layout: post
title: The Pull of The Foveon Was Too Much
tags:
- Articles
- Foveon
- General Photography
- Sigma SD14
status: publish
type: post
published: true
meta:
aktt_notify_twitter: "yes"
_edit_last: "2"
_edit_lock: "1308671643"
_thumbnail_id: "3086"
ghostpool_post_template: Default
ghostpool_link: Full Size Image/Video
ghostpool_post_image: http://photo.rwboyer.com/wp-content/uploads/2011/06/sd14-sl-002-ico.jpg
ghostpool_post_faded_image: http://photo.rwboyer.com/wp-content/uploads/2011/06/sd14-sl-002-ico.jpg
ghostpool_circle_image: http://photo.rwboyer.com/wp-content/uploads/2011/06/sd14-sl-002-ico.jpg
aktt_tweeted: "1"
_wp_old_slug: ""
dsq_thread_id: "370306306"
---
I wrote yesterday about having a strange nagging desire for another Foveon based camera due to my attraction to the couple images that I shot with that dog of a camera, the DP1s prior to returning it. I knew I would not be getting another one of the DP series cameras as they are horrible devices to actually use in more ways than I can articulate. So I was thinking of an SD15, those cameras are below a 1000 bucks new at this point.
[image title="sd14-sl-002" size="full" id="3087" align="none" linkto="viewer" ]
As I happen to have about that much laying around that was earmarked for a Nikon D7000. I was thinking hey why not the Sigma? Well better judgement got the better of me and I didn't spend the bucks on a camera that I know will be slow, have no high ISO, etc, etc. Instead I found a new in box factory refurbished SD14. Same sensor, just slower, and even less high ISO capability. So instead of spending a thousand bucks, I spent $400. Hey if I know all of the SD series cameras are slow, low ISO machines why bother putting out the money for a truly inconsequential bump in speed and ISO/noise capability.
Hmmm, now what am I going to do about lenses. I could by a Nikon mount conversion kit for it. Or an M42 adapter and by like 9 ultra cheap old lenses. That might be the way to go for me on the cheap. Using my considerable powers of rationalization I figured I had $600+ of "found money" that I didn't spend on the camera body that was just begging to be spent on a lens. I ended up grabbing a Sigma SA mount 50mm EX 1.4 - this should make a great portrait lens as that is what I intend to use this camera for.
I will let you know how it goes - vicarious living through RB...


Overview
Tags are adjectives that define characteristics about your character. These allow other characters to target dialogue towards your character without targeting your character specifically.On the left is a list of categories, the middle a grid for the selected category, and the right an overview of all tags currently applied.
Tags can be added or removed mid-game based on what stage the character is in. For each category, fill out the stages that a particular tag belongs in. If a tag is used all game (for instance, your character has black hair from beginning to end), you can use the "Select All" column to auto-check the entire row. For tags that don't apply all game (for instance, your character has a hat but loses it after three rounds), check only those columns where the tag applies.
If there is something unique that doesn't have a tag already, you can add them free-text in the table, but this should only be a last resort, as it's unlikely anyone will ever target something that isn't an official tag.


Addison
I have so much to tell you and share with you about life but more importantly, my wish is that you feel loved everyday.
 I am starting to feel it more and more!
Before I shaped you in the womb, I knew all about you. Before you saw the light of day, I had holy plans for you. - Jeremiah 1:5
First, I am your dad and my name is Ryan. I am 29 years old and I like music, sports and laughing. Your mom is Justine and she is the most amazing person we know. She is incredibly caring and loving.
You have a big brother, his name is Jacks. He is pretty awesome too. He likes sports, cupcakes, and animals. Someday I hope that you will look up to him and be happy to call him your brother and friend.

I want you to know that you are welcomed into a home that is full of love and happiness.
Every good and perfect gift is from above - James 1:17
I promise to you:
- I will be there for you no matter what
- I will love you everyday
- I will help you in whatever way I can
- I will laugh with you
- I will be a positive influence on your life
- I will be honest with you
- I will celebrate your successes with you
- I will be there to help you through your struggles
- I will be involved in what you’re interested in
- I will be a Christian and raise you in a Christian home with Christian values
My hopes for you are:
- I hope you are happy and healthy everyday
- I hope you smile a lot
- I hope you love this life you are blessed with
- I hope you have a drive inside to work for what you want
- I hope you find love. Your mom is pretty amazing
- I hope we can be friends
- I hope you can talk to me about anything
- I hope that you help other people and allocate time and money towards helping and giving
- I hope you follow God’s plan for your life. It will be much better than the plan you have for yourself
I’ve been here for 28 years and I don’t know everything about life. I’m hoping that you can teach me more about life and we can help each other along the way.
Here are some things I have learned about life so far:
It’s the people that make life great. Get to know as many as you can. Laugh often, learn from them, everybody has a different story. Ask more questions than provide answers and have fun along the way! Life’s too short not to have a good time (be smart about it.) Remember the stories and tell them often. Surround yourself with great people.
As iron sharpens iron, so one man sharpens another. - Proverbs 27:17
Don’t let the outside world determine success for you. Only you can determine what success means for you. To me, success and happiness go hand in hand. Your mother and I will do everything in our power to help you with this.
Be on your guard; stand firm in the faith; be men of courage; be strong. - 1 Corinthians 16:13
Music is truly a gift from God.. The louder the better. There is something special about music. Listen to it often and don’t be afraid to listen to something new.
Healthy living is the best way to a clear mind and a more enjoyable way of life.
Enjoy the outdoors.
Don’t be lazy! Wake up every day determined and go to bed satisfied. Work hard in everything you do. Be the best at EVERYTHING you do, be gracious in winning humble in defeat.  It’s ok to fail, but learn from your failures.
Whatever you do, work at it with all your heart, as working for the Lord, not for human masters. - Colossians 3:23 Whatever you do, do it all for the glory of God.1 Cor. 10:31
It the end of a hard day’s work take a minute to enjoy what you have accomplished. There is always pride in knowing you did everything you could. Enjoy that moment.
There are challenges and adversity in life. Everybody has them, what separates you from everybody else is how you deal with these times. See these as times of growth and opportunity. Never forget your times of adversity
Consider it pure joy, my brothers and sisters, whenever you face trials of many kinds, knowing that the testing of your faith produces endurance. And let endurance have its perfect result, so that you may be perfect and complete, lacking in nothing.- James 1:2 - 4
Addison Marley McKinnon I want you to know that you are loved and you will always be loved. Your mom and I pray for your well being everyday. In this life we want you to be healthy and happy. We promise to be there with you and never forget there is a God who has a special plan for your life!
For I know the plans I have for you,” declares the Lord, “plans to prosper you and not to harm you, plans to give you hope and a future. - Jeremiah 29:11
Love,
Dad


dyndns
Home
About
Docs
Installation
Configuration
Usage
Statistics
Updates by FQDN
Latest submissions
{{ title }}
{{ content | safe }}


An implementation of the Aligned Rank Transform technique for factorial analysis (see references below for details) including models with missing terms (unsaturated factorial models). The function first computes a separate aligned ranked response variable for each effect of the user-specified model, and then runs a classic ANOVA on each of the aligned ranked responses. For further details, see Higgins, J. J. and Tashtoush, S. (1994). An aligned rank transform test for interaction. Nonlinear World 1 (2), pp. 201-211. Wobbrock, J.O., Findlater, L., Gergle, D. and Higgins,J.J. (2011). The Aligned Rank Transform for nonparametric factorial analyses using only ANOVA procedures. Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI '11). New York: ACM Press, pp. 143-146. <doi:10.1145/1978942.1978963>.
| Version: | 1.0 |
| Imports: | stats, car |
| Published: | 2015-08-13 |
| Author: | Pablo J. Villacorta |
| Maintainer: | Pablo J. Villacorta <pjvi at decsai.ugr.es> |
| BugReports: | http://decsai.ugr.es/~pjvi |
| License: | LGPL (≥ 3) |
| URL: | http://decsai.ugr.es/~pjvi/r-packages.html |
| NeedsCompilation: | no |
| CRAN checks: | ART results |
| Reference manual: | ART.pdf |
| Package source: | ART_1.0.tar.gz |
| Windows binaries: | r-devel: ART_1.0.zip, r-release: ART_1.0.zip, r-oldrel: ART_1.0.zip |
| OS X binaries: | r-release: ART_1.0.tgz, r-oldrel: ART_1.0.tgz |
Please use the canonical form https://CRAN.R-project.org/package=ART to link to this page.


- A YuiPanel is a Wicket Panel that is also a
Yui Panel
- To configure the it, override the
getOpts()
and provide the Javascript Literal. see config
- SLIDE Effect seems to takes the x,y position instead of the context positioning
- FADE Effect seems to takes the context positioning instead of the x,y position


{{ operation }}
{{ tagline }}
Tweet this operation
Follow @operationbot
Operation Random Words – protecting Australia from meaning


#
INFO 610 Fall 2019
Week 8.5, Oct 15, 2019
Alter Table
chrisfauerbach.github.io/info610_fall_2019/
--- # Alter Table https://www.postgresql.org/docs/10/sql-altertable.html * Rename Column * Rename Constraints * Rename Table * Change Defaults * Change Identity * Triggers * etc. ALTER TABLE changes the definition of an existing table. --- # Columns * ADD COLUMN [ IF NOT EXISTS ] * DROP COLUMN [ IF EXISTS ] * SET DATA TYPE * SET/DROP DEFAULT * SET/DROP NOT NULL --- # Examples - Column ```sql ALTER TABLE distributors ADD COLUMN address varchar(30); ``` ```sql ALTER TABLE distributors DROP COLUMN address; ``` ```sql ALTER TABLE distributors ALTER COLUMN address TYPE varchar(80), ALTER COLUMN name TYPE varchar(100); ``` ```sql ALTER TABLE distributors RENAME COLUMN address TO city; ``` --- # Examples - Table ```sql ALTER TABLE distributors RENAME TO suppliers; ``` ```sql ALTER TABLE distributors RENAME CONSTRAINT zipchk TO zip_check; ``` ```sql ALTER TABLE distributors ALTER COLUMN street SET NOT NULL; ``` ```sql ALTER TABLE distributors ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5); ``` --- # Constraints In addition to data types, you can additional rules or logic to restrict what data is allowed in a column. ```sql CREATE TABLE products ( product_no integer, name text, price numeric CHECK (price > 0) ); ``` Named Constraint ```sql CREATE TABLE products ( product_no integer, name text, price numeric CONSTRAINT positive_price CHECK (price > 0) ); ``` --- # Multiple Columns If you need to add rules across multiple columns, you can add a constraint to the table, not just the column. ```sql CREATE TABLE products ( product_no integer, name text, price numeric CHECK (price > 0), discounted_price numeric CHECK (discounted_price > 0), CHECK (price > discounted_price) ); ``` or ```sql CREATE TABLE products ( product_no integer, name text, price numeric, CHECK (price > 0), discounted_price numeric, CHECK (discounted_price > 0), CHECK (price > discounted_price) ); ``` --- # More complex ```sql CREATE TABLE products ( product_no integer, name text, price numeric CHECK (price > 0), discounted_price numeric, CHECK (discounted_price > 0 AND price > discounted_price) ); ``` --- # Not Null Specifying not null is a constraint as well ```sql CREATE TABLE products ( product_no integer NOT NULL, name text NOT NULL, price numeric NOT NULL CHECK (price > 0) ); ``` --- # Unique Constraint ```sql CREATE TABLE products ( product_no integer UNIQUE, name text, price numeric ); ``` ```sql CREATE TABLE products ( product_no integer, name text, price numeric, UNIQUE (product_no) ); ``` --- # Group unique ```sql CREATE TABLE example ( a integer, b integer, c integer, UNIQUE (a, c) ); ``` --- # Next Week Quiz on Tuesday HOMEWORK: By Tuesday, come to class with 'python3.7' installed on your computer. MAC: * install 'homebrew' : https://brew.sh/ * brew install python3.7 * brew install pipenv * https://github.com/pypa/pipenv Windows: Install chocolatey * https://chocolatey.org/install * https://docs.python-guide.org/starting/install3/win/ We'll be starting some python. It's time to build an application --- --- --- ---


{% extends 'website/base.html' %} {% load static %} {% block title %}Running in ECSS{% endblock title %} {% block content %}
Within ECS we participate in the Parkrun on Southampton Common. Each Saturday at 9am there is a 5km run hosted which anyone can participate in of any ability. We are a running club registered with Parkrun and you can find out our Southampton parkrun profile. If interested please feel free to join us on Facebook or contact us. You can learn more on Southampton Parkrun's website.


nips nips2008 nips2008-165 nips2008-165-reference knowledge-graph by maker-knowledge-mining
Source: pdf
Author: Ohad Shamir, Naftali Tishby
Abstract: unkown-abstract
[1] A. Banerjee, S. Merugu, I. S. Dhillon, and J. Ghosh. Clustering with bregman divergences. Journal of Machine Learning Research, 6:1705–1749, 2005.
[2] P. Billingsley and F. Topsøe. Uniformity in weak convergence. Probability Theory and Related Fields, 7:1–16, 1967.
[3] R. Dudley. Uniform Central Limit Theorems. Cambridge Studies in Advanced Mathematics. Cambridge University Press, 1999.
[4] G. R. Grimmet and D. R. Stirzaker. Probability and Random Processes. Oxford University Press, 2001.
[5] W. Hoeffding. Probability inequalities for sums of bounded random variables. Journal of the American Statistical Association, 58(301):13–30, Mar. 1963.
[6] R. R. Rao. Relations betwen weak and uniform convergence of measures with applications. The Annals of Mathematical Statistics, 33(2):659–680, June 1962.
[7] A. W. V. D. Vaart. Asymptotic Statistics. Cambridge University Press, 1998.
[8] A. W. van der Vaart and J. A. Wellner. Weak Convergence and Empirical Processes : With Applications to Statistics. Springer, 1996. 16


My favorite things
These are a few of my favorite things.
People
Here are some of my favorite people!
- My Brother
- My mom and dad:
- Steve
- Carol
- My friend Jessica
- My friend Candy
Flavors of ice cream
These are my three favorites, in order:
- Pistachio
- Malted milk chocolate
- Black licorice
Favorite websites
Thanks for reading about me!


Home
Identify
Map
Treatment
Game
Poison Oak Field Guide
Play
iSpy Poison Oak
Find all 4 poison oak plants
Next
Game 2
Find all 3 poison oak plants
Next
Game 3
Find all 4 poison oak plants
Next


Strictly’s Saffron explains why ending up in dance-off was ‘just gutting’
The YouTuber described the experience as ‘terrifying’.
Saffron Barker has said being a long-standing fan of Strictly Come Dancing made ending up in the dance-off last weekend “just gutting”.
The social media star, 19, faced RuPaul’s Drag Race judge Michelle Visage, 51, at Blackpool’s famous Tower Ballroom despite scoring 35 points out of 40 from the judging panel on Saturday night.
In the dance-off on Sunday, Visage’s routine to Madonna’s Vogue failed to win over the judges and Barker’s quickstep to Marvellous Party by Beverley Knight was chosen as the better one by all four judges.
Speaking on Strictly spin-off It Takes Two, Barker said: “It wasn’t so much the shock factor. It was just that we were both so gutted.
“The thing is, this show means so much to me. I have been a viewer for so many years. I have sat at home and watched it so much.
“So for me to actually have the opportunity to dance on the show and then that to happen … it’s just gutting.
“Dancing means so much to me now. I never want this experience to end.”
The YouTuber described being in the bottom two as “terrifying”.
Appearing alongside her professional partner AJ Pritchard, Barker told co-host Rylan Clark-Neal: “I wasn’t just gutted for myself. I was gutted also for AJ because we just love dancing together. Don’t we?”
Pritchard said after they had performed in the dance-off he told Barker it had been her best performance of the competition so far.
Barker said: “When we was actually in the dance-off I thought this could be the last time we are going to dance together.”
The pair will be hoping to escape the bottom two this weekend with a samba to Walking On Sunshine by the Take Me To Rio Collective.
Strictly Come Dancing continues on BBC One on Saturday.


Welcome,
John Doe
Workspace1
Total Models
0
0 complete
Average Training Time
12.5
Ongoing Sessions
-1
Add new model to workspace
Datasets
Upload new dataset
Existing


Teachers
- Professor Mauro Ceccanti
- Professor Alberto Paoluzzi
- Researcher Enrico Marino
- Researcher Federico Spini
Goals
- Understand the medical and biological applications of computational science
- Understand basic concepts about life: DNA, Genetic Code, proteins, biomolecules
- Understand anatomic modeling and physiologic simulation
- Elaborate the fundamental types of biomedical data and their organization
- Develop in a cutting edge graphics environment using JavaScript and webGL
Scheduling
- from Thursday, Mar 1, 2012 to Friday, Jun 8, 2012
- on Monday, Thursday
- at 09:45, until 11:15
- in Room N3
Student evaluation
- Final exam: project discussion
Program
Introduction to Web programming with JavaScript
- Introduction to collaborative development: social coding with git and GitHub
- Basic JavaScript: Syntax, Operators, Statements, Functions, Objects
- Advanced JavaScript: Closures, Prototype, Inheritance
Biomolecules and life
- Outline of genomics: DNA and genetic code, RNA, mapping of genes and proteins
- Outline of proteomics: primary, secondary, tertiary and quaternary structures
- Biochemical pathways: nervous system, neurons, neuro-muscular interface
Biomedical records, data and images
- Electronic Medical Record (EMR) environments
- Laboratory data, anatomic data, biomedical imaging, PACS systems, DICOM images
- PDB (Protein Data Bank), European Bioinformatics Institute (EBI) services
Symbolic biomedical knowledge
- Web 3.0. Ontologies for organizing biomedical data
- The University of Washington FMA (Foundational Model of Anatomy) anatomic model
Biomedical modeling and simulation
- Physiological models
- Virtual Physiological Human: geometric models of proteins, cells, tissues and systems
- Geometric models of neurons, axons and dendrites, neuro-muscular interface
Student projects
- Design and implementation of interactive web tools for biomedical infographics
Projects
-
Web3D
- Web 3d medical image definition
-
WebAnim
- Web Animation and Movie generator
-
WebMol
- Web Protein Viewer
-
WebPDB
- Web Protein Data Bank


{% if services%}
{% for s in services %}
{% endfor %}
{% endif %}
{% if features %}
Features
Deployment of these services puts your organisation on the road to delivering the below features or benefits
{% for f in features %}
{% endfor %}
{% endif %}


Legends: Short novels by the masters of modern fantasy (volume 1, 1998)
About the book
Author: Silverberg, Robert. (ed.)
Title: Legends: Short novels by the masters of modern fantasy. Volume 1, 1998.
Publication: New York, NY : Tor Fantasy, 1998. ISBN<PHONE_NUMBER>.
DAISY audio format narrated by Kristin Allison. CELA library call number DA20360. 715 pages in the paper edition; 25 hrs., 29 mins. as a recorded book.
About the story
Now, if you are trying to get a feel for science fiction and fantasy at the end of the 1990s, this is an excellent beginning. It takes a long time for CELA to produce a book, unfortunately, so if you rely on this service for your books, you are always a few to many years behind the times.
Full disclosure: I picked this one up because it had Dragonfly, an Earthsea novella by Ursula K. LeGuin, one of my all-time favourite authors.
This is a very long book (over 25 hours), and contains 11 novellas by different authors. At the beginning of each text, the editor lists the titles and dates of the author’s other books (in series order, if applicable). This works less well as a recording, but it’s very useful if you enjoy the story that follows. Next, he summarises the major plotlines of the author’s books, providing the details necessary to understand the novella’s place in the overall story and giving the reader a good background of the world.
From a reader’s advisory perspective, this is wonderful!
The book opens with an introduction that traces the history of the fantasy genre by Robert Silverberg. The writers represented in the collection represented the very best of modern fantasy at the time (1997). Here are the eleven short novels in the collection:
- The Little Sisters of Eluria, part of Stephen King’s Dark Tower series. Very creepy.
- Terry Pratchett’s The Sea and Little Fishes from the Discworld series, for some comic relief.
- Debt of Bones, from the Sword of Truth series by Terry Goodkind.
- Orson Scott Card’s The Grinning Man, from the Tales of Alvin Maker series.
- Robert Silverberg’s The Seventh Shrine, set on his world of Majipoor.
- Dragonfly, a novella set in Ursula K. LeGuin’s Earthsea
- The Burning Man, from Tad Williams’ Memory, Sorrow and Thorn series.
- George R.R. Martin’s The Hedge Knight, A Tale of the Seven Kingdoms, from his series A Song of Ice and Fire.
- Anne McCaffery’s The Runners of Pern, set in the future of the familiar dragon world just before a Threadfall.
- The Wood Boy, a tale from the Riftwar saga, by Raymond E. Feist.
- New Spring, part of the Wheel of Time series by Robert Jordan
I read all the stories except the one by George R.R. Martin, The Hedge Knight, since I know the graphic and unpredictable violence of his work disturbs me.
Kirstin Allison, the narrator, does her job very well. She reads all of these widely different stories – including the often outlandish names – in a way that lets the stories themselves shine through. And she is very pleasant to listen to: always a bonus.
Recommended?
I really enjoyed this book. The stories are long enough that it doesn’t feel like a short story collection, and many of these short novels will stay with you for a long time, I think.
If you are buying it in print, be careful because there are two versions out there: one with all the stories, and one with many fewer. Caveat emptor. Always best to get it from a public library!


 From Uri: The Surgical Strike to Gully Boy to Kabir Singh to Housefull 4, the year gave some blockbuster hits and as we are heading to the end of 2019, B-Town has an exciting slate lined up for December. The festive season of Christmas and New Year are expected to light up the Box Office with big films like Panipat, Dabangg 3, Good Newwz and more. Here’s the download on all big December releases.
1. Panipat
Director: Ashutosh Gowariker
Release Date: December 6, 2019
Panipat is an upcoming 2019 historical war film directed by Ashutosh Gowarikar. Based on the Third Battle of Panipat, it stars Arjun Kapoor, Sanjay Dutt, and Kriti Sanon. It is the time when the Maratha Empire had reached its zenith and their grip on Hindustan reigned supreme with no one to challenge them until an invader set his eyes on the throne of Hindustan. It is a period drama and we all are excited to see Arjun Kapoor as Sadashiv Rao Bhau who is the commander in chief of the Maratha Army and antagonist Sanjay Dutt as Ahmad Shah Abdali, who hails from Afghanistan, while Kriti is playing the role of Parvati Bai, wife of Sadashiv Rao.
2. Pati Patni Aur Woh
Director: Mudassar Aziz
Release Date: December 6, 2019
Pati Patni Aur Woh is an upcoming romantic comedy film directed by Mudassar Aziz and produced by Renu Ravi Chopra. The film is a remake of the 1978 film of the same name, and the stars Kartik Aaryan, Bhumi Pednekar, Ananya Panday, Rajesh Sharma and Aparshakti Khurana.  Bhumi plays a convincing sari-clad ‘emotionally high-maintenance’ wife who is a teacher. Ananya adds glamour as Kartik’s love interest Tapasya.
3. Mardaani 2
Director: Gopi Puthran
Release Date: December 13, 2019
Mardaani 2 which is a sequel of Mardaani stars Rani Mukerji as a fiery cop, Shivani Roy, who is in charge of arresting a serial rapist. The trailer of the film hit the screens not so long ago and was appreciated for not compromising on dealing with reality. Rani has transformed herself into one of the finest actors in Bollywood when it comes to portraying such characters. Over the last several years, Rani Mukerji has consciously changed her girl-next-door persona that we saw in the early 2000s. From Tina in Kuch Kuch Hota Hai or Naina in Kabhie Khushi Kabhie Gham, she's moved on to playing maturer roles in Mardaani and Hichki.
4. The Body
Director: Jeethu Joseph
Release Date: December 13, 2019
The Body starring Emraan Hashmi, Rishi Kapoor, Vedhika and Shobhita Dhulipala is all set to hit the silver screen on December 13. It’s a remake of the Spanish film El Cuerpo (2012) and offers a healthy dose of drama, suspense, and thrills. It revolves around a police officer’s search for a body gone missing from a morgue. We can't wait for this mystery to get solved and find out who is the actual culprit.
5. Dabangg 3
Director: Prabhu Deva
Release Date: December 20, 2019
While we saw many action dramas in Bollywood during the ’80s and ’90s where the protagonist was playing a police officer, Salman brought the trend back to the big screen. Following the success of Dabangg, we saw characters like Singham, Simmba, and Sooryavanshi emerge. We will continue to see Salman Khan as Chulbul Pandey and Sonakshi Sinha as Rajjo in the upcoming Salman Khan film. The previous two instalments of the upcoming Salman Khan film had different directors as well so it’ll be interesting to see how Prabhu Deva takes the franchise forward.
6. Good Newwz
Director: Raj Mehta
Release Date: December 27, 2019
Good Newwz brings a humorous situation to the fore. Directed by Raj Mehta, the film features Akshay Kumar, Kareena Kapoor, Kiara Advani and Diljit Dosanjh as couples who have opted for IVF to become parents. While Akshay, Kareena, and Diljit impress with their entertaining ways, Kiara adds her unique flavour to the film. The trailer of Good Newwz was released recently and has been getting a positive response. Good Newwz is going to be the last release of 2019 and we are sure it is going to break all records.


4 Train Concessions you never knew about!
by Aanavandi4 Train Concessions you never knew about!
There are many aspects about train concessions which the Indian passengers are still not aware about. While we know about Indian railway handicapped concession, senior citizen concession and student concession, there are many other types of concession ticket or train discounts available to the passengers.
Concessions for Farmers
If you are a farmer traveling to attend any government organized agricultural exhibition, you could get a concession of 25% on the normal Indian railway fares. When you are traveling in a Special train run to accommodate the farmers attending a rally or exhibition, you could avail 33% concession in your second or Sleeper class tickets. As an extension of this concession category, the farmers along with the milk producers (dairy workers) could get a concession of 50% while traveling to attend a training program for better farming or dairy practices.
Required Documents
- Certificate issued on prescribed Indian railway concession form by Member of Parliament, Member of Legislative Assembly, District Magistrates, Sub Divisional Officer or Block Development Officers.
- Required documents supporting your travel intention must be furnished at the point of booking.
- Concession will be admissible only for travel parties in excess of 20 in the second class of mail or express trains.
- Concession tickets will be issued directly by Station Manager of the nearest station (boarding) after production and verification of documents.
Highlights
- Farmers attending agricultural exhibitions can avail 25% concession in 2nd and SL class.
- Farmers and Milk Producers visiting National level Institutes for learning or training for better farming or dairy practices can get 50% concession in 2nd and SL class.
- Delegates attending Annual Conferences of Bharat Krishak Samaj and Sarvodaya Samaj (in Wardha) can apply for 50% concession in 2nd and SL class.
- Farmers traveling by Government sponsored Special trains to attend programs can get a 33% concession in 2nd and SL class.
Concessions for Government Job Applicants & Bharat Scouts
If you are an unemployed youth appearing in job interviews for Central or State government jobs (such as UPSC, SSC, etc.), you could get a hefty discount of 50% on your second or Sleeper class Indian railway fares. The concession is also applicable for job interviews in other Public Sector Organizations such as Central or State Govt offices, Statutory Bodies, Municipal Corporation, Government undertaking bodies or Universities. Similarly, if you are traveling on scouting duties as a member of Bharat Scouts & Guides you could get a railway concession of 50% on second and Sleeper class ticket fares.
Required Documents
- Central or State government job interviews: Student’s concession certificate needs to be furnished at the time of booking. This certificate would be issued by the Head Master, Head Mistress or Principal of the educational institute where the student had undertaken the main written examination. The concession certificate along with a photo copy of admit card for Main written examination needs to be submitted to the Station Manager of your boarding station.
- Job interviews in other Public Sector Organizations: This concession is available for unemployed youths under the age of 35 years. During the concession process the candidate needs to provide attested copy of Call Letter from the organization mentioning the date & interview venue. Secondly, a copy of the application form submitted by the candidate to the organization mentioning that the traveling expenses are not being borne by the organization in question. All these documents must be attested by a Gazetted officer of Central or State Government.
- Scouting duties of Bharat Scouts and Guides: A certificate from the Scouter or Guider, which needs to be countersigned by the Secretary or Commissioner of the National or State Head quarters or the District Commissioner of State.
Highlights
- Unemployed youths appearing in interviews for Central or State government jobs (such as UPSC, SSC, etc.) can get a concession of 50% in second and Sleeper classes.
- Unemployed youths (under 35 years of age) attending a job interview in other Public Sector Organizations (such as Central or State Govt offices, Statutory Bodies, Municipal Corporation, Government undertaking bodies, Universities, etc.) can apply for a concession of 50% in second and Sleeper classes.
- Youths traveling on scouting duties as a part of Bharat Scouts & Guides can avail a concession of 50% in second and Sleeper classes.
- Youths attending the National Integration Camps (such as National Youth Project or Manav Uththan Sewa Samiti) can seek a concession between 40-50% in second and Sleeper classes.
Concessions for Artists
If you are an artist and associated with entertainment performances, then you could avail a concession in the range of 50-75% on your travels. Registered professionals, companies or groups who deal with theatrical, musical, dance or magic performances fall under the periphery of this concession. Even students or artistes training at the National School of Drama in New Delhi can apply for this Indian railway concession.
Required Documents
- A certificate issued by the Central or State Sangeet Natak Acadamy or certificate from Department of Youth Affairs & Sports Ministry of Human Resource Development needs to be provided during the booking process.
- This needs to be supported by another certificate from Civil Authorities of the place of performance. The certificate should mention that the performance is exempted from payment of entertainment tax along with an undertaking by the organizers that the performance will have no commercial motive.
- Concession for students of National School of Drama will be provided after a certificate on Indian railway concession form is provided from the institution.
Highlights
- Artists who are performing either solo or along with a group (such as dance, music, theater, magic, etc.) can get a concession of 75% in second class and Sleeper classes. The range of their concession would be 50% for 1st class, AC chair car, 3 AC and 2 AC. The concession is also applicable for Premium trains such as Rajdhani, Shatabdi and Jan Shatabdi.
- Film technicians who are traveling for work related to a film production can seek 75% concession in Sleeper class and 50% concession in 1st class, AC chair car, 3 AC and 2 AC. The concession is also applicable for Premium trains such as Rajdhani and Shatabdi.
Concessions for Sports Persons
If you are traveling to participate in a State, National or International level tournament organized or recognized by the Education or University boards, State or All India sports associations (including the Olympic Association), then you could get a concession between 50-75% on your Indian railway fare. The range of concessions depends on the class or travel and the magnitude of the tournament. Similarly, persons traveling to undertake a mountaineering expedition organized by Indian Mountaineering Foundation can also seek a concession of 50-75%.
Required Documents
- The passenger needs to furnish a certificate from Hony. Secretary or Registrar of University, Deputy Secretary (sports) Association of Indian Universities, Hony. Secretaries of All India Sports Associations & their State units, Secretaries of Olympic Association/ State Olympic Committees (whichever may be applicable).
Highlights
- Any sports person participating in All India or State level tournament can get Indian railway concession of 75% in second and Sleeper class. While a concession of 50% on Indian railway fare is available in 1st class.
- Sports person participating in a National level tournament will be applicable for a concession of 75% in second and Sleeper class. While a concession of 50% on travel fare is available in 1st class.
- Person undertaking a Mountaineering expedition organized by the Indian Mountaineering Foundation can seek a concession of 75% in second and Sleeper class or 50% of travel fare is available in 1st class.
Now that you know, make good use of these unheard train travel concessions.
Written By – Annoy Chakraborty, Source – railyatri.in.


Dinosaur (2000) Voices of D.B. Sweeney, Alfre Woodard, Ossie Davis, Max Casella, Hayden Panettiere, Samuel E. Wright, Julianna Margulies, Peter Siragusa, Joan Plowright, Della Reese. Music by James Newton Howard. Screenplay by John Harrison and Robert Nelson Jacobs, based on an original screenplay by Walon Green. Story by Thom Enriquez, Harrison, Jacobs and Ralph Zondag. Directed by Ralph Zondag and Eric Leighton. 82 minutes. Rated PG, 3 stars (out of five stars)
Review by Ed Johnson-Ott, NUVO Newsweekly www.nuvo.com Archive reviews at http://us.imdb.com/ReviewsBy?Edward+Johnson-Ott To receive reviews by e-mail at no charge, send subscription requests to<EMAIL_ADDRESS>or e-mail<EMAIL_ADDRESS>with the word "subscribe" in the subject line.
The press kit for Disney's computer animated children's movie, "Dinosaur," contains eight pages of cast and crew biographies, nine pages of credits and 15 pages of production notes. Included in the copious technical section is one paragraph on the actual story, which reveals a lot about the filmmakers' priorities. "Dinosaur" is a 75 minute (82 with closing credits) showcase for computer animation, with a standard issue Disney storyline slapped on. And, despite the jazzy visuals, it's a surprisingly mundane affair.
Of course, the very young target audience for the movie will love every minute of it, but then again, they also look at Lunchables as fine dining.
Set in the late Cretaceous Period, "Dinosaur" chronicles the adventures of Aladar (voice of D.B. Sweeney), an Iguanodon raised by a family of frolicking lemurs after his egg turns up on their island paradise. A meteor shower forces them to flee to the mainland, where they join a diverse group of dinosaurs trudging across the ravaged land seeking a new nesting ground. Aladar's insistence on staying with caravan stragglers like the slow-moving Brachiosaur, Baylene (Joan Plowright), and the brassy Styrachosaur, Eema (Della Reese), draws the ire of Iguanodon herd leader Kron (Samuel E. Wright), even though his sister, Neera (Julianna Margulies), clearly considers the rebellious young dinosaur to be quite a stud.
Think Disney's "Tarzan" minus the exuberance and "The Lion King" with less majesty and you'll know what to expect from the retread plot. Think fuzzy wuzzy and you'll understand the story's philosophy. In the press notes, Margulies states, "The film has a beautiful message, especially for younger viewers, that it's so much cooler to help the weak ones than to go along with the bully who hates everyone and can be mean just because he's more powerful." The villain of which she speaks is Kron, and his crime is driving the herd to a safe haven, even if it means leaving behind those who can't keep pace. Apparently, Disney-think allows no room for distasteful concepts like survival of the fittest.
But enough carping over plot and philosophy – after all, this is a film concerned primarily with cute characters and dazzling visuals. "Dinosaur" strives to raise the bar for computer animation, placing CG characters in real world settings. The production's first unit shot in California's Mohave Desert and in Hawaiian botanical gardens, along with other sites on the Big Island, Maui and Kauai, while the second unit captured images in Australia, Jordan, Venezuela and the beaches of Western Samoa. Animators studied light and shadow with great care, attempting to seamlessly insert their computer generated creations into real backdrops.
Their success rate varies from scene to scene. Some composite images are crisp, sharply defined and remarkably convincing, while others have a creamy, storybook appearance that is far less credible, but still attractive. The most impressive shots are close-ups where the animators obviously strained to break new ground. In the past, computer renditions of water and hair generally ranged from barely passable to flat-out cheesy, but "Dinosaur" gets them right. For scenes of a soggy lemur, fur stylist Charles Colladay dealt with both, explaining "To study wet hair, I experimented at home by wetting down my cats to see what they looked like. The hair comes to thousands of little points and you can see the skin in-between. That gave us some direction to go in and we came up with a hair-clumping tool where we could actually grab a single hair on the computer and clump a bunch of others to our target hair. We went to the zoo to study real lemurs, but they kind of frowned on us wetting them down."
Even though "Dinosaur" periodically breaks new ground, the film suffers from a been-there, done-that feel. Ads for the film trumpet, "You've never seen anything like this before!" Apparently, they forgot about a little feature called "Jurassic Park." When Laura Dern and Sam Neill first saw a dinosaur grazing in the sunshine, rising on its hind legs to snatch some leaves from the top of a tree, my jaw dropped as far as theirs did. I never experienced that sensation during "Dinosaur." I've no doubt that kids will go wild over the movie, but for this adult, the grafting of grandiose images to a Sesame Street storyline left me cold. Scientists theorize that dinosaurs became extinct as a result of Earth being struck by an asteroid. After sitting through this tepid spectacle, I wonder if they simply died of boredom.
© 2000 Ed Johnson-Ott
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


; comment ; comment with ### alerts # alternative comments [Empty section] [Section 2] Key1=String Value Key2=42 Key3=3.14 Key4=-42 Key5=<IP_ADDRESS> Key\SubKey=True [Section 3] ; = in values are fine ; inline comments are not supported, ;/# are part of the value key4 = foo = True; bar = False key4b = abcd#1234! key5/subkey = "foo\nbar<PHONE_NUMBER>56" [php] error_reporting=~E_NOTICE error_reporting=E_ALL | E_STRICT


Represents a Symptom log Entry
Methods
- T
Included Modules
- Discard::Model
Constants
| SEVERITY_ARRAY | = | %w[None Mild Moderate Severe Very\ Severe].freeze |
Instance Public methods
Represents a Symptom log Entry
| SEVERITY_ARRAY | = | %w[None Mild Moderate Severe Very\ Severe].freeze |


This component models the volume of fixed size that is associated with the fluid port to which it is connected. This means that all medium properties inside the volume, are identical to the port medium properties. In particular, the specific enthalpy inside the volume (= medium.h) is always identical to the specific enthalpy in the port (port.h = medium.h). Usually, this model is used when discretizing a component according to the finite volume method into volumes in internal ports that only store energy and mass and into transport elements that just transport energy, mass and momentum between the internal ports without storing these quantities during the transport.
| Name | Description |
|---|---|
| Medium | Medium model |


Date: Error
Topic: Error
Venue: Error
Speaker: Error
Food: Error
After Event: Error
Description: Error
Date: Error
Topic: Error
Venue: Error
Speaker: Error
Food: Error
After Event: Error
Description: Error
This meetup already has a venue. If this is incorrect, please:
Venue NameResponse
No Venue Name Response
This is the speaker tab.
This meetup already has a food sponsor. If this is incorrect, please:
Food Sponsor NameResponse
No Food Sponsor Name Response
This is the after tab.


Limitless - Pickers
Overview
A jQuery plugin which takes Twitter Bootstrap's already great pagination component and injects a bit of date based magic. In the process creating a hugely simplified and modularised way of paging date based results in your application. Dates are selectable, scrollable and with the optional calendar select option thanks to eternicode's bootstrap-datepicker, you can easily jump to any calendar date.
Usage
Include the following lines of code in the
section of your HTML:

Add element. Paginator will be injected as html into this div
:

Call the plugin via JavaScript:
// Basic initialization
$('#date-paginator').datepaginator({
selectedDate: '2013-01-01',
selectedDateFormat: 'YYYY-MM-DD',
itemWidth: 70,
navItemWidth: 28
});
Plugin options
Options explanation and default values:
| Option | Default | Description |
|---|---|---|
endDate |
End of time | String. Sets the latest date that may be selected, all later dates will be disabled |
endDateFormat |
'YYYY-MM-DD' | String. Sets the date format used when parsing string representations of endDate |
highlightSelectedDate |
true | Boolean. Whether or not to distinguish visually the selected date |
highlightToday |
true | Boolean. Whether or not to distinguish visually today's date |
hint |
'dddd, Do MMMM YYYY' | String. Format used for on hover hint. String tokens are parsed against a given date |
injectStyle |
true | Boolean. By default the required styles are injected into the DOM automatically and no external css reference is required. In the event that you want to override and customize the default style, set injectStyle to false . Please note - where multiple paginators are applied to the same page, all must be set to injectStyle false otherwise the DOM injected style takes precedence |
itemWidth |
35 | Integer. Minimum width specified in pixels for an item |
navItemWidth |
20 | Integer. Minimum width specified in pixels for the nav items e.g. left and right arrows |
offDays |
'Sat,Sun' | String (csv). Sets days of the week to be considered off days, visually greyed out |
offDaysFormat |
'ddd' | String. Sets the format used when evaluating offDays . For example, 'ddd' formats as a 3 letter abbreviation representing the day of the week, therefore Saturday becomes 'Sat' |
selectedDate |
moment(), equivalent to new Date() | String or Moment. Sets the initial selected date, provided as either a Moment.js moment object or String |
selectedDateFormat |
'YYYY-MM-DD' | String. Sets the date format used throughout the components lifecycle when parsing the selected date object |
selectedItemWidth |
120 | Integer. Minimum width specified in pixels for the selected item |
showCalendar |
true | Boolean. Whether or not to display the clickable calendar icon visible on selected date. By setting to false you are effectively removing the calendar date select functionality from the user |
showOffDays |
true | Boolean. Whether or not to display off days |
showStartOfWeek |
true | Boolean. Whether or not to display the start of week divider |
size |
'normal' | String. Sets the height of the paginator component. Accepts small , normal , large |
startDate |
Beginning of time | String or Moment. Sets the earliest date that may be selected, all earlier dates will be disabled |
startDateFormat |
'YYYY-MM-DD' | String. Sets the date format used when parsing string representations of startDate |
startOfWeek |
'Mon' | String. Sets for display purposes the start of the week, visually illustrated by a thicker dividing line betweeen dates |
startOfWeekFormat |
'ddd' | String. Sets the format used when evaluating startOfWeek . For example, 'ddd' formats as a 3 letter abbreviation representing the day of the week, therefore Saturday becomes 'Sat' |
squareEdges |
false | Boolean. Toggles the border radius between Bootstrap's default rounded edges border-radius: 4px and overridden square edges border-radius: 0px |
text |
'ddd
Do' | String. Format used for item text i.e. date format. String tokens are parsed against a given date |
textSelected |
'dddd
Do, MMMM YYYY' | String. Format used for the selected items text. String tokens are parsed against a given date |
width |
0 (auto) | Integer. By default the paginator will automatically fill the entire width of it's container. However, if you require more control over the component you can specify any given width in pixels e.g. width: 400 |
Plugin methods
| Method | Example | Description |
|---|---|---|
setSelectedDate |
.datepaginator('setSelectedDate', '2013-10-05'); | Sets the selected date, triggering a refresh to reflect the new state. If called without passing a format argument, selectedDateFormat will be used |
remove |
.datepaginator('remove'); | Removes the date paginator component. Removing attached events, internal attached objects, and added HTML elements |
Plugin info
| Property | Description |
|---|---|
| File name | datepaginator.min.js |
| Location | assets/js/plugins/pagination/ |
| Updates | 0 |
| Links | Github project page |
Overview
Spectrum is a jQuery Colorpicker plugin. It is easy to skin and customize the plugin with CSS, and there are a wide range of modes and options to explore. Uses a polyfill for the input[type=color]
HTML5 control. This mode needs to work without JavaScript enabled - and fallback to an input[type=text]
like other HTML5 inputs. If you don't want this behavior to happen, but still want to use spectrum elsewhere on the page, you can set $.fn.spectrum.load = false;
right after loading the script file.
Usage
Include the following lines of code in the
section of your HTML:

Add input element with attributes:

<input type="text" class="form-control colorpicker-basic" value="#20BF7E">
Call the plugin via JavaScript:
// Basic initialization
$(".colorpicker-basic").spectrum({
// options
});
Spectrum options and documentation
Full Spectrum documentation can be found online on Official library website. It's quite big, with a lot of options, events and methods. I find it useless to copy them all and paste to the Limitless documentation, nobody can represent and describe library features better than its creators. Below you can find additional links related to Spectrum library.Plugin info
| Property | Description |
|---|---|
| File name | spectrum.js |
| Location | assets/js/plugins/pickers/color/ |
| Updates | 0 |
| Links | Github project page |
Overview
This plug-in allows to easily find and select a location on the Google map. Along with a single point selection, it allows to choose an area by providing its center and the radius. All the data can be saved to any HTML input element automatically as well as be processed by Javascript (callback support).
The other feature of the plug-in is automatic address resolver which allows to get address line from the selected latitude and longitude. The plug-in also supports searching by address typed into the bound input element which uses auto-complete feature from Google API to make the search process easier. In this case the marker will be automatically positioned on the map after successful address resolution
Usage
Include the following lines of code in the
section of your HTML:

Add element with attributes:

Call the plugin via JavaScript:
// Basic initialization
$('#locationpicker-default').locationpicker({
radius: 150,
scrollwheel: false,
zoom: 10
});
Plugin options
Options and default values:
// Options with default values
{
location: {latitude: 40.7324319, longitude: -73.82480799999996},
locationName: "",
radius: 500,
zoom: 15,
scrollwheel: true,
inputBinding: {
latitudeInput: null,
longitudeInput: null,
radiusInput: null,
locationNameInput: null
},
enableAutocomplete: false,
enableReverseGeocode: true,
}
Plugin callbacks
| Callback | Description |
|---|---|
onchanged(currentLocation, radius, isMarkerDropped) |
Will be fired once location has been changed. Parameter isMarkerDropped will be set to true in case when location has been set by dropping the marker on map. In case when position was set from test input or using API it will be set to false |
onlocationnotfound: function(locationName) |
Will be fired when it is impossible that resolve address from user input to coordinates |
oninitialized: function (component) |
Will be fired after initialization and positioning marker to the initial location |
Plugin info
| Property | Description |
|---|---|
| File name | datepaginator.min.js |
| Location | assets/js/plugins/pickers/location/ |
| Updates | 0 |
| Links | Github project page |
Overview
Address picker built with typeahead autocomplete from twitter. It's not an extension of typeahead plugin itself, but a new data source for twitter typeahead. The AddressPicker
is a subclass of a Bloodhound
class. It connects suggestions to Google Map AutocompleteService
. But it's much more than a simple suggestion engine because it can be linked to a google map to display/edit location.
Usage
Include the following lines of code in the
section of your HTML:

Add element with attributes:

<input id="address" class="form-control typeahead" type="text" placeholder="Enter an address">

Instantiate an AddressPicker
with the google map div element or ID and connect typeahead events:
// Basic initialization, based on Bloodhound
var addressPicker = new AddressPicker({
map: {
id: '#map'
}
});
// instantiate the typeahead UI
$('#address').typeahead(null, {
displayKey: 'description',
source: addressPicker.ttAdapter()
});
// Bind some event to update map on autocomplete selection
$('#address').bind('typeahead:selected', addressPicker.updateMap);
$('#address').bind('typeahead:cursorchanged', addressPicker.updateMap);
Plugin options
When you instantiate a new AddressPicker
you can pass a list of options new AddressPicker(options)
. Available options:
| Option | Default | Description |
|---|---|---|
map |
none | Map id and options to link typeahead to a goggle map |
marker |
{draggable: true, visible: false, position: MAP_CENTER} | Marker options display on the map |
autocompleteService |
{types: ['geocode']} | Options passed to google.maps.places.AutocompleteService#getPlacePredictions . You can add a lot of options, like get only address for a country, or get only cities etc. |
zoomForLocation |
16 | Number. Zoom value when an accurate address is selected |
reverseGeocoding |
false | Boolean. Reverse geocoding when marker is dragged on map |
placeDetails |
false | Boolean. If not using with a map, you can skip the getDetails portion to speed up the query |
Plugin events
To simplify google response parsing, we fire an object of type AddressPickerResult with some accessors:
lat()
lng()
addressTypes()
addressComponents()
nameForType: (type, shortName = false)
Listen that event to get values you need and store them in your form. Here is an example:
// Proxy inputs typeahead events to addressPicker
addressPicker.bindDefaultTypeaheadEvent($('#address'))
// Listen for selected places result
$(addressPicker).on('addresspicker:selected', function (event, result) {
$('#your_lat_input').val(result.lat());
$('#your_lng_input').val(result.lng());
$('#your_city_input').val(result.nameForType('locality'));
});
Plugin info
| Property | Description |
|---|---|
| File name | autocomplete_addresspicker.js, typeahead_addresspicker.js |
| Location | assets/js/plugins/pickers/location/ |
| Updates | 0 |
| Links | Github project page |
Overview
The Any+Time™ JavaScript Library includes a highly-customizable, jQuery-compatible datepicker/ timepicker (calendar/ clock widget) and a powerful Date/String parse/format utility. Any+Time™ is different from other pickers. More powerful, yes, but more importantly, designed with speed and ease-of-use in mind. And not only can it create a date/time picker with advanced features and options not found in other calendar/clock widgets, it also allows you to format dates and times the way you want them. Or your database wants them. Or, better yet, the way your users want them.
For starters, take a look at these DATE/TIME ALTERNATIVES
:
- 12-hour or 24-hour clock
- custom date/time format (countless possibilities, including JSON and XML)
- date-only, time-only, or specific fields!
- date/time range limits
- era-selection (BCE/CE, BC/AD, etc.)
- start week on any day (Sunday, Monday, etc.)
- custom base for 2-digit years (1900, 2000, etc.)
- UTC offsets and time zones
It's also PROGRAMMER-FRIENDLY
:
- easy to implement
- easy AJAX validation
- easy Date/String conversion, including JSON and XML
- create multiple pickers at once
- easy removal
- easy to extend
And let's not forget those USABILITY FEATURES
:
- single-click value selection
- double-click select-and-dismiss
- WAI-ARIA 1.0 keyboard accessibility
- em-based relative-size
Usage
Include the following lines of code in the
section of your HTML:

Add element with attributes:

<input type="text" class="form-control" id="anytime-date" value="Sunday, July 30th in the Year 1967 CE">
Call the plugin via JavaScript:
// Basic initialization
$("#anytime-date").AnyTime_picker({
format: "%W, %M %D in the Year %z %E",
firstDOW: 1
});
Plugin options
When creating a picker with AnyTime.picker()
or $.AnyTime_picker()
, the following members may be specified as part of the options argument:
| Option | Description |
|---|---|
ajaxOptions |
Options to pass to jQuery's $.ajax() method whenever the user dismisses a popup picker or selects a value in an inline picker. The input's name (or id) and value are passed to the server (appended to ajaxOptions.data , if present), and the "success" handler sets the input's value to the responseText . Therefore, the text returned by the server must be valid for the input's date/time format, and the server must either echo or correct the value chosen by the user |
askEra |
If true , buttons to select the era (BCE/CE) are shown on the year selector popup, even if the format specifier does not include the era. If false , buttons to select the era are NOT shown, even if the format specifier includes the era. Normally, era buttons are only shown if the format string specifies the era |
askSecond |
If false , buttons for number-of-seconds are not shown on the year selector popup, even if the format specifier includes seconds. Normally, the buttons are shown if the format string specifies seconds |
baseYear |
The number to add to two-digit years if the "%y" format specifier is used. By default, the MySQL convention that two-digit years are in the range 1970 to 2069 is used. The most common alternatives are 1900 and 2000. When using this option, you should also specify the earliest and latest options to the first and last dates in the century, respectively. |
dayAbbreviations |
An array of day abbreviations to replace Sun, Mon, etc. Note: if a different first day-of-week is specified by option firstDOW , this array should nonetheless start with the desired abbreviation for Sunday |
dayNames |
An array of day names to replace Sunday, Monday, etc. Note: if a different first day-of-week is specified by option firstDOW , this array should nonetheless start with the desired name for Sunday |
earliest |
String or Date object representing the earliest date/time that a user can select. If a String is specified, it is expected to match the format specifier. For best results if the field is only used to specify a date, be sure to set the time to 00:00:00 |
eraAbbreviations |
An array of era abbreviations to replace BCE and CE. The most common replacements are the obsolete: BC and AD |
firstDOW |
A value from 0 (Sunday) to 6 (Saturday) stating which day should appear at the beginning of the week. The default is 0 (Sunday). The most common substitution is 1 (Monday). Note: if custom arrays are specified for dayAbbreviations and dayNames , they should nonetheless begin with the desired value for Sunday |
formatUtcOffset |
String specifying the format of the UTC offset choices displayed in the picker. Although all specifiers used by the format option are recognized, only those pertaining to UTC offsets (namely %# , %+ , %- , %: , %; and %@ ) should be used. By default, the picker will extrapolate a format by scanning the format option for appropriate specifiers and their surrounding characters |
hideInput |
If true , the <input> is "hidden" (the picker appears in its place). This actually sets the border, height, margin, padding and width of the field as small as possible, so it can still get focus. Note: if you try to hide the field using traditional techniques (such as setting display: none ), the picker will not behave correctly. This option should only be used with placement: "inline" ; otherwise, a popup will only appear (seemingly from nowhere) if the user tabs to the hidden field |
init |
The initial value for the input field. This can be a Date object, a Number representing the time (in milliseconds), or a String in the correct format. If the field already contains a value, it will be replaced with this value when the picker is initialized |
labelDayOfMonth |
HTML to replace the Day of Month label |
labelDismiss |
HTML to replace the dismiss popup button's X label |
labelHour |
HTML to replace the Hour label |
labelMinute |
HTML to replace the Minute label |
labelMonth |
HTML to replace the Month label |
labelSecond |
HTML to replace the Second label |
labelTimeZone |
HTML to replace the Time Zone label |
labelTitle |
HTML for the title of the picker. If not specified, the picker automatically selects a title based on the format specifier fields |
labelYear |
HTML to replace the Year label |
latest |
String or Date object representing the latest date/time that a user can select. If a String is specified, it is expected to match the format specifier. For best results if the field is only used to specify a date, be sure to set the time to 23:59:59 |
monthAbbreviations |
An array of month abbreviations to replace Jan, Feb, etc. Note: do not use an HTML entity reference (such as ä ) in a month name or abbreviation; embed the actual character (such as ä ) instead. Be careful to save your source files under the correct encoding, or the character may not display correctly in all browsers; this often happens when a character code from UTF-8 is saved with ISO-8859-1 encoding (or vice-versa) |
monthNames |
An array of month names to replace January, February, etc |
placement |
One of the following strings:
|
Format options
format
option - string specifying the date/time format. The following format specifiers are recognized:
| Option | Description |
|---|---|
%a |
Abbreviated weekday name (Sun...Sat) |
%B |
Abbreviation for Before Common Era (if year<1)* |
%b |
Abbreviated month name (Jan...Dec) |
%C |
Abbreviation for Common Era (if year&rt;=1)* |
%c |
Month, numeric (1..12) |
%D |
Day of the month with English suffix (1st, 2nd, ...) |
%d |
Day of the month, numeric (00...31) |
%E |
Era abbreviation* |
%e |
Day of the month, numeric (0...31) |
%H |
Hour (00...23) |
%h |
Hour (01...12) |
%I |
Hour (01...12) |
%i |
Minutes, numeric (00...59) |
%k |
Hour (0...23) |
%l |
Hour (1...12) |
%M |
Month name (January...December) |
%m |
Month, numeric (01...12) |
%p |
AM or PM |
%r |
Time, 12-hour (hh:mm:ss followed by AM or PM) |
%S |
Seconds (00...59) |
%s |
Seconds (00...59) |
%T |
Time, 24-hour (hh:mm:ss) |
%W |
Weekday name (Sunday...Saturday) |
%w |
Day of the week (0=Sunday...6=Saturday) |
%Y |
Year, numeric, four digits (possibly signed) |
%y |
Year, numeric, two digits (possibly signed) |
%Z |
Year, numeric, four digits (no sign)* |
%z |
Year, numeric, variable length (no sign)* |
%# |
Signed UTC offset in minutes* |
%+ |
Signed UTC offset in %h%i format* |
%- |
Signed UTC offset in %l%i format* |
%: |
Signed UTC offset in %h:%i format* |
%; |
Signed UTC offset in %l:%i format* |
%@ |
UTC offset time zone label* |
%% |
A literal % character |
Plugin info
| Property | Description |
|---|---|
| File name | anytime.min.js |
| Location | assets/js/plugins/pickers/ |
| Updates | 0 |
| Links | Official plugin website |
Overview
This date range picker component for Bootstrap creates a dropdown menu from which a user can select a range of dates. Features include limiting the selectable date range, localizable strings and date formats, a single date picker mode, optional time picker (for e.g. making appointments or reservations), and styles that match the default Bootstrap 3 theme
Usage
Include the following lines of code in the
section of your HTML:

Add element with attributes:

<input type="text" class="form-control daterange-basic" value="01/01/2015 - 01/31/2015">
Call the plugin via JavaScript:
// Basic initialization
$('.daterange-basic').daterangepicker({
applyClass: 'bg-slate-600',
cancelClass: 'btn-default'
});
Plugin options
| Option | Type | Description |
|---|---|---|
startDate |
Date object, moment object or string | The start of the initially selected date range |
endDate |
Date object, moment object or string | The end of the initially selected date range |
minDate |
Date object, moment object or string | The earliest date a user may select |
maxDate |
Date object, moment object or string | The latest date a user may select |
dateLimit |
object | The maximum span between the selected start and end dates. Can have any property you can add to a moment object (i.e. days, months) |
timeZone |
string or number | The timezone that will be used to display the startDate and endDate in the calendar. This may be a string such as "08:00" or an offset in minutes from Greenwich Mean Time. Uses Moment.js #utcOffset. If the timeZone option is not set, the calendar will use the time zone set on the startDate that has been passed in through the options, if it has one. Defaults to the local time zone |
showDropdowns |
boolean | Show year and month select boxes above calendars to jump to a specific month and year |
showWeekNumbers |
boolean | Show week numbers at the start of each week on the calendars |
timePicker |
boolean | Allow selection of dates with times, not just dates |
timePickerIncrement |
number | Increment of the minutes selection list for times (i.e. 30 to allow only selection of times ending in 0 or 30) |
timePicker24Hour |
boolean | Use 24-hour instead of 12-hour times, removing the AM/PM selection |
timePickerSeconds |
boolean | Show seconds in the timePicker |
ranges |
object | Set predefined date ranges the user can select from. Each key is the label for the range, and its value an array with two dates representing the bounds of the range |
opens |
string | Whether the picker appears aligned to the left, to the right, or centered under the HTML element it's attached to. Available left , right and center |
drops |
string | Whether the picker appears below (default) or above the HTML element it's attached to. Available up and down |
buttonClasses |
array | CSS class names that will be added to all buttons in the picker |
applyClass |
string | CSS class string that will be added to the apply button |
cancelClass |
string | CSS class string that will be added to the cancel button |
locale |
object | Allows you to provide localized strings for buttons and labels, customize the date display format, and change the first day of week for the calendars |
singleDatePicker |
boolean | Show only a single calendar to choose one date, instead of a range picker with two calendars; the start and end dates provided to your callback will be the same single date chosen |
autoApply |
boolean | Hide the apply and cancel buttons, and automatically apply a new date range as soon as two dates or a predefined range is selected |
linkedCalendars |
boolean | When enabled, the two calendars displayed will always be for two sequential months (i.e. January and February), and both will be advanced when clicking the left or right arrows above the calendars. When disabled, the two calendars can be individually advanced and display any month/year |
parentEl |
string | jQuery selector of the parent element that the date range picker will be added to, if not provided this will be 'body' |
isInvalidDate |
function | A function that is passed each date in the two calendars before they are displayed, and may return true or false to indicate whether that date should be available for selection or not |
autoUpdateInput |
boolean | Indicates whether the date range picker should automatically update the value of an <input> element it's attached to at initialization and when the selected dates change |
Plugin methods
You can programmatically update the startDate
and endDate
in the picker using the setStartDate
and setEndDate
methods. You can access the Date Range Picker object and its functions and properties through data properties of the element you attached it to.
Example usage:
// Create a new date range picker
$('#daterange').daterangepicker({ startDate: '2014-03-05', endDate: '2014-03-06' });
// Change the selected date range of that picker
$('#daterange').data('daterangepicker').setStartDate('2014-03-01');
$('#daterange').data('daterangepicker').setEndDate('2014-03-31');
Available methods
| Option | Type | Description |
|---|---|---|
setStartDate() |
Date/moment/string | Sets the date range picker's currently selected start date to the provided date |
setEndDate() |
Date/moment/string | Sets the date range picker's currently selected end date to the provided date |
Plugin events
Several events are triggered on the element you attach the picker to, which you can listen for.
Example usage:
// Event example
$('#daterange').on('apply.daterangepicker', function(ev, picker) {
console.log(picker.startDate.format('YYYY-MM-DD'));
console.log(picker.endDate.format('YYYY-MM-DD'));
});
Available events
| Event | Description |
|---|---|
show.daterangepicker |
Triggered when the picker is shown |
hide.daterangepicker |
Triggered when the picker is hidden |
showCalendar.daterangepicker |
Triggered when the calendar(s) are shown |
hideCalendar.daterangepicker |
Triggered when the calendar(s) are hidden |
apply.daterangepicker |
Triggered when the apply button is clicked, or when a predefined range is clicked |
cancel.daterangepicker |
Triggered when the cancel button is clicked |
Plugin info
| Property | Description |
|---|---|
| File name | daterangepicker.js |
| Location | assets/js/plugins/pickers/ |
| Updates | 0 |
| Links | Github project page |
Overview
The mobile-friendly, responsive, and lightweight jQuery date & time input picker. There’s a tonne of options to customize the date and time pickers, such as month/year selectors, time intervals, etc. There’s also a rich API to extend the functionality of the picker.
- Supports jQuery 1.7 and up
- Is ARIA-enabled to be WCAG 2.0 compliant
- Loads a tiny JS and CSS footprint
- Comes with translations for over 40 languages
- Has touch & keyboard friendliness
- Follows BEM style class naming
- Utilizes LESS based stylesheets
Usage
Include the following lines of code in the
section of your HTML:

Add element with attributes:

<input type="text" class="form-control pickadate" placeholder="Try me">
Call the plugin via JavaScript:
// Date picker
$('.pickadate').pickadate({
// options
});
// Time picker
$('.pickatime').pickatime({
// options
});
Date picker options
These are the default settings of a date picker:
// Strings and translations
monthsFull: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
weekdaysFull: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
showMonthsShort: undefined,
showWeekdaysFull: undefined,
// Buttons
today: 'Today',
clear: 'Clear',
close: 'Close',
// Accessibility labels
labelMonthNext: 'Next month',
labelMonthPrev: 'Previous month',
labelMonthSelect: 'Select a month',
labelYearSelect: 'Select a year',
// Formats
format: 'd mmmm, yyyy',
formatSubmit: undefined,
hiddenPrefix: undefined,
hiddenSuffix: '_submit',
hiddenName: undefined,
// Editable input
editable: undefined,
// Dropdown selectors
selectYears: undefined,
selectMonths: undefined,
// First day of the week
firstDay: undefined,
// Date limits
min: undefined,
max: undefined,
// Disable dates
disable: undefined,
// Root picker container
container: undefined,
// Hidden input container
containerHidden: undefined,
// Close on a user action
closeOnSelect: true,
closeOnClear: true,
// Events
onStart: undefined,
onRender: undefined,
onOpen: undefined,
onClose: undefined,
onSet: undefined,
onStop: undefined,
// Classes
klass: {
// The element states
input: 'picker__input',
active: 'picker__input--active',
// The root picker and states *
picker: 'picker',
opened: 'picker--opened',
focused: 'picker--focused',
// The picker holder
holder: 'picker__holder',
// The picker frame, wrapper, and box
frame: 'picker__frame',
wrap: 'picker__wrap',
box: 'picker__box',
// The picker header
header: 'picker__header',
// Month navigation
navPrev: 'picker__nav--prev',
navNext: 'picker__nav--next',
navDisabled: 'picker__nav--disabled',
// Month & year labels
month: 'picker__month',
year: 'picker__year',
// Month & year dropdowns
selectMonth: 'picker__select--month',
selectYear: 'picker__select--year',
// Table of dates
table: 'picker__table',
// Weekday labels
weekdays: 'picker__weekday',
// Day states
day: 'picker__day',
disabled: 'picker__day--disabled',
selected: 'picker__day--selected',
highlighted: 'picker__day--highlighted',
now: 'picker__day--today',
infocus: 'picker__day--infocus',
outfocus: 'picker__day--outfocus',
// The picker footer
footer: 'picker__footer',
// Today, clear, & close buttons
buttonClear: 'picker__button--clear',
buttonClose: 'picker__button--close',
buttonToday: 'picker__button--today'
}
Time picker options
These are the default settings of a time picker:
// Translations and clear button
clear: 'Clear',
// Formats
format: 'h:i A',
formatLabel: undefined,
formatSubmit: undefined,
hiddenPrefix: undefined,
hiddenSuffix: '_submit',
// Editable input
editable: undefined,
// Time intervals
interval: 30,
// Time limits
min: undefined,
max: undefined,
// Root picker container
container: undefined,
// Hidden input container
containerHidden: undefined,
// Close on a user action
closeOnSelect: true,
closeOnClear: true,
// Events
onStart: undefined,
onRender: undefined,
onOpen: undefined,
onClose: undefined,
onSet: undefined,
onStop: undefined,
// Classes
klass: {
// The element states
input: 'picker__input',
active: 'picker__input--active',
// The root picker and states *
picker: 'picker picker--time',
opened: 'picker--opened',
focused: 'picker--focused',
// The picker holder
holder: 'picker__holder',
// The picker frame, wrapper, and box
frame: 'picker__frame',
wrap: 'picker__wrap',
box: 'picker__box',
// List of times
list: 'picker__list',
listItem: 'picker__list-item',
// Time states
disabled: 'picker__list-item--disabled',
selected: 'picker__list-item--selected',
highlighted: 'picker__list-item--highlighted',
viewset: 'picker__list-item--viewset',
now: 'picker__list-item--now',
// Clear button
buttonClear: 'picker__button--clear',
}
Plugin info
| Property | Description |
|---|---|
| File name | picker.js, picker.date.js, picker.time.js, legacy.js |
| Location | assets/js/plugins/pickers/pickadate/ |
| Updates | 0 |
| Links | Github project page |


|
Subor SDK API
0.9.3
|
#include <RuyiSDK.h>
Public Member Functions | |
| ~RuyiSDK () | |
Static Public Member Functions | |
| static RuyiSDK * | CreateSDKInstance (RuyiSDKContext &jsc) |
| Create a new SDK instance with the given context. More... | |
Public Attributes | |
| SDK::StorageLayer::StorageLayerServiceClient * | Storage |
| to access the ruyi platform storage interface More... | |
| SDK::SettingSystem::Api::SettingSystemServiceClient * | SettingSys |
| to access the setting system More... | |
| SDK::LocalizationService::LocalizationServiceClient * | L10NService |
| to access the l10n service from Ruyi More... | |
| SDK::UserServiceExternal::UserServExternalClient * | UserService |
| User-related services More... | |
| SDK::SubscribeClient * | Subscriber |
| to subscribe to a topic More... | |
| Ruyi::SDK::Online::RuyiNetClient * | RuyiNet |
| to access the ruyi platform back end service interface More... | |
| SDK::Overlay::OverlayExternalServiceClient * | OverlayService |
| the overlay service More... | |
| RuyiSDK::~RuyiSDK | ( | ) |
|
static |
Create a new SDK instance with the given context.
| cont | context used to create the sdk instance |
| SDK::LocalizationService::LocalizationServiceClient* Ruyi::RuyiSDK::L10NService |
to access the l10n service from Ruyi
| SDK::Overlay::OverlayExternalServiceClient* Ruyi::RuyiSDK::OverlayService |
the overlay service
| Ruyi::SDK::Online::RuyiNetClient* Ruyi::RuyiSDK::RuyiNet |
to access the ruyi platform back end service interface
| SDK::SettingSystem::Api::SettingSystemServiceClient* Ruyi::RuyiSDK::SettingSys |
to access the setting system
| SDK::StorageLayer::StorageLayerServiceClient* Ruyi::RuyiSDK::Storage |
to access the ruyi platform storage interface
| SDK::SubscribeClient* Ruyi::RuyiSDK::Subscriber |
to subscribe to a topic
| SDK::UserServiceExternal::UserServExternalClient* Ruyi::RuyiSDK::UserService |
User-related services


from typing import List
from banditpylib.arms import StochasticArm
from banditpylib.data_pb2 import Context, Actions, Feedback, ArmPull, \
ArmFeedback
from banditpylib.learners import Goal, MaximizeCorrectAnswers, \
MakeAllAnswersCorrect
from .utils import Bandit
[docs]class ThresholdingBandit(Bandit):
r"""Thresholding bandit environment
Arms are indexed from 0 by default. Each time the learner pulls arm :math:`i`,
she will obtain an `i.i.d.` reward generated from an `unknown` distribution
:math:`\mathcal{D}_i`. Different from the ordinary MAB, there is a threshold
parameter :math:`\theta`. The learner should try to infer whether an arm's
expected reward is above the threshold or not. Besides, the environment also
accepts a parameter :math:`\epsilon >= 0` which is the radius of indifference
zone meaning that the answers about the arms with expected rewards within
:math:`[\theta - \epsilon, \theta + \epsilon]` do not matter.
:param List[StochasticArm] arms: arms in thresholding bandit
:param float theta: threshold
:param float eps: radius of indifferent zone
"""
def __init__(self, arms: List[StochasticArm], theta: float, eps: float):
if len(arms) < 2:
raise ValueError('Number of arms is expected at least 2. Got %d.' %
len(arms))
self.__arms = arms
self.__arm_num = len(arms)
# Correct answers of all the arms whether its expected rewards is above the
# threshold or not
self.__correct_answers = [
1 if self.__arms[arm_id].mean >= theta else 0
for arm_id in range(self.__arm_num)
]
if eps < 0:
raise ValueError(
'Radius of indifference zone is expected at least 0. Got %.2f.' %
eps)
# The answer of the learner does not matter if the expected rewards of an
# arm is within the range [theta-eps, theta+eps]. Hence weight assigned to
# such an arm is 0.
self.__weights = [
0 if theta - eps <= self.__arms[arm_id].mean <= theta + eps else 1
for arm_id in range(self.__arm_num)
]
@property
def name(self) -> str:
return 'thresholding_bandit'
@property
def arm_num(self) -> int:
"""Total number of arms"""
return self.__arm_num
def _take_action(self, arm_pull: ArmPull) -> ArmFeedback:
"""Pull one arm
Args:
arm_pull: arm and its pulls
Returns:
arm_feedback: arm and its feedback
"""
arm_id = arm_pull.arm.id
pulls = arm_pull.times
if arm_id not in range(self.__arm_num):
raise Exception('Arm id %d is out of range [0, %d)!' % \
(arm_id, self.__arm_num))
arm_feedback = ArmFeedback()
if pulls < 1:
return arm_feedback
# Empirical rewards when `arm_id` is pulled for `pulls` times
em_rewards = self.__arms[arm_id].pull(pulls=pulls)
arm_feedback.arm.id = arm_id
arm_feedback.rewards.extend(list(em_rewards)) # type: ignore
return arm_feedback
[docs] def feed(self, actions: Actions) -> Feedback:
feedback = Feedback()
for arm_pull in actions.arm_pulls:
arm_feedback = self._take_action(arm_pull=arm_pull)
if arm_feedback.rewards:
feedback.arm_feedbacks.append(arm_feedback)
return feedback
@property
def context(self) -> Context:
return Context()
[docs] def regret(self, goal: Goal) -> float:
if isinstance(goal, MaximizeCorrectAnswers):
# Aggregate regret which is equal to the number of wrong answers
agg_regret = 0
for arm_id in range(self.__arm_num):
agg_regret += (goal.answers[arm_id] !=
self.__correct_answers[arm_id]) * self.__weights[arm_id]
return agg_regret
elif isinstance(goal, MakeAllAnswersCorrect):
# Simple regret which is 1 when there is at least one wrong answer and 0
# otherwise
for arm_id in range(self.__arm_num):
if (goal.answers[arm_id] !=
self.__correct_answers[arm_id]) and self.__weights[arm_id] == 1:
return 1
return 0
raise Exception('Goal %s is not supported.' % goal.name)


FULL LIST: Burna Boy beats Falz, Teni, Johnny Drille to TFAA 2019 music prize
by Stephen Charles KenechukwuDamini Ogulu, Nigerian Afrofusion singer better known as Burna Boy, has toppled four of his colleagues to emerge the winner of The Future Awards Africa (TFAA) prize for music.
This is coming less than 24 hours after he secured two awards alongside 2Baba, Wizkid, Tiwa Savage at the 2019 African Music Awards (AFRIMA).
TFAA — which celebrates outstanding young talents, innovators, entrepreneurs, and community advocates breaking boundaries in various industries — staged its 2019 edition on Sunday at the Federal Palace Hotel, Victoria Island, Lagos.
Burna Boy bagged golden plaque for TFAA ‘Prize for Music’, having competed in the category against Falz, Teniola Apata, Johnny Drille and Wurld. The ‘African Giant‘ crooner similarly snagged the ‘Young Person of the Year’.
The 2019 edition of TFAA, themed ‘Nigeria’s New Tribe’, witnessed the presence of Rotimi Amaechi, a former minister of transportation, and Jumoke Oduwole, the special adviser to the president on Ease Of Doing Business.
It also featured performances from Timi Dakolo, Johnny Drille and other talented singers as the show event itself was hosted by popular Falz and Toni Tones, Nollywood actress.
See the full list of winners below.
THE FUTURE AWARDS AFRICA PRIZE FOR ACTING
- Timini Egbuson (32) WINNER
- Bimbo Ademoye (28)
- Bandele ‘Baaj’ Adebule (30)
- Sharon Ooja (28)
- Fatima Washa Abdullahi (26)
- Moshood Fattah (28)
THE FUTURE AWARDS AFRICA PRIZE FOR AGRICULTURE
- Emmanuel Maduka (24)
- Chiamaka Ndukwu Theresa and Kenneth Okonkwo (25/25)
- Uka Eje (29) WINNER
- Divine-Love Akam (24)
- Rotimi Olawale (29)
THE FUTURE AWARDS AFRICA PRIZE FOR ADVOCACY
- Hamzat Lawal (32) WINNER
- Bright Jaja (29)
- Uchechi ‘Ucy’ Rochas (27)
- Ifedayo Durosinmi-Etti (30)
- Funke Adeoye (27)
THE FUTURE AWARDS AFRICA PRIZE FOR ARTS (VISUAL and APPLIED)
- Arinze Stanley (26)
- Ken Nwadiogbu (25) WINNER
- Dipo Doherty (28)
- Olarinde Olayemi Ayanfeoluwa (22)
- Olabanke Subair (28)
THE FUTURE AWARDS AFRICA PRIZE FOR COMMUNITY ACTION
- Abdulazeez Kaltumi (27)
- Yetunde Fadeyi (27)
- Kelechukwu Nwachukwu Lucky (25)
- Tony Joy (27)
- Akpobi Elvis (31)
- Isaac Success (28) WINNER
- Stephen Teru (29)
THE FUTURE AWARDS AFRICA PRIZE FOR FILM-MAKING
- Kayode Kasum (28)
- Dare Olaitan (28) WINNER
- Chinney Love Eze (31)
- Rahama Sadau (26)
- Uche Odoh (30)
THE FUTURE AWARDS AFRICA PRIZE FOR LITERATURE
- Akwaeke Emezi (32)
- Ijeoma Umebinyuo (30)
- anaire Aderemi (20)
- Oyinkan Braithwaite (31)
- Otosirieze Obi-Young (25) WINNER
THE FUTURE AWARDS AFRICA PRIZE FOR MEDIA
- Peace Itimi (24)
- Paul Alasiri (27)
- Edirin Edewor (28)
- Samuel Ajiboye (28) WINNER
- Tosin Olaseinde (31)
THE FUTURE AWARDS AFRICA PRIZE FOR MUSIC
- Teniola Apata (26)
- Damini Ebunoluwa ‘Burna Boy’ Ogulu (28) WINNER
- Folarin ‘Falz’ Falana (29)
- John ‘Johnny Drille’ Ighodalo (29)
- Sadiq ‘Wurld’ Onifade (32)
THE FUTURE AWARDS AFRICA PRIZE FOR PROFESSIONAL SERVICE
- Bukky Akomolafe (31) WINNER
- Adesola Ade-Unuigbe (28)
- Yinka Iyinolakan (30)
- Onoriode Reginald Aziza (27)
- Peter Tega Oghenejobo (32)
THE FUTURE AWARDS AFRICA PRIZE FOR OAP (VISUAL and AUDIO)
- Osato ‘EDK’ Edokpayi (27)
- Huisaina ‘Dashen’ Usman (31)
- Mayowa Ogundele – Adegoke (30)
- Simi ‘Drey’Adejumo (21) WINNER
- Sandra Ezekwesili (30)
THE FUTURE AWARDS AFRICA PRIZE FOR PUBLIC SERVICE
- Adetola Onayemi (28) WINNER
- Ibijoke Faborede (31)
- Moses Onalapo (29)
- Dr Achama Eluwa (31)
- Fehintola Ajogbasile and Judith Oguzie (27/32)
THE FUTURE AWARDS AFRICA PRIZE FOR SPORTS
- Al-farouq Aminu (29)
- Georgia Oboh (18)
- Eseoghene Oguma (21)
- Samuel Chukwueze (23)
- Israel Adesanya (30) WINNER
THE FUTURE AWARDS AFRICA PRIZE FOR EDUCATION
- Olaseni Cole (32) WINNER
- Omozino Eguh (28)
- Eyitayo Ogunmola (31)
- Seyi Oluyole (27)
- Farida Kabir (27)
THE FUTURE AWARDS AFRICA PRIZE FOR TECHNOLOGY
- Chinedu Azodoh/ Adetayo Bamiro (29/32)
- Zang Luka Bot (28) WINNER
- Muhammad Salisu Abdullahi (28)
- Timothy Adeleye (25)
- Funfere Koroye (29)
THE FUTURE AWARDS AFRICA PRIZE FOR FASHION
- Andrea Iyamah (26)
- Derin Fabikun (29)
- Tuboboreni Sandrah (28) WINNER
- Osemwengie Victor Odion (31)
- Kenneth Izedonmwen (29)
THE FUTURE AWARDS AFRICA PRIZE FOR BUSINESS
- Adekunle Hassan (31)
- Obi Ozor (30)
- Chika Madubuko (30)
- Olawale Ayilara (31) WINNER
- Tiwalola Olanubi (31)
THE FUTURE AWARDS AFRICA PRIZE FOR JOURNALISM
- Aisha Salaudeen (25)
- Joey Akan (28)
- Ayodeji Rotinwa (29)
- Shola Lawal (25) WINNER
- Kiki Mordi (28)
THE FUTURE AWARDS AFRICA PRIZE FOR PHOTOGRAPHY
- Adah Clarence (30)
- Yemi Ajala (31)
- Praise Nnemeka (21)
- Stephen Tayo (25)
- Tolani Alli (27) WINNER
YOUNG PERSON OF THE YEAR
- Debo Ogundoyin (32)
- Damini Ogulu ‘Burna Boy’ (28) WINNER
- Uche Kenneth Ukekwe (32)
- Isreal Adesanya (30)
Copyright 2019 TheCable. All rights reserved. This material, and other digital content on this website, may not be reproduced, published, broadcast, rewritten or redistributed in whole or in part without prior express written permission from TheCable.
Follow us on twitter @Thecablestyle


{% load static %}
Fulcrum NFL
See the scoring system
×
{% include 'scoringsystem.html' %}
Quarterbacks
{% include 'details.html' %}
Runningbacks
Content Here
Wide Receivers
Content Here
Tight Ends
Content Here
Defense and Special Teams
Content Here