public final class SampleSearch
extends java.lang.Object
| Constructor and Description |
|---|
SampleSearch(java.util.Map<EntityID,java.util.Set<EntityID>> graph)
Construct a new ConnectionGraphSearch.
|
SampleSearch(StandardWorldModel world)
Construct a new SampleSearch.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.List<EntityID> |
breadthFirstSearch(EntityID start,
java.util.Collection<EntityID> goals)
Do a breadth first search from one location to the closest (in terms of number of nodes) of a set of goals.
|
java.util.List<EntityID> |
breadthFirstSearch(EntityID start,
EntityID... goals)
Do a breadth first search from one location to the closest (in terms of number of nodes) of a set of goals.
|
java.util.Map<EntityID,java.util.Set<EntityID>> |
getGraph()
Get the neighbourhood graph.
|
void |
setGraph(java.util.Map<EntityID,java.util.Set<EntityID>> newGraph)
Set the neighbourhood graph.
|
public SampleSearch(StandardWorldModel world)
world
- The world model to construct the neighbourhood graph from.public void setGraph(java.util.Map<EntityID,java.util.Set<EntityID>> newGraph)
newGraph
- The new neighbourhood graph.public java.util.Map<EntityID,java.util.Set<EntityID>> getGraph()
public java.util.List<EntityID> breadthFirstSearch(EntityID start, EntityID... goals)
start
- The location we start at.goals
- The set of possible goals.public java.util.List<EntityID> breadthFirstSearch(EntityID start, java.util.Collection<EntityID> goals)
start
- The location we start at.goals
- The set of possible goals.


UDPATE: The reason for switching to JRuby the native neo4j API. Have to use REST API with MRI.
This is just a quick recap of what issues I have had trying to switch existing app from MRI Ruby (1.9.3) to JRuby (1.6.4).
Unfortunately I stepped back and didn't want to spend more time as it felt an unbreakable chain of issues. Resolving one, you think "huh, awesome". But very soon you hit the next.
And I couldn't see it stopping.
But PLEASE bear in mind that I only spent a couple of hours on that. With a little bit more persistence, you may be able to the end of the tunnel.
The overall impression is that it is not a big deal really. The problems arise when trying to use other libraries. And unfortunately, not all of the gems care deep enough to support JRuby. And this is the biggest issue in my opinion, there are very little issues with JRuby itself. The transition (from the syntax perspective) was extremely easy.
The application is pretty standard Rails 3.1 app that uses gems like Dragonfly, inherited_resources, cancan, paper_trail, Authlogic, CoffeeScript, Haml, Sass, Formtastic etc. For testing - things like rspec-rails, cucumber-rails, capybara-webkit, guard (rspec and cucumber), database_cleaner etc.
So here is a quick list of the things that I faced on my way.
Before everything else I enabled support for 1.9 syntax in JRuby (export JRUBY_OPTS=--1.9).
It all first started with the weird issue where the wrong arguments were passed to RSpec shared example.
Unfortunately I did not figure out why it happened and just patched it as you can see in the comments there.
After fixing this issue I had another one related to database_cleaner. So I ended up with a pull request that worked for me.
The other issue was a huge stack trace. I scrolled 3 pages in the terminal to get to the top. Most of that stack trace is deep inside Java. Additionally I got wrong line number on exception. This "features/step_definitions/company_steps.rb:234" makes me thing that the exception is at line 234. But that file only had 49 lines of code. Now, go figure.
Going on... SimpleCov gem didn't work out of the box and gave the warning that I need to enable debugging. That's fine and understandable. But after half an hour of debugging of unrelated exception, it turned out that SimpleCove threw an exception because of that. So had to go and explicitly disable it.
Then I managed to run all of my specs. But I was pretty surprised how slow it was:
Ok. That's fine. I can trust it's fast.
Then I tried running the cucumber specs and had to file the issue to support new Ruby 1.9.3 syntax (a = b = f 1). Not a big deal, easily fixed with parens: a = b = f(1).
Next and the final issue - I could not run the headless cucumber specs (capybara-webkit). It just got stuck (no CPU used) and feels like there is a dead-lock or something similar.
I couldn't see way of fixing it easily and decided that for now I am done with it. So going back to Ruby 1.9.3.
To summarise, I did not feel like it's a problem to switch to JRuby. But it's really a big deal to actually use it due to the number of C extensions that JRuby doesn't really support.
Again, to emphasise, there is nothing horribly wrong with JRuby and it seems to be pretty good. But the real showstoppers are the C extensions.
This is just a quick recap of what issues I have had trying to switch existing app from MRI Ruby (1.9.3) to JRuby (1.6.4).
Unfortunately I stepped back and didn't want to spend more time as it felt an unbreakable chain of issues. Resolving one, you think "huh, awesome". But very soon you hit the next.
And I couldn't see it stopping.
But PLEASE bear in mind that I only spent a couple of hours on that. With a little bit more persistence, you may be able to the end of the tunnel.
The overall impression is that it is not a big deal really. The problems arise when trying to use other libraries. And unfortunately, not all of the gems care deep enough to support JRuby. And this is the biggest issue in my opinion, there are very little issues with JRuby itself. The transition (from the syntax perspective) was extremely easy.
The application is pretty standard Rails 3.1 app that uses gems like Dragonfly, inherited_resources, cancan, paper_trail, Authlogic, CoffeeScript, Haml, Sass, Formtastic etc. For testing - things like rspec-rails, cucumber-rails, capybara-webkit, guard (rspec and cucumber), database_cleaner etc.
So here is a quick list of the things that I faced on my way.
Before everything else I enabled support for 1.9 syntax in JRuby (export JRUBY_OPTS=--1.9).
It all first started with the weird issue where the wrong arguments were passed to RSpec shared example.
Unfortunately I did not figure out why it happened and just patched it as you can see in the comments there.
After fixing this issue I had another one related to database_cleaner. So I ended up with a pull request that worked for me.
The other issue was a huge stack trace. I scrolled 3 pages in the terminal to get to the top. Most of that stack trace is deep inside Java. Additionally I got wrong line number on exception. This "features/step_definitions/company_steps.rb:234" makes me thing that the exception is at line 234. But that file only had 49 lines of code. Now, go figure.
Going on... SimpleCov gem didn't work out of the box and gave the warning that I need to enable debugging. That's fine and understandable. But after half an hour of debugging of unrelated exception, it turned out that SimpleCove threw an exception because of that. So had to go and explicitly disable it.
Then I managed to run all of my specs. But I was pretty surprised how slow it was:
# rvm use 1.9.3
# time rspec # real=14s, rspec time ~ 12s
# rvm use jruby
# time rspec # real=52s, rspec time ~ 30s
But this is expected as JRuby doesn't have enough time to optimise here. It should be much better in production.  That's fine. I can trust it's fast.
Then I tried running the cucumber specs and had to file the issue to support new Ruby 1.9.3 syntax (a = b = f 1). Not a big deal, easily fixed with parens: a = b = f(1).
Next and the final issue - I could not run the headless cucumber specs (capybara-webkit). It just got stuck (no CPU used) and feels like there is a dead-lock or something similar.
I couldn't see way of fixing it easily and decided that for now I am done with it. So going back to Ruby 1.9.3.
To summarise, I did not feel like it's a problem to switch to JRuby. But it's really a big deal to actually use it due to the number of C extensions that JRuby doesn't really support.
Again, to emphasise, there is nothing horribly wrong with JRuby and it seems to be pretty good. But the real showstoppers are the C extensions.
If developers want faster Ruby code, they should help make MRI faster (or switch to Rubinius/JRuby), instead of writing more code in C.


Product Details
-
Next-day funding
-
Bluetooth connectivity
-
No setup, monthly, or hidden fees
-
Live customer and technical support by phone, email, and chat


Rapid Construction
Expertise in assembling traps reduces the amount of time it takes to create a new trap after one has been set.
^a${value} Second(s) Recharge
-1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12
-${value}% Energy Cost
5 10 15 20 25 30 35 40 45 50 55 60
MaxLevel
8
UltimateLevel
12


The Computer Graphics club at CU aims to bring together creatives interested in the domain of computer generated graphics. slack: @computergraphicscu fb: @computergraphicscu


refl-cpp
Here is a list of all file members with links to the files they belong to:
- r -
REFL :
refl.hpp
REFL_AUTO :
refl.hpp
REFL_DEFINE_POINTER :
refl.hpp
REFL_DEFINE_PRIMITIVE :
refl.hpp
REFL_DEFINE_QUALIFIED_RESOLVE :
refl.hpp
REFL_DEPRECATED :
refl.hpp
REFL_DETAIL_ATTRIBUTES :
refl.hpp
REFL_DETAIL_CONCATENATE :
refl.hpp
REFL_DETAIL_EX_ :
refl.hpp
REFL_DETAIL_EX_1_field :
refl.hpp
REFL_DETAIL_EX_1_func :
refl.hpp
REFL_DETAIL_EX_1_type :
refl.hpp
REFL_DETAIL_EXPAND :
refl.hpp
REFL_DETAIL_FOR_EACH :
refl.hpp
REFL_DETAIL_FOR_EACH_ :
refl.hpp
REFL_DETAIL_FOR_EACH_0 :
refl.hpp
REFL_DETAIL_FOR_EACH_1 :
refl.hpp
REFL_DETAIL_FOR_EACH_10 :
refl.hpp
REFL_DETAIL_FOR_EACH_100 :
refl.hpp
REFL_DETAIL_FOR_EACH_11 :
refl.hpp
REFL_DETAIL_FOR_EACH_12 :
refl.hpp
REFL_DETAIL_FOR_EACH_13 :
refl.hpp
REFL_DETAIL_FOR_EACH_14 :
refl.hpp
REFL_DETAIL_FOR_EACH_15 :
refl.hpp
REFL_DETAIL_FOR_EACH_16 :
refl.hpp
REFL_DETAIL_FOR_EACH_17 :
refl.hpp
REFL_DETAIL_FOR_EACH_18 :
refl.hpp
REFL_DETAIL_FOR_EACH_19 :
refl.hpp
REFL_DETAIL_FOR_EACH_2 :
refl.hpp
REFL_DETAIL_FOR_EACH_20 :
refl.hpp
REFL_DETAIL_FOR_EACH_21 :
refl.hpp
REFL_DETAIL_FOR_EACH_22 :
refl.hpp
REFL_DETAIL_FOR_EACH_23 :
refl.hpp
REFL_DETAIL_FOR_EACH_24 :
refl.hpp
REFL_DETAIL_FOR_EACH_25 :
refl.hpp
REFL_DETAIL_FOR_EACH_26 :
refl.hpp
REFL_DETAIL_FOR_EACH_27 :
refl.hpp
REFL_DETAIL_FOR_EACH_28 :
refl.hpp
REFL_DETAIL_FOR_EACH_29 :
refl.hpp
REFL_DETAIL_FOR_EACH_3 :
refl.hpp
REFL_DETAIL_FOR_EACH_30 :
refl.hpp
REFL_DETAIL_FOR_EACH_31 :
refl.hpp
REFL_DETAIL_FOR_EACH_32 :
refl.hpp
REFL_DETAIL_FOR_EACH_33 :
refl.hpp
REFL_DETAIL_FOR_EACH_34 :
refl.hpp
REFL_DETAIL_FOR_EACH_35 :
refl.hpp
REFL_DETAIL_FOR_EACH_36 :
refl.hpp
REFL_DETAIL_FOR_EACH_37 :
refl.hpp
REFL_DETAIL_FOR_EACH_38 :
refl.hpp
REFL_DETAIL_FOR_EACH_39 :
refl.hpp
REFL_DETAIL_FOR_EACH_4 :
refl.hpp
REFL_DETAIL_FOR_EACH_40 :
refl.hpp
REFL_DETAIL_FOR_EACH_41 :
refl.hpp
REFL_DETAIL_FOR_EACH_42 :
refl.hpp
REFL_DETAIL_FOR_EACH_43 :
refl.hpp
REFL_DETAIL_FOR_EACH_44 :
refl.hpp
REFL_DETAIL_FOR_EACH_45 :
refl.hpp
REFL_DETAIL_FOR_EACH_46 :
refl.hpp
REFL_DETAIL_FOR_EACH_47 :
refl.hpp
REFL_DETAIL_FOR_EACH_48 :
refl.hpp
REFL_DETAIL_FOR_EACH_49 :
refl.hpp
REFL_DETAIL_FOR_EACH_5 :
refl.hpp
REFL_DETAIL_FOR_EACH_50 :
refl.hpp
REFL_DETAIL_FOR_EACH_51 :
refl.hpp
REFL_DETAIL_FOR_EACH_52 :
refl.hpp
REFL_DETAIL_FOR_EACH_53 :
refl.hpp
REFL_DETAIL_FOR_EACH_54 :
refl.hpp
REFL_DETAIL_FOR_EACH_55 :
refl.hpp
REFL_DETAIL_FOR_EACH_56 :
refl.hpp
REFL_DETAIL_FOR_EACH_57 :
refl.hpp
REFL_DETAIL_FOR_EACH_58 :
refl.hpp
REFL_DETAIL_FOR_EACH_59 :
refl.hpp
REFL_DETAIL_FOR_EACH_6 :
refl.hpp
REFL_DETAIL_FOR_EACH_60 :
refl.hpp
REFL_DETAIL_FOR_EACH_61 :
refl.hpp
REFL_DETAIL_FOR_EACH_62 :
refl.hpp
REFL_DETAIL_FOR_EACH_63 :
refl.hpp
REFL_DETAIL_FOR_EACH_64 :
refl.hpp
REFL_DETAIL_FOR_EACH_65 :
refl.hpp
REFL_DETAIL_FOR_EACH_66 :
refl.hpp
REFL_DETAIL_FOR_EACH_67 :
refl.hpp
REFL_DETAIL_FOR_EACH_68 :
refl.hpp
REFL_DETAIL_FOR_EACH_69 :
refl.hpp
REFL_DETAIL_FOR_EACH_7 :
refl.hpp
REFL_DETAIL_FOR_EACH_70 :
refl.hpp
REFL_DETAIL_FOR_EACH_71 :
refl.hpp
REFL_DETAIL_FOR_EACH_72 :
refl.hpp
REFL_DETAIL_FOR_EACH_73 :
refl.hpp
REFL_DETAIL_FOR_EACH_74 :
refl.hpp
REFL_DETAIL_FOR_EACH_75 :
refl.hpp
REFL_DETAIL_FOR_EACH_76 :
refl.hpp
REFL_DETAIL_FOR_EACH_77 :
refl.hpp
REFL_DETAIL_FOR_EACH_78 :
refl.hpp
REFL_DETAIL_FOR_EACH_79 :
refl.hpp
REFL_DETAIL_FOR_EACH_8 :
refl.hpp
REFL_DETAIL_FOR_EACH_80 :
refl.hpp
REFL_DETAIL_FOR_EACH_81 :
refl.hpp
REFL_DETAIL_FOR_EACH_82 :
refl.hpp
REFL_DETAIL_FOR_EACH_83 :
refl.hpp
REFL_DETAIL_FOR_EACH_84 :
refl.hpp
REFL_DETAIL_FOR_EACH_85 :
refl.hpp
REFL_DETAIL_FOR_EACH_86 :
refl.hpp
REFL_DETAIL_FOR_EACH_87 :
refl.hpp
REFL_DETAIL_FOR_EACH_88 :
refl.hpp
REFL_DETAIL_FOR_EACH_89 :
refl.hpp
REFL_DETAIL_FOR_EACH_9 :
refl.hpp
REFL_DETAIL_FOR_EACH_90 :
refl.hpp
REFL_DETAIL_FOR_EACH_91 :
refl.hpp
REFL_DETAIL_FOR_EACH_92 :
refl.hpp
REFL_DETAIL_FOR_EACH_93 :
refl.hpp
REFL_DETAIL_FOR_EACH_94 :
refl.hpp
REFL_DETAIL_FOR_EACH_95 :
refl.hpp
REFL_DETAIL_FOR_EACH_96 :
refl.hpp
REFL_DETAIL_FOR_EACH_97 :
refl.hpp
REFL_DETAIL_FOR_EACH_98 :
refl.hpp
REFL_DETAIL_FOR_EACH_99 :
refl.hpp
REFL_DETAIL_FOR_EACH_ARG_N :
refl.hpp
REFL_DETAIL_FOR_EACH_NARG :
refl.hpp
REFL_DETAIL_FOR_EACH_NARG_ :
refl.hpp
REFL_DETAIL_FOR_EACH_RSEQ_N :
refl.hpp
REFL_DETAIL_FORCE_EBO :
refl.hpp
REFL_DETAIL_GROUP :
refl.hpp
REFL_DETAIL_MEMBER_COMMON :
refl.hpp
REFL_DETAIL_MEMBER_HEADER :
refl.hpp
REFL_DETAIL_MEMBER_PROXY :
refl.hpp
REFL_DETAIL_STR :
refl.hpp
REFL_DETAIL_STR_IMPL :
refl.hpp
REFL_DETAIL_TYPE_BODY :
refl.hpp
REFL_END :
refl.hpp
REFL_FIELD :
refl.hpp
REFL_FUNC :
refl.hpp
REFL_TEMPLATE :
refl.hpp
REFL_TYPE :
refl.hpp
REFL_UNSTABLE :
refl.hpp
Generated on Fri Jul 19 2019 23:07:23 for refl-cpp by
1.8.15


WSO2 Business Process component adds the capability to execute business processes written using WS-BPEL standard in WSO2 SOA platform. It also provides a complete web based graphical console to deploy, manage and view processes and process instances. WSO2 Business Process component is powered by Apache ODE(Orchestration Director Engine).
WS-BPEL defines a language for the specification of Executable and Abstract business processes. By doing so, it extends the Web Services interaction model and enables it to support business transactions. WS-BPEL defines an interoperable integration model that should facilitate the expansion of automated process integration in both the intra-corporate and the business-to-business spaces. Processes in WS-BPEL export and import functionality by using Web Service interfaces exclusively.
In the management console, under Processes click List. The Processes page will appear.
Process list will display IDs of the deployed processes with their version, status, deployed date and the package they are contained in. With this list you can retire and activate processes. You can view detailed description about the process, when you click the process id link. By clicking the Package Name, you can view details, undeploy or download the package.
Active processes can be invoked by partners and as a result, new process instances will be created. When a process is retired all the running instances of that particular process will behave normally. But no new instances will be created from retired processes.
In the management console, click List under Processes. Then click on any of the process ID links. It will display a detailed description about the process including version, status, deployed date, container package of that process, total instance, instance summary, syntax highlighted process definition and process visualization.
Using the link display in front of the Status of the process users can activate or retire that process.
Under Quality of Service Configuration, you can configure QoS for each partner-link used in the business process.
Under WSDL details, you create instances for the provided partner links and view their WSDLs.
You can go to Deployment Descriptor Editor by clicking the link View or Edit Deployment Descriptor on any of the detailed process description pages.
This editor allows BPEL process administrators to configure process/instance/scope event generation, instance cleanup at run-time. Also it provides the other configuration details like MEX interceptors, process properties, provided services (inbound interfaces) and invoked partner services (outbound interfaces).
When you click Instances under Business Processes, Instances page will appear. This page will display paginated list of currently available process instances in the system.
The instance list will display ID of the instance with the process id of that instance, current status, date started, last active date and actions that can be performed on that instance. Users can click on the instance id link to go to the detailed view of that instance and use process id link to view the details of the process. Users can use Suspend/Resume, Terminate and Delete links to suspend/resume active instance, terminate active instance and to delete instance from the system. Complete and Terminated instances can only be deleted and can't perform any other actions on it.
User can filter the available instances according to their status. Advance Filter link will expand the filter from and users can use that to filter the instance list according to process name, process namespace, started date and etc.. If the user want to reset the filter and list all the available instances user can use either 'All' shortcut link or 'Reset Filter' link.
Advance Filter link will expand the filter form and user can use it to narrow down the instance list.
When a user clicks on instance id link at the 'Instances Created' page, instance details page for the instance represented by that ID will appear.
Instance details page will display information like process id of that instance, status, last active date and event information, scope information, variable values and activity-event information of that instance. It will also include process instance details visualization with different abstraction levels
BPEL package is a ZIP archived directory with all the relevant deployment artifacts. Minimal BPEL package contains the deployment descriptor, one or more process definitions(.bpel or .cbp), WSDL and XSDs(excluding the ones compiled into .cbp). The deployment descriptor is a file named deploy.xml. To deploy, just copy the BPEL package containing your artifacts to the %CARBON_HOME%/repository/deployment/server/bpel directory. If you are using a URL repository copy the package to 'bpel' directory in that repository.


Methods to split up a PDF document with various criteria such as page quantity multiples, an array of page numbers to split after or actual string content (included regular expression matching) within the document itself. You can input and output a memory stream or save to file.
More...
|
| static void | SplitToPageQuantityMultiples (string inputFilePath, string outputDirectory, int pageQuantityMultiple) |
| | Split a document on multiples and save to file. the name will be the original number plus the document number More...
|
| |
| static void | SplitToPageQuantityMultiples (MemoryStream ms, string title, string outputDirectory, int pageQuantityMultiple) |
| | Split a document on multiples and save to file. the name will be the original number plus the document number More...
|
| |
| static List< MemoryStream > | SplitToPageQuantityMultiples (MemoryStream ms, int pageQuantityMultiples) |
| | Split a document on multiples and return a Memory Stream list More...
|
| |
| static void | SplitAfterPageNumbers (string inputFilePath, string outputDirectory, int[] pageNumbers) |
| | Split a document on specific pages and save to file. the name will be the original number plus the document number More...
|
| |
| static void | SplitAfterPageNumbers (MemoryStream ms, string title, string outputDirectory, int[] pageNumbers) |
| | Split a document after specific pages and save to file. the name will be the original number plus the document number More...
|
| |
| static List< MemoryStream > | SplitAfterPageNumbers (MemoryStream ms, int[] pageNumbers) |
| | Split a document after specific pages and return a Memory Stream list More...
|
| |
| static void | SplitAfterPagesWhereStringAppearsInContent (string inputFilePath, string outputDirectory, string stringCode, bool isStringRegularExpression=false, bool ifUsingRegulareExpressionThenUseMatchValueAsDocumentTile=true, bool addTicksToFilename=false) |
| | Use the content of the document to determine where to split the document. I.e. on a document code in the header. You may use a static string or a regular expression. You can also set the document title to be the value of the match string. Saves to file. More...
|
| |
| static void | SplitAfterPagesWhereStringAppearsInContent (MemoryStream ms, string title, string outputDirectory, string stringCode, bool isStringRegularExpression=false, bool ifUsingRegulareExpressionThenUseMatchValueAsDocumentTile=true, bool addTicksToFilename=false) |
| | Use the content of the document to determine where to split the document. I.e. on a document code in the header. You may use a static string or a regular expression. You can also set the document title to be the value of the match string. Saves to file. More...
|
| |
| static List< MemoryStream > | SplitAfterPagesWhereStringAppearsInContent (MemoryStream ms, string stringCode, bool isStringRegularExpression=false, bool ifUsingRegulareExpressionThenUseMatchValueAsDocumentTile=true) |
| | Use the content of the document to determine where to split the document. I.e. on a document code in the header. You may use a static string or a regular expression. You can also set the document title to be the value of the match string. Retuns Memory Stream list. More...
|
| |
Methods to split up a PDF document with various criteria such as page quantity multiples, an array of page numbers to split after or actual string content (included regular expression matching) within the document itself. You can input and output a memory stream or save to file.


Unlike
static array literals, which can only have a restricted set of literal values as elements, a
dynamic array literal may include the value of any Essence# statement as an element. To support that, the syntax of
dynamic array literals must be significantly different than that of
static array literals.
Here's the EBNF for dynamic array literals:
DynamicArrayLiteral = "{" [{Statement, OptionalWhitespace, "."}, FinalStatement, ["."] "}";
A dynamic array literal must begin with a single "{" character, which may optionally be followed by a sequence of Essence# statements separated from each other by a "." character. The final statement in the sequence may optionally be followed by a
"." character. The final character of a dynamic array literal must be a single "}" character.
The value of each element of the
array that will be constructed by the dynamic array literal is the value of each statement in the statement sequence as specified in the
dynamic array literal (in the same order, of course.) As with any Essence#
array, any objects may be elements of the
array, without restriction.
Here's an example of a dynamic array literal:
{3 + 4. self class. [:collection | collection reduce: [:a :b | a max: b]]. 'Foo'}
The array that will be constructed at run time by the dynamic array literal shown in the example will have the same elements as the one constructed by the following code:
| array |
array := Array new: 4.
array
at: 1 put: 3 + 4;
at: 2 put: self class;
at: 3 put: [:collection | collection reduce: [:a :b | a max: b]];
at: 4 put: 'Foo'.


Next: open-stream-p, Previous: input-stream-p, Up: Streams Dictionary
interactive-stream-p
stream ⇒ generalized-boolean
stream—a stream.
generalized-boolean—a generalized boolean.
Returns true if stream is an interactive stream; otherwise, returns false.
(when (> measured limit) (let ((error (round (* (- measured limit) 100) limit))) (unless (if (interactive-stream-p *query-io*) (yes-or-no-p "The frammis is out of tolerance by ~D Is it safe to proceed? " error) (< error 15)) ;15 (error "The frammis is out of tolerance by ~D
Should signal an error of type type-error if stream is not a stream.


Plain of Tears [aq31], plain, in Mandoria, peasants: 146
Last updated Turn #142
Plain of Tears [aq31], plain, in Mandoria, peasants: 146
------------------------------------------------------------------------
1: General Kraken [k3k], Imperial Empire, duke, priest of the Church of
1: Halon [157], with two winged horses, 44 nazgul, arrived from the east,
1: accompanied by:
1: Phantom III [d6x], Imperial Empire, priest of the Church of
1: Dol [153], with 16 nazgul
1: Veejay [v8j], Imperial Empire, Bishop of the Church of Ham [155],
1: with five angels
1: Goon III [b9v], Imperial Empire, Bishop of the Church of Dol [153],
1: with five angels, 54 hvy. xbowmen, 21 nazgul
1: Lord Rodrigo Bane [c8b], Imperial Empire, priest of the Church of
1: Dol [153], with ten workers, 50 hvy. xbowmen, 18 nazgul
1: Licia [i1l], Imperial Empire, Bishop of the Church of Ham [155],
1: with five angels, 50 hvy. xbowmen
1: Odin [y5z], Imperial Empire, with 23 peasants, three soldiers,
1: 44 hvy. xbowmen
1: Thorg [j8u], Imperial Empire, with one warmount
1: Jupiter [m8j], Imperial Empire, duke, the High Priest of the Church
1: of Halon [157], with 23 soldiers, ten angels, 20 skirmishers,
1: 46 hvy. xbowmen
1: Dryeth [q4e], Imperial Empire, priest of the Church of Dol [153],
1: with 17 nazgul
1: Firefly [f3f], Imperial Empire, priest of the Church of
1: Halon [157], with 50 hvy. xbowmen
1: Sunwalker [a8x], Imperial Empire, duke, Bishop of the Church of
1: Halon [157], with five angels, 52 nazgul
1: Thomas [o5y], Imperial Empire, priest of the Church of Dol [153],
1: with 52 hvy. xbowmen, five nazgul
1: Alexei Galantor [j7l], Imperial Empire, duke, priest of the Church
1: of Halon [157], with 35 peasants, 84 nazgul
1: City boy [c5x], Imperial Empire
1: Sir Peter [u9p], Imperial Empire, with 30 peasants, 20 workers,
1: ten hvy. xbowmen
1: George [p7f], Imperial Empire, duke, priest of the Church of
1: Dol [153], with 11 nazgul
1: Lucca [h0t], Imperial Empire, priest of the Church of Halon [157],
1: with one skirmisher, 50 nazgul
1: Johny [w2d], Imperial Empire, priest of the Church of Halon [157],
1: with 41 nazgul
1: Aurora [g5z], Imperial Empire
1: Stefano [t8e], Imperial Empire, Bishop of the Church of
1: Halon [157], with 30 peasants, five angels, 50 nazgul
1: Sir Charles [j5r], Imperial Empire, priest of the Church of
1: Halon [157], with 16 peasants, 50 nazgul
1: Everblack [n3r], Imperial Empire, prisoner
1: Majikthise [n4g], Imperial Empire
1: swift [e6w], Mandor Confederacy, prisoner
1: Merchant [jc9q], Imperial Empire, prisoner
1: Paula Toler [o9u], Mandor Confederacy, prisoner
2: General Kraken [k3k], Imperial Empire, duke, priest of the Church of
2: Halon [157], with two winged horses, 44 nazgul, went north,
2: accompanied by:
2: Phantom III [d6x], Imperial Empire, priest of the Church of
2: Dol [153], with 16 nazgul
2: Veejay [v8j], Imperial Empire, Bishop of the Church of Ham [155],
2: with five angels
2: Goon III [b9v], Imperial Empire, Bishop of the Church of Dol [153],
2: with five angels, 54 hvy. xbowmen, 21 nazgul
2: Lord Rodrigo Bane [c8b], Imperial Empire, priest of the Church of
2: Dol [153], with ten workers, 50 hvy. xbowmen, 18 nazgul
2: Licia [i1l], Imperial Empire, Bishop of the Church of Ham [155],
2: with five angels, 50 hvy. xbowmen
2: Odin [y5z], Imperial Empire, with 23 peasants, three soldiers,
2: 44 hvy. xbowmen
2: Thorg [j8u], Imperial Empire, with one warmount
2: Jupiter [m8j], Imperial Empire, duke, the High Priest of the Church
2: of Halon [157], with 24 soldiers, ten angels, 19 skirmishers,
2: 46 hvy. xbowmen
2: Dryeth [q4e], Imperial Empire, priest of the Church of Dol [153],
2: with 17 nazgul
2: Firefly [f3f], Imperial Empire, priest of the Church of
2: Halon [157], with 50 hvy. xbowmen
2: Sunwalker [a8x], Imperial Empire, duke, Bishop of the Church of
2: Halon [157], with five angels, 52 nazgul
2: Thomas [o5y], Imperial Empire, priest of the Church of Dol [153],
2: with 52 hvy. xbowmen, five nazgul
2: Alexei Galantor [j7l], Imperial Empire, duke, priest of the Church
2: of Halon [157], with 35 peasants, 84 nazgul
2: City boy [c5x], Imperial Empire
2: Sir Peter [u9p], Imperial Empire, with 30 peasants, 20 workers,
2: ten hvy. xbowmen
2: George [p7f], Imperial Empire, duke, priest of the Church of
2: Dol [153], with 11 nazgul
2: Lucca [h0t], Imperial Empire, priest of the Church of Halon [157],
2: with one skirmisher, 50 nazgul
2: Johny [w2d], Imperial Empire, priest of the Church of Halon [157],
2: with 41 nazgul
2: Aurora [g5z], Imperial Empire
2: Stefano [t8e], Imperial Empire, Bishop of the Church of
2: Halon [157], with 30 peasants, five angels, 50 nazgul
2: Sir Charles [j5r], Imperial Empire, priest of the Church of
2: Halon [157], with 16 peasants, 50 nazgul
2: Everblack [n3r], Imperial Empire, prisoner
2: Majikthise [n4g], Imperial Empire
2: swift [e6w], Mandor Confederacy, prisoner
2: Merchant [jc9q], Imperial Empire, prisoner
2: Paula Toler [o9u], Mandor Confederacy, prisoner
6: Bastall [t6v], refugee, arrived from the south.
9: Bastall [t6v], refugee, went east.
30: The population grows by one peasant.
Routes leaving Plain of Tears:
North, plain, to Plain of Tears [ap31], 7 days
East, plain, to Plain of Tears [aq32], 7 days
Garrison [in9h], garrison, uncontrolled, with four peasants
South, plain, to Plain of Tears [ar31], 7 days
Garrison [cn8t], garrison, uncontrolled, with five peasants
West, plain, to Plain of Tears [aq30], 7 days
Garrison [jn5u], garrison, uncontrolled, with four peasants
Seen here:
Garrison [bl5x], garrison, uncontrolled, with six peasants


Print to PDF Settings
Layout
Portrait
Landscape
Page size
A4
A3
Letter
Legal
Tabloid
Margins
Default
None
Minimum
Margins
Background graphics
Selection only
Print
Save as PDF
View PDF


Formula E now plan B for F1 drivers – Massa
Formula E is fast becoming the obvious 'plan B' for Formula 1 drivers
by A cura della RedazioneThat is the view of Felipe Massa, the former 11-time grand prix winner for Ferrari who now drives in the increasingly popular all-electric series.
Mercedes and Porsche have signed up for the new Formula E season, which kicks off this weekend in Saudi Arabia.
Other former F1 drivers on the grid are Brendon Hartley, Pascal Wehrlein, Stoffel Vandoorne and others, while the new Formula 2 champion Nyck de Vries is racing for the new works Mercedes team.
And while Formula 1 features only four carmakers, in Formula E there are six, also including Audi, BMW, Nissan and Jaguar.
“Formula E is doing exactly what needs to be done. It is growing,” 38-year-old Massa told the Mirror.
“When a championship is growing and getting bigger and bigger, all the big names are interested. It was the only championship I was looking to come and race after Formula 1.”
Formula E aside, there are still multiple premier racing categories for professional drivers to consider, like Indycar, Super Formula, WEC and DTM.
Massa said: “I concentrate on Formula E, because I believe in the future of Formula E more than I believe in the future of the other championship.
“I am sure that any driver that does not have the possibility to stay in Formula 1, they will try and come to Formula E. I am 100 per cent sure.
“Every driver here can race in Formula 1 and everyone here can be successful in Formula 1 in the end,” added the Brazilian.


The Validator is a program that generates statistics about a forecasting method.
Its inputs are MDV files of forecasts, and MDV files of what actually happened (truth data). These files are then thresholded to detect storms (a storm is detected if the value, x, at a grid point is such that lower_limit <= x <= upper_limit).
Statistics are generated and placed in output files.
The validator can output intermediate MDV files that show how it performed. These files show how each grid point was detected and used in the statistics.
It can also operate on a set of regions delineated by a set of map files. In this case multiple sets of statistics are generated (but no intermediate MDV output is available in this case).
A small MatLab script for plotting the statistics is checked into the CVS repository under the Validator/plot directory at the time of writing.
The Validator is run as follows :
Validator -start "YYYY MM DD hh mm ss" -end "YYYY MM DD hh mm ss" -params X.params
Note that these times are truth times, not forecast times.
If the Validator is run by cron (which is recommended for a field site) then the -yesterday option can be used instead of the -start and -end options, viz.
Validator -yesterday -params X.params
Which will run the Validator on yesterday's data, in the UTC timing convention.
Niles Oien August 1999.
TruthDir
Directory (actually URL now) for truth data. This is the top directory under which the MDV truth data is.
ForecastDir
Directory (actually URL now) for forecast data. This is the top directory under which the MDV forecast data is.
OutDir
Directory (actually URL now) in which to write MDV files of contingency tables. These intermediate files serve as a diagnostic by showing how the Validator treated each grid point.
Typically these files will be generated during the setup of the Validator to see how it is performing - or if the files are always produced, they will be scrubbed fairly regularly. It is not intended that they be retained.
The files are time tagged by forecastTime + leadTime - which is approximately the truth time. If the truth time were used, and two forecasts were validated using the same truth, then the output file would be overwritten. Tagging in this way ensures that there will be an output file for each forecast file validated.
StatsDir
Directory in which to write statistical output. These ASCII files are named Valid_YYYYMMDD_hhmmss_NAME.dat and are MatLab loadable. The final summary is named Valid_YYYYMMDD_hhmmss_NAME.final - in both cases the time in the filename is the data time. For analyses of the whole grid, NAME is set to Grid, otherwise for map files the NAME is set to the name found in the map file.The format of this file is as follows :
| Column | Value |
|---|---|
| 1 | Year |
| 2 | Month |
| 3 | Day |
| 4 | Hour |
| 5 | Minute |
| 6 | Second |
| 7 | Time from start to end of interval, seconds |
| 8 | Population - the number of forecast files in the interval |
| 9 | Number of non-events |
| 10 | Number of failures |
| 11 | Number of false alarms |
| 12 | Number of successes |
| 13 | Probability of Detection, POD |
| 14 | False Alarm Rate, FAR |
| 15 | Critical Success Index, CSI |
| 16 | Heidke Skill Score, HSS |
| 17 | POD_NO |
| 18 | Bias |
The MatLab script PlotValid, which is checked into the CVS repository in the subdirectory Validator/plot, can be used to plot one of these files.
FieldNumbersMustMatch
Both forecast and truth fields are identified by field name, using parameters ForecastFieldName and TruthFieldName. The user may also specify the field numbers they expect these fields to have using ForecastFieldNum and TruthFieldNum. Past experience has shown that erroneous post-processing can result in MDV files in the input directories which have fields with the correct name but at a different field number. These fields are invalid and should be ignored.
If FieldNumbersMustMatch is TRUE, then the field numbers in the input MDV files must match the ones specified by the user. If they do not, the program exits. A warning is printed in this case regardless of the value of FieldNumbersMustMatch.
FieldNumbersMustMatch should probably be FALSE in the field, since this allows the field numbers to change if another interest field is added to cronus. For post-processing purposes it should be TRUE.
ForecastFieldNum
Forecast field number. See FieldNumbersMustMatch
ForecastFieldName
Name of the forecast field. See FieldNumbersMustMatch
TruthFieldNum
Truth field number. See FieldNumbersMustMatch
TruthFieldName
Name of the truth field. See FieldNumbersMustMatch
Instance
Procmap instance. Used for process identification.
Slop
Allowable time error between a forecast and truth file, seconds. If no truth file is found, the forecast file will be skipped.
ForecastLead
Forecast lead time, seconds.
OutputInterval
Statistical interval time, seconds. Statistics are output to file for every interval of this duration. Intervals without any forecasts in them are skipped.
Debug
Debug flag. If set to non-zero, more verbose output is printed on standard error.
The grid parameters specify the grid onto which both the truth and forcast data will be remapped prior to performing the validation. The grid must be specified - if it is to be the same as the geometry of the data on disk, then the print_mdv utility can be used to obtain the values for the grid parameters.
grid_origin_lat
Latitude of grid origin.
grid_origin_lon
Longitude of grid origin.
grid_rotation
Rotation (in degrees) of grid from true north.
grid_projection
Projection type of grid. Projections currently supported are FLAT and LATLON.
grid_nx
Number of cells in the grid in X.
grid_ny
Number of cells in the grid in Y.
grid_nz
Number of vertical levels in the output grid.
grid_dx
Size of the cells in the output grid in X.
grid_dy
Size of the cells in the output grid in Y.
grid_dz
Change in altitude between vertical levels of the output grid.
grid_minx
X at grid's lower left corner. Units for this parameter will depend upon the output grid_projection.
grid_miny
Y at grid's lower left corner. Units for this parameter will depend upon the output grid_projection.
composite_min
The lower level (in units of height, not plane number) that is to be composited in the truth field.
composite_max
The upper level (in units of height, not plane number) that is to be composited in the truth field.
composite_truth
If composite_truth is TRUE then the truth field is composited. Limits are set by composite_min and composite_max.
truth_lower_limit
Lower limit threshold on truth data. A storm will be detected if data >= truth_lower_limit and data <= truth_upper_limit.
truth_upper_limit
Upper limit threshold on truth data. A storm will be detected if data >= truth_lower_limit and data <= truth_upper_limit.
forecast_lower_limit
Lower limit threshold on forecast data. A storm will be detected if data >= forecast_lower_limit and data <= forecast_upper_limit.
forecast_upper_limit
Upper limit threshold on forecast data. A storm will be detected if data >= forecast_lower_limit and data <= forecast_upper_limit.
ForecastRelax
This sets the relaxation window size for the forecast field. The window is always an odd number squared - 1x1 (no relaxation), 3x3, 5x5. The user specifies N, and the window is 2*N+1 x 2*N+1. Specify 0 for no relaxation, 1 for a 3x3 window and so on.
ForecastNumRelax
There are three possibilities for storm detection with the forcast field.
Typically this is set to 1. Storms detected in relaxed mode are treated the same as storms detected by filling the window unless the extended contingency option is used (See the ExtendedContingency option).
TruthRelax
Similar to ForecastRelax but for the truth field.
TruthNumRelax
Similar to ForecastNumRelax but for the truth field.
ExtendedContingency
By default the following contingency table is used.
| Truth | No storm forecast | Storm forecast |
|---|---|---|
| No storm eventuated | Non-Event | False alarm |
| Storm eventuated | Failure | Success |
Storms detected in the relaxed region are treated simply as storms for the default contingency table. This increases the success rate but failures and false alarms are also increased.
The extended contingency table is used if ExtendedContingency is TRUE. It is as follows.
| Truth | No storm forecast | Storm forecast in relaxed mode | Storm forecast |
|---|---|---|---|
| No storm eventuated | Non-Event | Non-Event | False alarm |
| Storm eventuated in relaxed mode | Non-Event | Success | Success |
| Storm eventuated | Failure | Success | Success |
A distinction is made between storms detected and storms detected in relaxed mode for the extended contingency table. In this case the relaxed region increases the success rate without incurring a penalty in false alarms or failures. This may not be considered fair.
NotRelaxedIfTrue
By default, if a grid point is in a storm it may still not be detected as such if a relaxed grid is used, since the entire window must contain storm pixels for the grid point to be considered a storm. In this case it is likely (but not necessarily true) that the grid point will be detected in relaxed mode.
If NotRelaxedIfTrue is set, then if a grid point is in a storm, then it is detected as such, rather than being detected in relaxed mode (or a non-event).
CountMissing
Set to count missing data as being a non-event. Do this for consistency with the old VerifyGrid program - it may also be physically valid in the case of radar data.
IntermediateGrids
If set, output intermediate MDV files. Intermediate MDV files contain storm detected truth, storm detected forecast and resulting contingency table and are useful for debugging.
TruthComposite
If set, composite the truth field into 2D data. The alternative is to compare a full 3D forecast to a full 3D truth.
TruthCompositeMaxZ
Upper limit on compositing, if TruthComposite is TRUE.
RegionSpecified
If set, specify a map file of the region of interest. Default is not to do this. This allows ONE region map to be processed - and intermediate output MDV files can be written. Multiple regions should be processed with the MapList parameter (which does not allow for MDV output). Only works for FLAT projection.
This is NOT recommened - it is something of a kludge that was perpetrated for a demo at Sterling. Regional analyses are best done with the MapMode and MapList parameters.
RegionMapFile
Map file name for region. Should be a polyline of lat,lon points. See comments for RegionSpecified.
MaxRealtimeValidAge
Max age (in minutes) of input data. For realtime only - max age of input data for it to be valid.
ClumpTruth
Set this to remove small clumps from the truth field. This is often advantageous if the forecast method is attempting to forecast large storms only, but there are many small local storms in the truth field that are counting against the forecast method.
If this is set, then each storm in the truth field must be at least MinTruthClumpPixels grid points large, or it is ignored.
MinTruthClumpPixels
How small can a clump be before removal, in grid points. See comments for ClumpTruth.
TemporalRelax
If set, composite all the truth files in the time window allowed by the slop parameter. If not, use only the closest file in the window.
MapMode
If set, do a regional analysis using a set of map files (specified with the MapList parameter). If not, do the analysis over the whole grid.
MapList
List of map files. Only used if MapMode is true. Map files must be a connected polyline and have #VerifyMap as the first line.
An example map file may be as follows.
#VerifyMap
38.5505 -76.6745
38.5318 -76.6749
-1000 -1000
The last point is expected to be a pen-up instruction - the second to last point is expected to be the same as the first point. The comment #VerifyMap at the start of the file is required for use with the Validator.
Niles Oien August 1999
Updated January 2000


The ImageJ module allows users to execute arbitrary ImageJ macros on single images or datasets of images. Macro parameters can be changed and parameter value lists can be provided to experiment with parameter variations. The results are stored back in BisQue as Gobjects, tables, or images.
Most ImageJ macros can be uploaded and used directly with minor modifications. In order to upload a macro, click “Upload”, select the macro file, and click “Upload”. If the file extension is “.ijm”, the file will automatically be recognized as a CellProfiler macro.
As an example, we upload the CometAssay macro developed at the Microscopy Services Laboratory of the University of North Carolina at Chapel Hill, Comet Assay.
In order to verify the macro, it can be opened by browsing the imagej_pipeline
resources and opening the recently uploaded macro.
It will look like this:
Each box represents one ImageJ macro step and the arrows indicate the flow through the steps. Note that some boxes have different colors. For example, the “waitForUser” and “Dialog”-related boxes are shown in red to indicate that they are incompatible with BisQue and will render the macro non-executable. Green boxes indicate regular ImageJ steps that were kept unchanged. Blue boxes are BisQue specific steps (such as “load image from BisQue” or “store table to BisQue”).
In order to execute the pipeline, we need to fix the red boxes and then re-upload the pipeline. In this example, the first red boxes correspond to the waitForUser
steps of the macro:
waitForUser("Draw an oval around the comet head; Click OK");
run("Measure");
waitForUser("Draw an oval around the comet tail; Click OK");
run("Measure");
Since BisQue modules are currently not interactive, such steps are not allowed. However, since they request user-defined regions for head and tail of the comet to analyze, we can replace them with BisQueLoadPolygon
steps:
Each BisQueLoadPolygon
step searches for a polygon Gobject in the current image and returns it as an ImageJ selection.
The other red boxes correspond to ImageJ “Dialog” functions:
Again, since BisQue is not interactive, these are not allowed. In this example, these steps check if the user wants to analyze more comets. For simplicity, we will simply remove these steps and end the analysis after one iteration.
This addresses all red boxes but before being able to run the macro in BisQue, we need to add two important steps: the input and output. For the input, we can just add a new step at the very beginning:
This will load the current image of the module execution into ImageJ for analysis. Note that for larger datasets of images, the macro will be executed once for each image.
For the output, we will store the comet analysis results as a table back into BisQue. This is achieved by adding the following line at the end of the macro:
This step will read the ImageJ results table and store it in BisQue under the given name. It will be linked in the output section of the current MEX (module execution) document.
The completed macro is now as follows:
BisQueLoadImage();
run("Set Measurements...", "centroid center integrated redirect=None decimal=3");
setFont("SansSerif", 18);
setColor(255, 255, 255);
BisQueLoadPolygon("head");
run("Measure");
BisQueLoadPolygon("tail");
run("Measure");
i = nResults -1;
tailx = getResult("XM", i);
headx = getResult("X", i-1);
taily = getResult("YM", i);
heady = getResult("Y", i-1);
tailden = getResult("RawIntDen",i);
headden = getResult("RawIntDen",i-1);
CometLen = sqrt( ((tailx-headx)* (tailx-headx)) + ((taily-heady)*(taily-heady)) );
setResult("TailLen",i,(CometLen));
setResult("TailMoment",i , (CometLen * tailden));
setResult("%TailDNA",i ,(tailden/(tailden + headden))*100);
updateResults();
BisQueSaveResults("comet stats");
After uploading this macro again, all boxes are either green or blue, indicating the pipeline is now valid for execution.
ImageJ macros can be run like any other BisQue module. First, select the macro to run (in this example, we select the CometAssay macro. After viewing the pipeline, click on “Analyze” and then on “ImageJ”. The ImageJ module page opens. Click “Select an Image” to choose a single image to run the macro on (alternatively, a dataset of images can be selected to run the macro on multiple images in parallel):
Note that the selected image(s) need to have at least two polygon Gobjects: one with semantic type “head” and one with semantic type “tail”.
Finally, click the “Run” button to start the macro execution.
Once the execution finishes, the outputs are shown in section 4:
In this case, one table “comet stats” was generated. It contains the comet statistics computed in the macro. Depending on the macro, images or Gobjects can also be generated as output (see next section).
The generated tables can now be processed further in additional BisQue modules or shared with other users.
There are several BisQue-specific extensions to ImageJ to allow ImageJ macros to interact with the BisQue system. Each one is described in the following.
This function corresponds to the open()
function of ImageJ. Instead of opening an image from a file, however, it obtains the image from the BisQue module executor. The opened image is one of the images from the module input section.
This function loads a polygon Gobject from the current image into ImageJ as a selection for further processing in the macro. The “gobject type” parameter is used to select a specific Gobject with the semantic type “gobject type”. In other words, the current image has to have a Gobject as follows:
<gobject type="gobject type">
<polygon>
<vertex index="0" t="0.0" x="735.0" y="617.0" z="0.0"/>
...
<vertex index="10" t="0.0" x="727.0" y="624.0" z="0.0"/>
</polygon>
</gobject>
This can be generated for example via the graphical annotations tool in the BisQue image viewer.
This function corresponds to the saveAs("Tiff", ...)
function of ImageJ. Instead of saving the image to a file, however, it stores the image back into BisQue as a new image resource. The created image is then referenced in the MEX (module execution) document’s output section.
This function stores the current ImageJ ROIs as polygon Gobjects in the output section of the current MEX (module execution) document. Each polygon is assigned the provided label and color.
This function adds a tag/value pair to the output section of the current MEX (module execution) document.
This function stores the current ImageJ result table as a table resource in BisQue. The created table is then referenced in the MEX (module execution) document’s output section.


City of Dundee Health Marathon
Dundee SCO
Race Winners
(24 runnings, 12 as a marathon)
12 May
1991 13 May
1990 14 May
1989 24
Apr 1988
26 Apr
1987
27 Apr
1986
28 Apr
1985
29 Apr
1984
24 Apr
1983
3:02:08 28 Aug 1954
2:01:18
29 Aug 1953
2:01:13
09 Aug 1952
2:38:07
25 Aug 1951
2:01:41
02 Sep 1950
2:03:24
10 Sep 1949
2:05:17
11 Sep 1948
2:45:12
06 Sep 1947
2:03:25
07 Sep 1946
2:04:43
01 Sep 1945
2:09:37
02 Sep 1944
2:11:07
10 Jul 1943
2:44:13
11 Jul 1942
2:05:51
Notes: 1942 was the inaugural year. The race distance was 22 miles (35.405 km) except for 1943, 1948, and 1952.
The 1981-1982 distances were slightly longer than 22 miles with the finish in
Caird Park, Dundee.
The inaugural Perth-Dundee race was staged on 22 Sep 1894 by Dundee Hawkhill Harriers. The winner, James M. Galloway
of Dundee Hawkhill Harriers, covered the 21m 1540y distance in 2:28:xx. After Galloway’s inaugural run, a series
of walking matches were held around the turn of the century. A lapse then occurred until 1930-35 when the Dundee
Hawkhill Harriers staged a series of walking matches. The running race was revived by the amalgamed Dundee Harriers
in 1942 and held over a relatively fast 22 mile point-to-point course from South Inch, Perth, via Glencarse, Longforgan,
Invergowrie and Ninewells, finishing on Riverside Drive, Dundee. The 1943 race was extended to the full marathon
distance starting from Muirton Park, Perth, with Tom Richard posting the fastest marathon performance in the UK
during WW II. The 1948 and 1952 races played host to the Scottish Marathon Championship and used a different 26m
385y course from Methven to Dundee. In 1983, the 22 mile, point-to-point
Perth-Dundee course was replaced by a standard marathon and the race was renamed
the City of Dundee People's Health Marathon. The name was shortened to the
City of Dundee Health Marathon for 1988-1991.
2:26:03
Hugh MacKay (SCO)
2:45:52
Eileen Masson (SCO)
2:28:57
Stuart Asher (SCO)
3:10:05
Jane Carroll (SCO)
2:33:14
Paul Briscoe (SCO)
3:00:39
Jill Danskin-3
2:27:50
Sam Graves (SCO)
3:01:
Jill
Danskin-2
2:22:19
Terry Mitchell (SCO)
3:03:20
Jill Danskin (ENG)
2:20:03
Colin Youngson (SCO)
3:06:40
Morag Taggert (SCO)
2:20:25
Murray McNaught (SCO)
2:48:00
Ann Curtis (SCO)
2:18:16
Donald
MacGregor-2
2:51:32
Margaret Baillie (SCO)
2:17:24
Donald MacGregor (SCO)
Marjorie Thoms (SCO)
04 Jul
1982
2:17:05
Peter Mitchell (ENG)
05 Jul
1981
2:18:
Sam Graves (SCO)
1955-1980
---
not held
Allan Lawton (ENG)
Eric L Smith (ENG)
Charles D Robertson-5
Charles D Robertson-4
Charles D Robertson-3
Charles D Robertson-2
Charles D Robertson (SCO) (nc)
Donald McNab Robertson-2
John Emmett Farrell (SCO)
Dunky McLeod Wright-2
Dunky McLeod Wright (SCO)
Tom Richards (WAL)
Donald McNab Robertson (SCO)
(nc) =>
national championship (SCO)
Most Wins
(1942-1991)
Men
5
Charles D Robertson (SCO)
1948-52
Women
3
Jill Danskin (ENG)
1987-89
Prize Money
(ARRS qualified runners)
Prize money was not awarded.
Race Time Bias
(sec/km)
Insufficient data to calculate the race time bias.
Competitive Level
(1990-date)
Insufficient data to calculate the competitive level.
Quality Performances
Men <2:18 1 <2:19 3 <2:20 6 Women <2:46 1 <2:48 1 <2:50 3
Last Updated on 16 Jul 2011
Contributors: Alexander Wilson (39), Colin Youngson (24)


From Spice
Contents |
Introduction
Spice supports SSL connections. The documentation in the user guide is adaquate to creating certificates using openssl, but doesn't go into length about using them.
TODO: All of this needs to go into an updated user manual.
There are two certificates, the server cert and the ca cert (certificate authority, the verifier of the server certificate). The ca is the only one that needs to be in sync between the client and server.
TODO: update this part for remote-viewer
spicec looks for %APPDATA%\spicec\spice_truststore.pem / $HOME/.spicec/spice_truststore.pem. This needs to be identical to the ca-cert.pem on the server, i.e. the ca used to sign the server certificate. The client will use this to authenticate the server.
The server has a number of flags (renamed but essentially the same as in the 0.4 user manual):
- ca-cert
- ca-crl - not really required?
- server-cert
- server-key
you can use the predefined names, in that case you only need to specify a single subdirectory parameter.
Example invocation
Host
qemu -snapshot /images2/f14_alpha.raw -m 1024 -vga qxl -spice port=5913,tls-port=5914,disable-ticketing,x509-dir=/images2/pki_certs/,tls-channel=main,tls-channel=inputs
If your server key requires a passphrase you can provide it with the x509-key-password parameter (but since that will be visible from ps it is not recommended)
Client
- Copy ca-cert.pem to %APPDATA%\Roaming\spicec\spice_truststore.pem
- Take SUBJECT from the server-cert.pem file:
* SUBJECT=`openssl x509 -noout -text -in server-cert.pem | grep Subject: | cut -f 10- -d " "`
- Run:
remote viewer (supported client)
remote-viewer --spice-ca-file=ca-cert.pem spice://localhost:5913?tls-port=5914 "--spice-host-subject=$SUBJECT"
Note: quoting is because of possible spaces in $SUBJECT
Note2: If there is no non-secure port (i.e. -spice tls-port=5914 only) then use the following uri: spice://localhost?tls-port=5914
spicec (Old deprecated client)
spicec -h host -p 5913 -s 5914 --secure-channels all --host-subject "$SUBJECT"
Certificate creation
Creating a self signed ca and signing a server certificate. the host-subject is the server certificate subject, not the ca's:
(In this example "C=IL,L=Raanana,O=Red Hat,CN=my server"
#!/bin/bash
SERVER_KEY=server-key.pem
# creating a key for our ca if [ ! -e ca-key.pem ]; then openssl genrsa -des3 -out ca-key.pem 1024 fi # creating a ca if [ ! -e ca-cert.pem ]; then openssl req -new -x509 -days 1095 -key ca-key.pem -out ca-cert.pem -utf8 -subj "/C=IL/L=Raanana/O=Red Hat/CN=my CA" fi # create server key if [ ! -e $SERVER_KEY ]; then openssl genrsa -out $SERVER_KEY 1024 fi # create a certificate signing request (csr) if [ ! -e server-key.csr ]; then openssl req -new -key $SERVER_KEY -out server-key.csr -utf8 -subj "/C=IL/L=Raanana/O=Red Hat/CN=my server" fi # signing our server certificate with this ca if [ ! -e server-cert.pem ]; then openssl x509 -req -days 1095 -in server-key.csr -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem fi
# now create a key that doesn't require a passphrase openssl rsa -in $SERVER_KEY -out $SERVER_KEY.insecure mv $SERVER_KEY $SERVER_KEY.secure mv $SERVER_KEY.insecure $SERVER_KEY
# show the results (no other effect) openssl rsa -noout -text -in $SERVER_KEY openssl rsa -noout -text -in ca-key.pem openssl req -noout -text -in server-key.csr openssl x509 -noout -text -in server-cert.pem openssl x509 -noout -text -in ca-cert.pem


Image
Sample images are generated by
https://placeholder.com/
Iframe
iframe1
iframe2
iframe3
Mixed
text
Google Maps
YouTube
Open from iframe


This chapter will guide you through creating your first project with ScalaRelational. For the sake of simplicity we will use an in-memory H2 database.
The first thing you need to do is add ScalaRelational’s H2 module to your sbt project:
libraryDependencies += "org.scalarelational" %% "scalarelational-h2" % "1.1.0"
If you’d prefer to use another database instead, please refer to the chapter Databases.
You will need the following imports:
import org.scalarelational.column.property.{AutoIncrement, ForeignKey, PrimaryKey, Unique}
import org.scalarelational.h2.{H2Datastore, H2Memory}
import org.scalarelational.table.Table
The next thing you need is the database representation in Scala. The schema can map to an existing database or you can use it to create the tables in your database:
object GettingStartedDatastore extends H2Datastore(mode = H2Memory("getting_started")) {
object suppliers extends Table("SUPPLIERS") {
val name = column[String]("SUP_NAME", Unique)
val street = column[String]("STREET")
val city = column[String]("CITY")
val state = column[String]("STATE")
val zip = column[String]("ZIP")
val id = column[Int]("SUP_ID", PrimaryKey, AutoIncrement)
}
object coffees extends Table("COFFEES") {
val name = column[String]("COF_NAME", Unique)
val supID = column[Int]("SUP_ID", new ForeignKey(suppliers.id))
val price = column[Double]("PRICE")
val sales = column[Int]("SALES")
val total = column[Int]("TOTAL")
val id = column[Int]("COF_ID", PrimaryKey, AutoIncrement)
}
}
Our Datastore
contains Table
s and our Table
s contain Column
s. As for the Datastore
we have chosen an in-memory H2 database. Every column type must have a DataType
associated with it. You don’t see it referenced above because all standard Scala types have predefined implicit conversions available [1]. If you need to use a type that is not supported by ScalaRelational, please refer to Defining a custom type.
Now that we have our schema defined in Scala, we need to create the tables in the database:
import GettingStartedDatastore._
session {
create(suppliers, coffees)
}
Output:3
All database queries must take place within a session.
You’ll notice we imported ExampleDatastore.
in an effort to minimise the amount of code required here. We can explicitly write it more verbosely like this:
GettingStartedDatastore.session {
GettingStartedDatastore.create(
GettingStartedDatastore.suppliers,
GettingStartedDatastore.coffees
)
}
For the sake of readability importing the datastore is generally suggested. Although if namespace collisions are a problem you can import and alias or create a shorter reference like this:
def ds = GettingStartedDatastore
ds.session {
ds.create(ds.suppliers, ds.coffees)
}
ScalaRelational supports type-safe insertions:
import GettingStartedDatastore._
import suppliers._
session {
acmeId = insert(name("Acme, Inc."), street("99 Market Street"), city("Groundsville"), state("CA"), zip("95199")).result
superiorCoffeeId = insert(id(49), name("Superior Coffee"), street("1 Party Place"), city("Mendocino"), state("CA"), zip("95460")).result
}
If we don’t call result
, we will just create the query without ever executing it. Please note that result
must be called within the session.
There is also a shorthand when using values in order:
import GettingStartedDatastore._
session {
theHighGroundId = insertInto(suppliers, 150, "The High Ground", "100 Coffee Lane", "Meadows", "CA", "93966").result
}
The database returns -1 as the ID is already known.
If you want to insert multiple rows at the same time, you can use a batch insertion:
import GettingStartedDatastore._
import coffees._
session {
insert(name("Colombian"), supID(acmeId), price(7.99), sales(0), total(0)).
and(name("French Roast"), supID(superiorCoffeeId), price(8.99), sales(0), total(0)).
and(name("Espresso"), supID(theHighGroundId), price(9.99), sales(0), total(0)).
and(name("Colombian Decaf"), supID(acmeId), price(8.99), sales(0), total(0)).
and(name("French Roast Decaf"), supID(superiorCoffeeId), price(9.99), sales(0), total(0)).result
}
Output:List(5)
This is very similar to the previous insert method, except instead of calling result
we’re calling and
. This converts the insert into a batch insert and you gain the performance of being able to insert several records with one insert statement.
You can also pass a Seq
to insertBatch
, which is useful if the rows are loaded from a file for example:
import GettingStartedDatastore._
import coffees._
session {
val rows = (0 to 10).map { index =>
List(name(s"Generic Coffee ${index + 1}"), supID(49), price(6.99), sales(0), total(0))
}
insertBatch(rows).result
}
Output:List(16)
The DSL for querying a table is similar to SQL:
import GettingStartedDatastore._
import coffees._
session {
val query = select (*) from coffees
query.result.map { r =>
s"${r(name)}\t${r(supID)}\t${r(price)}\t${r(sales)}\t${r(total)}"
}.mkString("\n")
}
Output:Colombian 1 7.99 0 0
French Roast 49 8.99 0 0
Espresso 93966 9.99 0 0
Colombian Decaf 1 8.99 0 0
French Roast Decaf 49 9.99 0 0
Generic Coffee 1 49 6.99 0 0
Generic Coffee 2 49 6.99 0 0
Generic Coffee 3 49 6.99 0 0
Generic Coffee 4 49 6.99 0 0
Generic Coffee 5 49 6.99 0 0
Generic Coffee 6 49 6.99 0 0
Generic Coffee 7 49 6.99 0 0
Generic Coffee 8 49 6.99 0 0
Generic Coffee 9 49 6.99 0 0
Generic Coffee 10 49 6.99 0 0
Generic Coffee 11 49 6.99 0 0
Although that could look a little prettier by explicitly querying what we want to see:
import GettingStartedDatastore.{coffees => c, _}
session {
val query = select (c.name, c.supID, c.price, c.sales, c.total) from c
query.result.converted.map {
case (name, supID, price, sales, total) => s"$name $supID $price $sales $total"
}.mkString("\n")
}
Output:Colombian 1 7.99 0 0
French Roast 49 8.99 0 0
Espresso 93966 9.99 0 0
Colombian Decaf 1 8.99 0 0
French Roast Decaf 49 9.99 0 0
Generic Coffee 1 49 6.99 0 0
Generic Coffee 2 49 6.99 0 0
Generic Coffee 3 49 6.99 0 0
Generic Coffee 4 49 6.99 0 0
Generic Coffee 5 49 6.99 0 0
Generic Coffee 6 49 6.99 0 0
Generic Coffee 7 49 6.99 0 0
Generic Coffee 8 49 6.99 0 0
Generic Coffee 9 49 6.99 0 0
Generic Coffee 10 49 6.99 0 0
Generic Coffee 11 49 6.99 0 0
Joins are supported too. In the following example we query all coffees back filtering and joining with suppliers:
import GettingStartedDatastore._
session {
val query = (select(coffees.name, suppliers.name)
from coffees
innerJoin suppliers on coffees.supID === suppliers.id
where coffees.price < 9.0)
query.result.map { r =>
s"Coffee: ${r(coffees.name)}, Supplier: ${r(suppliers.name)}"
}.mkString("\n")
}
Output:Coffee: Colombian, Supplier: Acme, Inc.
Coffee: French Roast, Supplier: Superior Coffee
Coffee: Colombian Decaf, Supplier: Acme, Inc.
Coffee: Generic Coffee 1, Supplier: Superior Coffee
Coffee: Generic Coffee 2, Supplier: Superior Coffee
Coffee: Generic Coffee 3, Supplier: Superior Coffee
Coffee: Generic Coffee 4, Supplier: Superior Coffee
Coffee: Generic Coffee 5, Supplier: Superior Coffee
Coffee: Generic Coffee 6, Supplier: Superior Coffee
Coffee: Generic Coffee 7, Supplier: Superior Coffee
Coffee: Generic Coffee 8, Supplier: Superior Coffee
Coffee: Generic Coffee 9, Supplier: Superior Coffee
Coffee: Generic Coffee 10, Supplier: Superior Coffee
Coffee: Generic Coffee 11, Supplier: Superior Coffee
You may have noticed the striking similarity between this code and Slick’s introductory tutorial. This was done purposefully to allow better comparison of functionality between the two frameworks.
An auto-incrementing ID has been introduced into both tables to better represent the standard development scenario. Rarely do you have external IDs to supply to your database like Slick represents.
See the `DataTypeSupport` trait for more information ↩
Generated with MetaDocs v0.1.1-SNAPSHOT


Debugging
If you want to debug into the Bifrost source code from Visual Studio you need the symbols downloaded locally In most situations, you'd typically want to just grab the debug-symbols, step into the code and figure out whatever it is you're interested in.
Using debug symbols
All official releases of Bifrost after v<IP_ADDRESS> have the symbols available on SymbolSource.
Enable source server
To enable symbol server support within Visual Studio do the following:
- Tools > Options > Debugging > General
- Check "Enable source server support"
- Tools > Options > Debugging > Symbols
- Click the "new"-icon
- Enter the following server:
http://srv.symbolsource.org/pdb/Public
More resources:
If you're using the pre release - continuously generated NuGet packages on MyGet, you can read more about how to configure MyGets symbol server.
Source + PDB in the packages
All NuGet packages also include a src/
folder and the PDB files. We build all packages in release mode, but use the dotnet
CLI option of generating
PDB files in addition. For some tooling, like ReSharper, it should then use this directly.
Get the source code
If you may want to get a bit more involved, and actually head over to the Bifrost GitHub repository to get a given version of the code. The differnt versions are marked with tags, which should allow you to navigate between releases.


When you need to give a speech in the public, and you don't have any experience, don't know how to present a good powerpoint, don't know how to organize your presentation, don't know how to clarify your ideas clearly, don't know how to attract the audiences, don't know how to start the first page of your powerpoint, ... totally blank in the brain.
Then you are inconfident, and you are suspicious if you have the ability to complete it. You start to be anxious, start to be fearful about the close of the date of the speach, start to be slack and have no interest to do anything, start to sense no happiness and no spirite,
Life start to be dark.
What can you do?
continue to be depressed and escape the speech?
No, never!
What you just need is to start to prepare the presentation right now.
One page, One word.
Whatever it is, it will be really really great presentation, because it is done by yourself, and you can prove that you have the ability to have a presentation. Maybe it is not so handsome, you can do it.
Then add more pages when you think about more words. You start to aware that you start to adjust the sentence to make it more good-hearing.
Nice!
You start to consider how to make your presentation more sumptuous.
step by step
your presentation turns to be more and more perfect.
You never feel anxious. You start to anticipate the speech.


Key bindings
| Key | Description |
|---|---|
| SPACE | Fit window in center in case you move or zoom it. |
| 0 | Hide all except the central one. |
| 9 | Show all. |
| 1 | Expand to level 1. |
| 2 | Expand to level 2. |
| 3 | Expand to level 3. |
| 4 | Expand to level 4. |
| 5 | Expand to level 5. |
| + | Zoom in. |
| - | Zoom out. |
| h | Level up. |
| l | Level down. |
| j | Expand step by step. |
| k | Collapse step by step. |
| UP | Move mindmap up. |
| DOWN | Move mindmap down. |
| LEFT | Move mindmap left. |
| RIGHT | Move mindmap right. |
| . | Focus into child level. |
| b | Focus out to parent level. |
| , | Reset to original tree. |
| n | Focus to next sibling. |
| p | Focus to previous sibling. |
| r | Random change theme. |
| z | Reset theme according to Logseq theme. |
| ESC & q | Close the mindmap. |
| cmd+[ | Go backward |
| cmd+] | Go forward |
| / | Toggle this modal. |


{% import "macros.inc.html" as macros %}
{{ macros.form_field(form.username, required="required", autofocus="autofocus", placeholder="your-username") }}
{{ macros.form_field(form.password_decrypted, required="required", placeholder="", class="encrypted password") }}
{{ macros.form_field(form.description, placeholder="Other info (not encrypted).") }}
{{ macros.form_field(form.tags, placeholder="Tags (space-separated)") }}


Susan Granger's review of "YOU'VE GOT MAIL" (Warner Bros.)
This hip, contemporary remake of the Ernst Lubitsch comedy "The Shop Around the Corner," which was based on Miklos Laszlo's "Parfumerie," stars Tom Hanks and Meg Ryan as two booksellers who fall in love in the age of e-mail. She runs a small children's bookstore on New York City's Upper West Side, while he's the scion of a huge superchain which is putting every independent bookstore out of business. They both buy groceries at Zabars and pick up coffee at Starbucks, passing each other on the street, but they've never met. He lives with a hyperactive book editor (Parker Posey) and she lives with an erudite newspaper columnist (Greg Kinnear). Yet, as they face off against one another in their professional life, they unwittingly romance each other, using pseudonyms as they pour out their hearts on the web. Nora Ephron has cleverly updated the story for the electronic age, giving the old-fashioned a fresh, new panache. "The Internet looks infinite," she explains. "But, like a great big city, it's really a series of villages, full of people who care about similar things connecting with one another." While Tom Hanks is splendid, his best bet in the Oscar derby is for "Saving Private Ryan," but isn't it about time Meg Ryan got an Oscar nomination? With a captivating combination of fragility and ferocity, she makes romantic comedy look so easy. In a supporting role, Jean Stapleton strikes a memory chord as she sings and plays the piano. Remember her as Edith Bunker in TV's "All in the Family," warbling the theme in the opening credits? On the Granger Movie Gauge of 1 to 10, "You've Got Mail" delivers a first-class, charming 10.  It's the most romantic movie of the holiday season.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Cloudpipe is a method for connecting end users to their project instances in vlan mode.
The support code for cloudpipe implements admin commands (via nova-manage) to automatically create a vm for a project that allows users to vpn into the private network of their project. Access to this vpn is provided through a public port on the network host for the project. This allows users to have free access to the virtual machines in their project without exposing those machines to the public internet.
The cloudpipe image is basically just a linux instance with openvpn installed. It needs a simple script to grab user data from the metadata server, b64 decode it into a zip file, and run the autorun.sh script from inside the zip. The autorun script will configure and run openvpn to run using the data from nova.
It is also useful to have a cron script that will periodically redownload the metadata and copy the new crl. This will keep revoked users from connecting and will disconnect any users that are connected with revoked certificates when their connection is renegotiated (every hour).
Making a cloudpipe image is relatively easy.
# install openvpn on a base ubuntu image. # set up a server.conf.template in /etc/openvpn/
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 27 28 29 30 31 32 33 34 | port 1194
proto udp
dev tap0
up "/etc/openvpn/up.sh br0"
down "/etc/openvpn/down.sh br0"
persist-key
persist-tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh1024.pem
ifconfig-pool-persist ipp.txt
server-bridge VPN_IP DHCP_SUBNET DHCP_LOWER DHCP_UPPER
client-to-client
keepalive 10 120
comp-lzo
max-clients 1
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
mute 20
|
# set up.sh in /etc/openvpn/
1 2 3 4 5 6 7 | #!/bin/sh
BR=$1
DEV=$2
MTU=$3
/sbin/ifconfig $DEV mtu $MTU promisc up
/usr/sbin/brctl addif $BR $DEV
|
# set down.sh in /etc/openvpn/
1 2 3 4 5 6 7 | #!/bin/sh
BR=$1
DEV=$2
/usr/sbin/brctl delif $BR $DEV
/sbin/ifconfig $DEV down
|
# download and run the payload on boot from /etc/rc.local
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 27 28 29 30 31 32 33 34 35 36 | #!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
####### These lines go at the end of /etc/rc.local #######
. /lib/lsb/init-functions
echo Downloading payload from userdata
wget http://<IP_ADDRESS>/latest/user-data -O /tmp/payload.b64
echo Decrypting base64 payload
openssl enc -d -base64 -in /tmp/payload.b64 -out /tmp/payload.zip
mkdir -p /tmp/payload
echo Unzipping payload file
unzip -o /tmp/payload.zip -d /tmp/payload/
# if the autorun.sh script exists, run it
if [ -e /tmp/payload/autorun.sh ]; then
echo Running autorun.sh
cd /tmp/payload
sh /tmp/payload/autorun.sh
else
echo rc.local : No autorun script to run
fi
exit 0
|
# setup /etc/network/interfaces
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet manual
up ifconfig $IFACE <IP_ADDRESS> up
down ifconfig $IFACE down
auto br0
iface br0 inet dhcp
bridge_ports eth0
|
# register the image and set the image id in your flagfile:
--vpn_image_id=ami-xxxxxxxx
# you should set a few other flags to make vpns work properly:
--use_project_ca
--cnt_vpn_clients=5
When you use nova-manage to launch a cloudpipe for a user, it goes through the following process:
In vlan networking mode, the second ip in each private network is reserved for the cloudpipe instance. This gives a consistent ip to the instance so that nova-network can create forwarding rules for access from the outside world. The network for each project is given a specific high-numbered port on the public ip of the network host. This port is automatically forwarded to 1194 on the vpn instance.
If specific high numbered ports do not work for your users, you can always allocate and associate a public ip to the instance, and then change the vpn_public_ip and vpn_public_port in the database. This will be turned into a nova-manage command or a flag soon.
If the use_project_ca flag is set (required to for cloudpipes to work securely), then each project has its own ca. This ca is used to sign the certificate for the vpn, and is also passed to the user for bundling images. When a certificate is revoked using nova-manage, a new Certificate Revocation List (crl) is generated. As long as cloudpipe has an updated crl, it will block revoked users from connecting to the vpn.
The userdata for cloudpipe isn’t currently updated when certs are revoked, so it is necessary to restart the cloudpipe instance if a user’s credentials are revoked.
You can reboot a cloudpipe vpn through the api if something goes wrong (using euca-reboot-instances for example), but if you generate a new crl, you will have to terminate it and start it again using nova-manage vpn run. The cloudpipe instance always gets the first ip in the subnet and it can take up to 10 minutes for the ip to be recovered. If you try to start the new vpn instance too soon, the instance will fail to start because of a NoMoreAddresses error. If you can’t wait 10 minutes, you can manually update the ip with something like the following (use the right ip for the project):
euca-terminate-instances <instance_id>
mysql nova -e "update fixed_ips set allocated=0, leased=0, instance_id=NULL where fixed_ip='<IP_ADDRESS>'"
You also will need to terminate the dnsmasq running for the user (make sure you use the right pid file):
sudo kill `cat /var/lib/nova/br100.pid`
Now you should be able to re-run the vpn:
nova-manage vpn run <project_id>
The keypair that was used to launch the cloudpipe instance should be in the keys/<project_id> folder. You can use this key to log into the cloudpipe instance for debugging purposes.
CloudPipe - Build a user-data payload zip file, and launch an instance with it.
Bases: object
Wrappers around standard crypto data elements.
Includes root and intermediate CAs, SSH key_pairs and x509 certificates.
Compute an md5 hash.
| Parameters: | fp (file) – File pointer to the file to MD5 hash. The file pointer will be reset to the beginning of the file before the method returns. |
|---|---|
| Return type: | tuple |
| Returns: | the hex digest version of the MD5 hash |
Ensure the CA filesystem exists.
Get crl file for project.
Generate and sign a cert for user in project.
Revoke a cert by file name.
Revoke all project certs.
Revoke all user certs.
Revoke certs for user in project.


SNOTEL Sierra Blanca, NM (Nov, 2013)
Metadata from the RGIS Metadata Repository
Identification Information
- Title SNOTEL Sierra Blanca, NM (Nov, 2013)
- Date 2013-12-02
- Date Type Publication
- Cited Responsible Party
-
- Organization Name NRCS
- Role identify
- Presentation Form vector digital data
- Abstract The basic SNOTEL station provides snowpack water content data via a
pressure-sensing snow pillow. It also collects data on snow depth, all-season
precipitation accumulation, and air temperature with daily maximums, minimums, and
averages. The atmospheric measurements are generally reported multiple times per day
with some reporting hourly. System performance is usually above 99%.
- Purpose Data collected and transmitted by SNOTEL stations and from manual collection
sites are processed rigidly for quality and packaged in both raw and formatted
versions on the NWCC web page. That data and information are used by many
governmental and private entities as seen in the following paragraphs. Program
information influences production decisions on millions of acres of surface-water
dependent, irrigated agricultural lands. Knowing how much water they will receive
based on the available water supply and the relative seniority of their water rights
helps producers make cropping decisions about what, when, and how much to plant to
optimize their production outcome. In several communities, local water commissioners
operate reservoir and diversion systems based on a drought-response management plan
using SNOTEL data. SNOTEL sites and the SS-WSF Program continue to be of critical
value to producers and residents throughout the West.
- Supplemental Information These data are made available through New Mexico's Experimental Program to
Stimulate Competitive Research (NM EPSCoR) data portal. The portal provides access
to data generated by and of use to the EPSCoR community including researchers,
educators, and policy leaders, as well as the general public.
- Status Complete
- Point of Contact
-
- Individual Name Mike Strobel
- Organization Name
- Position Name NWCC director
- Role Point of contact
- Voice<PHONE_NUMBER>
- Facsimile
- Address
-
- Delivery Point 1201 NE Lloyd Blvd., Suite 802
- City Portland
- Administrative Area OR
- Postal Code 97232-1274
- Country
- Electronic Mail Address<EMAIL_ADDRESS>- Maintenance and Update Frequency Unknown
- Descriptive Keywords air temperature, precipitation, snow water content, snow depth, EPSCoR Tract 3
- Access Constraints None
- Use Constraints None
- Language English
- Topic Category climatologyMeteorologyAtmosphere
- Extent
-
- Geographic Bounding Box
-
- West Bound -105.7833333
- East Bound -105.7833333
- North Bound 33.4
- South Bound 33.4
- Temporal Extent
-
- Beginning Position 2013-11-01
- Ending Position 2013-11-30
Back to Top
Distribution Information
- Distributor
-
- Individual Name
- Organization Name Earth Data Analysis Center
- Position Name Clearinghouse Manager
- Role Point of contact
- Voice<PHONE_NUMBER> ext. 230
- Facsimile<PHONE_NUMBER>
- Address
-
- Delivery Point MSC01 1110
- Delivery Point 1 University of New Mexico
- City Albuquerque
- Administrative Area NM
- Postal Code 87131-0001
- Country USA
- Electronic Mail Address<EMAIL_ADDRESS>- Transfer Options
-
- Online Resource ZIP
- Online Resource ESRI Shapefile (shp)
- Online Resource GML
- Online Resource KML
- Online Resource GeoJSON
- Online Resource JSON
- Online Resource Comma Separated Values (csv)
- Online Resource MS Excel format (xls)
Back to Top
Spatial Reference Information
- Spatial References
-
- Spatial Reference North American Datum of 1983
-
- Online Reference EPSG:4269
- Spatial Reference Geodetic Reference System 80
-
- Online Reference EPSG:7019
- Indirect Spatial Reference Lincoln County, NM
- Geometric Object Type Point
- Geometric Object Count 720
Back to Top
Data Quality Information
- Logical Consistency Report Not provided
- Completeness Report Not provided
- Lineage
-
- Process Step
-
- Process Description Create the shapefiles using the provided lat/lon from the NRCS, one per
station using an Arcpy script. Download the CSV data for each station, each
year, each month from the station's Reporting Site.
- Process Date 2013-12-02
- Process Time
- Process Contact
-
- Individual Name
- Organization Name Earth Data Analysis Center
- Position Name Clearinghouse Manager
- Role Point of contact
- Voice<PHONE_NUMBER> ext. 230
- Facsimile<PHONE_NUMBER>
- Address
-
- Delivery Point MSC01 1110
- Delivery Point 1 University of New Mexico
- City Albuquerque
- Administrative Area NM
- Postal Code 87131-0001
- Country USA
- Electronic Mail Address<EMAIL_ADDRESS>Back to Top
Metadata Reference Information
- File Identifier
- Metadata Language English
- Hierarchy Level Dataset
- Date Stamp 2013-12-06
- Metadata Standard Name ISO 19115:2003
- Metadata Standard Version 1.0
- Metadata Contact
-
- Individual Name
- Organization Name Earth Data Analysis Center
- Position Name Clearinghouse Manager
- Role Point of contact
- Voice<PHONE_NUMBER> ext. 230
- Facsimile<PHONE_NUMBER>
- Address
-
- Delivery Point MSC01 1110
- Delivery Point 1 University of New Mexico
- City Albuquerque
- Administrative Area NM
- Postal Code 87131-0001
- Country USA
- Electronic Mail Address<EMAIL_ADDRESS>Back to Top


“最好的计划，不管人和鼠，往往都会落空。” 这是诗人罗伯特·彭斯（Robert Burns，1759—1796）诗歌《致老鼠》（1785年，26岁）中的一句。他写这首诗，是因为有一天在犁地的时候不小心弄翻了老鼠窝，自己非常愧疚，于是慨叹人生也像这老鼠窝一般，总会被不可控的偶然所操纵，造化弄人。

You need not start away so hasty
With bickering prattle!
I would be loath to run and chase you,
With murdering paddle!
I'm truly sorry man's dominion
Has broken Nature's social union,
And justifies that ill opinion
Which makes you startle
At me, your poor, earth-born companion
And fellow mortal!
I doubt not, sometimes, that you may steal;
What then? Poor beast, you must live!
An odd ear in twenty-four sheaves
Is a small request;
I will get a blessing with what is left,
And never miss it.
Your small house, too, in ruin!
Its feeble walls the winds are scattering!
And nothing now, to build a new one,
Of coarse green foliage!
And bleak December's winds ensuing,
Both bitter and piercing!
You saw the fields laid bare and empty,
And weary不再感兴趣，不再热心，感到不耐烦 no longer interested in or enthusiastic about sth winter coming fast,
And cozy（尤指因地方小或封闭而）温暖舒适的 warm, comfortable and safe, especially because of being small or confined here, beneath the blast,
You thought to dwell,
Till crash! The cruel plough passed
Out through your cell.
That small heap of leaves and stubble（作物收割后留在地里的）茬the lower short stiff part of the stems of crops such as wheat that are left in the ground after the top part has been cut and collected,
Has cost you many a weary（尤指长时间努力工作后）疲劳的，疲倦的，疲惫的 very tired, especially after you have been working hard or doing sth for a long time nibble!
Now you are turned out, for all your trouble,
Without house or holding,
To endure the winter's sleety雨雪的 dribble小滴；细流 a very small amount of liquid, in a thin stream,
And hoar-frost霜；冰霜 a layer of small pieces of ice that look like white needles and that form on surfaces outside when temperatures are very low cold.
But Mouse, you are not alone,
In proving foresight深谋远虑；预见 the ability to predict what is likely to happen and to use this to prepare for the future may be vain:
The best-laid schemes of mice and men
Go often askew,
And leave us nothing but grief and pain,
For promised joy!
Still you are blessed（宗教用语）有福的(in religious language) lucky, compared with me!
The present only touches you:
But oh! I backward cast my eye,
On prospects dreary令人沮丧的 that makes you feel sad!
And forward, though I cannot see,
I guess and fear!
John Steinbeck took the title of his 1937 novel Of Mice and Men from a line contained in the penultimate倒数第二的 immediately before the last one stanza（诗的）节，段 a group of lines in a repeated pattern that form a unit in some types of poem: "The best laid schemes o' mice an' men / Gang aft agley" (often paraphrased in English as "The best-laid plans of mice and men / Go oft awry").
在彭斯（Robert Burns）这首诗歌问世150多年以后，它感动了一位美国的工人作家，那就是《愤怒的葡萄》的作者约翰·斯坦贝克（John Steinbeck）。他受到「最好的计划，不管人和鼠，往往都会落空」这句话的影响，写出了中篇小说的典范之作《人鼠之间》。 斯坦贝克希望通过小说来回应彭斯的这首诗。在他看来，大萧条时代的工人，生活在鼠与人之间，他们的生活也受着命运无常的捉弄。


Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maxime ratione nesciunt labore odio magnam ullam voluptates! Voluptas fugit, non, nesciunt velit culpa enim nemo veniam architecto minima, repellendus laborum odit?
I am a very simple card. I am good at containing small bits of information. I am convenient because I require little markup to use effectively.
I am a very simple card. I am good at containing small bits of information. I am convenient because I require little markup to use effectively.
I am a very simple card. I am good at containing small bits of information. I am convenient because I require little markup to use effectively.


Gecode::Iter::Ranges::Offset< I > Class Template Reference
[Range iterators]
Inherited by Gecode::Int::ViewRanges< OffsetView >, and Gecode::Set::LubRanges< OffsetSetView< View > >.
Detailed Description
template<class I>
class Gecode::Iter::Ranges::Offset< I >
Range iterator for pointwise offset (by some constant).
Definition at line 46 of file ranges-offset.icc.
Constructors and initialization | |
| Offset (void) | |
| Default constructor. | |
| Offset (I &i, int c) | |
| Initialize with ranges from i and offset c. | |
| void | init (I &i, int c) |
| Initialize with ranges from i and offset c. | |
Iteration control | |
| bool | operator() (void) const |
| Test whether iterator is still at a range or done. | |
| void | operator++ (void) |
| Move iterator to next range (if possible). | |
Range access | |
| int | min (void) const |
| Return smallest value of range. | |
| int | max (void) const |
| Return largest value of range. | |
| unsigned int | width (void) const |
| Return width of range (distance between minimum and maximum). | |
Protected Attributes | |
| I | i |
| Input range. | |
| int | c |
| Offset for ranges. |
Constructor & Destructor Documentation
| Gecode::Iter::Ranges::Offset< I >::Offset | ( | void | ) | [inline] |
| Gecode::Iter::Ranges::Offset< I >::Offset | ( | I & | i, | |
| int | c | |||
| ) | [inline] |
Member Function Documentation
| void Gecode::Iter::Ranges::Offset< I >::init | ( | I & | i, | |
| int | c | |||
| ) | [inline] |
| bool Gecode::Iter::Ranges::Offset< I >::operator() | ( | void | ) | const [inline] |
Test whether iterator is still at a range or done.
Reimplemented in Gecode::Set::LubRanges< OffsetSetView< View > >.
Definition at line 104 of file ranges-offset.icc.
| void Gecode::Iter::Ranges::Offset< I >::operator++ | ( | void | ) | [inline] |
Move iterator to next range (if possible).
Reimplemented in Gecode::Set::LubRanges< OffsetSetView< View > >.
Definition at line 99 of file ranges-offset.icc.
| int Gecode::Iter::Ranges::Offset< I >::min | ( | void | ) | const [inline] |
Return smallest value of range.
Reimplemented in Gecode::Set::LubRanges< OffsetSetView< View > >.
Definition at line 110 of file ranges-offset.icc.
| int Gecode::Iter::Ranges::Offset< I >::max | ( | void | ) | const [inline] |
Return largest value of range.
Reimplemented in Gecode::Set::LubRanges< OffsetSetView< View > >.
Definition at line 115 of file ranges-offset.icc.
| unsigned int Gecode::Iter::Ranges::Offset< I >::width | ( | void | ) | const [inline] |
Return width of range (distance between minimum and maximum).
Reimplemented in Gecode::Set::LubRanges< OffsetSetView< View > >.
Definition at line 120 of file ranges-offset.icc.
Member Data Documentation
I Gecode::Iter::Ranges::Offset< I >::i [protected] |
int Gecode::Iter::Ranges::Offset< I >::c [protected] |
The documentation for this class was generated from the following file:
- gecode/iter/ranges-offset.icc (Revision: 4973)


Class: Rack::Directory
| Relationships & Source Files | |
| Namespace Children | |
|
Classes:
| |
| Inherits: | Object |
| Defined in: | lib/rack/directory.rb |
Overview
Directory
serves entries below the #root given, according to the path info of the ::Rack
request. If a directory is found, the file’s contents will be presented in an html based index. If a file is found, the env will be passed to the specified app
.
If app
is not specified, a Files
of the same #root will be used.
Constant Summary
-
DIR_FILE =
# File 'lib/rack/directory.rb', line 20"
%s	%s	%s	%s
\n"
-
DIR_PAGE_FOOTER =
# File 'lib/rack/directory.rb', line 43<<-PAGE

  PAGE
-
DIR_PAGE_HEADER =
# File 'lib/rack/directory.rb', line 21<<-PAGE  <title>%s</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" />
%s

 Name	 Size	 Type	 Last Modified
 PAGE
-
FILESIZE_FORMAT =
# File 'lib/rack/directory.rb', line 189
Stolen from Ramaze
[ ['%.1fT', 1 << 40], ['%.1fG', 1 << 30], ['%.1fM', 1 << 20], ['%.1fK', 1 << 10], ]
Class Method Summary
-
.new(root, app = nil) ⇒ Directory
constructor
Set the root directory and application for serving files.
Instance Attribute Summary
-
#root
readonly
The root of the directory hierarchy.
Instance Method Summary
- #call(env)
-
#check_bad_request(path_info)
::Rack
response to use for requests with invalid paths, or nil if path is valid. -
#check_forbidden(path_info)
::Rack
response to use for requests with paths outside the root, or nil if path is inside the root. -
#entity_not_found(path_info)
::Rack
response to use for unreadable and non-file, non-directory entries. -
#filesize_format(int)
Provide human readable file sizes.
-
#get(env)
Internals of request handling.
-
#list_directory(path_info, path, script_name)
::Rack
response to use for directories under the root. -
#list_path(env, path, path_info, script_name)
::Rack
response to use for files and directories under the root. -
#stat(path)
File::Stat
for the given path, but return nil for missing/bad entries.
Constructor Details
.new(root, app = nil) ⇒ Directory
Set the root directory and application for serving files.
Instance Attribute Details
#root (readonly)
The root of the directory hierarchy. Only requests for files and directories inside of the root directory are supported.
# File 'lib/rack/directory.rb', line 80
attr_reader :root
Instance Method Details
#call(env)
[ GitHub ]# File 'lib/rack/directory.rb', line 89
def call(env) # strip body if this is a HEAD call @head.call env end
#check_bad_request(path_info)
::Rack
response to use for requests with invalid paths, or nil if path is valid.
# File 'lib/rack/directory.rb', line 109
def check_bad_request(path_info) return if Utils.valid_path?(path_info) body = "Bad Request\n" [400, { CONTENT_TYPE => "text/plain", CONTENT_LENGTH => body.bytesize.to_s, "x-cascade" => "pass" }, [body]] end
#check_forbidden(path_info)
::Rack
response to use for requests with paths outside the root, or nil if path is inside the root.
# File 'lib/rack/directory.rb', line 119
def check_forbidden(path_info) return unless path_info.include? ".." return if ::File. (::File.join(@root, path_info)).start_with?(@root) body = "Forbidden\n" [403, { CONTENT_TYPE => "text/plain", CONTENT_LENGTH => body.bytesize.to_s, "x-cascade" => "pass" }, [body]] end
#entity_not_found(path_info)
::Rack
response to use for unreadable and non-file, non-directory entries.
# File 'lib/rack/directory.rb', line 181
def entity_not_found(path_info) body = "Entity not found: #{path_info}\n" [404, { CONTENT_TYPE => "text/plain", CONTENT_LENGTH => body.bytesize.to_s, "x-cascade" => "pass" }, [body]] end
#filesize_format(int)
Provide human readable file sizes
# File 'lib/rack/directory.rb', line 197
def filesize_format(int) FILESIZE_FORMAT.each do |format, size| return format % (int.to_f / size) if int >= size end "#{int}B" end
#get(env)
Internals of request handling. Similar to call but does not remove body for HEAD requests.
# File 'lib/rack/directory.rb', line 96
def get(env) script_name = env[SCRIPT_NAME] path_info = Utils.unescape_path(env[PATH_INFO]) if client_error_response = check_bad_request(path_info) || check_forbidden(path_info) client_error_response else path = ::File.join(@root, path_info) list_path(env, path, path_info, script_name) end end
#list_directory(path_info, path, script_name)
::Rack
response to use for directories under the root.
# File 'lib/rack/directory.rb', line 130
def list_directory(path_info, path, script_name) url_head = (script_name.split('/') + path_info.split('/')).map do |part| Utils.escape_path part end # Globbing not safe as path could contain glob metacharacters body = DirectoryBody.new(@root, path, ->(basename) do stat = stat(::File.join(path, basename)) next unless stat url = ::File.join(*url_head + [Utils.escape_path(basename)]) mtime = stat.mtime.httpdate if stat.directory? type = 'directory' size = '-' url << '/' if basename == '..' basename = 'Parent Directory' else basename << '/' end else type = Mime.mime_type(::File.extname(basename)) size = filesize_format(stat.size) end [ url, basename, size, type, mtime ] end) [ 200, { CONTENT_TYPE => 'text/html; charset=utf-8' }, body ] end
#list_path(env, path, path_info, script_name)
::Rack
response to use for files and directories under the root. Unreadable and non-file, non-directory entries will get a 404 response.
# File 'lib/rack/directory.rb', line 171
def list_path(env, path, path_info, script_name) if (stat = stat(path)) && stat.readable? return @app.call(env) if stat.file? return list_directory(path_info, path, script_name) if stat.directory? end entity_not_found(path_info) end
#stat(path)
File::Stat
for the given path, but return nil for missing/bad entries.
# File 'lib/rack/directory.rb', line 163
def stat(path) ::File.stat(path) rescue Errno::ENOENT, Errno::ELOOP return nil end


Navigation
Browse
PAGES
© 2019 GoTube. All Rights Reserved.
Import videos from YouTube
Copy / Paste your video link here
Okay.. Thanks for The Answer I will be waiting for your...
2 hours agoAlex will explain you how to keep your videos privatly and all that...
7 hours agoAlia just joined Messenger! Be the first to send a welcome message..
19 hours agoOkay.. Thanks for The Answer I will be waiting for your...
YesterdayLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt. favorite sketches, behind the scenes clips and web exclusives, featuring all your favorite hosts and cast members. Check out more SNL at


Report iris_run
Best results in hall of fame
| measure |
value |
individual |
| mean accuracy |
0.891467 |
14286 |
| max accuracy |
0.96 |
14286 |
| min accuracy |
0.526667 |
14286 |
| mean kappa |
0.8372 |
14286 |
| max kappa |
0.94 |
14286 |
| min kappa |
0.29 |
14286 |
| mean log_loss |
0.622934 |
7580 |
| max log_loss |
2.74397 |
11770 |
| min log_loss |
0.396792 |
8630 |
Individuals in hall of fame
Individual 14286
| key |
value |
| mean accuracy: |
0.891467 |
| mean kappa: |
0.8372 |
| mean log_loss: |
0.566518 |
| number of edges |
94 |
| number of hidden nodes |
33 |
| number of layers |
16 |
| birth |
159 |
| number of mutations |
83 |
Confusion matrix
Network
Individual 16027
| key |
value |
| mean accuracy: |
0.884333 |
| mean kappa: |
0.8265 |
| mean log_loss: |
0.564729 |
| number of edges |
100 |
| number of hidden nodes |
36 |
| number of layers |
18 |
| birth |
179 |
| number of mutations |
89 |
Confusion matrix
Network
Individual 11770
| key |
value |
| mean accuracy: |
0.883067 |
| mean kappa: |
0.8246 |
| mean log_loss: |
0.61932 |
| number of edges |
85 |
| number of hidden nodes |
29 |
| number of layers |
14 |
| birth |
131 |
| number of mutations |
74 |
Confusion matrix
Network
Individual 12911
| key |
value |
| mean accuracy: |
0.883067 |
| mean kappa: |
0.8246 |
| mean log_loss: |
0.618369 |
| number of edges |
87 |
| number of hidden nodes |
30 |
| number of layers |
14 |
| birth |
144 |
| number of mutations |
76 |
Confusion matrix
Network
Individual 14413
| key |
value |
| mean accuracy: |
0.8828 |
| mean kappa: |
0.8242 |
| mean log_loss: |
0.589973 |
| number of edges |
94 |
| number of hidden nodes |
33 |
| number of layers |
16 |
| birth |
161 |
| number of mutations |
84 |
Confusion matrix
Network
Individual 16748
| key |
value |
| mean accuracy: |
0.879333 |
| mean kappa: |
0.819 |
| mean log_loss: |
0.580244 |
| number of edges |
101 |
| number of hidden nodes |
37 |
| number of layers |
18 |
| birth |
187 |
| number of mutations |
92 |
Confusion matrix
Network
Individual 7580
| key |
value |
| mean accuracy: |
0.877 |
| mean kappa: |
0.8155 |
| mean log_loss: |
0.622934 |
| number of edges |
74 |
| number of hidden nodes |
24 |
| number of layers |
10 |
| birth |
85 |
| number of mutations |
58 |
Confusion matrix
Network
Individual 8029
| key |
value |
| mean accuracy: |
0.8752 |
| mean kappa: |
0.8128 |
| mean log_loss: |
0.616779 |
| number of edges |
74 |
| number of hidden nodes |
24 |
| number of layers |
10 |
| birth |
90 |
| number of mutations |
60 |
Confusion matrix
Network
Individual 7127
| key |
value |
| mean accuracy: |
0.874 |
| mean kappa: |
0.811 |
| mean log_loss: |
0.609636 |
| number of edges |
71 |
| number of hidden nodes |
23 |
| number of layers |
10 |
| birth |
80 |
| number of mutations |
56 |
Confusion matrix
Network
Individual 8630
| key |
value |
| mean accuracy: |
0.873667 |
| mean kappa: |
0.8105 |
| mean log_loss: |
0.604032 |
| number of edges |
68 |
| number of hidden nodes |
21 |
| number of layers |
9 |
| birth |
96 |
| number of mutations |
56 |
Confusion matrix
Network


If you are reading this, it is because your browser does not support the audio element.
camera Position:
Particles per ring:
particles
speed
bkg-tone
Plane
Axis
bkg
shadow-type


Host:
Token JWT:
Mime type:
text/plain
application/json
Channel:
Keep alive[ms]:
Fire and forget:
Request response:
Request stream:
Request channel:
Event log: