Pentominoes Class Reference
[Example scripts (models)]
Example: Pentominoes More...
Public Types | |
| enum | { PROPAGATION_INT, PROPAGATION_BOOLEAN } |
Choice of propagators. More... | |
| enum | { SYMMETRY_NONE, SYMMETRY_FULL } |
Choice of symmetry breaking. More... | |
Public Member Functions | |
| Pentominoes (const SizeOptions &opt) | |
| Construction of the model. | |
| Pentominoes (Pentominoes &s) | |
| Constructor for cloning s. | |
| virtual Space * | copy (void) |
| Copy space during cloning. | |
| virtual void | print (std::ostream &os) const |
| Print solution. | |
Related Functions | |
(Note that these are not member functions.) | |
| const unsigned int | n_examples |
| Number of board specifications. | |
Symmetry functions | |
These functions implement the 8 symmetries of 2D planes. The functions are templatized so that they can be used both for the pieces (defined using C-strings) and for arrays of variables. | |
| typedef void(* | tsymmfunc )(const char *, int, int, char *, int &, int &) |
| Type for tile symmetry functions. | |
| typedef void(* | bsymmfunc )(const IntVarArgs, int, int, IntVarArgs &, int &, int &) |
| Type for board symmetry functions. | |
| int | pos (int h, int w, int h1, int w1) |
| template<class CArray , class Array > | |
| void | id (CArray t1, int w1, int h1, Array t2, int &w2, int &h2) |
| Identity symmetry. | |
| template<class CArray , class Array > | |
| void | rot90 (CArray t1, int w1, int h1, Array t2, int &w2, int &h2) |
| Rotate 90 degrees. | |
| template<class CArray , class Array > | |
| void | rot180 (CArray t1, int w1, int h1, Array t2, int &w2, int &h2) |
| Rotate 180 degrees. | |
| template<class CArray , class Array > | |
| void | rot270 (CArray t1, int w1, int h1, Array t2, int &w2, int &h2) |
| Rotate 270 degrees. | |
| template<class CArray , class Array > | |
| void | flipx (CArray t1, int w1, int h1, Array t2, int &w2, int &h2) |
| Flip x-wise. | |
| template<class CArray , class Array > | |
| void | flipy (CArray t1, int w1, int h1, Array t2, int &w2, int &h2) |
| Flip y-wise. | |
| template<class CArray , class Array > | |
| void | flipd1 (CArray t1, int w1, int h1, Array t2, int &w2, int &h2) |
| Flip diagonal 1. | |
| template<class CArray , class Array > | |
| void | flipd2 (CArray t1, int w1, int h1, Array t2, int &w2, int &h2) |
| Flip diagonal 2. | |
Puzzle specifications | |
|
| |
| const TileSpec * | examples [] |
| Board specifications. | |
| const int | examples_size [] |
| Board specification sizes. | |
| static const TileSpec | puzzle0 [] |
| Small specification. | |
| static const TileSpec | puzzle1 [] |
| Standard specification. | |
| static const TileSpec | square2 [] |
| Board specifications. | |
| static const TileSpec | square3 [] |
| Board specifications. | |
| static const TileSpec | pentomino6x10 [] |
| Board specifications. | |
| static const TileSpec | pentomino5x12 [] |
| Board specifications. | |
| static const TileSpec | pentomino4x15 [] |
| Board specifications. | |
| static const TileSpec | pentomino3x20 [] |
| Board specifications. | |
| const unsigned | n_examples = sizeof(examples)/sizeof(TileSpec*) |
| Number of specifications. | |
| const TileSpec * | examples [] |
| List of specifications. | |
| const int | examples_size [] |
| Board specifications. |
Detailed Description
Example: Pentominoes
The Problem
This example places pieces of a puzzle, where each piece is composed of a collection of squares, onto a grid. The pieces may all be rotated and flipped freely. The goal is to place all the pieces on the grid, without any overlaps. An example piece to be placed looks like
XXX X XXX
in one of its rotations.
The most famous instance of such a puzzle is the Pentominoes puzzle, where the pieces are all pieces formed by 5 four-connected squares.
The Variables
The variables for the model is the grid of squares that the pieces are placed on, where each of the variables for the squares takes the value of the number of the piece which is placed overonto it.
Placing one piece
The constraint for each piece placement uses regular expressions (and consequently the extensional constraint) for expressing placement of (rotated) pieces on the grid. Consider the simple example of placing the piece
XX X X
onto the 4 by 4 board
0123 4567 89AB CDEF
Let the variables 0-F be 0/1-variables indicating if the piece is placed on that position or not. First consider placing the piece on some location, say covering 1,2,6, and A. Then, writing the sequence of values for the variables 0-F out, we get the string<PHONE_NUMBER>100000. This string and all other strings corresponding to placing the above piece in that particular rotation can be described using the regular expression . The expression indicates that first comes some number of zeroes, then two ones in a row (covering places 1 and 2 in our example placement), then comes exactly three 0's (not covering places 3, 4, and 5), and so on. The variable number of 0's at the beginning and at the end makes the expression match any placement of the piece on the board.
There is one problem with the above constraint, since it allows placing the piece covering places 3, 4, 8, and C. That is, the piece may wrap around the board. To prohibit this, we add a new dummy-column to the board, so that it looks like
0123G 4567H 89ABI CDEFJ
The variables for places G to J are all set to zero initially, and the regular expression for the placement of the piece is modified to include the extra column, .
Rotating pieces
To handle rotations of the piece, we can use disjunctions of regular expressions for all the relevant rotations. Consider the rotated version of the above piece, depicted below.
X XXX
The corresponding regular expression for this piece is . To combine these two regular expressions, we can simply use disjunction of regular expressions, arriving at the expression for enforcing the placement of the piece in one of the above two rotations.
There are 8 symmetries for the pieces in general. The 8 disjuncts for a particular piece might, however, contain less than 8 distinct expressions (for example, any square has only one distinct disjunct). This is removed when then automaton for the expression is computed, since it is minimized.
Placing several pieces
To generalize the above model to several pieces, we let the variables range from 0 to n, where n is the number of pieces to place. Given that we place three pieces, and that the above shown piece is number one, we will replace each -expression with the expression . Thus, the second regular expression becomes . Additionaly, the end of line marker gets its own value.
This generalization suffers from the fact that the automata become much more complex. This problem can be solved by instead projecting out each component, which gives a new board of 0/1-variables for each piece to place.
The Branching
This model does not use any advanced heuristic for the branching. The variables selection is simply in order, and the value selection is minimum value first.
The static value selection allows us to order the pieces in the specification of the problem. The pieces are approximately ordered by largness or hardness to place.
Removing board symmetries
Especially when searching for all solutions of a puzzle instance, we might want to remove the symmetrical boards from the solutions-space. This is done using the same symmetry functions as for the piece symmetries and lexicographical order constraints.
Definition at line 261 of file pentominoes.cpp.
Member Enumeration Documentation
| anonymous enum |
Choice of propagators.
Definition at line 264 of file pentominoes.cpp.
| anonymous enum |
Choice of symmetry breaking.
- Enumerator:
SYMMETRY_NONE Do not remove symmetric solutions.
SYMMETRY_FULL Remove symmetric solutions.
Definition at line 269 of file pentominoes.cpp.
Constructor & Destructor Documentation
| Pentominoes::Pentominoes | ( | const SizeOptions & | opt | ) | [inline] |
Construction of the model.
Definition at line 338 of file pentominoes.cpp.
| Pentominoes::Pentominoes | ( | Pentominoes & | s | ) | [inline] |
Constructor for cloning s.
Definition at line 440 of file pentominoes.cpp.
Member Function Documentation
| virtual Space* Pentominoes::copy | ( | void | ) | [inline, virtual] |
Copy space during cloning.
Definition at line 448 of file pentominoes.cpp.
| virtual void Pentominoes::print | ( | std::ostream & | os | ) | const [inline, virtual] |
Print solution.
Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.
Definition at line 454 of file pentominoes.cpp.
Friends And Related Function Documentation
typedef void(* tsymmfunc)(const char *, int, int, char *, int &, int &) [related] |
Type for tile symmetry functions.
Definition at line 95 of file pentominoes.cpp.
typedef void(* bsymmfunc)(const IntVarArgs, int, int, IntVarArgs &, int &, int &) [related] |
Type for board symmetry functions.
Definition at line 97 of file pentominoes.cpp.
Board specifications.
List of specifications.
Each board specification repurposes the first two TileSpecs to record width and height of the board (TileSpec 0) as well as the number of tiles and whether the board is filled (TileSpec 1).
Definition at line 68 of file pentominoes.cpp.
const int examples_size[] [related] |
{sizeof(puzzle0)/sizeof(TileSpec), sizeof(puzzle1)/sizeof(TileSpec), sizeof(square2)/sizeof(TileSpec), sizeof(square3)/sizeof(TileSpec), sizeof(pentomino6x10)/sizeof(TileSpec), sizeof(pentomino5x12)/sizeof(TileSpec), sizeof(pentomino4x15)/sizeof(TileSpec), sizeof(pentomino3x20)/sizeof(TileSpec)}
Board specification sizes.
Definition at line 73 of file pentominoes.cpp.
const unsigned int n_examples [related] |
Number of board specifications.
Definition at line 78 of file pentominoes.cpp.
{ {4, 4, true, ""}, {2, 3, 1, "XX" "X " "X "}, {2, 1, 1, "XX"}, {3, 3, 1, " XX" " X" "XXX"}, {1, 1, 1, "X"}, {3, 1, 1, "XXX"} }
Small specification.
Definition at line 505 of file pentominoes.cpp.
Standard specification.
Definition at line 525 of file pentominoes.cpp.
{ {10, 10, true, ""}, {6, 6, 1, "XXXXXX" "XXXXXX" "XXXXXX" "XXXXXX" "XXXXXX" "XXXXXX" }, {4, 4, 3, "XXXX" "XXXX" "XXXX" "XXXX"}, {2, 2, 4, "XX" "XX"} }
Board specifications.
List of specifications.
Each board specification repurposes the first two TileSpecs to record width and height of the board (TileSpec 0) as well as the number of tiles and whether the board is filled (TileSpec 1).
Definition at line 575 of file pentominoes.cpp.
Board specifications.
List of specifications.
Each board specification repurposes the first two TileSpecs to record width and height of the board (TileSpec 0) as well as the number of tiles and whether the board is filled (TileSpec 1).
Definition at line 598 of file pentominoes.cpp.
const TileSpec pentomino6x10[] [related] |
Board specifications.
List of specifications.
Each board specification repurposes the first two TileSpecs to record width and height of the board (TileSpec 0) as well as the number of tiles and whether the board is filled (TileSpec 1).
Definition at line 655 of file pentominoes.cpp.
const TileSpec pentomino5x12[] [related] |
Board specifications.
List of specifications.
Each board specification repurposes the first two TileSpecs to record width and height of the board (TileSpec 0) as well as the number of tiles and whether the board is filled (TileSpec 1).
Definition at line 707 of file pentominoes.cpp.
const TileSpec pentomino4x15[] [related] |
Board specifications.
List of specifications.
Each board specification repurposes the first two TileSpecs to record width and height of the board (TileSpec 0) as well as the number of tiles and whether the board is filled (TileSpec 1).
Definition at line 759 of file pentominoes.cpp.
const TileSpec pentomino3x20[] [related] |
Board specifications.
List of specifications.
Each board specification repurposes the first two TileSpecs to record width and height of the board (TileSpec 0) as well as the number of tiles and whether the board is filled (TileSpec 1).
Definition at line 811 of file pentominoes.cpp.
const unsigned n_examples = sizeof(examples)/sizeof(TileSpec*) [related] |
Number of specifications.
Definition at line 877 of file pentominoes.cpp.
| int pos | ( | int | h, | |
| int | w, | |||
| int | h1, | |||
| int | w1 | |||
| ) | [related] |
Return index of (h, w) in the row-major layout of a matrix with width w1 and height h1.
| void id | ( | CArray | t1, | |
| int | w1, | |||
| int | h1, | |||
| Array | t2, | |||
| int & | w2, | |||
| int & | h2 | |||
| ) | [related] |
Identity symmetry.
| void rot90 | ( | CArray | t1, | |
| int | w1, | |||
| int | h1, | |||
| Array | t2, | |||
| int & | w2, | |||
| int & | h2 | |||
| ) | [related] |
Rotate 90 degrees.
| void rot180 | ( | CArray | t1, | |
| int | w1, | |||
| int | h1, | |||
| Array | t2, | |||
| int & | w2, | |||
| int & | h2 | |||
| ) | [related] |
Rotate 180 degrees.
| void rot270 | ( | CArray | t1, | |
| int | w1, | |||
| int | h1, | |||
| Array | t2, | |||
| int & | w2, | |||
| int & | h2 | |||
| ) | [related] |
Rotate 270 degrees.
| void flipx | ( | CArray | t1, | |
| int | w1, | |||
| int | h1, | |||
| Array | t2, | |||
| int & | w2, | |||
| int & | h2 | |||
| ) | [related] |
Flip x-wise.
| void flipy | ( | CArray | t1, | |
| int | w1, | |||
| int | h1, | |||
| Array | t2, | |||
| int & | w2, | |||
| int & | h2 | |||
| ) | [related] |
Flip y-wise.
| void flipd1 | ( | CArray | t1, | |
| int | w1, | |||
| int | h1, | |||
| Array | t2, | |||
| int & | w2, | |||
| int & | h2 | |||
| ) | [related] |
Flip diagonal 1.
| void flipd2 | ( | CArray | t1, | |
| int | w1, | |||
| int | h1, | |||
| Array | t2, | |||
| int & | w2, | |||
| int & | h2 | |||
| ) | [related] |
Flip diagonal 2.
List of specifications.
Definition at line 864 of file pentominoes.cpp.
| const int examples_size | ( | ) | [related] |
Board specifications.
List of specifications.
Each board specification repurposes the first two TileSpecs to record width and height of the board (TileSpec 0) as well as the number of tiles and whether the board is filled (TileSpec 1).
Definition at line 867 of file pentominoes.cpp.
The documentation for this class was generated from the following file:
- examples/pentominoes.cpp


---
short: l-sparqlendpoint
type: loader
color: green
title: SPARQL endpoint
description: Allows the user to store RDF triples in a SPARQL endpoint using SPARQL Update.
---
Loader, allows the user to store RDF triples in a SPARQL endpoint using SPARQL 1.1 Update.
- SPARQL Update endpoint
- URL of the SPARQL endpoint accepting SPARQL 1.1 Update queries
- Target graph IRI
- IRI of the RDF graph to which the input data will be loaded
- Clear target graph before loading
- When checked, executes SPARQL CLEAR GRAPH on the target graph before loading
- Commit size
- Number of triples sent to triple store at once using the Sesame RepositoryConnection
- User name
- User name to be used to log in to the SPARQL endpoint
- Password
- Password to be used to log in to the SPARQL endpoint
Characteristics
- ID
- {{ page.short }}
- Type
- {{ page.type }}
- Inputs
- RDF single graph - Input
- RDF single graph - Configuration
- Look in pipeline
- Sample pipeline
- available
The {{page.title}} component takes the input RDF data and loads it to a remote SPARQL endpoint using the SPARQL 1.1 Update INSERT DATA query.
Runtime configuration
Below you can see sample runtime configuration for the component.
You can also import a sample pipeline.
Note that RDF blank nodes are not allowed in runtime configurations.
{% highlight turtle %}
@prefix lse:
.
@prefix rdf: .
@prefix rdfs: .
@prefix xml: .
@prefix xsd: .
a lse:Configuration ;
lse:clearGraph true ;
lse:endpoint "http://localhost:3030/fuseki/update" ;
lse:password "" ;
lse:targetGraphURI "http://localhost/test/graph" ;
lse:userName "" .
{% endhighlight %}


Who
I am a Software developer and architect interested mainly in scalability, performance and distributed systems.
Where
I am located in Graz/Austria.
What (Expertise)
Fields
- Architecture of Warehouse Automation and Management Systems
- Scalable Distributed Systems
- Infrastructure Automation
- Architecture of Build and Testing Environments
- System Analytics and Performance Optimizations
- Virtualization and Containerization
- Graphical User Interfaces
- Server Backends
- QA
Programming Languages
Over the last two decades I have used almost all of the mainstream programming languages and some exotic languages, too.
Just to name a few:
- C/C++, Java, Javascript, Go, Scala, Pascal, Fortran
- PHP, Perl, Ruby, Python, Generic Unix Scripting
- various assembler languages for firmware and driver development
Github Accounts


This block will eventually turn red, and then blue. We'll use patience to log this
This example uses jQuery for simplicity, but it's actually not required. The demo uses the core functinoality of patience.js only.


{% extends "base.html" %} {% block title %} Star ERP -- View Component Master {% endblock %} {% block content %}
| Product ID | Creation Date | Product Name | Product Rate | Product Specification |
|---|---|---|---|---|
| Product ID | Creation Date | Product Name | Product Rate | Product Specification |
| {{items.id}} | {{items.date_time}} | {{items.product_name}} | {{items.product_rate}} | {{items.product_spec}} |


Elements can be positioned in different ways to respond to the page as well as other elements.
position: static;
position: relative;
left
, right
, top
, and bottom
CSS declarations.
position: absolute;
left
, right
, top
, and bottom
CSS declarations.
position: fixed;
left
, right
, top
, and bottom
CSS declarations.position: static;
position: relative;
position: absolute;
position: fixed;
float: left;
float: right;
clear: both;
Semantic elements help organize content for machine readability, making it easier to index in search engines.

: Defines a header for a document or section.
: Defines a footer for a document or section.

: Defines an article.

: Defines a section in a document.
: Defines navigation links.
Check the complete HTML reference for more.
Spans are used to position elements inline with other content such as text. Span elements can style individual text in a paragraph using a combination of CSS that italic and bold tags can not do alone. Unlike

elements, spans initialize as inline elements changing the way content wraps around them.


How to?
Paste the following HTML to your page, and replace YOUR-SENSEBOX-ID
with your senseBox ID (you can find it in the URL from your box on opensensemap.org).
You may optionally specify the tab to be initially selected via the initialTab
query parameter (possible values are sensors
, history
and graph
)
Here is an example:


maia hunter, the creator of maia’s musings, has long expressed passions for the english language. from books to poetry, she has indulged in the beauty of the written word for as long as she can remember. it was only a matter of time, then, before the birth of maia’s musings, a blog dedicated to reflect her own worldview and interests, from personal poetry and essays to blog posts surrounding topics such as music and lifestyle. she hopes her words will resonate with at least one curious wanderer who finds his or herself upon this site.
Click photos to view gallery


We tested 5 machine learning models and found that the SVM model was the most accurate. After training the model with the known data, we fed in 1000 records of generated, random data to see how the model would work with unknown inputs.


class Solution: def minDeletions(self, s: str) -> int: d = collections.Counter(s) res = 0 cs = set() for key in d: while d[key] in cs and d[key] != 0: d[key] -= 1 res += 1 cs.add(d[key]) return res


Porting from Make to Grunt
This post documents my experience porting a Makefile to a Gruntfile in my Rimu Markup project.
NOTE: Since first writing this post I have switched the same project from Grunt to Jake.
Why Grunt
My reasons for porting were to:
- Learn about Grunt (it seems to be the de facto nodejs/JavaScript build tool).
- Make the build process cross-platform.
- End up with a build script that is more widely understood.
- End up with a build script that is easier to write, maintain and test.
What differentiates Grunt from Make
- Grunt is similar to Make in that it provides a mechanism for running tasks (JavaScript functions) along with helpers that assist the definition and execution of tasks.
- Unlike Make, Grunt does not have built-in file dependency management and only rudimentary task dependency management – in short Grunt, on it’s own, doesn’t do a lot.
- Grunt files are cross-platform whereas Make files are only cross-platform across UNIX type systems (e.g. Linux, BSD, OSX). GNU Make can be run under Cgywin on Windows but, in my opinion, it’s not as good the real thing.
- Gruntfiles can be written in JavaScript or CoffeeScript – for me this is the biggest advantage over Makefiles (which are an arcane mix of UNIX shell script and Makefile syntax). There’s just no comparison between the two when it comes to writing non-trivial scripts especially when coupled with the huge ecosystem of nodejs libraries.
Use ShellJS instead of Grunt plugins
My first porting attempt was based on the de facto Grunt scripting model i.e. use Grunt Plugins to run development tools. I soon became frustrated, for every build tool I wanted to run I had to:
- Find a corresponding Grunt plugin (often having to choose from competing plugins).
- Install the plugin and add the
devDependencies
to thepackage.json
file. - Learn the plugin’s JSON configuration syntax and mentally map it onto the tool’s command-line arguments.
- Load the plugin in the Gruntfile.
- Cross my fingers and hope that the plugin developers keep the plugin bug free and in sync with both new releases of the build tool and Grunt.
For example, my Makefile’s lint target (task) runs a jshint
command:
lint:
jshint test/spans.js test/blocks.js bin/rimuc.js
Aside from installing jshint
that’s it, it’s that simple – plus I know exactly what it does because I already know how to use the jshint
command.
Now consider doing it with Grunt using the grunt-contrib-jshint
plugin:
grunt.initConfig({
jshint: {
files: ['test/spans.js', 'test/blocks.js', 'bin/rimuc.js'],
options: {
jshintrc: true
}
}
});
grunt.loadNpmTasks('grunt-contrib-jshint');
All this crazy extra work and stuff to learn for nothing! I was about to pack it in when I discovered ShellJS, a great library that gives you cross-platform UNIX-like shell capabilities. The above plugin code can now be replaced by:
grunt.registerTask('lint', 'Lint Javascript files', function() {
shelljs.exec('jshint test/spans.js test/blocks.js bin/rimuc.js');
});
No plugin, nothing new to learn, easy to read, easy to verify from command-line – what’s not to like!
See the full Gruntfile.js for more examples of the use of ShellJS functions.
Lessons Learnt
- Do not use Grunt plugins that are just wrappers for existing command-line tools (I’m not the only one who thinks this way, see here and here.
- Be very selective of the plugins you do use – weigh carefully plugins verses your own JavaScript code.
- Use the ShellJS library to leverage your existing knowledge and to make your Gruntfiles easily readable by users that are not Grunt experts.


Stan-based curve-fitting function for use with package 'breathtestcore' by the same author. Stan functions are refactored here for easier testing.
| Version: | 0.4.7 |
| Depends: | R (≥ 3.4.0), methods, Rcpp (≥ 0.12.18) |
| Imports: | tibble, purrr, dplyr, rstan (≥ 2.18.1), rstantools (≥ 1.5.0), stringr, tidyr |
| LinkingTo: | StanHeaders (≥ 2.18.0), rstan (≥ 2.18.1), BH (≥ 1.66.0-1), Rcpp (≥ 0.12.18), RcppEigen (≥ <IP_ADDRESS>.0) |
| Suggests: | ggplot2, shinystan, bayesplot, testthat, covr, knitr, rmarkdown, breathtestcore (≥ <IP_ADDRESS>) |
| Published: | 2018-11-07 |
| Author: | Dieter Menne [aut, cre], Menne Biomed Consulting Tuebingen [cph], Benjamin Misselwitz [fnd], Mark Fox [fnd], University Hospital of Zurich, Dep. Gastroenterology [fnd, dtc] |
| Maintainer: | Dieter Menne <dieter.menne at menne-biomed.de> |
| BugReports: | https://github.com/dmenne/breathteststan/issues |
| License: | GPL (≥ 3) |
| URL: | https://github.com/dmenne/breathteststan |
| NeedsCompilation: | yes |
| SystemRequirements: | GNU make, pandoc (>= 1.12.3), pandoc-citeproc |
| Materials: | README |
| CRAN checks: | breathteststan results |
| Reference manual: | breathteststan.pdf |
| Package source: | breathteststan_0.4.7.tar.gz |
| Windows binaries: | r-devel: breathteststan_0.4.7.zip, r-release: breathteststan_0.4.7.zip, r-oldrel: breathteststan_0.4.7.zip |
| OS X binaries: | r-release: breathteststan_0.4.5.tgz, r-oldrel: breathteststan_0.4.5.tgz |
| Old sources: | breathteststan archive |
Please use the canonical form https://CRAN.R-project.org/package=breathteststan to link to this page.


[gecode-users] How to estimate the range of a (linear) function
Christian Schulte
cschulte at kth.se
Fri Jun 10 11:06:08 CEST 2011
The simplest option is to use the minimodel support for writing linear
expressions, so in your case: instead of creating a variable y yourself,
just set y to the variable that is returned by the expr function, that is,
something like:
IntVar y = expr(home, c+5*7-b);
The expr function actually does infer tight bounds for the variables it
returns (based on the domains of c and b in this example). If that does not
fit your bill you might want to check how expr does it. Not that difficult,
in fact.
The problem is that one should always keep in mind that the basic
abstraction in CP are relations (constraints). Anything that involves
expressions requires additional effort. That is one reason why the basic
layer in Gecode talks about constraints only and has an additional layer of
abstraction (minimodel) to deal with expressions.
Christian
--
Christian Schulte, KTH, web.it.kth.se/~cschulte/
-----Original Message-----
From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of Max Ostrowski
Sent: Friday, June 10, 2011 10:42 AM
To: users at gecode.org
Subject: [gecode-users] How to estimate the range of a (linear) function
Hello everybody,
as i'm developing an SMT-like solver, i have a special syntax for the
constraints of Gecode and i also have to handle things.
b(1..3).
$count[a(X) $== c+5*7-b : b(X)] $> 0.
This shall represent an count constraint constraint.
count(x,y,>,0) where x is a set of variables (a(1),a(2),a(3)) and y is a
single variable y=c+5*7-b.
The domains of the variables a,b,c are known (usually an IntSet).
I created a variable for "c+5*7-b" using the domain
(Limits::min,Limits::max).
I found out that this is not the best way to do it, as Gecode does not seem
to automatically shrink the domain of y :-)
Is there some functionality in Gecode for automatically/manually estimate
the range of a function. (So if i add a and b, can't i just "add" the domain
of them using the IntVarRanges?).
And the same for multiplication etc...
Thanks in advance,
Max
--
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir belohnen Sie mit
bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
_______________________________________________
Gecode users mailing list
users at gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users
More information about the users
mailing list


What was the COLING for me?
It was a terribly good experience! Understanding sentences like that remains one of the challenges in Natural Language Processing (NLP) in general based on my impression after attending the Computational Linguistics (COLING) conference held at Osaka, Japan from Dec 10-16, 2016. In this post, I aim to summarise my learning experiences in COLING.
My proposed topic (semantic similarity) is a core problem in many high-level semantic applications such as question answering, summarisation, entailment, translation, etc. In fact, my observation is confirmed by Omer Levy (University of Washington and Bar-Ilan University, Israel) whom I also met during the conference.
I also had a short discussion with Omer Levy, Pontus Stenetorp (UCL) and Dimitrios Kartsaklis (Queen Mary University of London) among others about sentence compositionally on what they think about it. They know the problem well and just simply responded what would be an alternative. I proposed that it should stop at semantic units (which could be at the sentence level) and from there do the alignments. I shared this intuition with Omer and Dimitrios at least in my impression.
I also discovered interesting and intuitive deep learning architectures for capturing language intuitions. I’m listing down below the especially interesting ones for me:
-
Using attention to dynamically decide between character or word embeddings on the input representation by Marek Rei (University of Cambridge). Attending to Characters in Neural Sequence Labeling Models
-
Using orthographic sequence representation to capture noise in twitter by Nut Limsopatham (University of Cambridge). Bidirectional LSTM for Named Entity Recognition in Twitter Messages
-
Lexical Decomposition and Composition by Zhiguo Wang (IBM New York). Sentence Similarity Learning by Lexical Decomposition and Composition
-
Re-reading of sentence according to memory of another sentence for better understanding by Lei Sha et al (Peking University). Reading and Thinking: Re-read LSTM Unit for Textual Entailment Recognition
-
Alignment with implicit distortion and fertility using attention by Shi Feng et al (University of Maryland College Park). Improving Attention Modeling with Implicit Distortion and Fertility for Machine Translation
-
Applying attention to tree structures by Kai Zhao (Oregon State University). Textual Entailment with Structured Attentions and Composition
I also found interesting studies that try to capture linguistic notions from humans and behaviour.
-
Omer Levy on using subtree entailment to extract sentence intersection. Modeling Extractive Sentence Intersection via Subtree Entailment
-
Barbara Plank (University of Groningen, Netherlands) on modelling syntactic parsing via keystroke dynamics. Keystroke dynamics as signal for shallow syntactic parsing
-
Lieke Gelderloos (Tilburg University, Netherlands) on levels of representations of RNN using images and phonemes. From phonemes to images: levels of representation in a recurrent neural model of visually-grounded language learning
-
Marie Candito (Université Paris Diderot) used syntactic rules for semantic parsing. Deeper syntax for better semantic parsing. If it is possible to model this using deep neural networks, then it would be great!
Related to this, I was thinking of doing an experiment that simulates alignment. It should simulate aspects of iSTS such as alignment type. Further, timestamp should be noted to indicate the order of importance when doing alignment. In addition, I wonder also if the work of Barbara could be done for speech for the same task of shallow syntactic parsing.
Further, there were some studies focusing more on machine learning.
-
Marten Postma (Vrije Universiteit Amsterdam, Netherlands) More data does not always result to better performance since most frequently occurring word-sense gets selected. The conclusion is that acquisition of training data must be guided by the task at hand. More is not always better: balancing sense distributions for all-words Word Sense Disambiguation.
-
Philip Schulz (University of Amsterdam) on word alignment using HMM and language model. Fast Collocation-Based Bayesian HMM Word Alignment
And some datasets.
-
Leon Derczynski (University of Sheffield, UK). Twitter corpus that is more representative spatially and temporally. Broad Twitter Corpus: A Diverse Named Entity Recognition Resource. The dataset is free and spans 5 years beginning 2009.
-
Had a short chat with Thomas Francois (UCL, Belgium) on the possibility of teaching machines like teaching kids to read which is to start from simple sentences and he referred to me a dataset: weekly reader and BBC bitesize. This would be an interesting research.
I also met some fantastic people from industry like the CEO and Co-founder of Chata.ai (based in Calgary, Canada), Kelly Cherniwchan. Imagine a question-answering system that interacts with your database.
Here is the COLING 2016 proceedings.
Lastly, the list of upcoming conferences was announced at the closing event as follows:
EACL 2017. April 3-7, Spain. Deadline passed.
ACL 2017. July 30-Aug 4, Vancouver. Deadline: Feb 6, 2017.
EMNLP 2017. Sep 9-11, Copenhagen. Deadline: April 14, 2017.
COLING 2018. Sta Fe, USA. TBA.
Attending conferences indeed is very expensive but I think it is the most efficient way to get new ideas and to know the state-of-the-art in my field through the face-to-face interaction with the experts themselves in the field.


Before we go beyond something, it might be good to understand what it is
“The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web.”
I <3 HTTP
HTTP is simple and flexible
We all use it all the time
It is the underlying cause for HTTP Status Cats API Website
http://http.cat
We could not live without it as we do
If it is that good and convenient, why go beyond that?
Familiarity can blind you
And this is what happened to me...
Ladies and gentlemen: the mess
First you get the feeling, then you figure out why
Why should I even care?
(apart from the obvious business reasons)
Quality matters
Care and Quality are internal and external aspects of the same thing. A person who sees Quality and feels it as he works is a person who cares. A person who cares about what he sees and does is a person who’s bound to have some characteristic of quality.
But this was meant to be a technical talk, not a philosophical one...
But programming is a form of art and before you fix something, you need to know what the problems are
Performance
Eventual consistency (that might never happen)
Operational complexity
Multiple API clients overhead
There is an infinite number of solutions for each problem
But you need to pick one
and sometimes picking a proper solution to a problem, can solve many more
Many problems with SOA come from heavily relying on HTTP and synchronius requests that...
aren't really synchronius
I would not call chain of requests that get buffered somewhere or that trigger background jobs synchronous
Often HTTP in SOA is like some talks we have in our lifes
Life is not synchronous
So why our software should be?
Let's clean this mess by going beyond HTTP
Finally...
It really is about messaging
What is Apache Kafka?
Kafka is a high-throughput distributed messaging system
Kafka is designed to allow a single cluster to serve as the central data backbone for a large organization
It can be elastically and transparently expanded without downtime
App.routes.draw do
topic :incoming_messages do
group :composed_application
controller Videos::DetailsController
worker Workers::DetailsWorker
end
# If you work with JSON data, only controller is required
topic :new_videos do
controller Videos::NewVideosController
end
end
Karafka by default builds a worker class per controller based on a controller name. This allows to prioritize (if needed) Sidekiq workers
You can overwrite default behaviours
# If you work with JSON data, only controller is required
topic :new_videos do
controller Videos::NewVideosController
# Instead of a default Videos::NewVideosWorker
worker Videos::DifferentWorker
end
end
#perform
Karafka controllers are simple. All you need is a #perform method that will be executed asynchronously in response to an incoming message
class CreateVideosController < Karafka::BaseController
def perform
Video.create!(params[:video])
end
end
#before_enqueue filter
Acts in a similar way to Rails #before_action
class CreateVideosController < Karafka::BaseController
before_enqueue -> {
# Reject old incoming messages
# When before_enqueue returns false,
# task won't be send to Sidekiq
return false if params[:sent_at] < 1.minute.ago
}
end
It can be used to provide first layer data filtering. If it returns false, Sidekiq task won't be scheduled
CLI
There are also few usefull CLI commands available:
bundle exec karafka [COMMAND]
help # Describe available commands or one specific command
console # Start the Karafka console (short-cut alias: "c")
info # Print configuration details and other options
install # Install all required things for Karafka application
routes # Print out all defined routes in alphabetical order
server # Start the Karafka server (short-cut alias: "s")
topics # List all topics available on Karafka server
worker # Start the Karafka Sidekiq worker
Karafka performance
Is strongly dependent on what you do in your code
Redis performance (for Sidekiq) is a factor as well
Message size is a factor
Single process can handle around 30 000 messages/sec
Less than a ms to send a message with the slowest (secure) mode (Kafka request.required.acks -1)
Less than 1/10 of a ms to send a message with in the 0 mode (Kafka request.required.acks 0)
Karafka framework scalability
Each scaling strategy targets a different problem
Scaling strategies can be combined
Following strategies are available:
Scaling using multiple Karafka threads
Scaling using Kafka partitions
Scaling using Karafka clusterization (in progress)
I want to integrate it with my Rails/Sinatra app
The best approach is to start generating messages from your current applications
Messaging allows you to tell your Karafka apps what your other Ruby components are doing
def create
video = Video.create!(params[:video])
WaterDrop::Message.new(:video_created, video.to_json).send!
respond_with video
end
Once you start sending messages, you can extract functionalities and responsibilities and move them to Karafka based applications
so back to the big question:
Why to go beyond?
One geometry cannot be more true than another; it can only be more convenient. Geometry is not true, it is advantageous.
and the same applies to IT technologies
Going beyond your comfort zone can provide you with better solutions for current and upcoming problems.


Triple H on NXT and WWE coming to India and Japan
by Anirban BanerjeeWWE Executive Vice President Triple H is one of the men primarily responsible for making NXT what it is today. One of the things that he does so well is to craft together some extremely engaging storylines with wrestling action on another level altogether.
So far, this has worked out well. Managing NXT is one of Triple H's primary responsibilities, alongside other executive issues that he needs to deal with on a day-to-day basis. One of the things that Triple H has been very open about is expanding NXT to broader international markets, including Japan and India. He talked about the same in the post-WarGames media scrum.
Triple H on WWE and NXT 'could kill it' in India and Japan
Triple H has long been focused on expanding the NXT brand to make it a real global presence. This is something that they have already achieved in the United Kingdom, with NXT UK airing weekly episodes.
Triple H said that the expansion was a 'work-in-progress' and something that they were all working towards.
Wrestling Inc reported that Triple H said that they were going all over the world and that they could 'kill it' in India, Japan, and the rest of the world very soon. This expansion will come as good news to wrestling fans as their access to wrestling will only grow in the coming years.
Head over to Sportskeeda's home page and provide ratings and comments about what you thought of the matches. We want to know what you think!


{{ ride.driver }} is driving
Departs at {{ ride.depart_date|datetime }}
There are {{ ride.people }} spots in the vehicle
There are {{ ride.people }} spots in the vehicle
Send
{% if ride.driver.phone %}
Call {{ ride.driver }} at {{ ride.driver.phone }}
{% endif %}


The properties mouseX and mouseY represent the current position of the mouse in the canvas. Move the mouse around the canvas to see how the mouse is tracked and the coordinates change.
The property MouseIsPressed is a boolean that allows you to know if the user is holding the mouse button down. Notice how we darken the background when holding the mouse button down.
Defining the mousedPressed() function in the sketch file will act as an event handler for mouse presses. See how mouse clicks capture the current mouse position to be drawn as points in future draw() executions.


Weight Converter
Type a value in the Pounds field to convert the value to Kilograms:
Pounds
Kilograms:


PBPopupControllerDelegate
@objc
public protocol PBPopupControllerDelegate : NSObjectProtocol
Undocumented
-
Called just before the popup bar view is presenting.
Declaration
Swift
@objc optional func popupController(_ popupController: PBPopupController, willPresent popupBar: PBPopupBar)
Parameters
popupController
The popup controller object.
popupBar
The popup bar object.
-
Called just before the popup bar view is dismissing.
Declaration
Swift
@objc optional func popupController(_ popupController: PBPopupController, willDismiss popupBar: PBPopupBar)
Parameters
popupController
The popup controller object.
popupBar
The popup bar object.
-
Called just after the popup bar view is presenting.
Declaration
Swift
@objc optional func popupController(_ popupController: PBPopupController, didPresent popupBar: PBPopupBar)
Parameters
popupController
The popup controller object.
popupBar
The popup bar object.
-
Called just after the popup bar view is dismissing.
Declaration
Swift
@objc optional func popupController(_ popupController: PBPopupController, didDismiss popupBar: PBPopupBar)
Parameters
popupController
The popup controller object.
popupBar
The popup bar object.
-
Called just before the popup content view is about to be open by typing or dragging the popup bar.
Declaration
Swift
@objc optional func popupController(_ popupController: PBPopupController, shouldOpen popupContentViewController: UIViewController) -> Bool
Parameters
popupController
The popup controller object.
popupContentViewController
The popup content view controller object.
Return Value
false
if you want the gesture action to be ignored,true
otherwise. -
Called just before the popup content view is about to be open.
Declaration
Swift
@objc optional func popupController(_ popupController: PBPopupController, willOpen popupContentViewController: UIViewController)
Parameters
popupController
The popup controller object.
popupContentViewController
The popup content view controller object.
-
Called just before the popup content view is about to be closed by typing the popup close button or dragging the popup content view..
Declaration
Swift
@objc optional func popupController(_ popupController: PBPopupController, shouldClose popupContentViewController: UIViewController) -> Bool
Parameters
popupController
The popup controller object.
popupContentViewController
The popup content view controller object.
Return Value
false
if you want the gesture action to be ignored,true
otherwise. -
Called just before the popup content view is about to be closed.
Declaration
Swift
@objc optional func popupController(_ popupController: PBPopupController, willClose popupContentViewController: UIViewController)
Parameters
popupController
The popup controller object.
popupContentViewController
The popup content view controller object.
-
Called just after the popup content view is open.
Declaration
Swift
@objc optional func popupController(_ popupController: PBPopupController, didOpen popupContentViewController: UIViewController)
Parameters
popupController
The popup controller object.
popupContentViewController
The popup content view controller object.
-
Called just after the popup content view is closed.
Declaration
Swift
@objc optional func popupController(_ popupController: PBPopupController, didClose popupContentViewController: UIViewController)
Parameters
popupController
The popup controller object.
popupContentViewController
The popup content view controller object.
-
Called several times during the interactive transition by user.
Note
The current progress is represented by a floating-point value between 0.0 and 1.0, inclusive, where 1.0 indicates the completion of the interactive presentation.
See also
Declaration
Swift
@objc optional func popupController(_ popupController: PBPopupController, interactivePresentationFor popupContentViewController: UIViewController, state: PBPopupPresentationState, progress: CGFloat, location: CGFloat)
Parameters
popupController
The popup controller object.
popupContentViewController
The popup content view controller object.
state
The popup presentation state before the start of the transition (closed / open).
progress
The current progress of the interactive presentation
location
The popup content view current location. The y-coordinate of the point on screen.
-
Called when the presentation state of the popup controller has changed.
See also
Declaration
Swift
@objc optional func popupController(_ popupController: PBPopupController, stateChanged state: PBPopupPresentationState, previousState: PBPopupPresentationState)
Parameters
popupController
The popup controller object.
state
The popup presentation state.
previousState
The previous popup presentation state.
-
Implement this to return NO when you want the tap gesture recognizer to be ignored.
See also
Declaration
Swift
@objc optional func popupControllerTapGestureShouldBegin(_ popupController: PBPopupController, state: PBPopupPresentationState) -> Bool
Parameters
popupController
The popup controller object.
state
The popup presentation state.
Return Value
false
if you want the pan gesture recognizer to be ignored,true
otherwise. -
Implement this to return NO when you want the pan gesture recognizer to be ignored.
See also
popupBarPanGestureRecognizer
popupContentPanGestureRecognizer
Declaration
Swift
@objc optional func popupControllerPanGestureShouldBegin(_ popupController: PBPopupController, state: PBPopupPresentationState) -> Bool
Parameters
popupController
The popup controller object.
state
The popup presentation state.
Return Value
false
if you want the pan gesture recognizer to be ignored,true
otherwise.


{% extends 'base.html'%} {% block content %}
Your password has been changed successfully !!
Go ahead and login to your profile


Call Queue
Caller/Business Name
ACCT
TK#
DUR
Status
{{doctor.doctors_name}}
{{doctor.acct_number}}
{{doctor.ticket_number}}
{{doctor.duration_of_call}}
Account Information
{{call.doctors_name}}
{{calls.acct_number}}
Message Maintain
Message List
Date/Time
Caller Name
From
Call Back No.
PA
PT
8/26/11 3:13PM
Captain James T. Kirk
Starship Enterprise
622-1701


public final class Connector extends Element
| Modifier and Type | Field and Description |
|---|---|
private boolean |
_connected |
private java.util.ArrayList<Connector> |
_connections |
private int[] |
_conRelPos |
private int |
_length |
private Component |
_owner |
private short |
_relRotation |
_position, _selectionMode, _sizeX, _sizeY
| Constructor and Description |
|---|
Connector(Component owner)
Constructs new Connector
|
Connector(int x,
int y,
int[] conRelPos,
short relRotation)
Constructs new Connector
|
Connector(int x,
int y,
int[] conRelPos,
short relRotation,
Component owner)
Constructs new Connector
|
| Modifier and Type | Method and Description |
|---|---|
Element |
clone()
Returns deep copy of the Element
|
void |
connect(java.util.Collection<Connector> conns)
coonnects this connector to every connector in the specified list
|
boolean |
connect(Connector conn)
Connects connector to another connector
|
boolean |
connected()
checks whether this connector has a connection to another connector
|
boolean |
contains(int x,
int y)
checks, if point (x, y) is contained in Element
|
void |
disconnect(java.util.Collection<Element> elems)
disconnects this connector from all connectors in the specified list
|
void |
disconnect(Component comp)
Disconnects all connectors which belong to the specified
Component |
boolean |
disconnect(Connector conn)
disconnects from specified connector
|
void |
draw(GraphicsContext gc,
double scale,
SelectionMode mode)
draws element on a
GraphicsContext |
java.awt.Point |
getAnkerPoint()
Returns the anker point of this connector, aka the original position just after deployment
|
java.util.ArrayList<Connector> |
getConnections()
Returns all connectors which are connected to this connector
|
Component |
getOwner()
returns the owner of this connector
|
short |
getRelativeRotation()
Returns this connectors relative rotation to its owner
|
int[] |
getRelPos()
returns the relative Position of this Connector
|
short |
getRotation()
returns the absolute rotation of this connector
|
boolean |
isConnectedTo(Component comp)
checks whether this connector is connected to the specified component
|
boolean |
isConnectedTo(Connector conn)
checks whether this connector is connected to the specified connector
|
Connector |
move(double x,
double y)
Moves the Connector in a straight line from its original location
|
Connector |
move(int x,
int y)
Moves the Connector in a straight line from its original location
|
void |
setOwner(Component owner)
assigns an owner to this connector
|
getPosition, getSelectionMode, getSizeX, getSizeY, getX, getY, intersects, setPosition, setPosition, setSelectionMode, setSize, setSize
private int[] _conRelPos
private short _relRotation
private int _length
private java.util.ArrayList<Connector> _connections
private boolean _connected
private Component _owner
public Connector(Component owner)
owner
- owner of the new connectorpublic Connector(int x, int y, int[] conRelPos, short relRotation)
x
- x-coordinatey
- y-coordinateconRelPos
- location relative to its ownerrelRotation
- rotation relative to its ownerpublic Connector(int x, int y, int[] conRelPos, short relRotation, Component owner)
x
- x-coordinatey
- y-coordinateconRelPos
- location relative to its ownerrelRotation
- rotation relative to its ownerowner
- owner of this connectorpublic void draw(GraphicsContext gc, double scale, SelectionMode mode)
Element
GraphicsContext
draw
in class Element
gc
- GraphicsContext
to draw onscale
- factor specifying the scalemode
- SelectionMode
, giving further information on how to drawpublic boolean contains(int x, int y)
Element
public java.util.ArrayList<Connector> getConnections()
public short getRelativeRotation()
public Connector move(int x, int y)
public Connector move(double x, double y)
public short getRotation()
public int[] getRelPos()
public Element clone()
Element
public java.awt.Point getAnkerPoint()
public boolean connect(Connector conn)
conn
- connector to connect topublic void connect(java.util.Collection<Connector> conns)
conns
- connectors to connect topublic boolean disconnect(Connector conn)
conn
- connector to disconnectpublic void disconnect(java.util.Collection<Element> elems)
elems
- connectors to disconnectpublic void disconnect(Component comp)
Component
comp
- Component to disconnectpublic boolean connected()
public boolean isConnectedTo(Connector conn)
conn
- Connector to be checkedpublic boolean isConnectedTo(Component comp)
comp
- Component
to be checkedpublic Component getOwner()
public void setOwner(Component owner)
owner
- new owner for this connector


Organizing Your Account
@ClientNameLong@ provides several ways to organize items in your account. You can use these features, such as folders, tags, and flags, along with the Search feature to quickly locate and retrieve messages.
Using Folders
Folders are used to organize your incoming and outgoing email messages. You can create your own folders, or use the system defined folders:
• User-defined folders. Folders you create to organize your email are displayed in the Folders list in the Overview pane. Top-level folder names cannot be the same as any other top-level folder in your email, calendar, or address book folders.
• System folders. System folders cannot be moved, renamed, or deleted. The following are system folders:
• Inbox. New email arrives in the Inbox.
• Sent. A copy of each message you send is saved in the Sent folder.
• Drafts. Messages you have composed but have not sent are saved in the Drafts folder.
• Junk. Most filtering of unsolicited automated email (also known as spam or junk mail) is handled by a spam filter before those email messages reach your Inbox. Email that might possibly be junk mail, but isn't certain to be junk, can be placed in your Junk folder.
You can review these messages and either move them or delete them. If you don't delete them, they will be purged after a period of time, as specified by your administrator
• Trash. Deleted items are placed in the Trash folder and remain there until you manually empty the trash or until the folder is purged automatically.
Using Tags
You can use tags to help classify and organize your email messages, conversations, calendar items, contacts, briefcase, or tasks. For example, you can have a tag for Immediate Turnaround and another for Medium Priority.
You can tag for tasks or a project tag to sort email, and you can search for all items with a particular tag. You can also apply multiple tags to an item
Using Flags
The flag icon in the message list is a yes/no indicator that denotes whether the email message has been flagged. This can be used to indicate an action-needed item or to distinguish the message or conversation from other items of lesser importance.


Live Events
Live Events
Live Events News
Unable to access news feed at this time.
News Feed Courtesy of Yahoo.com


| Storable Rules |
The rule is a weird C++ citizen, unlike any other C++ object. It does not have the proper copy and assignment semantics and cannot be stored and passed around by value. You cannot store rules in STL containers (vector, stack, etc) for later use and you cannot pass and return rules to and from functions by value.
EBNF is primarily declarative. Like in functional programming, an EBNF grammar is a static recipe and there's no notion of do this then that. However, in Spirit, we managed to coax imperative C++ to take in declarative EBNF. Hah! Fun!... We did that by masquerading the C++ assignment operator to mimic EBNF's ::=. To do that, we gave the rule class' assignment operator and copy constructor a different meaning and semantics. The downside is that doing so made the rule unlike any other C++ object. You can't copy it. You can't assign it.
We want to have the dynamic nature of C++ to our advantage. We've seen dynamic Spirit in action here and there. There are indeed some interesting applications of dynamic parsers using Spirit. Yet, we will not fully utilize the power of dynamic parsing, unless we have a rule that behaves like any other good C++ object. With such a beast, we can write full parsers that's defined at run time, as opposed to compile time.
We now have dynamic rules: stored_rules. Basically they are rules with perfect C++ assignment/copy-constructor semantics. This means that stored_rules can be stored in containers and/or dynamically created at run-time.
template<
typename ScannerT = scanner<>,
typename ContextT = parser_context<>,
typename TagT = parser_address_tag>
class stored_rule;
The interface is exactly the same as with the rule class (see the section on rules for more information regarding the API). The only difference is with the copy and assignment semantics. Now, with stored_rules, we can dynamically and algorithmically define our rules. Here are some samples...
Say I want to dynamically create a rule for:
start = *(a | b | c);
I can write it dynamically step-by-step:
stored_rule<> start; start = a; start = start.copy() | b; start = start.copy() | c; start = *(start.copy());
Later, I changed my mind and want to redefine it (again dynamically) as:
start = (a | b) >> (start | b);
I write:
start = b; start = a | start.copy(); start = start.copy() >> (start | b);
Notice the statement:
start = start.copy() | b;
Why is start.copy() required? Well, because like rules, stored rules are still embedded by reference when found in the RHS (one reason is to avoid cyclic-shared-pointers). If we write:
start = start | b;
We have left-recursion! Copying copy of start avoids self referencing. What we are doing is making a copy of start, ORing it with b, then destructively assigning the result back to start.
Copyright © 1998-2003 Joel de Guzman
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)


Uses of Interface
com.mxgraph.canvas.mxICanvas
-
Packages that use mxICanvas Package Description com.mxgraph.canvas This package contains various implementations for painting a graph using different technologies, such as Graphics2D, HTML, SVG or VML.com.mxgraph.reader This package contains the classes required to turn an encoded mxGraphView into an image using SAX and without having to create a graph model.com.mxgraph.swing This package contains the main component for JFC/Swing, namely the graph component and the outline component.com.mxgraph.swing.view This package contains all classes required for interaction, namely the mxCellEditor used for in-place editing and the mxInteractiveCanvas, which defines the requirements for a canvas that supports hit-detection on shapes.com.mxgraph.util This package provides utility classes such as mxConstants, mxUtils, mxPoint and mxRectangle as well as all classes for custom events and the undo history.com.mxgraph.view This package implements the graph component, represented by the mxGraph class. -
-
Uses of mxICanvas in com.mxgraph.canvas
Classes in com.mxgraph.canvas that implement mxICanvas Modifier and Type Class Description class
mxBasicCanvas
class
mxGraphics2DCanvas
An implementation of a canvas that uses Graphics2D for painting.class
mxHtmlCanvas
An implementation of a canvas that uses HTML for painting.class
mxImageCanvas
An implementation of a canvas that uses Graphics2D for painting.class
mxSvgCanvas
An implementation of a canvas that uses SVG for painting.class
mxVmlCanvas
An implementation of a canvas that uses VML for painting. -
Uses of mxICanvas in com.mxgraph.reader
Fields in com.mxgraph.reader declared as mxICanvas Modifier and Type Field Description protected mxICanvas
mxGraphViewReader. canvas
Holds the canvas to be used for rendering the graph.Methods in com.mxgraph.reader that return mxICanvas Modifier and Type Method Description mxICanvas
mxGraphViewImageReader. createCanvas(java.util.Map<java.lang.String,java.lang.Object> attrs)
abstract mxICanvas
mxGraphViewReader. createCanvas(java.util.Map<java.lang.String,java.lang.Object> attrs)
Returns the canvas to be used for rendering.mxICanvas
mxGraphViewReader. getCanvas()
Returns the canvas that is used for rendering the graph. -
Uses of mxICanvas in com.mxgraph.swing
Methods in com.mxgraph.swing with parameters of type mxICanvas Modifier and Type Method Description protected void
mxGraphComponent.mxGraphControl. cellDrawn(mxICanvas canvas, mxCellState state)
void
mxGraphComponent.mxGraphControl. drawCell(mxICanvas canvas, java.lang.Object cell)
Draws the given cell onto the specified canvas. -
Uses of mxICanvas in com.mxgraph.swing.view
Classes in com.mxgraph.swing.view that implement mxICanvas Modifier and Type Class Description class
mxInteractiveCanvas
-
Uses of mxICanvas in com.mxgraph.util
Methods in com.mxgraph.util that return mxICanvas Modifier and Type Method Description abstract mxICanvas
mxCellRenderer.CanvasFactory. createCanvas(int width, int height)
Separates the creation of the canvas from its initialization, when the size of the required graphics buffer / document / container is known.static mxICanvas
mxCellRenderer. drawCells(mxGraph graph, java.lang.Object[] cells, double scale, mxRectangle clip, mxCellRenderer.CanvasFactory factory)
Draws the given cells using a Graphics2D canvas and returns the buffered image that represents the cells. -
Uses of mxICanvas in com.mxgraph.view
Methods in com.mxgraph.view with parameters of type mxICanvas Modifier and Type Method Description protected void
mxGraph. cellDrawn(mxICanvas canvas, mxCellState state, java.lang.Object element, java.lang.Object labelElement)
Called when a cell has been painted as the specified object, typically a DOM node that represents the given cell graphically in a document.void
mxGraph. drawCell(mxICanvas canvas, java.lang.Object cell)
Draws the given cell and its descendants onto the specified canvas.void
mxGraph. drawGraph(mxICanvas canvas)
Draws the graph onto the given canvas.void
mxGraph. drawState(mxICanvas canvas, mxCellState state, boolean drawLabel)
Draws the cell state with the given label onto the canvas.
-


Eligibility_1_LegalStructureEligibility
- LegalStructure : String
Defines the legal structure of the business to access the CCC product.
- Enum:
- CIO
- ClubSociety
- Charity
- Ltd
- LBG
- LLP
- Other
- Partnership
- SoleTrader
- Trust
- Notes : List
Optional additional notes to supplement the LegalStructureEligibility details
- OtherLegalStructure : OtherLegalStructure


TWICE and Stray Kids spotted at the airport wearing all black and somber expressions to mourn the passing of Hara
by sl278JYP groups TWICE and Stray Kids have been spotted showing their condolences for Hara following her passing on November 25th.
Both groups were spotted at Incheon Airport as they prepared to leave for Vietnam to perform at the Asia Artist Awards.
Netizens have been expressing their concern for the group, stating:
"It must be difficult for them to hear the news and deal with malicious comments."
"Their hearts must be so complicated."
"I hope they rely on each other and stick through it till the end."


--- layout: default title: 'Software' ---
All publicly available software that I maintain is available on my GitHub. I try to actively respond to feature requests and bug reports submitted via GitHub issues.
An R software package
an individual taxon regression model that uses abundance tables and sample data.
corncob uses a beta-binomial model that permits hypothesis testing for changes in relative abundance and overdispersion.
It addresses different sequencing depths, excessive zeros, overdispersion, and within-taxon correlation.
Availability: GitHub
Reference: Available here.
An R software package for estimating common diversity indices such as the Shannon, Simpson, Bray-Curtis, and Euclidean indices.
DivNet utilizes covariate information (sample data) to model taxa in the ecosystem as interacting and co-occuring.
Availability: GitHub
Reference: Available here, to appear in Biostatistics, 2020+.
An R software package and Shiny web app that takes a Twitter handle as input and generates tweets that mimic the speech patterns of the handle. Developed as part of the Directed Reading Program (DRP) at the University of Washington Department of Statistics. The DRP is an undergraduate research program managed by PhD students with the goal to build community, develop research skills for mentors and mentees, and provide an opportunity for students from traditionally underrepresented backgrounds to explore statistics.
It's very fun to play with, give it a try!
Availability:
Shiny web app and
GitHub
An R software package
that provides a suite of methods for modeling microbial communities, along with hypothesis testing for alpha-diversity.
Availability: GitHub
Reference: Available here.
An R software package providing a user-friendly implementation of methods for estimating, projecting,
and plotting spatio-temporal under-five mortality rates.
Availability: CRAN and GitHub
Reference: Available here.
An R software package intended for personal use by myself and friends.
You may find it useful if you play DnD, want to split checks fairly, or want to be guided
through the process of updating R in OSX without losing your packages.
Availability: GitHub


Money Play. How should Red play 54?
pips Red=83 White=165
(CorrectAnswer= 0/0, ErrorScore= 0)
After some difficult problems this one is somewhat easier. Red should play 6/2, 6/1, avoiding any complications when Red rolls a 1 after any of the other plays.
Go back to the 1970s and this would have been played 13/4 or 13/9, 13/ or even 8/4, 8/3. Nowadays we understand the value of not leaving blots when the victory is close.
Go back to the 1970s and this would have been played 13/4 or 13/9, 13/ or even 8/4, 8/3. Nowadays we understand the value of not leaving blots when the victory is close.
1. Cubeful 2-ply 6/2 6/1 Eq.: +1.569 0.904 0.798 0.005 - 0.096 0.010 0.000 2. Cubeful 2-ply 13/4 Eq.: +1.523 (-0.046) 0.885 0.793 0.014 - 0.115 0.015 0.000 3. Cubeful 2-ply 13/9 13/8 Eq.: +1.521 (-0.048) 0.887 0.782 0.013 - 0.113 0.011 0.000 4. Cubeful 2-ply 13/9 6/1 Eq.: +1.507 (-0.061) 0.885 0.796 0.007 - 0.115 0.024 0.001 5. Cubeful 2-ply 8/4 8/3 Eq.: +1.500 (-0.069) 0.876 0.791 0.015 - 0.124 0.017 0.000


Table
Styles
Striped
Condensed
Hover
Default
Bordered
Borderless
Client
Email
Subscription
Actions
client1
<EMAIL_ADDRESS>Trial
client2
<EMAIL_ADDRESS>VIP
client3
<EMAIL_ADDRESS>Business
client4
<EMAIL_ADDRESS>VIP
client5
<EMAIL_ADDRESS>Personal
client6
<EMAIL_ADDRESS>Business
client7
<EMAIL_ADDRESS>Personal
Print
Export As
.pdf
.cvs


ccdiff - Colored Character diff
ccdiff [options] file1|- file2|-
ccdiff --help
ccdiff --man
ccdiff --info
Show a summary of the available command-line options and exit.
Show the version and exit.
Show this manual using pod2man and nroff.
Show this manual using pod2text.
All I/O (streams to compare and standard out) are in UTF-8.
Generate a unified diff. The number of context lines is optional. When omitted it defaults to 3. Currently there is no provision of dealing with overlapping diff chunks. If the common part between two diff chunks is shorter than twice the number of context lines, some lines may show twice.
The default is to use traditional diff:
5,5c5,5
< Sat Dec 18 07:00:33 1993,I.O.D.U.,,756194433,1442539
---
> Sat Dec 18 07:08:33 1998,I.O.D.U.,,756194433,1442539
a unified diff (-u1) would be
5,5c5,5
Tue Sep 6 05:43:59 2005,B.O.Q.S.,,1125978239,1943341
-Sat Dec 18 07:00:33 1993,I.O.D.U.,,756194433,1442539
+Sat Dec 18 07:08:33 1998,I.O.D.U.,,756194433,1442539
Mon Feb 23 10:37:02 2004,R.X.K.S.,van,1077529022,1654127
Show an additional line for each old or new section in a change chunk (not for added or deleted lines) that shows the hexadecimal value of each character. If --utf-8
is in effect, it will show the Unicode character name(s).
This is a debugging option, so invisible characters can still be "seen".
--verbose
accepts an optional verbosity-level. On level 2 and up, all horizontal changes get left-and-right markers inserted to enable seeing the location of the ZERO WIDTH or invisible characters. With level 3 and up and Unicode enabled, the changed characters will also show the codepoint in hex.
An example of this:
With -Uu0v0:
1,1c1,1
- A BCDE Fg
+ A BcdEFg
With -Uu0v1:
1,1c1,1
- A BCDE Fg
- -- verbose : SPACE, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER D, SPACE
+ A BcdEFg
+ -- verbose : LATIN SMALL LETTER C, LATIN SMALL LETTER D, ZERO WIDTH SPACE
With -Uu0v2:
1,1c1,1
- A ↱ ↰B↱CD↰E↱ ↰Fg
- -- verbose : SPACE, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER D, SPACE
+ A B↱cd↰E↱↰Fg
+ -- verbose : LATIN SMALL LETTER C, LATIN SMALL LETTER D, ZERO WIDTH SPACE
With -Uu0v3:
1,1c1,1
- A ↱ ↰B↱CD↰E↱ ↰Fg
- -- verbose : SPACE (U+000020), LATIN CAPITAL LETTER C (U+000043), LATIN CAPITAL LETTER D (U+000044), SPACE (U+000020)
+ A B↱cd↰E↱↰Fg
+ -- verbose : LATIN SMALL LETTER C (U+000063), LATIN SMALL LETTER D (U+000064), ZERO WIDTH SPACE (U+00200B)
With -Uu0v2 --ascii:
1,1c1,1
- A > <B>CD<E> <Fg
- -- verbose : SPACE, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER D, SPACE
+ A B>cd<E><Fg
+ -- verbose : LATIN SMALL LETTER C, LATIN SMALL LETTER D, ZERO WIDTH SPACE
the word "verbose" and the character markers will be displayed using the verbose
color. The characters used for the markers can be defined in your configuration file as chr_cml
(the character used as marker on the left) and chr_cmr
(the character used as marker on the right).
Use markers under each changed character in change-chunks.
--markers
is especially useful if the terminal does not support colors, or if you want to copy/paste the output to (ASCII) mail. See also --ascii
. The markers will have the same color as added or deleted text.
This will look like (with unified diff):
5,5c5,5
-Sat Dec 18 07:08:33 1998,I.O.D.U.,,756194433,1442539
- ▼ ▼
+Sat Dec 18 07:00:33 1993,I.O.D.U.,,756194433,1442539
+ ▲ ▲
The characters used for the markers can be defined in your configuration file as chr_old
(the character used as marker under removed characters) and chr_new
(the character used as marker under added characters).
If --ellipsis
is also in effect and either the chr_eli
is longer than one character or --verbose
level is over 2, this option is automatically disabled.
Use (colored) ASCII indicators instead of Unicode. The default indicators are Unicode characters that stand out better. The markers will have the same color as added or deleted text.
For the vertical markers (-m
) that would look like:
5,5c5,5
-Sat Dec 18 07:08:33 1998,I.O.D.U.,,756194433,1442539
- ^ ^
+Sat Dec 18 07:00:33 1993,I.O.D.U.,,756194433,1442539
+ ^ ^
For the positional indicators, I did consider using U+034e (COMBINING UPWARDS ARROW BELOW), but as most terminals are probably unable to show it due to line height changes, I did not pursue the idea.
Change the default red
for deleted text to the color closest to pink that is supported by Term::ANSIColor: magenta
.
Reverse/invert the foreground and background for the colored indicators.
If the foreground color has bold
, it will be stripped from the new background color.
Swap the colors for new and old.
List available colors and exit.
Disable all colors. Useful for redirecting the diff output to a file that is to be included in documentation.
This is the default if the environment variable $NO_COLOR
has a true value or if the environment variable $CLICOLOR
is set to a false value. If set, $CLICOLOR_FORCE
will overrule the default of $NO_COLOR
.
Define the foreground color for deleted text.
Define the foreground color for added text.
Define the background color for changed text.
Prefix position indicators with an index.
[001] 5,5c5,5
-Sat Dec 18 07:08:33 1998,I.O.D.U.,,756194433,1442539
+Sat Dec 18 07:00:33 1993,I.O.D.U.,,756194433,1442539
If a positive number is passed (--index=4
or -I 4
), display just the chunk with that index, using the verbose
color:
This is useful in combination with --verbose
.
Defines the number of lines a change block may differ before the fall-back of horizontal diff to vertical diff.
If a chunk describes a change, and the number of lines in the original block has fewer or more lines than the new block and that difference exceeds this threshold, ccdiff
will fall-back to vertical diff.
Defines the percentage of character-changes a change block may differ before the fall-back of horizontal diff to vertical diff.
This percentage is calculated as (characters removed + characters added) / (2 * characters unchanged))
.
Defines the number of characters to keep on each side of a horizontal-equal segment. The default is 0
, meaning do not compress.
If set to a positive number, and the length of a segment of equal characters inside a horizontal diff is longer than twice this value, the middle part is replaced with ┈ U02508 \N{BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL}
(instead of … U02026, as HORIZONTAL ELLIPSIS does not stand out enough).
With -u0me3
that would be like
5,5c5,5
-Sat┈07:08:33┈ 1998,I.┈539
- ▼ ▼
+Sat┈07:00:33┈ 1993,I.┈539
+ ▲ ▲
With -u0e3 -v2
like
5,5c5,5
-Sat↤9↦07:0↱0↰:33 199↱3↰,I.↤23↦539
- -- verbose : DIGIT ZERO, DIGIT THREE
+Sat↤9↦07:0↱8↰:33 199↱8↰,I.↤23↦539
+ -- verbose : DIGIT EIGHT, DIGIT EIGHT
The text used for the replaced text can be defined in your configuration file as chr_eli
and/or chr_eli_v
.
Ignore case on comparison.
Ignore all white-space changes. This will set all options -b
, -Z
, -E
, and -B
.
Ignore changes in trailing white-space (tabs and spaces).
Ignore changes in horizontal white-space (tabs and spaces). This does not include white-space changes that split non-white-space or remove white-space between two non-white-space elements.
NYI
Just Partly Implemented (WIP)
In order to be able to overrule the defaults set in ccdiff
, one can set options specific for this login. The following option files are looked for in this order:
- $HOME/ccdiff.rc
- $HOME/.ccdiffrc
- $HOME/.config/ccdiff
and evaluated in that order. Any options specified in a file later in that chain will overwrite previously set options.
Option files are only read and evaluated if they are not empty and not writable by others than the owner.
The syntax of the file is one option per line, where leading and trailing white-space is ignored. If that line then starts with one of the options listed below, followed by optional white-space followed by either an =
or a :
, followed by optional white-space and the values, the value is assigned to the option. The values no
and false
(case insensitive) are aliases for 0
. The values yes
and true
are aliases to -1
(-1
being a true value).
Between parens is the corresponding command-line option.
If you prefer unified-diff over old-style diff by default, set this to the desired number of context lines:
unified : 3
The default is undefined
markers : false
Defines if markers should be used under changed characters. The default is to use colors only. The -m
command line option will toggle the option when set from a configuration file.
ascii : false
Defines to use ASCII markers instead of Unicode markers. The default is to use Unicode markers.
reverse : false
Defines if changes are displayed as foreground-color over background-color or background-color over foreground-color. The default is false
, so it will color the changes with the appropriate color (new
or old
) over the default background color.
swap : false
Swap the colors for new and old.
new : green
Defines the color to be used for added text. The default is green
.
The color none
is also accepted and disables this color.
Any color accepted by Term::ANSIColor is allowed. Any other color will result in a warning. This option can include bold
either as prefix or as suffix.
This option may also be specified as
new-color
new_color
new-colour
new_colour
old : red
Defines the color to be used for deleted text. The default is red
.
The color none
is also accepted and disables this color.
Any color accepted by Term::ANSIColor is allowed. Any other color will result in a warning. This option can include bold
either as prefix or as suffix.
This option may also be specified as
old-color
old_color
old-colour
old_colour
bg : white
Defines the color to be used as background for changed text. The default is white
.
The color none
is also accepted and disables this color.
Any color accepted by Term::ANSIColor is allowed. Any other color will result in a warning. The bold
attribute is not allowed.
This option may also be specified as
bg-color
bg_color
bg-colour
bg_colour
background
background-color
background_color
background-colour
background_colour
header : 1
header : blue_on_white
Defines if a header is displayed above the diff (default is 1), supported colors are allowed.
If the value is a valid supported color, it will show the header in that color scheme. To disable the header set it to 0
in the RC file or use --no-header
as a command line argument.
verbose : cyan
Defines the color to be used as color for the verbose tag. The default is cyan
. This color will only be used under --verbose
.
The color none
is also accepted and disables this color.
Any color accepted by Term::ANSIColor is allowed. Any other color will result in a warning.
This option may also be specified as
verbose-color
verbose_color
verbose-colour
verbose_colour
utf8 : yes
Defines whether all I/O is to be interpreted as UTF-8. The default is no
.
This option may also be specified as
unicode
utf
utf-8
index : no
Defines if the position indication for a change chunk is prefixed with an index number. The default is no
. The index is 1-based.
Without this option, the position indication would be like
5,5c5,5
19,19d18
42a42,42
with this option, it would be
[001] 5,5c5,5
[002] 19,19d18
[005] 42a42,42
When this option contains a positive integer, ccdiff
will only show the diff chunk with that index.
emacs : no
If this option is yes/true, calling ccdiff
with just one single argument, and that argument being an existing file, the arguments will act as
$ ccdiff file~ file
if file~ exists.
threshold : 2
Defines the number of lines a change block may differ before the fall-back of horizontal diff to vertical diff.
heuristics : 40
Defines the percentage of character-changes a change block may differ before the fall-back of horizontal diff to vertical diff. The default is undefined, meaning no fallback based on heuristics.
ellipsis : 0
Defines the number of characters to keep on each side of a horizontal-equal segment. The default is 0
, meaning to not compress. See also chr_eli
.
chr_old : U+25BC
Defines the character used to indicate the position of removed text on the line below the text when option -m
is in effect.
chr_new : U+25B2
Defines the character used to indicate the position of added text on the line below the text when option -m
is in effect.
chr_cml : U+21B1
Defines the character used to indicate the starting position of changed text in a line when verbose level is 3 and up.
chr_cmr : U+21B0
Defines the character used to indicate the ending position of changed text in a line when verbose level is 3 and up.
chr_eli : U+21B0
Defines the character used to indicate omitted text in large unchanged text when --ellipsis
/-e
is in effect.
This character is not equally well visible on all terminals or in all fonts, so you might want to change it to something that stands out better in your environment. Possible suggestions:
…  If it is 2 characters wide, the length of the compressed part is put between the characters.
A suggested alternative might be U+21E4U+21E5
You can use ccdiff to show diffs in git. It may work like this:
$ git config --global diff.tool ccdiff
$ git config --global difftool.prompt false
$ git config --global difftool.ccdiff.cmd 'ccdiff --utf-8 -u -r $LOCAL $REMOTE'
$ git difftool SHA~..SHA
$ wget https://github.com/Tux/App-ccdiff/raw/master/Files/git-ccdiff \
-O ~/bin/git-ccdiff
$ perl -pi -e 's{/pro/bin/perl}{/usr/bin/env perl}' ~/bin/git-ccdiff
$ chmod 755 ~/bin/git-ccdiff
$ git ccdiff SHA
Of course you can use curl
instead of wget
and you can choose your own (fixed) path to perl
instead of using /usr/bin/env
.
From then on you can do
$ git ccdiff
$ git ccdiff 5c5a39f2
Due to the implementation, where both sides of the comparison are completely kept in memory, this tool might not be able to deal with (very) large datasets.
There are situations where Algorithm::Diff takes considerably more time compared to e.g. GNU diff. Installing Algorithm::Diff::XS will make ccdiff
a lot faster. ccdiff
will choose Algorithm::Diff::XS if available.
Algorithm::Diff::XS, Algorithm::Diff, Text::Diff
H.Merijn Brand
Copyright (C) 2018-2023 H.Merijn Brand. All rights reserved.
This library is free software; you can redistribute and/or modify it under the same terms as The Artistic License 2.0.


Senate to Slash DP Ruto's Retirement Package
by Ezra ManyibeAs 2022 approaches and the potential future leadership of the country unclear, Deputy President William Ruto can expect to take home a retirement kitty lesser than that of his predecessors if the Senate passes a bill aimed at reducing the benefits of a retired deputy president.
This is after a Senate committee adopted the recommendations of the Retirement Benefits (Deputy President and Designated. State Officers) (Amendment) Bill (Senate Bills No. 2 of 2018) sponsored by Narok Senator Ledama Ole Kina on Wednesday, November 20.
The proposed amendments sought to either change or erase a number of clauses from the Retirement Benefits Act.
The Retirement Benefits (Deputy President and Designated State Officers) Act, 2015, stipulates that “a retired deputy president shall, during his or her lifetime, be entitled to a monthly pension equal to eighty percent of the monthly salary of the entitled person’s last monthly salary while in office.”
"He is also entitled to a lump sum payment on retirement, calculated as a sum equal to one year’s salary paid after every four years among other benefits," the Act adds.
On August 7, Nairobi Senator Johnson Sakaja proposed to have the interval in the clause increased from four years to five years.
Nominated Senator Farhija Ali also petitioned to have the interval with which a retired deputy president was entitled to a new saloon car not exceeding 2000cc and a 4x4 vehicle, from four years to five years.
If passed by Parliament, it would subsequently result in the reduction of DP Ruto's projected retirement kitty (if he was to retire after 2022) in that, he would make a third less after three regimes than what his predecessors enjoyed.


My Website
About
Portfolio
Contact
Portfolio
1280x720
1280x720
1280x720
1280x720
1280x720
1280x720
Connect with Me


0
HAWKINS NATIONAL LABORATORY
U.S. DEPARTMENT OF ENERGY
CE
÷
X
C
7
8
9
-
4
5
6
+
1
2
3
.
011
0
=
Designed and coded by
Todd Paben


var skuDetails: SkuDetails?
Object containing an in-app product's or subscription's listing details
skuDetails - Object containing an in-app product's or subscription's listing details
skuDetails


grow
shrink
fade-out
fade-up (also down, left and right!)
fades in, then out when we move to the next step
fades in, then obfuscate when we move to the next step
blue only once
highlight-red
highlight-green
highlight-blue
If machine learning is a subfield of artificial intelligence, then deep learning could be called a subfield of machine learning. The evolution of the subject has gone artificial intelligence > machine learning > deep learning. The expression “deep learning” was first used when talking about Artificial Neural Networks (ANNs) by Igor Aizenberg and colleagues in or around 2000. Since then, the term has really started to take over the AI conversation, despite the fact that there are other branches of study taking place, like natural language processing, or NLP


A fork of the amazing Typewriter extension
TypewriterX is a hard fork of the amazing Typewriter extension by Fredrik Hagnelius
Typewriter works as a 1/1 mapper/template engine between a class and a single file, this was simple, but limiting.
I needed to parse code and generate multiple outputs, depending on complex conditions, something the Typewriter syntax doesn't support
I also needed more access to generic types (GenericDefClass
) and better ways to generalize my template (AsClass
,AsEnum
)
TypewriterX is backwards compatible with Typewriter, for new features it uses the .tstx extension
all the features in the original Typewriter are preserved (at version 1.20), with these changes:
RootContext
object, that allows access to all files,classes,enums etc in the solutionfile output
syntax to collections in the template, templates can generate any number of files and even nest them, see examplesType
can be converted to a Class
or an Enum
using the new AsClass
and AsEnum
properties.Class
generic definition using GenericDefClass
propertyBelow is an example of a TypeScript Template for generating simple model classes.
$Files(*Models)
will find files classes with a name ending in "Model" defined in the same project as the template
or in a project referenced by that project.
The section between the brackets ([]
) is repeated for each file.
$Classes will find all public classes in the file being processed, each class will be outputed to a file named between the arrows (<>
)
$Name
will print the name of the class and
$Properties
will loop each public property of the class.
$name
is the name of the property (by using the lower case
$name
the property name will be printed in camel case) and
$Type
is a TypeScript friendly version of the property type.
$Files(*Models)[ $Classes<$Name.ts>[ export class $Name { $Properties[ public $name : $Type; ] } ] ]
using System; using System.Collections.Generic; namespace Demo { public class CustomerModel { public int Id { get; set; } public string Name { get; set; } public ICollection<OrderModel> Orders { get; set; } } public class EmployerModel { public int Id { get; set; } public string Name { get; set; } } }
export class CustomerModel { public id: number; public name: string; public orders: OrderModel[]; }
export class EmployerModel { public id: number; public name: string; }


DANTE'S PEAK (PG-13)
Reviewed by E. Benjamin Kelsey
* * * (out of four)
Disaster films have a tendency to be very formulated and very cliched. To see a disaster film with actual originality, or at least a decent plot twist, would definitely be a welcome surprise. Unfortunately, folks, it's not likely.
DANTE'S PEAK is cliched, and at times corny, but also pretty decent. To be honest, I wasn't very interested in seeing this film, and word of mouth, as well as several reviews, didn't make it sound promising. So I was pleasantly surprised that to find that this movie wasn't bad at all. It's pretty run of the mill, but it's not something I would say is merely "ok" to watch.
In case you don't know, DANTE'S PEAK is about a volcano and the city which lives in it's shadow, Dante's Peak (who would've guessed, eh?). Pierce Brosnan plays the volcanologist sent to study the volcano and, perhaps more by hunch than actual scientific proof, is determined that the volcano will be arupting in the very near future. Due to the lack of more substantial evidence, nobody warns the small town, and when they finally do, it's in the middle of the town meeting that the volcano finally blows.
Brosnan, all around good guy, will, of course, save the day . . . or at least the mayor of Dante's Peak (Linda Hamilton). Naturally the two will become infatuated with one another. (If you think I just ruined a plot development, you haven't seen very many movies!) There's also the virtually neccessary kids and pet dog to tug at your heart strings. And of course, the kids or the dog (at least one or the other) will do something heroic . . . but hey, I don't want to ruin all the surprises!
If there was a part of you that was hesitating seeing DANTE'S PEAK merely because it was rumored to be a waste of time, I urge you to watch it and decide for yourself. It's not brain food, but it succeeds at what it's meant to be . . . an enjoyable, suspenseful movie about the fury Mother Nature can unleash!
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


Product Description, Color Size Price Anything You Can Pick In This Area,
Product Description, Color Size Price Anything You Can Pick In This Area,
Product Description, Color Size Price Anything You Can Pick In This Area
This is realy good product, i want recommended this product to everyone in this shop market
This is realy good product, i want recommended this product to everyone in this shop market
Hendrix19 May 2014
This is realy good product, i want recommended this product to everyone in this shop market
This is realy good product, i want recommended this product to everyone in this shop market
Hendrix 19 May 2014
This is realy good product, i want recommended this product to everyone in this shop market This is realy good product, i want recommended this product to everyone in this shop market


To understand Abstract Syntax Trees, allow me to give you a rundown of how our loyal and modest browser compiles JavaScript.
In the past, traditional compilers in desktop applications went through hoops to generate intended native code.
Lexer --> parser --> Translator --> Interpreter
There was a Lexer, a Parser, a Translator and an Interpreter; Lexer converted source code into tokens which were then passed to the Parser. Parser transformed the tokens into Abstract Syntax Trees, a representation of code in a tree structure and sent them to Translator. The translator converted the syntax tree to bytecode which finally the Interpreter altered it to machine code. These steps do not scale well performance wise, especially machine code generation through an interpreter on a loosely typed dynamic language, JavaScript.
Just In Time compilers were the answer. By compiling source code when required utilizing various optimization strategies, application performance skyrocketed.
In the browser land, the source is converted into an Abstract Syntax Tree by the Lexical Analyzer and Parser. The resulting tree is similar to the DOM tree we are familiar with. Once the JS engine receives the AST, it uses it to generate machine code and begins executing instructions.
Our topic of interest here is the AST.
So, Why are AST's important? Since AST's are an agnostic and generalized representation of source code, it can be used for code Analysis; such as syntax analysis, extracting documentation, type checking, API conformity, and Transformation; such as transpilation, code generation, formatting, and refactoring.
These features aren't new to us; linters and code editors have long leveraged the power of AST to offer developers productivity and sanity.
Jamund Ferguson Github


If you can't, you need to use another service.


PArallel Distributed Deep LEarning
An Easy-to-use, Efficient, Flexible and Scalable Deep Learning Platform
Diverse Application Scenarios
Powers hundreds of baidu and partner products
Computer Vision
Using Convolutional Neural Networks (CNN) for Image Recognition and Object Detection.
Natural Language Understanding
Using Recurrent Neural Network (RNN) for Sentiment Analysis.
Recommender System
Using Deep Learning on Recommendation Systems to Help Users Find Interests.
Ease of use
Provides an intuitive and flexible interface for loading data and specifying model structure.
Flexibility
Supports CNN, RNN and various variants and ease to configure complicated deep models.
Efficiency
Provides extremely optimized operations, memory recycling, network communication.
Scalability
Ease to scale heterogeneous computing resource and storage to accelerate training process.
展开全部
PaddlePaddle
An Easy-to-use, Efficient, Flexible and Scalable Deep Learning Platform


Dialogs, toasts, and inline errors all provide a means to communicate with the user to provide feedback or a call to action.
Catastrophic errors & confirmations
Passive temporary confirmations
Informative inline tips
Priority info or errors
Use lists inside cards
Various size & location options
Dialogs
Dialogs
Snackbars
Snackbars
Errors


debian server
07 Nov 2015Goal is to set up a home server running Debain Jessie.
- Share files with afp and smb
- Run basic python scripts
- Run flask servers on various ports
- Run an apache web server (not really set up)
- Run owncloud (synch clients are still slow)
- Run transmission for torrent download
0) The hardware is as follows
- See my pcpartspicker inventory
- Processor: Intel Pentium G3258 3.2GHz Dual-Core Processor
- Motherboard: Gigabyte GA-H97N-WIFI Mini ITX LGA1150 Motherboard
- RAM: G.Skill Sniper Series 8GB (2 x 4GB) DDR3-1866 Memory
- Case: Cooler Master Elite 110 Mini ITX Tower Case
- Power: EVGA 430W 80+ Certified ATX
1) Download and install debian
- Download debian jessie
- Make a usb key
- Install debian
-
Check your debian version
cat /etc/debian_version 8.2
2) Configure debian jessie
Update your repositories
apt-get update
ssh
apt-get install openssh-server
- Follow this
Sudo
- Use apt-get to install sudo. This is better then switching to su.
- Follow this.
Add in a second hard drive
-
partition
cfdisk /dev/sdb
-
format
mkfs.ext4 /dev/sdb1
-
Once disk is partitioned and formatted, this is what it looks like
cudmore@debian:~$ sudo fdisk -l /dev/sdb Disk /dev/sdb: 1.8 TiB,<PHONE_NUMBER>016 bytes,<PHONE_NUMBER> sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 8B1D619B-4B38-44AE-AEE1-0180F07FC75F Device Start End Sectors Size Type /dev/sdb1 2048<PHONE_NUMBER><PHONE_NUMBER> 1.8T Linux filesystem
-
Mount the second harddrive in a folder /movies
mkdir /movies # remember to set group and group rwx later mount -t ext4 /dev/sdb1 /movies
-
blkid to get unique name for fstab entry
cudmore@debian:~$ sudo blkid /dev/sda1: UUID="30EE-7B6B" TYPE="vfat" PARTUUID="1eae1e11-6902-45f9-9c27-55ab648972b3" /dev/sda2: UUID="2cf97347-1baf-4abf-a297-650ebf4dfdff" TYPE="ext4" PARTUUID="15ac40fa-5874-423b-9282-209a8b88a60a" /dev/sda3: UUID="16a7a205-220c-4583-a758-4fcaf3eb0417" TYPE="swap" PARTUUID="fa435c81-ab1e-4192-97ba-e55c08ceb932" /dev/sdb1: UUID="f6b5096b-188b-4204-92aa-31e8c58e0eb6" TYPE="ext4" PARTUUID="61e5434f-7975-45a8-a8c4-6148fb56f9b4"
-
Append the new disk to /etc/fstab
cudmore@debian:~$ more /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sda2 during installation UUID=2cf97347-1baf-4abf-a297-650ebf4dfdff / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/sda1 during installation UUID=30EE-7B6B /boot/efi vfat umask=0077 0 1 # swap was on /dev/sda3 during installation UUID=16a7a205-220c-4583-a758-4fcaf3eb0417 none swap sw 0 0 # 2tb drive for movies UUID=f6b5096b-188b-4204-92aa-31e8c58e0eb6 /movies ext4 errors=remount-ro 0 1
Users and groups
-
Make a second user ‘user2’
sudo adduser user2
-
Make a group ‘movies’
sudo addgroup movies
-
Add myself (user1) and user2 to the ‘movies’ group
sudo usermod -a -G movies user1 sudo usermod -a -G movies user2
Make second harddrive rwx for group ‘movies’
-
make sure the second hard drive has rwx permission for group ‘movies’
# the first 'movies' is the name of the group, the second /movies is the folder sudo chgrp -R movies /movies sudo chmod -R g+rwx /movies
Apple-File-Protocol (afp)
- Follow debian jessie afp install guide
- I am using netatalk-3.1.7
- Modify /usr/local/etc/afp.conf
The key here is to specify the name of the mount point using ‘home name = $u_server’. Otherwise your mount point becomes ‘[[user]]’s home’ and programs like Microsoft Word and Fiji will probably not find the path with the apostrophe in the name.
$u is a variable that inserts the current username. It is defined in the afp.conf documentation.
[movie_server] is a mount point that will mount my second hard drive from folder /movies.
;
; Netatalk 3.x configuration file
;
[Global]
; Global server settings
[Homes]
; basedir regex = /xxxx
;user1 will mount as user1_server
home name = $u_server
basedir regex = /home
; [My AFP Volume]
; path = /path/to/volume
[movies_server]
path = /movies
Remote desktop with vnc
- This is not working. May be jessie bug?
- plagiarized guide
Install Anaconda (Python)
- Download and follow these instructions on website
Configure duckdns to keep your external/router ip up to date
- Follow this
Install samba/smb file sharing
- Follow something like this
-
edit with ‘sudo pico /etc/samba/smb.conf’
[movies_server] comment = movies on debian server read only = no locking = no path = /path_to_our_files guest ok = no
- Restart samba
sudo /etc/init.d/samba restart
Run python scripts at boot
- This is very unclear to me
-
Directly edit ‘sudo pico /etc/crontab’
@reboot root /home/cudmore/anaconda2/bin/python /home/cudmore/Sites/temperatureserver/app.py >> /home/cudmore/Sites/temperatureserver/temperatureserver.log 2>&1
- I want this to redirect stdout to the .log file. It is redirecting when it starts up but is not redirecting my ‘print’ statements as it runs?
Transmission (torrent download)
sudo apt-get install transmission
sudo apt-get install transmission-daemon
- Follow very specific instructions here
- this might be more useful.
-
Modify /var/lib/transmission-daemon/info/settings.json
"download-dir": "/movies/transmission_download", "rpc-whitelist": "<IP_ADDRESS>,192.168.*.*", "rpc-authentication-required": false,
-
Maybe add transmissions user to ‘movies’ group? (movies group was made above).
sudo usermod -a -G movies transmission
-
That didn’t work (maybe I needed a -R).  This will add user cudmore to group debian-transmission
sudo usermod -a -G debian-transmission cudmore
Install particle cloud server
see other blog post