Attaches a component to the search interface. This allows the search interface to easily list and iterate over its components.
Normally, the component type is a unique identifier without the Coveo
prefix (e.g., CoveoFacet
->
Facet
, CoveoPager
-> Pager
, CoveoQuerybox
-> Querybox
, etc.).
The component instance to attach.
Return the debug info about this component.
Detaches a component from the search interface.
Normally, the component type is a unique identifier without the Coveo
prefix (e.g., CoveoFacet
->
Facet
, CoveoPager
-> Pager
, CoveoQuerybox
-> Querybox
, etc.).
The component instance to detach.
Detaches from the SearchInterface every component that is inside the given element.
Disable the component. Normally this means that the component will not execute handlers for the framework events (query events, for example). Component are enabled by default on creation.
Enable the component. Normally this means that the component will execute handlers for the framework events (query events, for example). Components are enabled by default on creation.
Returns the bindings, or environment, for the current component.
Gets all the components of a given type.
Normally, the component type is a unique identifier without the Coveo
prefix (e.g., CoveoFacet
->
Facet
, CoveoPager
-> Pager
, CoveoQuerybox
-> Querybox
, etc.).
Gets the query context for the current search interface.
If the search interface has performed at least one query, it will try to resolve the context from the last query sent to the Coveo Search API.
If the search interface has not performed a query yet, it will try to resolve the context from any avaiable PipelineContext component.
If multiple PipelineContext components are available, it will merge all context values together.
Note: Having multiple PipelineContext components in the same search interface is not recommended, especially if some context keys are repeated across those components.
If no context is found, returns undefined
A disabled component will not participate in the query, or listen to ComponentEvents.
Allows component to log in the dev console.
Allows to get and set the different breakpoints for mobile and tablet devices.
This is useful, amongst other, for Facet, Tab and ResultList
The static ID that each component need to be identified.
For example, SearchButton -> static ID : SearchButton -> className : CoveoSearchButton
Specifies if the search interface should perform queries when no keywords are entered by the end user.
When this option is set to true, the interface will initially only load with the search box, as long as you have a search box component in your interface.
Once the user submits a query, the full search interface loads to display the results.
When using the Coveo for Salesforce Free edition, this option is automatically set to false, and should not be changed.
This option interacts closely with the SearchInterface.options.autoTriggerQuery option, as the automatic query is not triggered when there are no keywords.
It also modifies the IQuery.allowQueriesWithoutKeywords query parameter.
Default value is true
, except in Coveo for Salesforce Free edition in which it is false
.
data-allow-queries-without-keywords='true' data-allow-queries-without-keywords='false'
Specifies whether to trigger the first query automatically when the page finishes loading.
Default value is true
.
data-auto-trigger-query='true' data-auto-trigger-query='false'
Specifies whether to enable automatic responsive mode (i.e., automatically placing Facet and Tab components in dropdown menus under the search box when the width of the SearchInterface HTML element reaches or falls behind a certain pixel threshold).
You might want to set this option to false
if automatic responsive mode does not suit the specific design needs
of your implementation.
Note:
If this option is
true
, you can also specify whether to enable responsive mode for Facet components (see {@link Facet.options.enableResponsiveMode}) and for Tab components (see Tab.options.enableResponsiveMode).In addition, you can specify the label you wish to display on the dropdown buttons (see {@link Facet.options.dropdownHeaderLabel} and Tab.options.dropdownHeaderLabel).
Default value is true
.
data-enable-automatic-responsive-mode='true' data-enable-automatic-responsive-mode='false'
Note:
The Coveo Cloud V2 platform does not support collaborative rating. Therefore, this option is obsolete in Coveo Cloud V2.
Specifies whether to enable collaborative rating, which you can leverage using the
ResultRating
component.
Setting this option to true
has no effect unless collaborative rating is also enabled on your Coveo index.
Default value is false
.
data-enable-collaborative-rating='true' data-enable-collaborative-rating='false'
Specifies whether to enable the feature that allows the end user to ALT + double click any result to open a debug page with detailed information about all properties and fields for that result.
Enabling this feature causes no security concern; the entire debug information is always visible to the end user through the browser developer console or by calling the Coveo API directly.
Default value is true
.
data-enable-debug-info='true' data-enable-debug-info='false'
Specifies whether to filter duplicates in the search results.
Setting this option to true
forces duplicates to not appear in search results. However, Facet counts
still include the duplicates, which can be confusing for the end user. This is a limitation of the index.
Example:
The end user narrows a query down to a single item that has a duplicate. If the enableDuplicateFiltering option is
true
, then only one item appears in the search results while the Facet count is still 2.
Note:
It also is possible to set this option separately for each Tab component (see Tab.options.enableDuplicateFiltering).
Default value is false
.
data-enable-duplicate-filtering='true' data-enable-duplicate-filtering='false'
Specifies whether to allow the end user to navigate search history using the Back and Forward buttons of the browser.
If this options is true
, the SearchInterface component saves the state of the current query in the hash portion
of the URL when the user submits the query.
Example:
If the
enableHistory
option istrue
and the current query isfoobar
, the SearchInterface component savesq=foobar
in the URL hash when the user submits the query.
Default value is false
.
data-enable-history='true' data-enable-history='false'
Specifies the number of characters to get at query time to create an excerpt of the result.
This setting is global and cannot be modified on a per-result basis.
See also the Excerpt component.
Default value is 200
. Minimum value is 0
.
data-excerpt-length='10'
Specifies an expression to add to each query.
You might want to use this options to add a global filter to your entire search interface that applies for all tabs.
You should not use this option to address security concerns (it is JavaScript, after all).
Note:
It also is possible to set this option separately for each Tab component (see Tab.options.expression).
Default value is ''
.
data-expression='foo'
Specifies the name of a field to use as a custom filter when executing the query (also referred to as "folding").
Setting a value for this option causes the index to return only one result having any particular value inside the filter field. Any other matching result is "folded" inside the childResults member of each JSON query result.
This feature is typically useful with threaded conversations to include only one top-level result per conversation. Thus, the field you specify for this option will typically be value unique to each thread that is shared by all items (e.g., posts, emails, etc) in the thread.
For more advanced features, see the Folding component.
Default value is the empty string (''
).
data-filter-field='@foo'
Specifies the animation that you wish to display while your interface is loading.
You can either specify the CSS selector of an HTML element that matches the default CSS class
(coveo-first-loading-animation
), or add -selector
to the markup attribute of this option to specify the CSS
selector of an HTML element that matches any CSS class.
See also the hideUntilFirstQuery option.
Examples:
In this first case, the SearchInterface uses the HTML element whose id
attribute is MyAnimation
as the
loading animation only if the class
attribute of this element also matches coveo-first-loading-animation
.
Default loading animation CSS, which you can customize as you see fit, applies to this HTML element.

In this second case, the SearchInterface uses the HTML element whose id
attribute is MyAnimation
as the
loading animation no matter what CSS class it matches. However, if the class
attribute of the HTML element does
not match coveo-first-loading-animation
, no default loading animation CSS applies to this HTML element.
Normally, you should only use data-first-loading-animation-selector
if you want to completely override the
default loading animation CSS.

By default, the loading animation is a Coveo CSS animation (which you can customize with CSS).
Specifies whether to display a loading animation before the first query successfully returns.
Note:
If you do not set this options to
false
, the loading animation will still run until the first query successfully returns even if the autoTriggerQuery option isfalse
.
See also the firstLoadingAnimation option.
Default value is true
.
data-hide-until-first-query='true' data-hide-until-first-query='false'
Specifies the maximum age (in milliseconds) that cached query results can have to still be usable as results instead of performing a new query on the index. The cache is located in the Coveo Search API (which resides between the index and the search interface).
If cached results that are older than the age you specify in this option are available, the framework will not use these results; it will rather perform a new query on the index.
On high-volume public web sites, specifying a higher value for this option can greatly improve query response time at the cost of result freshness.
Note:
It also is possible to set this option separately for each Tab component (see Tab.options.maximumAge).
Default value is undefined
, which means that the search interface lets the Coveo Search API determine the
maximum cache age. This is typically equivalent to 30 minutes (see
maximumAge).
data-maximum-age='10'
Specifies the name of the query pipeline to use for the queries.
You can specify a value for this option if your index is in a Coveo Cloud organization in which pipelines have been created (see Adding and Managing Query Pipelines).
Note:
It also is possible to set this option separately for each Tab component (see Tab.options.pipeline).
Default value is undefined
, which means that the search interface uses the default pipeline.
data-pipeline='foo'
Specifies the search interface width that should be considered "medium" size, in pixels.
When the width of the window/device that displays the search page reaches or falls short of this threshold (but still exceeds the responsiveSmallBreakpoint value), the search page layout will change so that, for instance, facets within the element that has the coveo-facet-column class will be accessible from a dropdown menu on top of the result list rather than being fully rendered next to the result list.
This option is only taken into account when enableAutomaticResponsiveMode is set to true.
Default value is 800
.
data-responsive-medium-breakpoint='10'
Specifies the search interface responsive mode that should be used.
When the mode is auto, the width of the window/device that displays the search page is used to determine which layout the search page should use (see enableAutomaticResponsiveMode, responsiveMediumBreakpoint and [responsiveSmallBreakpointSearchInterface.options.responsiveSmallBreakpoint])
When it's not on auto, the width is ignored and the the layout used depends on this option (e.g. If set to "small", then the search interface layout will be the same as if it was on a narrow window/device)
Specifies the search interface width that should be considered "small" size, in pixels.
When the width of the window/device that displays the search page reaches or falls short of this threshold, the search page layout will change so that, for instance, some result list layouts which are not suited for being rendered on a small screen/area will be disabled.
This option is only taken into account when enableAutomaticResponsiveMode is set to true.
Default value is 480
.
data-responsive-small-breakpoint='10'
Specifies the number of results to display on each page.
For more advanced features, see the ResultsPerPage component.
Note:
When the ResultsPerPage component is present in the page, this option gets overridden and is useless.
Default value is 10
. Minimum value is 0
.
data-results-per-page='10'
Specifies the search page you wish to navigate to when instantiating a standalone search box interface.
Default value is undefined
, which means that the search interface does not redirect.
data-search-page-uri='foo'
Specifies the timezone in which the search interface is loaded. This allows the index to recognize some special query syntax.
This option must have a valid IANA zone info key (AKA the Olson time zone database) as its value.
Example: America/New_York
.
By default, the search interface allows a library to try to detect the timezone automatically.
data-timezone='foo'
Specifies whether to save the interface state in the local storage of the browser.
You might want to set this option to true
for reasons specifically important for your implementation.
Default value is false
.
data-use-local-storage-for-history='true' data-use-local-storage-for-history='false'
Creates a new SearchInterface. Initialize various singletons for the interface (e.g., usage analytics, query controller, state model, etc.). Binds events related to the query.
The HTMLElement on which to instantiate the component. This cannot be an HTMLInputElement
for
technical reasons.
The options for the SearchInterface.
The options for the Analytics component. Since the Analytics component is normally global, it needs to be passed at initialization of the whole interface.
The window object for the search interface. Used for unit tests, which can pass a mock. Default is the global window object.
The SearchInterface component is the root and main component of your Coveo search interface. You should place all other Coveo components inside the SearchInterface component.
It is also on the HTMLElement of the SearchInterface component that you call the init function.
It is advisable to specify a unique HTML
id
attribute for the SearchInterface component in order to be able to reference it easily.Example:
 [ ... ]  [ ... ]    [ ... ]  [ ... ]


Input masks allows a user to more easily enter data where you would like them to enter the data in a certain format.


Asiembo - Vice President
Université Paris XIII, FranceASIEMBO is an organization that specializes in building projects to help local populations in developing countries > association-asiembo.fr
ASIEMBO is an organization that specializes in building projects to help local populations in developing countries > association-asiembo.fr


Maple Ridge coach behind ‘The Michigan’ reflects on lacrosse-style goal’s debut in the NHL
The Michigan has made it to the NHL decades after he used it in the NCAA playoffs
by Neil CorbettA goal known as “The Michigan” has made it to the NHL, and the Maple Ridge coach who scored the original lacrosse-style goal is taking some humble bows.
Mike Legg scored one of the most famous goals in hockey history, when he deftly plucked the puck up off the ice and onto his stick blade, then stuffed it into the top of the net. It was a huge goal en route to his team’s NCAA championship 23 years ago.
“That was an unbelievable goal by Mike Legg,” said the stunned announcer of the game at the time.
Nobody had seen anything like it, but now, it’s turning up again.
Thursday night, Andrei Svechnikov of the Carolina Hurricanes scored that same goal against the Carolina Hurricanes.
In the same week, Vancouver Canucks prospect Nils Hoglander got one too, while playing professional hockey in Sweden.
Legg said the latter in particular was a beauty, with Hoglander first banking it off the back of the net to beat the defender.
“I love seeing guys try it and doing it,” said Legg.
He doesn’t claim to have invented the move. Legg was playing university hockey, and on the ice with pro player in Billy Armstrong who was in the New Jersey Devils system. Legg was fascinated to see him making the move.
“I didn’t have the nerve to go talk to him, but I just watched him.”
Soon Legg had done it a million times, before and after practices with the University of Michigan.
After one practice his coach, the legendary Red Berenson, green lighted the move with a simple “Why don’t you do that in a game,” as he left the ice. Otherwise, Legg likely never would have tried the unorthodox manoeuvre.
In the 1996 NCAA tournament, against the University of Minnesota, with his team down 2-0, getting out-shot, and his linemate John Madden just tackled in the corner, Legg took the puck behind the net, and got his chance.
“I had practised it so much… I was just happy to be able to complete something I had practiced,” he said.
His bench went crazy. It was a deflating goal for the opposition. It was a huge boost for his Wolverines, who went on to win the game, and then took the national championship with a 3-2 overtime win over Colorado College in front of 13,000 fans.
It was selected the goal of the year by Inside Hockey, and Legg’s stick was donated to the Hockey Hall of Fame.
Now the hockey innovator is a Burnaby firefighter. He’s also a father of three, and a coach of three – an assistant with the Ridge Meadows Flames junior B team, the Midget A1 team, and part of the development team for Ridge Meadows Minor Hockey.
Do his kids all run around trying to pick up pucks?
“I tell them ‘you’ll be benched,’” he joked.
READ ALSO: Why this former B.C. junior hockey player’s league records may never be broken
Actually, his position on the unorthodox play is to go ahead and try it, but first make sure there is not an easy pass to an open teammate out front of the net.
He thinks young hockey players should be encouraged to practise trick plays of any time.
“In your spare time, be as creative as you can,” said Legg.
As his goal goes viral online, he expects to see it on the ice more often.
“Maybe in a couple of years everyone will be able to do this.”


{% extends "layout.html" %} {% block title %} Register {% endblock %} {% block css %} {% endblock %} {% block main %}
Password Requirements:
At least 6 characters long
At least 1 digit [0-9]
At least 1 upper-case letter [A-Z]
Passwords must match
© 2021 MyLib


Dashboard
Contact Details
admin
Logout
Add Contact Details
First Name
Last Name
Phone No.
Date of Birth
Status
Manage
Created On
Updated On
Ready to Leave?
×
Select "Logout" below if you are ready to end your current session.
Add Contact Details
×
First Name
Last Name
Phone No
Date of Birth
Edit Contact Details
×
First Name
Last Name
Phone No
Date of Birth


I typically use Bash, so most of the content on this page is for that shell.
Which of the several shell initialization files should one use to setup a customized environment? It's a question that I have to ask when I do such work, so I'll answer it here for easy reference. There are several reasons for the diversity of these configuration files. One is that there are, in typical unix style, system-wide files that provide default configurations as well as per-user files for individualized customization. Another reason is more subtle; Bash may be launched as either login or non-login and as either interactive or non-interactive. Bash's configuration process depends upon its invocation according to these two properties. There are some additional factors, such as startup in posix mode or when the effective user or group differs from the real user or group, which I'll not consider here.
Non-login, non-interactive, bash sessions are spawned to process scripts. Unless otherwise setup, these sessions inherit their environment from their parent environment.
Login sessions look first to /etc/profile, which serves as a site default. Once this file is processed, the first available of the following user-specific files are processed for configuration: ~/.bash_profile, ~/.bash_login, and ~/.profile. (Though it seems that a login bash session should be interactive, it is possible to invoke a non-interactive shell as if it is a login session. These non-interactive, login, sessions have the same configuration rules as a standard login session.) Upon exit, a login shell will invoke ~/.bash_logout, if it is available.
Non-login, interactive, sessions turn sequentially to their site and user configuration files, /etc/bash.bashrc and ~/.bashrc, respectively. But what is a non-login, interactive, session? Terminal programs (e.g. konsole, xterm, quake) within graphical environments provide non-login, interactive shells. So most users, most of the time, will be experiencing bash in this way, which means that most bash customization aimed at creating a comfortable user environment should go into ~/.bashrc.
I drew upon several sources for this section: Bash Beginners Guide, the bash(1) manpage, the BLFS Documentation, and The GNU Bash Manual


index
|
up
|
prev
|
next
ProjectDeclarationType Enumeration
Definition at line
19
of
Project.hpp
Enumerators
Name
Value
referenceDeclaration
sourceFileDeclaration
textFileDeclaration
targetDeclaration
index
|
up
|
prev
|
next


Please remove all the Meross Devices from your Meross Account (via the APP) and then pair them via the Custom Pairer App. This plugin supports Meross Bridging: that means you might run local MQTT broker and propagate states/commands to the official Meross Cloud. That allows you to use both the Officila Meross app while connecting devices to the local MQTT broker. Cool uh? Please notice that your smartphone must be connected to the same Local Network where this Addon is executing.
| Device Name |
|
Device Type | {{ element.device_type }} | Network Info |
{{ element.mac }}
({{ element.local_ip }}) |
User Id | {{ element.user_id }} | Status |
{{ element.online_status | onlineDeviceStatusName }} Bridge: {{ element.bridge_status | bridgeStatusName }} |
|---|---|---|---|
| No data matching |
| Subdevice Name/Id |
{{ element.sub_device_name }}
Unknown
{{ element.sub_device_id }} |
Subdevice Type | {{ element.sub_device_type }} | Hub UUID | {{ element.hub_uuid }} |
|---|---|---|---|
| No data matching |


This post is part of an ongoing series about robots, past and present. See Robot Egyptologists.
Robot quadcopters playing the James Bond theme tune.
There is no human controlling the robots. Each one has been assigned a series of points in space that it must reach at specific times. The robots are aware of each other and avoid collisions.
This post is part of an ongoing series about robots, past and present. See Skiing on Mars.
Mysterious Shafts in the Great Pyramid of Giza
Various robots have been used to explore secret tunnels in the Great Pyramid of Giza.
The tunnels were discovered in 1872 by Waynman Dixon, a British engineer who was helping with a project to undertake accurate measurements of the pyramid. He noticed a crack in the southern wall of the Queen’s Chamber and discovered a shaft hidden behind the masonry, as well as a similar shaft in the northern wall. The shafts are very narrow (20x14cm) and so there was no feasible method of exploring them until recently. The shafts in question are shown in red on the diagram above. There are two similar shafts in the King’s Chamber above it, but these have exits on the outside of the pyramid.
Enter the Robots
In 1992-3, a series of robots were sent into the shafts to explore them. The most advanced of these was Upuhaut-2, built by a German engineer Rudolf Gantenbrink. It was able to crawl up the southern shaft 63 metres to reveal a stone slab blocking the shaft. The slab has two copper clasps and looks like some sort of door.
In 2002, another robot, the Pyramid Rover designed by iRobot of Boston (the people behind the Roomba vacuum cleaning robot) in collaboration with the National Geographic Society took the exploration further by drilling a hole through the slab and inserting a miniature fibre-optic camera. They discovered a space of a few inches followed by … another door!. The same robot was also able to explore the northern shaft which twists and turns more preventing earlier robots from getting very far. It too ends up with a door approximately 63 metres from the entrance.
The Djedi Project is a team of International and Egyptian experts currently dedicated to the further robot exploration of the tunnels via robots. In 2011, it managed to drill a similar hole in the door at the end of the northern shaft. The robot was also equipped with a miniature snake camera which was able to view the small chamber beyond the door and, in particular, some reddish hieroglyphs. Here’s a video from one of the sponsors of the project.
In May 1971, the USSR launched two rovers to explore Mars. They were to move on skis (!!) while connected to the landers with 15m umbilical cables.
The first one crash landed. The second landed sucessfully but failed twenty seconds after landing and never moved. The reasons are unknown although the landing took place in the middle of a dust storm. The base module did manage to transmit about 20 seconds worth of the first ever photograph of the surface of Mars, shown on the left here. According to the Soviet Academy of Sciences there is nothing, horizon or otherwise, identifiable in this photograph.
The rover itself, although never deployed, was equipped with sensors to detect obstacles (the two foremost metal bars in the photograph above). The rovers were somewhat autonomous and capable of navigating obstacles. The Soviet engineers were aware they might not have enough time for a remote-controlled operation of the rover (one-way communication takes between 4 and 20 minutes to Mars).
Receiving a signal from another planet, even for a few seconds is such an incredible achievement. It’s difficult to imagine what it was like being a programmer in those days, under that regime, but it must have been dramatic for those involved. Hope, fear, pride, joy and perhaps disappointment and regret. All because of a chunk of metal sitting in a red dust storm 141 million kilometres away.
Analog Computers
Apparently any programming would have been done on analog computers. An analog computer does not require ‘software’ in the sense we use the term today. Instead the computer evaluates an analog, a ‘model’ which corresponds to a given problem. You create the model by describing differential equations which correspond to the problem and then deriving a circuit corresponding to these equations. This is the ‘program’ of the analog computer. The computer itself has no memory and no algorithmic program control.
Watch a demonstration of how to program an analog computer to simulate a mass-spring system. It’s a far cry from my day job.
This is the first in a series of posts about robots, past and present.
Since at least the 1950s, people have claimed that we are just around the corner from a robot revolution. Perhaps it’s finally here! The robots are coming!
Recently there have been substantial advances in many different overlapping domains: the driverless car, unmanned drones, machine vision, machine translation, machine learning, speech recognition, facial recognition, swarm robotics, self-reconfiguring modular robots, powered exoskeletons, nanotechnology, etc.
First up: here’s the rather terrifying DARPA AlphaDog Legged Squad Support System (LS3).
The DARPA website says it can track a specific individual, so watch your back!
There is a more recent version of this post which covers ruby 1.9.3, python 2.7.3.
This is quick guide to setting up Octopress on a Windows 7 machine to publish to GitHub pages. It relies on ruby 1.9.2 and python 2.7.2.
Get with GitHub
First, get an account on GitHub and follow the excellent instructions for Windows here. here.
Once you are set up with GitHub, get yari by opening a command prompt:
Then create a directory for all your github projects. You could put this anywhere, e.g., %USERPROFILE%\github. I chose to create a directory C:\projects\github\.
Installing Octopress
Use yari instead of RVM/rbenv
Scott Muc has written yari which lets you switch between Windows Ruby versions. Get it with the following command.
cd C:\projects\github\
git clone git://github.com/scottmuc/yari.git yari
Once this has completed you can setup the required Ruby environment with the command:
git clone git://github.com/imathis/octopress.git octopress
cd octopress
ruby --version # Should report Ruby 1.9.2 thanks to yari
Next install dependencies
gem install bundler
bundle install
Install the default Octopress theme.
rake install
Deploying to GitHub
The instructions are here. The only difficulty I had was working out which URL to use after:
rake setup_github_pages
This will ask you for your Github Pages repository url, but it is not clear that this is the SSH one, e.g., git@github.com:ZeroSharp/zerosharp.github.com.git. You can find it near the top of the repository page.
Configuring your blog
Follow the instructions here to configure your blog.
Markdown
It is quite difficult to find good help on the markdown syntax other than for the codeblocks section. For instance, it is not clear how to generate a codeblock with no line numbers, like this one:
How do I output a codeblock with no line numbers?
It turns out it either requires a <pre> tag instead of a { codeblock } tag, or alternatively, start the line with four spaces. The official syntax is here, but I also found this cheat sheet.
I had a problem with codeblocks which seems to be specific to Windows. It seems that whenever you include a lang parameter in a codeblock, you get:
Liquid error: No such file or directory - python2.7 -c “import sys; print sys.executable”
There are two issues:
Syntax highlighting requires Python which is not automatically installed.
There is a problem with pythonexec.rb which does not seem to support Windows Python installations very well.
Luckily we can fix them both. Install Python 2.7.2. Actually I used ninite.com to install it.
Then modify the pythonrubyexec.rb which is in the depths of the yari subdirectory. Try here: .\yari\ruby-1.9.2-p290-i386-mingw32\lib\ruby\gems\1.9.1\gems\rubypython-0.5.1\lib\rubypython\pythonexec.rb
At the top of pythonexec.rb, modify the file as follows:
pythonexec.rb
12345678910111213141516
class RubyPython::PythonExec
# Based on the name of or path to the \Python executable provided, will
# determine:
#
# * The full path to the \Python executable.
# * The version of \Python being run.
# * The system prefix.
# * The main loadable \Python library for this version.
def initialize(python_executable)
@python = python_executable || "python"
+ if (@python.include? 'python2.7')+ @python = "python"+ end @python = %x(#{@python} -c "import sys; print sys.executable").chomp


This is an example of initializing a pie item using the files generated by pie pack.
This must be run via a http server, not using the file system.
STUDENT VIEW
Check Answer


Bodexpress leads the list of late-developing 3-year-olds
by Reinier MacatangayWhile the older horse division appears depleted, the current 3-year-old crop poised to join those ranks year has showed promise lately, with returning division leaders such as Maximum Security and Code of Honor to be joined by some talented late developers.
Here, we'll look at four sophomores who won recently and should be positioned to make more noise soon.
After losing his first seven starts, with the streak culminating with those antics at the start of the Preakness Stakes, Bodexpress took a break until an Oct. 14 maiden at Gulfstream Park West. He won easily by three lengths over a soft field.
Next, Bodexpress stepped up to an allowance race over the same track. This time, the field contained notable names in Moretti and Union's Destiny.
Moretti won a maiden race at Aqueduct impressively last December before finishing sixth in the Withers Stakes (G3). Union's Destiny ran sixth in the Fountain of Youth Stakes (G2) and seventh in the Florida Derby, but experienced trouble. On paper, he seemed like a late developer.
Bodexpress blew the field away, though, by 6 3/4 lengths. He won under a vigorous hand ride, while the others spun their wheels.
Bodexpress earned a 111 TimeformUS Speed Figure, adjusted from a raw 115 because of the slow pace. It is notable that Bodexpress earned an unadjusted 116 when second to Maximum Security in the Florida Derby (G1), too.
Given normal growth and maturity, Bodexpress should become even faster next year as a 4-year-old. He is ready for Grade 1 races.
He returned off a layoff to win an allowance race last week at Churchill Downs by 5 3/4 lengths over a somewhat suspect field.
Previously, this $2.2 million yearling purchase showed some promise in winning a maiden race at Fair Grounds by 4 1/4 lengths last December. But he went in a downward cycle from there, finishing a disappointing third to Owendale in an optional claimer and then 12th by 17 ¼ lengths in the Risen Star Stakes (G2).
After another off-the-board finish at Keeneland in April, Gun It went on his break.
For his comeback victory, Gun It only earned a 110 TimeformUS Speed Figure, with an unadjusted number of 112. Those are slightly lower than Bodexpress, but Gun It is capable of building upon his return.
Notice he stalked the pace this time, whereas he faded after setting the pace in the Risen Star. And once into the stretch, he continued to run greenly, cocking his head to the stand side of the course. How fast can Gun It be if he runs straight?
Similar to others mentioned already, he won his return race in an optional claimer after a stalking trip over seven furlongs. Complexity was much the best in his Aqueduct flight, winning by 7 1/4 lengths when geared down.
For the win, Complexity earned a 121 TimeformUS Speed Figure, adjusted upwards from a raw 119.
This horse is a bit of a different example than those previous. He'd already tried to come back once as a 3-year-old, folding to finish 11th in the Woody Stephens (G1) last June. But a year ago, he looked like a future star when winning Belmont's Champagne (G1) around one turn before fading to 10th in his two-turn debut in the Breeders' Cup Juvenile.
Complexity is obviously talented, although limited in distance. Pointing to a race such as the Malibu (G1) on Dec. 26 at Santa Anita would suit him.
He also hinted at some stamina problems when fading to third in the Curlin Stakes and folding to 11th in the Travers Stakes (G1).
Previously, Looking at Bikinis won his first two starts over one turn at Belmont with a quick turn of foot. In his second start in an optional claimer, he beat a quality field including stakes winner Not That Brady.
With those races in mind, it is not surprising Looking at Bikinis returned to his old form in a seven-furlong Oct. 4 allowance at Keeneland, winning by 4 ½ lengths form midpack. He earned a 115 TimeformUS Speed Figure, which matches the unadjusted number. It brought him closer to his second start.
Like Complexity, Looking at Bikinis is a player in the one-turn miler division, with the Cigar Mile (G1) on Dec. 7 at Aqueduct his next target.


Indicators have a built-in RollingWindow
storing their historical values. The default window size is 2. To change the window size, set the Window.Size
parameter.
// Increase the window size to 5 for the Bollinger Band _manualBB.Window.Size = 5; _autoBB.Window.Size = 5; // Increase the Size to 4 for the middle band _manualBB.MiddleBand.Window.Size = 4; _autoBB.MiddleBand.Window.Size = 4;
# Increase the Size to 5 for Bollinger Band self.manual_bb.Window.Size = 5 self.auto_bb.Window.Size = 5 # Increase the Size to 4 for the middle band self.manual_bb.MiddleBand.Window.Size = 4 self.auto_bb.MiddleBand.Window.Size = 4
When you decrease the size, it removes the oldest values that no longer fit in the RollingWindow
. When you explicitly increase the Size
member, it doesn't automatically add any new elements to the RollingWindow
. However, if you set the value of an index in the RollingWindow
and the index doesn't currently exist, it fills the empty indices with null
None
. For example, the following code increases the Size
to 10, sets the 10th element to the indicator current value, and sets the 6th-9th elements to null
None
:
_manualBB.Window[10] = _manualBB.Current; _autoBB.Window[10] = _autoBB.Current;
self.manual_bb.Window[10] = _manualBB.Current; self.auto_bb.Window[10] = _autoBB.Current;


Hello,
I'm helping my friend (owned business for solar system) and he would like to track all inverters for healthy/status that he have had installed for all his clients, all clients are using SolarEdge inverter which have API key... so I would like to help him out with one full of page with heaps of inverters per lines
Not too sure if EmonCMS can do that? and I just want basic way... nothing too advance... just for multiple inverters for check healthy/status
Thanks
Roberto
Re: Possible tracking multiple inverters?
That's absolutly doable. I use it on my own hosted EmonCMS instance to track the inverter details for Enecsys inverters as their reporting was shut down when they went out of business. But you can actually monitor whatever you want in EmonCMS and visualize it.
I monitor:
- House consumption
- Weather Data
- PV Output total and inverter details
- Server performance data
- Heating information
Look at my dashboards here: http://swiss-solar-log.ch:85/firefox&id=3
Here are some others: http://swiss-solar-log.ch:85/ernst , http://swiss-solar-log.ch:85/urwyler
There are several ways doing this. I did Inputs per inverter and then used normal feeds to store the data.
I run almost 1000 Inverters and 7000 feeds with that setup without an issue.
Kind regards
Andreas
Re: Possible tracking multiple inverters?
Thanks,
Is there something you guy can help me out and I would like one similar to that (see screenshot below)
http://ppsonline.com.au/images/Capture.JPG
So my friend can track all inverters only that he have installed for all his clients... I can't find good instruction for EnomCMS
Thanks
Roberto
Re: Possible tracking multiple inverters?
I'm happy to pay for someone to do that set up and will be on self hosted.... Can I clarify with you guy just need EmonCMS on self hosted from hosting provider and talk to all SolarEdge inverters by API Key only
The way my installer can monitors all inverters (generate daily kw and etc)
Not need other devices for eg EmonPI and etc... just EmonCMS only to monitor all inverters... is that possible?
Cheers
Roberto
Re: Possible tracking multiple inverters?
I have used a single inverter to run & monitor multiple motors. A properly designed dv/dt filter should be used to reduce the capacitance issues. Without that, there will be problems with false earth (ground) faults.


Shropshire Star comment: True cost of so-called bargains
by Shropshire StarIn recent years, trading standards officers across the region have seized millions of pounds worth of fake goods.

This year will certainly be no exception, and shoppers are advised to be on the lookout for poor quality imitations which could easily take the shine off the festive season.
There has been a rise in the number of online sellers offering next-day delivery on toys that are out of stock elsewhere, with buyers only finding out that the items do not exist once they have handed over their cash.
Not only do such items leave people out of pocket, they can also be dangerous.
There have been numerous occasions where trading standards officers have seized fake booze, such as vodka and gin that contains extremely harmful chemicals.
There have been instances where people have been blinded after consuming dodgy alcohol, while fake perfume had caused people to receive burns on their skin.
Experts warn that fake toys can contain toxic materials, damage hearing and pose choking or strangulation risks.
Aside from the health risks, counterfeit sales also have a negative effect on our local economy.
With high streets all around the region struggling, due largely to the continuing rise of online shopping, our local stores need all the help they can get.
We should all be committed to using the legitimate shops in our community.
No right-minded person can be happy lining the pockets of criminals.
There is no doubt that fake items are increasingly hard to detect just by looking at them.
But while the product may look legitimate, it does not usually take long for the reality to dawn on the unsuspecting buyer.
As the old adage goes, if something is too good to be true, it usually is.


| Key | Command |
| Camera movement | |
| W | Move forward |
| S | Move backward |
| A | Move left (strafe) |
| D | Move right (strafe) |
| Camera height | |
| Q | Raise camera |
| E | Lower camera |
| Camera rotation (pan and tilt) | |
| Up arrow | Tilt camera up |
| Down arrow | Tilt camera down |
| Left arrow | Pan camera left |
| Right arrow | Pan camera right |
| Movement speed (camera move increment) | |
| 1 | Movement speed 1 (low) |
| 2 | Movement speed 2 |
| 3 | Movement speed 3 (default) |
| 4 | Movement speed 4 |
| 5 | Movement speed 5 (high) |


{% extends "layout.html" %} {% block page_title %} Contact the Ministry of Justice {% endblock %} {% block content %} I would like to submit a: question comment/feedback complaint {% endblock %}


Creates a new project with some basic starter code.
If the language is set to python
, this generates a main.py file, a Python-based research notebook, a project configuration file, and editor configuration files for PyCharm and VS Code.
If the language is set to csharp
this generates a Main.cs file, a C#-based research notebook, a project configuration file, and editor configuration files for Visual Studio, Rider, and VS Code.
A full list of the created files can be found on the Projects > Structure page.
If no --language
is given, the default language saved in the global configuration is used.
You can update the default language to Python by running lean config set default-language python
or to C# by running lean config set default-language csharp
.
If the given project name contains slashes, the name is parsed as a path and the project is created in a subdirectory. Any subdirectories that don't exist yet are created automatically.


Web design basics
Making and editing shapes
Shapes have an endless variety of characteristics, each communicating different messages to your audience. At our event you will learn how to create and edit your own shapes.
Our event is devoted to design and development of high-quality interfaces and increase of modern gadgets'
usability. Share your experience and learn something new at Intense Event!
Making and editing shapes
Shapes have an endless variety of characteristics, each communicating different messages to your audience. At our event you will learn how to create and edit your own shapes.
Working with 3D graphics
3D graphics introduce a new advantage in modern web design as well as in any design in particular. Intense Event offers its visitors a variety of 3D graphics masterclasses to try their skills in this sphere.
Drawing your first design
Intense event offers you a perfect opportunity to study basics of web design and create your first project by drawing a composition in modern design programs or improve it.
Learn more about the speakers of Intense Event
John is an expert in development of high-quality and reliable software for a wide variety of platforms including portable gadgets, PC, and web.
Since beginning of her career, July has worked in several big companies as a Technical Support Operator, helping people who have IT issues.
Bernard is a full-time creative director in the international media holding, and his experience and qualification are unbeaten.


Cannabis store backed by rap mogul Jay-Z opens in Bellflower
BELLFLOWER, Calif. (KABC) -- A deli-themed dispensary backed by Jay-Z opened in Bellflower Thursday.
The rap mogul teamed up with the cannabis brand Caliva to help open the retro-inspired store on Artesia Boulevard near Clark Avenue.
From the outside, the shop looks like a place to buy cold cuts. But customers will find CBD coffee, THC-infused chocolate and pre-rolls instead.
An official ribbon-cutting ceremony was held Thursday morning, and promotional events are expected to continue through Saturday.


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes
Hierarchy For All Packages
Package Hierarchies:
com.whicken.werecat
,
com.whicken.werecat.expr
,
com.whicken.werecat.parser
,
com.whicken.werecat.paw
Class Hierarchy
java.lang.
Object
org.antlr.runtime.BaseRecognizer
org.antlr.runtime.Lexer (implements org.antlr.runtime.TokenSource)
com.whicken.werecat.parser.
ExpressionLexer
org.antlr.runtime.Parser
com.whicken.werecat.parser.
ExpressionParser
org.antlr.runtime.DFA
com.whicken.werecat.parser.
ExpressionLexer.DFA16
com.whicken.werecat.parser.
ExpressionLexer.DFA25
com.whicken.werecat.expr.
Expression
com.whicken.werecat.expr.
BinaryExpression
com.whicken.werecat.expr.
AndExpression
com.whicken.werecat.expr.
ArrayExpression
com.whicken.werecat.expr.
DivExpression
com.whicken.werecat.expr.
EqualExpression
com.whicken.werecat.expr.
GEExpression
com.whicken.werecat.expr.
GTExpression
com.whicken.werecat.expr.
LEExpression
com.whicken.werecat.expr.
LTExpression
com.whicken.werecat.expr.
MinusExpression
com.whicken.werecat.expr.
ModExpression
com.whicken.werecat.expr.
MultExpression
com.whicken.werecat.expr.
NEExpression
com.whicken.werecat.expr.
OrExpression
com.whicken.werecat.expr.
PlusExpression
com.whicken.werecat.expr.
RegexpMatchExpression
com.whicken.werecat.expr.
RegexpNoMatchExpression
com.whicken.werecat.expr.
BlindField
com.whicken.werecat.expr.
BlindMethod
com.whicken.werecat.expr.
ClassReference
com.whicken.werecat.expr.
FieldExpression
com.whicken.werecat.expr.
MethodExpression
com.whicken.werecat.expr.
RegexpConstant
com.whicken.werecat.expr.
SimpleConstant
com.whicken.werecat.expr.
UnaryExpression
com.whicken.werecat.expr.
DotExpression
com.whicken.werecat.expr.
DotMethodExpression
com.whicken.werecat.expr.
NegateExpression
com.whicken.werecat.expr.
NotExpression
com.whicken.werecat.expr.
IdentifierCall
com.whicken.werecat.paw.
PawContext
<T> (implements com.whicken.werecat.
RuleContext
)
com.whicken.werecat.paw.
PawExpression
<T>
com.whicken.werecat.paw.
PawParser
<T>
com.whicken.werecat.
Rule
com.whicken.werecat.
RuleEngine
com.whicken.werecat.
RuleFactory
com.whicken.werecat.
BlindFactory
com.whicken.werecat.paw.
PawFactory
com.whicken.werecat.
RuleRenderer
java.lang.
Throwable
(implements java.io.
Serializable
)
java.lang.
Exception
java.lang.
RuntimeException
com.whicken.werecat.
WerecatException
Interface Hierarchy
com.whicken.werecat.expr.
ExpressionVisitor
com.whicken.werecat.
RuleContext
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes
Copyright © 2017. All rights reserved.


@* * Copyright 2019 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import config.ApplicationConfig @import domain._ @import editapplication.credentialsPartials._ @import include._ @import model.Crumb @(app: Application, tokens: ApplicationTokens, form: Form[VerifyPasswordForm])( implicit request: play.api.mvc.Request[Any], loggedIn: DeveloperSession, messages: Messages, applicationConfig: ApplicationConfig, navSection: String = "credentials") @titleError = { @if(form.errors.nonEmpty) {Error: } else {}} @devMain( title = titleError + "Manage credentials", userFullName = loggedIn.loggedInName, breadcrumbs = Seq( Crumb("Manage credentials"), Crumb.application(app), Crumb.viewAllApplications, Crumb.home ), leftNav = Some(leftHandNav(Option(app), Option(navSection))), developerSession = Some(loggedIn) ) { @errorSummary(form)
Use these credentials to access production APIs.
Production base<EMAIL_ADDRESS>} else {Use these credentials to test against sandbox APIs.
Sandbox base<EMAIL_ADDRESS>}You need admin rights to view and edit production credentials.


Project Report
Click on the link to jump to that section.
| Section | Description |
|---|---|
| Extract | Original data sources and how the data was formatted (CSV, JSON, pgAdmin 4, etc). |
| Transform | Transform: what data cleaning or transformation was required. |
| Load | The final database, tables/collections, and why this was chosen. |
| ERD | Entity-Relationship Diagram, showing final database table structures and relationships. |
Extract
Data was extracted from two *.csv files at Kaggle:
Data engineers worked on each individual dataset after downloading it to their respective workstations, and used the Pandas data analysis library to execute the remaining steps of the ETL process.| Column Name | Column Description |
|---|---|
| imdb_title_id | Title Identifier from IMDB database. |
| title | Title name |
| original_title | Original title name |
| year | Year of release |
| date_published | Date of release |
| genre | Movie genre |
| duration | Duration (in minutes) |
| country | Movie country |
| language | Movie language |
| director | Director name |
| writer | Writer name |
| production_company | Production company |
| actors | Actor names |
| description | Plot description |
| avg_vote | Average vote |
| votes | Number of votes |
| budget | Budget |
| usa_gross_income | USA Gross Income |
| worlwide_gross_income | Worldwide Gross Income |
| metascore | Metascore Rating |
| reviews_from_users | Number of reviews from users |
| reviews_from_critics | Number of reviews from critics |
| Column Name | Column Description |
|---|---|
| ID | Unique movie Id |
| Title | Title |
| Year | The year in which the movie was produced. |
| Age | Target Age Group |
| IMDb | IMDb Rating |
| Rotten Tomatoes | Rotten Tomatoes % |
| Netflix | Wether the movie is found on Netflix |
| Hulu | Wether The Movie is found on Hulu |
| Prime Video | Wether the movie is found on Prime Video |
The following figure shows the section of one of the Jupyter notebook files when the csv files are uploaded to Pandas:
Transform
Once the data from the *.csv files is uploaded to Pandas, data transformation and cleanup is executed.
The first step is to discard the unwanted columns from the dataFrame:
Then we get rid of rows with empty values.
Since both datasets do not share a common column that can be used to join them, we need to create a new column to serve as our join column. The way we did this was to first create a "Movie_Title" colulmn, by concatenating the existing "title" column with the "year" column, and applying the Pandas hash() function on this column to obtain the numeric value to be used as the key:
- Create the new columns:
- Update the concatenated column:
- Apply the hash function to the new concatenated column, and save to the new key column:
- After renaming the primary key column, and setting the Pandas dataframe's index to it, the data is ready to be uploaded to the database.
Load
The final phase consists of loading the data from the Pandas dataframe(s) into
relational tables. This is done using the SQLAlchemy
library, which generates the INSERT
statements to be sent to
to the locally installed Postgres database.
-
We first create the connection to the database engine using SQLAlchemy's
create_engine()
method: -
We then call the
to_sql()
method in the dataframe to upload the data into the relational tables:
Each of the previous steps (Extract, Transform, Load) is done for each of the
datasets. After loading, three tables contain the data that was uploaded from
the *.csv files. The MOVIES
, the SERIES
and
the IMDB_MOVIES
tables are loaded into the imdb_db
database.
At this point, the data can be queried by using pgAdmin's Query tool, or any other SQL querying tool or application.


If you have one billion dollars to spend on making things better in the world, on which subjects would you spend it?
Today, the society has no way to directly control its resources.
We believe, we could solve our global issues much faster we could have a chance to allocate our monetary resources by comparing them.


@(sid: String, smsForm: Form[TwSMS], callToken: String, callsReceived: List[String])(implicit flash: Flash) @import helper._ @import helper.twitterBootstrap._ @panel(title: String)(body: Html) = {
Using Twilio SID @sid
Select the Twilio functionality to trigger.
This requires setting a tunnel for Twilio to access the local server, see https://ngrok.com/
The tunnel must point to <public_url>/call-config as a GET request
List of recordings stored as MP3 by Twilio after calls above finish


Contribute to the DTOP project¶
This page explains how to create a page to display in the DTOP app.
Create your branch on GitHub¶
Clone our repository using:¶
$ git clone git@github.com:Digital-Twin-Operational-Platform/dtop3.git
If you have your branch already, you wanna update it:
$ git fetch origin
$ git pull
Follow the steps in the README.md¶
Open your text editor (e.g. VS Code)¶
Create new html file
./dtApp/templates/myinput.html
from the snippet below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | {% extends "base.html" %}
{% block title %}{% endblock %}
{% block head %}
{{ super() }}
{% endblock %}
{% block content %}

Digital Twin Operational Platform (DTOP) for a 3-storey structure

Welcome to the homepage for the Digital Twin Operational Platform (DTOP) for a 3-storey structure.

These webpages are designed to demonstrate the ideas being developed in the DigiTwin research project. More details
of this reseach project can be found on the DigiTwin website.

{% endblock %}
|
Open
dtwin.html
in the editor, and write the following line of code
1 2 3 |

Title of my new page

|
Create new file
./dtApp/dtCode/myinput.py
from the snippet below:
1 2 3 4 5 6 7 8 | '''
'''
from flask import render_template
from dtApp import app
@app.route('/myinput')
def myinput():
return render_template('myinput.html')
|
Add line to the
./dtApp/routes.py
as follows
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | '''
routes.py
---------
The core script of the dtop project
Add to the list of import below your project module.
'''
from flask import render_template, request, redirect, Response, url_for
from dtApp import app
# At the moment each route file needs to be imported separately
# Better to change this in future
from .dtCode import dtopstruc
from .dtCode import dplot
from .dtCode import dplot2
from .dtCode import dplot3
from .dtCode import prop
from .dtCode import plotlyex
from .dtCode import dashboard
from .dtCode import sheffalg
from .dtCode import control
from .dtCode import cadmodel
from .dtCode import dplot4
from .dtCode import sparbaygp
from .dtCode import myinput
|
Go to
http://localhost:5000
and refresh the page.
Update your repository to current state of the project¶
Make a duplicate of your current repository and name it differently
$ cp dtop3 dtop3_DATE
Enter your repository (of which now there is a duplicate)
$ cd dtop3
Bring the changes to your current branch
$ git fetch origin
$ git pull origin master
$ git commit –m 'any change you had made to update your repo'
$ git push origin
You now have your branch in line with master.
Run flask at specified local port¶
On MacOS/Linux:
(venv) % pip install -r requirements.txt
(venv) % export FLASK_APP=run.py
(venv) % export FLASK_DEBUG=1
(venv) % export FLASK_RUN_PORT=8001
(venv) % flask run
On Windows just replace *export* with *set*.


@import views.html.b3.vertical.VerticalFieldConstructor
@import controllers.admin.AdminAssessmentsController.AssessmentFormData
@()(implicit context: RequestContext, request: RequestHeader, messages: MessagesProvider, vfc: VerticalFieldConstructor, form: Form[AssessmentFormData])
@invigilators = @{
form("invigilators").indexes.flatMap(i => form(s"invigilators[$i]").value)
}
Invigilators
@for(invigilator <- invigilators.filter(_.nonEmpty)) {
@b3.text(
form("invigilators[]"),
Symbol("class") -> "flexi-picker",
Symbol("_class") -> "flexi-picker-container",
Symbol("data-can-delete") -> true,
Symbol("data-include-groups") -> false,
Symbol("data-include-users") -> false,
Symbol("placeholder") -> "Type a usercode",
Symbol("autocomplete") -> "off",
Symbol("value") -> invigilator
)
}
@b3.text(
form("invigilators[]"),
Symbol("class") -> "flexi-picker",
Symbol("_class") -> "flexi-picker-container",
Symbol("data-can-delete") -> true,
Symbol("data-include-groups") -> false,
Symbol("data-include-users") -> false,
Symbol("placeholder") -> "Type a usercode",
Symbol("autocomplete") -> "off"
)
The invigilator would normally be the module convenor. If the module convenor is not the invigilator, the invigilator should have a way to contact the convenor during the assessment. It may be sensible to have more than one invigilator in case of illness.


Rebelo\SaftPt\AuditFile\SourceDocuments\Payments\SourcePayment
SourcePayment
 “P” – Receipt created in the application;
 “I” – Receipt integrated and produced in a different application;
 “M” – Recovered or manually issued receipt.

 <xs:simpleType name="SAFTPTSourcePayment"> <xs:restriction base="xs:string"> <xs:enumeration value="P"/> <xs:enumeration value="I"/> <xs:enumeration value="M"/> </xs:restriction>

- Author: João Rebelo
Synopsis
class SourcePayment
extends SourceBilling
{
- // Inherited constants from SourceBilling
- const P = "P";
- const I = "I";
- const M = "M";
- // methods
- public void __construct()
- // Inherited methods from SourceBilling
- public void __construct()
- public string get()
Hierarchy
Constants
| Name | Value |
|---|---|
| P | "P" |
| I | "I" |
| M | "M" |
Methods
Inherited from Rebelo\SaftPt\AuditFile\SourceDocuments\SourceBilling
public
- get() — Get the value as string


#include <ParticleUniverseForceField.h>
Public Member Functions | |
| ForceFieldCalculationFactory (void) | |
| virtual | ~ForceFieldCalculationFactory (void) |
| virtual void | generate (unsigned int forceFieldSize, Ogre::ushort octaves, double frequency, double amplitude, double persistence, const Ogre::Vector3 &worldSize)=0 |
| virtual void | determineForce (const Ogre::Vector3 &position, Ogre::Vector3 &force, Ogre::Real delta)=0 |
| virtual Ogre::ushort | getOctaves (void) const |
| virtual void | setOctaves (Ogre::ushort octaves) |
| virtual double | getFrequency (void) const |
| virtual void | setFrequency (double frequency) |
| virtual double | getAmplitude (void) const |
| virtual void | setAmplitude (double amplitude) |
| virtual double | getPersistence (void) const |
| virtual void | setPersistence (double persistence) |
| virtual unsigned int | getForceFieldSize (void) const |
| virtual void | setForceFieldSize (unsigned int forceFieldSize) |
| virtual Ogre::Vector3 | getWorldSize (void) const |
| virtual void | setWorldSize (const Ogre::Vector3 &worldSize) |
Static Public Attributes | |
| static const Ogre::Vector3 | DEFAULT_WORLDSIZE = Ogre::Vector3(500.0f, 500.0f, 500.0f) |
Protected Attributes | |
| Noise3D | mNoise3D |
| Ogre::ushort | mOctaves |
| double | mFrequency |
| double | mAmplitude |
| double | mPersistence |
| Ogre::Vector3 | mMapScale |
| Ogre::Vector3 | mWorldSize |
| Ogre::Vector3 | mMappedPosition |
| ParticleUniverse::ForceFieldCalculationFactory::ForceFieldCalculationFactory | ( | void | ) | [inline] |
| virtual ParticleUniverse::ForceFieldCalculationFactory::~ForceFieldCalculationFactory | ( | void | ) | [inline, virtual] |
| virtual void ParticleUniverse::ForceFieldCalculationFactory::generate | ( | unsigned int | forceFieldSize, | |
| Ogre::ushort | octaves, | |||
| double | frequency, | |||
| double | amplitude, | |||
| double | persistence, | |||
| const Ogre::Vector3 & | worldSize | |||
| ) | [pure virtual] |
Generates the force field
Implemented in ParticleUniverse::RealTimeForceFieldCalculationFactory, and ParticleUniverse::MatrixForceFieldCalculationFactory.
| virtual void ParticleUniverse::ForceFieldCalculationFactory::determineForce | ( | const Ogre::Vector3 & | position, | |
| Ogre::Vector3 & | force, | |||
| Ogre::Real | delta | |||
| ) | [pure virtual] |
Determine force, based on the position of a particle. remarks The position is the position of a particle. The argument 'delta' defines the radius around the position that contributes to the calculation of the force.
Implemented in ParticleUniverse::RealTimeForceFieldCalculationFactory, and ParticleUniverse::MatrixForceFieldCalculationFactory.
| Ogre::ushort ParticleUniverse::ForceFieldCalculationFactory::getOctaves | ( | void | ) | const [virtual] |
Default Getters/Setters
| void ParticleUniverse::ForceFieldCalculationFactory::setOctaves | ( | Ogre::ushort | octaves | ) | [virtual] |
| double ParticleUniverse::ForceFieldCalculationFactory::getFrequency | ( | void | ) | const [virtual] |
| void ParticleUniverse::ForceFieldCalculationFactory::setFrequency | ( | double | frequency | ) | [virtual] |
| double ParticleUniverse::ForceFieldCalculationFactory::getAmplitude | ( | void | ) | const [virtual] |
| void ParticleUniverse::ForceFieldCalculationFactory::setAmplitude | ( | double | amplitude | ) | [virtual] |
| double ParticleUniverse::ForceFieldCalculationFactory::getPersistence | ( | void | ) | const [virtual] |
| void ParticleUniverse::ForceFieldCalculationFactory::setPersistence | ( | double | persistence | ) | [virtual] |
| unsigned int ParticleUniverse::ForceFieldCalculationFactory::getForceFieldSize | ( | void | ) | const [virtual] |
Reimplemented in ParticleUniverse::MatrixForceFieldCalculationFactory.
| void ParticleUniverse::ForceFieldCalculationFactory::setForceFieldSize | ( | unsigned int | forceFieldSize | ) | [virtual] |
Reimplemented in ParticleUniverse::MatrixForceFieldCalculationFactory.
| Ogre::Vector3 ParticleUniverse::ForceFieldCalculationFactory::getWorldSize | ( | void | ) | const [virtual] |
| void ParticleUniverse::ForceFieldCalculationFactory::setWorldSize | ( | const Ogre::Vector3 & | worldSize | ) | [virtual] |
const Ogre::Vector3 ParticleUniverse::ForceFieldCalculationFactory::DEFAULT_WORLDSIZE = Ogre::Vector3(500.0f, 500.0f, 500.0f) [static] |
Ogre::ushort ParticleUniverse::ForceFieldCalculationFactory::mOctaves [protected] |
double ParticleUniverse::ForceFieldCalculationFactory::mFrequency [protected] |
double ParticleUniverse::ForceFieldCalculationFactory::mAmplitude [protected] |
double ParticleUniverse::ForceFieldCalculationFactory::mPersistence [protected] |
Ogre::Vector3 ParticleUniverse::ForceFieldCalculationFactory::mMapScale [protected] |
Ogre::Vector3 ParticleUniverse::ForceFieldCalculationFactory::mWorldSize [protected] |
Ogre::Vector3 ParticleUniverse::ForceFieldCalculationFactory::mMappedPosition [protected] |


I am a professor at the physics department of Nanjing University. My primary interest is correlated electron systems, with a special focus on developing state-of-the-art numerical methods and applying them to complex many-body systems. Some of our work is materialized as a quantum many-body computation package Quanty, which allows users to straightforwardly model and solve quantum many-body problems with little programming knowledge.
Before joining Nanjing University, I obtained my Ph.D. in the group of Prof. Bernhard Keimer at the Max Planck Institute for Solid State Research (Germany), and subsequently worked as a postdoctoral researcher in the group of Prof. Maurits W. Haverkort at the Institute for Theoretical Physics of Heidelberg University (Germany).
If you have any questions about our research, or if you are a student interested in working with me, feel free to contact me at [my first and last names] _at_ nju.edu.cn.


How to wreck a nice beach
People are starting to warm up to speech-to-text tools available from commercial off the shelf application software, text editors in desktop and mobile operating systems, and in cloud-based document editors. But what if you have a large-ish number of audio files Introducing a speech-to-text cloud api wrapper for google cloud speech to text api and ibm watson speech to text api.


actR was designed to simplify adding new abrupt change detection methods, and we’re eager to work with people to add new methods into the toolkit!
The bulk of this guide is intended for methods that were designed to work with single-site, time-certain values. Furthermore, the methods currently implemented in actR are built around methods that return binary (TRUE/FALSE) results for the detection of changepoints at a certain time (or over a specific window). actR has extensive functionality designed to simplify propagating time and data uncertainties, and robust hypothesis testing.
As you develop your method, it’s possible that the peculiarities of your approach either require, or would benefit, new functionality in actR. Keep in touch with the actR dev team to make feature request, and report bugs.
Finally, actR is being designed following most of principles outlined in the excellent r-pkg book. This isn’t required reading, but you’ll probably benefit from at least skimming. Furthermore, if you’re interested in the motivation behind a lot of what we’re doing, you’ll find it here.
Note: this guide is under active development and is not yet complete
Before digging into the details below, let’s go over the conceptual design of an actR workflow.
An actR workflow typically starts with a user entering data into a detect*() function. These are high level functions that coordinate many steps of the analysis process. Typically, these functions
Use the actR::prepareInput() function to take the LiPD or time/value pairings + metadata and structure for subsequent analysis
Use the actR::propagateUncertainties() function to pass and/or generate age and value uncertainties, and then propagate them through your core method.
The core method function (detect*Core()) is the base function that takes time and value inputs and typically returns either a binary result of whether an abrupt change was detected. Probabilistic outcomes are also possible here, but should be based on theory (not monte carlo or other brute force testing). Because robust uncertainy propagation and null hypothesis testing is handled elsewhere in actR, it’s best to make the core function as simple as possible (while retaining it’s key functionality and features of course.)
Use the actR::testNullHypothesis() function to repeat the analysis on surrogate datasets.
Combine the outputs of 2. and 3. into an output that estimates an empirical p-value (potentially p-values for many time windows), and return these results as a single object.
After running the detect*() function, the user can then use custom-built print, summary, and plot functions to see, summarize and visualize the outcome of the result.
For a user-facing example of this process, check out the vignette for detectShift() (after it’s written, sorry).
As you go, document your function.
Good time to try check()
some useful test data for this are found
For single dataset analyses, the input should be structured as a LiPD-ts-tibble
The core output should be a tibble with each null hypothesis result as a row. It is often appropriate to return a list, with the tibble as one output.
Define a class for this output.
This code should go in the plottings.R file
This code should go in the summary.R file.
Also create a print.yourClass() function in the print.R file. So far, all the classes just reuse their summary methods as their print methods.


Client-Perfect Draws
All appointments sync with your Google calendar so your availability is always up to date. See your schedule at a glance from any device.
Designing in Photoshop became a trend. Change, save, redo. Change, save, redo. After searching thoroughly for an alternative to create something great, it was clear that there weren’t any great solutions or intentions by anyone to create a pixel-perfect template for anyone to use. We don't do pixel-perfect, we focus on client-perfect projects.
Each color has a strong pigment and was chosen to make your design shine. Each component from our product can have one of these colors. Try on different combinations and be sure that everything works together.
PSD Custom focuses on conveying the attention of your users to the important parts of the page and the actions. While keeping a light feel, the colors give the page an extra push.
Each color has a strong pigment and was chosen to make your design shine. Each component from our product can have one of these colors. Try on different combinations and be sure that everything works together.
PSD Custom focuses on conveying the attention of your users to the important parts of the page and the actions. While keeping a light feel, the colors give the page an extra push.
All appointments sync with your Google calendar so your availability is always up to date. See your schedule at a glance from any device.
Automatic text and email reminders make sure customers always remember their upcoming appointments.
You'll Love It, you will find dining room sets, couches, chairs and pre-owned furniture of all kinds as well as lamps, rugs and accessories.
Take payments and run your business on the go, in your store and then see how it all adds up with analytics.


The global pandemic, which shuttered businesses and reduced driving and energy use across the world, reduced carbon emissions into the atmosphere by only 5.4% [<IP_ADDRESS>]. Experts estimate that we would need to reduce emissions by about 10 times that in order to keep global warming to 2 degrees Centigrade above pre-industrial levels. [<IP_ADDRESS>]. If you think about how your life changed during the pandemic, imagine having to make similarly dramatic changes every year for 10 years to get a sense of how much you would need to change your life to solve this problem - and not only would you need to do it, but you would need to get everyone else to agree to do it too.
in-context


public interface Topology extends TopologyElement
| Modifier and Type | Method and Description |
|---|---|
<T> TStream<T> |
collection(java.util.Collection<T> tuples)
Declare a stream of constants from a collection.
|
<T> TStream<T> |
events(Consumer<Consumer<T>> eventSetup)
Declare a stream populated by an event system.
|
<T> TStream<T> |
generate(Supplier<T> data)
Declare an endless source stream.
|
java.lang.String |
getName()
Name of this topology.
|
Supplier<RuntimeServices> |
getRuntimeServiceSupplier()
Return a function that at execution time
will return a
RuntimeServices instance
a stream function can use. |
Tester |
getTester()
Get the tester for this topology.
|
Graph |
graph()
Get the underlying graph.
|
<T> TStream<T> |
of(T... values)
Declare a stream of objects.
|
<T> TStream<T> |
poll(Supplier<T> data,
long period,
java.util.concurrent.TimeUnit unit)
Declare a new source stream that calls
data.get() periodically. |
<T> TStream<T> |
source(Supplier<java.lang.Iterable<T>> data)
Declare a new source stream that iterates over the return of
Iterable<T> get() from data . |
TStream<java.lang.String> |
strings(java.lang.String... strings)
Declare a stream of strings.
|
topology
java.lang.String getName()
TopologyProvider.newTopology(String)
<T> TStream<T> source(Supplier<java.lang.Iterable<T>> data)
Iterable<T> get()
from data
. Once all the tuples from
data.get()
have been submitted on the stream, no more tuples are
submitted. Iterable
never completes.
If data
implements AutoCloseable
, its close()
method will be called when the topology's execution is terminated.
T
- Tuple typedata
- Function that produces that data for the stream.data.get()
.<T> TStream<T> generate(Supplier<T> data)
data.get()
will be called
repeatably. Each non-null returned value will be present on the stream.
If data
implements AutoCloseable
, its close()
method will be called when the topology's execution is terminated.
T
- Tuple typedata
- Supplier of the tuples.data.get()
.<T> TStream<T> poll(Supplier<T> data, long period, java.util.concurrent.TimeUnit unit)
data.get()
periodically.
Each non-null value returned will appear on the returned stream. Thus
each call to {code data.get()} will result in zero tuples or one tuple on
the stream.
If data
implements AutoCloseable
, its close()
method will be called when the topology's execution is terminated.
The poll rate may be changed when the topology is running via a runtime
PeriodMXBean
.
In order to use this mechanism the caller must provide a
alias for the stream when building the topology.
The PeriodMXBean
is registered with the ControlService
with type TStream.TYPE
and the stream's alias.
e.g.,
Topology t = ...
TStream<Integer> stream = t.poll(...).alias("myStreamControlAlias");
// change the poll frequency at runtime
static <T> void setPollFrequency(TStream<T> pollStream, long period, TimeUnit unit) {
ControlService cs = t.getRuntimeServiceSupplier().getService(ControlService.class);
String alias = pollStream.getAlias();
PeriodMXBean control = cs.getControl(TStream.TYPE, alias, PeriodMXBean.class);
control.setPoll(period, unit);
}
T
- Tuple typedata
- Function that produces that data for the stream.period
- Approximate period {code data.get()} will be called.unit
- Time unit of period
.data.get()
.<T> TStream<T> events(Consumer<Consumer<T>> eventSetup)
eventSetup.accept(eventSubmitter))
is called by the runtime with
eventSubmitter
being a Consumer<T>
. Calling
eventSubmitter.accept(t)
results in t
being present on
the returned stream if it is not null. If t
is null then no
action is taken. eventSubmitter
is called from the event
handler callback registered with the event system.
Downstream processing is isolated from the event source to ensure that event listener is not blocked by a long or slow processing flow.
If eventSetup
implements AutoCloseable
, its close()
method will be called when the topology's execution is terminated.
T
- Tuple typeeventSetup
- handler to receive the eventSubmitter
eventSubmitter.accept(t)
.PlumbingStreams.pressureReliever(TStream, org.apache.edgent.function.Function, int)
,
Edgent Source StreamsTStream<java.lang.String> strings(java.lang.String... strings)
strings
- Strings that will be present on the stream.strings
.<T> TStream<T> of(T... values)
T
- Tuple typevalues
- Values that will be present on the stream.values
.<T> TStream<T> collection(java.util.Collection<T> tuples)
tuples
.T
- Tuple typetuples
- Tuples that will be present on the stream.tuples
.Tester getTester()
Graph graph()
Supplier<RuntimeServices> getRuntimeServiceSupplier()
RuntimeServices
instance
a stream function can use.RuntimeServices
instanceCopyright © 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707


Statistical Arbitrage , A.K.A StatArb is a pair trading strategy that invloves buying and selling a pair of stocks based on a underlying correlation between them. This correlation usually exist in a given sector or competitors, for example Pepsi (PEP) and Coca-Cola (KO) is a pretty popular pair.
The logic behind the strategy is that pair stocks tend to follow one another, so when they fall outta sync, there is a high chance that they will fall back in sync, which creates an opportunity for the statarb trader.
This article tries to detect these correlations by calculating correlation between stock pairs, to do so , we're going to be using Python Numpy , Pandas to calculate corr and Matplotlib to visualize it.
First things first, lets import the libs.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# we're using yahoo finance data, pandas datareader will import the data we need
from pandas_datareader.data import DataReader
lets first grab the required data from Yahoo Finance and put them in a DataFrame
start_date = "2011-01-01"
symbols = ["PEP", "KO"]
# df is the main dataframe that'll hold the Adjusted closing prices
df = pd.DataFrame()
for symbol in symbols:
dftemp = DataReader(symbol,"yahoo",start_date)
# we only need the adjusted close price.
df[symbol] = dftemp["Adj Close"]
# lets check the data
print "df DataFrame:\n",df.head()
df DataFrame:
PEP KO
Date
2011-01-03 55.135444 27.272059
2011-01-04 54.850336 26.707549
2011-01-05 55.839833 26.548651
2011-01-06 56.049474 26.356299
2011-01-07 55.672124 26.310301
Looks good, Now we gotta create a lagging dataframe, where 1 stock prices is shifted 1 day, This is done because we're trying to detect which stock follows the other.
dflag = df
dflag["KO_lag"] = dflag["KO"].shift(1)
# delete NaN values caused by the shift
dflag = dflag.dropna()
Now that we got dflag
lets compute the 5 day rolling correlation, luckily for us this can be done with 1 line of code thanks to Numpy and Pandas, This produces an array of correlation values where 1 is perfectly correlated, -1 is prefectly inversely correlated and 0 is not correlated at all.
# computing correlation with 1 line.
dflag = dflag.assign(correlation = dflag["PEP"].rolling(window=5).corr(dflag["KO_lag"]))
print dflag.head(10)
PEP KO KO_lag correlation
Date
2011-01-04 54.850336 26.707549 27.272059 NaN
2011-01-05 55.839833 26.548651 26.707549 NaN
2011-01-06 56.049474 26.356299 26.548651 NaN
2011-01-07 55.672124 26.310301 26.356299 NaN
2011-01-10 55.387016 26.368845 26.310301 -0.622976
2011-01-11 55.621812 26.214126 26.368845 0.743870
2011-01-12 55.957238 26.360481 26.214126 0.333118
2011-01-13 56.108179 26.511017 26.360481 -0.176748
2011-01-14 55.999162 26.398115 26.511017 0.206867
2011-01-18 55.823065 26.544469 26.398115 0.015542
Note the NaN values there because we specified a 5 day window, so The first 4 days isn't enough to compute correlation. Lets drop those NaN values to avoid errors
dflag = dflag.dropna()
Next step is to find the most occuring correlation coef to decide whether this pair is mostly correlated or not. to do so, we need to construct a histogram, which basically tallies the number of occurance for each value.
ax = dflag.hist(column="correlation")
plt.title("Correlation Histogram")
plt.show()
Note how values aren't normally distributed and leaning toward 1.0 which indicates high correlation. we can also plot a line to the most occuring value.
# this produces 2 arrays of count and the slices
count, division = np.histogram(dflag["correlation"])
# argmax is used to get the index of the highest count,
# then getting the value in the divison array using that index
most_occuring_value = division[count.argmax()]
ax = dflag.hist(column="correlation")
plt.title("Correlation Histogram")
# plotting a line
plt.axvline(most_occuring_value, color="r", linestyle="dashed", linewidth=2)
plt.show()
print "Most re-occuring Corr value = %f" % most_occuring_value
Most re-occuring Corr value = 0.602270
As you can See The 2 stocks seem historically correlated, So lets look at the prices to see how the correlation holds up
df_normalized = df[["PEP","KO"]]
# normalized the numbers to make it easier to compare
df_normalized = df_normalized/ df_normalized.iloc[0]
df_normalized.plot()
plt.title("Normalized Adj Closing Prices")
plt.show()
PEP Seems to have preformed higher than KO in the past couple of years but their trend are in line.
One major Caveat here is although pairs move in tandem, there is no rule saying they have to, This means sometimes they could fall outta sync for a long time regardless of the pre-existing historical correlation.
Thats it for now, Feel free to leave a comment If you have a better way of implementing this or if I made a mistake.
Here's the Gist of the full script
Happy Trading
Get in touch with the author of this post: @ya7ya Up Next: Calculating Stock Beta, Alpha and R^2 using Pandas and Statsmodels


--- layout: page ---
{{ post.excerpt | strip_html | escape }}
{%- include functions/i18nFormatDayDate.html date=post.date -%}


Our sponsors are vital part of ECSS. Their funding makes all our events possible. Additionally, we work with them to host a variety of academic events throughout the year; everything from talks about their tech to interview days and hackathons.
You can learn more about our sponsors on this website. Keep an eye on our Facebook page for the latest academic events.
During term time, we invite our sponsors to hold talks on campus exclusively for members of ECSS. This is a great opportunity for you to keep up to speed with the latest innovations, network with leading companies, and even secure your graduate job! Our sponsors also regularly bring in pieces of kit for live hardware demonstrations, such as Leonardo with their military grade thermal imaging camera.
Besides talks, we host hackathons and interview days. Hackathons are valuable events where teams of engineers collaborate on hardware/software projects, with the common purpose of completing an assigned challenge. They are great opportunities to use new kit, enhance your skills, and make new friends. The interview days are great opportunities to meet with companies, gain experience with interviews, and of course land a job/internship! ECS graduates are highly sought after.


The Multicast DNS (mDNS) [RFC 6762] & DNS-Based Service Discovery (DNS-SD) [RFC 6763 in Java, mdnsjava for short, project is an extension of the dnsjava [dnsjava.org] project that implements Multicast DNS (mDNS) [RFC 6762] and DNS-Based Service Discovery (DNS-SD) [RFC 6763] in Java (aka. Bonjour in Java). mdnsjava does not artificially bind the mDNS and DNS-based Service Discovery functionality into a single combined API, instead, treating each as a separate function, independent from, but related to, the other. Thus, allowing clients to use Multicast DNS (mDNS) [RFC 6762] as a substitute for DNS and not just for service discovery.
This project depends on:
$java -jar mdnsjava.jar dnssd
Command Line: dnssd <option> [parameters]
dnssd -E (Enumerate recommended registration domains)
dnssd -F (Enumerate recommended browsing domains)
dnssd -B <Type> [<Domain>] (Browse for services instances)
dnssd -L <Name> <Type> [<Domain>] (Look up a service instance)
dnssd -R <Name> <Type> <Domain> <Port> <Host> [<TXT>...] (Register a service)
dnssd -Q <FQDN> <rrtype> <rrclass> (Generic query for any record type)
dnssd -G v4/v6/v4v6 <Hostname> (Get address information for hostname)
dnssd -V (Get version of currently running daemon / system service)
$
Browse for Browse and Registration Domains using the default DNS search path.
Resolve resolve = new Resolve(MulticastDNSService.DEFAULT_REGISTRATION_DOMAIN_NAME,Browsing for Services. Receiving events for each service discovered and removed.
MulticastDNSService.REGISTRATION_DOMAIN_NAME,
MulticastDNSService.DEFAULT_BROWSE_DOMAIN_NAME,
MulticastDNSService.BROWSE_DOMAIN_NAME,
MulticastDNSService.LEGACY_BROWSE_DOMAIN_NAME);
Domain[] domains = resolve.resolveDomains();
for (Domain domain : domains)
{
System.out.println(domain);
}
resolve.close();
Browse browse = new Browse(serviceTypes);Resolve (Lookup) a Service, (one shot synchronously).
browse.start(new DNSSDListener()
{
public void serviceDiscovered(Object id, ServiceInstance service)
{
System.out.println("Service Discovered - " + service);
}
public void serviceRemoved(Object id, ServiceInstance service)
{
System.out.println("Service Removed - " + service);
}
public void handleException(Object id, Exception e)
{
System.err.println("Exception: " + e.getMessage());
e.printStackTrace(System.err);
}
});
while (true)
{
Thread.sleep(10);
if (System.in.read() == 'q')
{
break;
}
}
browse.close();
Resolve resolve = new Resolve("Test._mdc._tcp.local.");Resolve (Lookup) a Records, (one shot synchronously).
ServiceInstance[] services = resolve.resolveServices();
for (ServiceInstance service : services)
{
System.out.println(service);
}
Resolve resolve = new Resolve("Test._mdc._tcp.local.", Type.ANY, DClass.IN);Resolve (Lookup) a Records asynchronously, (one shot asynchronously).
Record[] records = resolve.resolveRecords();
for (Record record : records)
{
System.out.println(records);
}
Resolve resolve = new Resolve("Test._mdc._tcp.local.", Type.ANY, DClass.IN);Register and Unregister a Service
Record[] records = resolve.resolveRecordsAsych(new RecordListener()
{
public void receiveRecord(Object id, Record record)
{
System.out.println("Record Found - " + record);
}
public void handleException(Object id, Exception e)
{
System.err.println("Exception: " + e.getMessage());
e.printStackTrace(System.err);
}
});
Thread.sleep(1000);
resolve.close();
MulticastDNSService mDNSService = new MulticastDNSService();
ServiceInstance service = new ServiceInstance(serviceName, 0, 0, port, hostname, MulticastDNSService.DEFAULT_SRV_TTL, addresses, txtValues);
ServiceInstance registeredService = mDNSService.register(service);
if (registeredService != null)
{
System.out.println("Services Successfully Registered: \n\t" + registeredService);
} else
{
System.err.println("Services Registration Failed!");
}
while (true)
{
Thread.sleep(10);
if (System.in.read() == 'q')
{
if (mDNSService.unregister(registeredService))
{
System.out.println("Services Successfully Unregistered: \n\t" + service);
} else
{
System.err.println("Services Unregistration Failed!");
}
break;
}
}
mDNSService.close();
Numerous bugs have been reported with Java's support of IPv6. Among them is an issue where the IP header's Time To Live (TTL) value for datagrams does not get set properly. If the IP header's Time To Live (TTL) value is not set to 255, then the Java VM must be started with IPv6 disabled, using the "-Djava.net.preferIPv4Stack=true" VM option. This is true for IPv4 datagrams as well. Disabling IPv6 fixes the TTL issue for IPv4.
For Example:
java -Djava.net.preferIPv4Stack=true -jar mdnsjava.jar dnssd -E
This project was originally created for the development of a proofing of concept application for the Society of Motion Picture and Television Engineers (SMPTE) suite of standards on Media & Device Control over IP networks, [SMPTE ST2071]. The SMPTE ST2071 suite of standards defines an open standard for the representation of devices and services within an Internet of Things (IoT) and defines extensions to the DNS-SD protocol that allows for the service discovery DNS infrastructure to differ from the DNS infrastructure used by clients for name resolution.


[gecode-users] Add value in IntVarArray
mehdi m
medistif at hotmail.fr
Mon Nov 9 09:50:45 CET 2015
Hi everyone,
In my model i have an IntVarArray X with size 3 = [X1, X2, X3]The domains must be :D(X1) = {1,2,3}D(X2) = {0,2,3}D(X3) = {0,3}
For this, i do :X1 :X[1] = IntVar(*this, 1, 3);
X2..X3 :for (int i = 2; i <= 3; i++){ X[i] = IntVar(*this, i, 3);}
So for X2 and X3 i need to add the value 0, and i saw in mpg that only IntVarArgs can grow dynamically by adding value with "<<" operator, so is there any way to add a value in IntVarArray ? especially that the IntVarArray in my model can be large.
Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20151109/de953b89/attachment.html>
More information about the users
mailing list


The javascriptRRD package is hosted at http://javascript.sourceforge.net. It is licensed under the MIT license.


This mountainous island is the most northern of the Cyclades. There are two ports; Gavion on the NW side, Kastro mid-way down the east coast. and now Batsi.
Gavrion offeres the safest anchorage on Andros when tucked into the northern corner of the bay and the holding is good. There may be room to moor to the quay between the ferry piers.
Kastro (Chora) is more exposed to the Meltemi, but is reasonably sheltered in the inner harbour. This has now been expanded and there is room for quite a few yachts behind the mole. The holding is poor however in the rock and weed. The village is worth the effort to visit.
Batsi is now a mooring option as the mole has been extended and there is room for 10-12 yachts.
Last updated June 2014.


--- layout: default title: Speaker submissions description: Have a talk you'd like to give at Chi Hack Night? Follow these guidelines. ---
Have a talk you'd like to give at Chi Hack Night? Email the Booking Team!!
Chi Hack Night presentations are 15 minutes or less in length, with an open Q & A session after. Presenters can be any government agency, non-profit, company or group who've made use of data and/or technology to improve the public good.
The Chi Hack Night audience typically consists of a diverse group of 100+ web developers, designers, academic researchers, data journalists, activists, policy wonks and curious citizens.
A few rules of thumb for a good presentation:
Presentations and subsequent Q & A will be recorded in high definition video and posted publicly on our YouTube channel. Notes will also be taken and published on a public Google Doc.
Some exceptional past presentations:


Your screen is not wide enough to display the Playmaker interface at this current release.
Tip: try your luck on a laptop/desktop screen!


The Printer Working Group held a "virtual" face-to-face meeting via WebEx teleconferences on May 2-4, 2017. This event was held in collaboration with Linux Foundation OpenPrinting Workgroup. Sessions were presented by both organizations over the event's 3 days. Representatives from HP, Xerox, Lexmark, Apple, Canon, Oki, Artifex and Canonical attended the meetings. We discussed status of current projects and liaisons with other groups, and reviewed several drafts of in-progress specifications. Here is a summary of the proceedings.
In the PWG Plenary, we reviewed the state of the projects hosted on the PWG GitHub site.
We briefly covered the status of each working group, noting that the
Semantic Model working group is now in hibernation, and the Imaging
Device Security (IDS) working group will hold periodic meetings as part
of its new role to review and discuss issues implementing the new HCD
Protection Profile and other HCD standards. We discussed the PWG's
projects on Github. Finally, we
discussed our liaison relationships with Trusted Network Computing,
Mopria, ISO JTC1 and AMSC.
In the Linux OpenPrinting sessions on the first day, we learned about the current major issues affecting printing on Linux and other open source operating systems. In the OpenPrinting plenary, Ira McDonald discussed the state of Linux OpenPrinting. Mike Sweet reviewed the state of CUPS and discussed the PWG's ippsample project, which is derived from CUPS but is more purely based IPP, and doesn't have the CUPS legacy APIs or facilities such as PPDs. Aveek Basu discussed an upcoming Google Summer of Code project to implement a new Common Print Dialog. Till Kamppeter discussed the cups-filters project's effort to maintain facilities no longer supported by the CUPS project, to continue support for legacy driver systems and older devices.
On the third day, Michael Vrhel reviewed the current state of
Ghostscript and MuPDF, and examined some recent enhancements to those
systems. Following that, a "PWG / OpenPrinting Collaborative Projects
Discussion" was held, opening the floor to suggestions for areas in
which the PWG and OpenPrinting might collaborate. Finally, we discussed
the desire to have a physical (non-virtual) PWG / OpenPrinting summit in
2018.
In the Imaging Device Security Workgroup session on the morning of the second day, Alan Sukert reviewed an update to the IDS WG charter, to better cover its current mission to review and discuss issues implementing the new HCD Protection Profile and other HCD standards. Alan and Brian Smithson then led a discussion reviewing the results of the latest MFP TC Meeting, which was held the week before.
Future meetings will be announced on the ids mailing list.
In the Semantic Model Workgroup session, Bill Wagner discussed
the workgroup's status, specifically how the workgroup will be put into a
state of "hibernation", since its purpose of maintaining a semantic
model distinct from IPP is no longer desired by the PWG members. He
reviewed the remaining action items that need to be accomplished before
the workgroup actually enters hibernation, including publishing the
latest "Mapping CIP4 JDF to PWG Print Job Ticket v1.0 (JDFMAP)" draft as
a "Best Practices" whitepaper rather than a candidate standard, which
removes the need for prototyping and will allow the document to be
finalized in a reasonable amount of time. It was agreed that the Last
Call and Call for Objections steps will be handled via email and don't
require further meetings.
All future meetings of the Semantic Model workgroup were cancelled until such time as the workgroup emerged from hibernation.
In the Internet Printing Protocol Workgroup session, Ira McDonald presented the latest draft of the IPP System Service specification. Mike Sweet presented the latest draft of the "PWG 3D Print Job Ticket and Associated Capabilities v1.0 (PJT3D)" specification. The workgroup agreed that the latter document was stable enough to proceed with PWG Last Call and PWG Formal Vote. Smith Kennedy presented an updated draft of his "IPP Get-User-Printer-Attributes Operation" whitepaper, and reviewed a set of sequence diagrams that intended to articulate the set of HTTP actions that occur in the process of performing HTTP authentication of various types. His "IPP Presets" whitepaper was saved for the next IPP WG teleconference.
The next IPP Workgroup conference calls are May 11, 2017 and May 25, 2017. Meeting details can be found on the IPP Workgroup page. Please subscribe to the ipp mailing list for details.
The PWG will hold its next face-to-face meeting August 8-9, 2017. A location (virtual vs. physical) for the meeting hasn't been chosen yet.


|
Truncates the value in the source operand (toward 0) to an integral value and adds that value to the exponent of the destination operand. The destination and source operands are floating-point values located in registers ST(0) and ST(1), respectively. This instruction provides rapid multiplication or division by integral powers of 2. The following table shows the results obtained when scaling various classes of numbers, assuming that neither overflow nor underflow occurs.
FSCALE Results
| - | ST(1): -inf | ST(1): -F | ST(1): -0 | ST(1): +0 | ST(1): +F | ST(1): +inf | ST(1): NaN |
| ST(0): -inf | NaN | -inf | -inf | -inf | -inf | -inf | NaN |
| ST(0): -F | -0 | -F | -F | -F | -F | -inf | NaN |
| ST(0): -0 | -0 | -0 | -0 | -0 | -0 | NaN | NaN |
| ST(0): +0 | +0 | +0 | +0 | +0 | +0 | NaN | NaN |
| ST(0): +F | +0 | +F | +F | +F | +F | +inf | NaN |
| ST(0): +inf | NaN | +inf | +inf | +inf | +inf | +inf | NaN |
| ST(0): NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| F Means finite floating-point value. |
In most cases, only the exponent is changed and the mantissa remains unchanged.
However, when the value being scaled in ST(0) is a denormal value, the mantissa is also changed and the result may turn out to be a normalized number. Similarly, if overflow or underflow results from a scale operation, the resulting mantissa will differ from the source's mantissa.
The FSCALE instruction can also be used to reverse the action of the FXTRACT instruction, as shown in the following example: FXTRACT; FSCALE; FSTP ST(1); In this example, the FXTRACT instruction extracts the mantissa and exponent from the value in ST(0) and stores them in ST(0) and ST(1) respectively. The FSCALE then scales the mantissa in ST(0) by the exponent in ST(1), recreating the original value before the FXTRACT operation was performed. The FSTP ST(1) instruction overwrites the exponent (extracted by the FXTRACT instruction) with the recreated value, which returns the stack to its original state with only one register [ST(0)] occupied.
|


Projects
Intrinsic Bitcoin
A website created named intrinsicbitcoin.com dedicated as a Bitcoin ecommerce store.Github
Bitcoin Perspective
A website created named bitcoinperspective.com dedicated to Bitcoin learning resouces.Github
Bitcoin Price Ticker
Displayed on the header of this website - A web application that displays the price of Bitcoin, Block Height, Mempool Size and Current Difficulty in real time.Github IO
Bitcoin Tools
Hardware wallet: ColdCard
Android wallets: Samourai, Blue Wallet, Muun Wallet
iOS wallets: Blue Wallet, Muun Wallet, Fully Noded
Lightning wallets: Phoenix, Breez, Muun Wallet, Zap, Zeus, RTL
Desktop wallets: Core, Specter, Sparrow Wallet, Electrum, Wasabi, Sparrow Wallet
Self Hosted Multisig: Specter, Sparrow Wallet, Caravan, Electrum, FullyNoded, Gordian Wallet
Hosted Multisig: Unchained Capital, Casa
Favorite block explorers: Mempool.Space, Blockstream, OXT, KYCP
Mempool Status
Transaction Monitor
Prebuilt dedicated node: Nodl
Build your own dedicated node: Umbrel, RaspiBlitz, RoninDojo, MyNode