Upgrading - py2 to py3¶
This section covers the steps required to upgrade from running Skyline on py2 to py3.
If you are currently running Skyline on Python 2.7 ensure that you first ensure that your Skyline is upgraded and running on v2.0.0 before switching over to Python 3.
- After updating to at least v2.0.0, both DB and your settings.py and ensuring that v2.0.0 is running under v2.0.0 with your new settings.py
- Make a Python 3.7.x virtualenv with all pip requirements
- Stop all Skyline services
- Update /etc/skyline.conf with new virtualenv
- Start all Skyline services


Package redempt.redlib.blockdata
Class BlockDataManager
- java.lang.Object
-
- redempt.redlib.blockdata.BlockDataManager
-
- All Implemented Interfaces:
org.bukkit.event.Listener
public class BlockDataManager extends java.lang.Object implements org.bukkit.event.Listener
ManagesDataBlock
instances, which allow you to attach persistent metadata to blocks, Keeps track of managed blocks, removing data if a block is destroyed or moving it if a block is pushed by a piston.
-
-
Constructor Summary
Constructors Constructor Description BlockDataManager(java.nio.file.Path saveFile)
Create a BlockDataManager instance with a save file location, to be saved to and loaded from.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Set<DataBlock>
getAll()
Loads and returns a set of all DataBlocks managed by this BlockDataManager.java.util.Set<DataBlock>
getAllLoaded()
static java.util.List<BlockDataManager>
getAllManagers()
DataBlock
getDataBlock(org.bukkit.block.Block block)
Gets a DataBlock from a given Block, creating a new one if that Block had no data attached to it.DataBlock
getExisting(org.bukkit.block.Block block)
Gets an existing DataBlock, returning null if that Block has no data attached to it.java.util.Set<DataBlock>
getLoaded(org.bukkit.Chunk chunk)
Gets all the loaded DataBlocks in a chunkjava.util.Set<DataBlock>
getLoaded(org.bukkit.World world, int cx, int cz)
Gets all the loaded DataBlocks in a chunkjava.util.Set<DataBlock>
getNearby(org.bukkit.Location loc, int radius)
Gets all the DataBlocks near an approximate locationboolean
isChunkLoaded(org.bukkit.Chunk chunk)
boolean
isChunkLoaded(org.bukkit.World world, int cx, int cz)
java.util.Set<DataBlock>
load(org.bukkit.Chunk chunk)
Loads all of the DataBlocks in a given chunk, or retrieves the already-loaded set of DataBlocksjava.util.Set<DataBlock>
load(org.bukkit.World world, int cx, int cz)
Loads all of the DataBlocks in a given chunk, or retrieves the already-loaded set of DataBlocksvoid
onBlockExplode(org.bukkit.event.block.BlockExplodeEvent e)
void
onBlockPull(org.bukkit.event.block.BlockPistonRetractEvent e)
void
onBlockPush(org.bukkit.event.block.BlockPistonExtendEvent e)
void
onBreakBlock(org.bukkit.event.block.BlockBreakEvent e)
void
onBucketEmpty(org.bukkit.event.player.PlayerBucketEmptyEvent e)
void
onBurnBlock(org.bukkit.event.block.BlockBurnEvent e)
void
onChunkUnload(org.bukkit.event.world.ChunkUnloadEvent e)
void
onEntityExplode(org.bukkit.event.entity.EntityExplodeEvent e)
void
onFlowBreakBlock(org.bukkit.event.block.BlockFromToEvent e)
protected void
register(DataBlock db)
void
remove(DataBlock db)
Removes a DataBlock from this DataBlockManagervoid
save()
Saves all data to the save file.void
saveAndClose()
Saves all data to the save file, and closes the SQL connection.void
setAutoSave(boolean autoSave)
Sets whether this BlockDataManager will automatically save every 5 minutes.void
unload(org.bukkit.Chunk chunk)
Saves and unloads all of the DataBlocks in a chunkvoid
unload(org.bukkit.World world, int cx, int cz)
Saves and unloads all of the DataBlocks in a chunkvoid
unloadAll()
Saves and unloads all DataBlocks from this BlockDataManager
-
-
-
Constructor Detail
-
BlockDataManager
public BlockDataManager(java.nio.file.Path saveFile)
Create a BlockDataManager instance with a save file location, to be saved to and loaded from. This constructor immediately loads from the given file.- Parameters:
saveFile
- The Path to load from immediately, and save to when save is called
-
-
Method Detail
-
getAllManagers
public static java.util.List<BlockDataManager> getAllManagers()
- Returns:
- The list of all active BlockDataManagers
-
setAutoSave
public void setAutoSave(boolean autoSave)
Sets whether this BlockDataManager will automatically save every 5 minutes. Defaults to true.- Parameters:
autoSave
- Whether to save automatically every 5 minutes
-
save
public void save()
Saves all data to the save file.
-
saveAndClose
public void saveAndClose()
Saves all data to the save file, and closes the SQL connection. Call this in your onDisable.
-
getExisting
public DataBlock getExisting(org.bukkit.block.Block block)
Gets an existing DataBlock, returning null if that Block has no data attached to it.- Parameters:
block
- The block to check- Returns:
- A DataBlock, or null
-
getDataBlock
public DataBlock getDataBlock(org.bukkit.block.Block block)
Gets a DataBlock from a given Block, creating a new one if that Block had no data attached to it.- Parameters:
block
- The block to check or create a DataBlock from- Returns:
- An existing or new DataBlock
-
register
protected void register(DataBlock db)
-
remove
public void remove(DataBlock db)
Removes a DataBlock from this DataBlockManager- Parameters:
db
- The DataBlock to remove
-
getNearby
public java.util.Set<DataBlock> getNearby(org.bukkit.Location loc, int radius)
Gets all the DataBlocks near an approximate location- Parameters:
loc
- The location to check nearradius
- The radius to check in- Returns:
- The nearby DataBlocks
-
getLoaded
public java.util.Set<DataBlock> getLoaded(org.bukkit.Chunk chunk)
Gets all the loaded DataBlocks in a chunk- Parameters:
chunk
- The chunk to get the loaded DataBlocks in- Returns:
- A set of DataBlocks in the chunk, or an empty set if the chunk is not loaded
-
getLoaded
public java.util.Set<DataBlock> getLoaded(org.bukkit.World world, int cx, int cz)
Gets all the loaded DataBlocks in a chunk- Parameters:
world
- The world the chunk is incx
- The chunk Xcz
- The chunk Z- Returns:
- A set of DataBlocks in the chunk, or an empty set if the chunk is not loaded
-
load
public java.util.Set<DataBlock> load(org.bukkit.World world, int cx, int cz)
Loads all of the DataBlocks in a given chunk, or retrieves the already-loaded set of DataBlocks- Parameters:
world
- The world the chunk is incx
- The chunk Xcz
- The chunk Z- Returns:
- The set of DataBlocks in the chunk
-
load
public java.util.Set<DataBlock> load(org.bukkit.Chunk chunk)
Loads all of the DataBlocks in a given chunk, or retrieves the already-loaded set of DataBlocks- Parameters:
chunk
- The chunk to load DataBlocks in- Returns:
- The set of DataBlocks in the chunk
-
unload
public void unload(org.bukkit.World world, int cx, int cz)
Saves and unloads all of the DataBlocks in a chunk- Parameters:
world
- The world the chunk is incx
- The chunk Xcz
- The chunk Z
-
unload
public void unload(org.bukkit.Chunk chunk)
Saves and unloads all of the DataBlocks in a chunk- Parameters:
chunk
- The chunk to unload the DataBlocks in
-
unloadAll
public void unloadAll()
Saves and unloads all DataBlocks from this BlockDataManager
-
isChunkLoaded
public boolean isChunkLoaded(org.bukkit.Chunk chunk)
- Parameters:
chunk
- The chunk to check- Returns:
- Whether the DataBlocks in the chunk are loaded in this BlockDataManager
-
isChunkLoaded
public boolean isChunkLoaded(org.bukkit.World world, int cx, int cz)
- Parameters:
world
- The world the chunk is incx
- The X coordinate of the chunkcz
- The Z coordinate of the chunk- Returns:
- Whether the DataBlocks in the chunk are loaded in this BlockDataManager
-
getAllLoaded
public java.util.Set<DataBlock> getAllLoaded()
- Returns:
- The set of all loaded DataBlocks
-
getAll
public java.util.Set<DataBlock> getAll()
Loads and returns a set of all DataBlocks managed by this BlockDataManager. Avoid calling this if possible.- Returns:
- The set of all DataBlocks managed by this BlockDataManager
-
onBreakBlock
public void onBreakBlock(org.bukkit.event.block.BlockBreakEvent e)
-
onBucketEmpty
public void onBucketEmpty(org.bukkit.event.player.PlayerBucketEmptyEvent e)
-
onFlowBreakBlock
public void onFlowBreakBlock(org.bukkit.event.block.BlockFromToEvent e)
-
onBurnBlock
public void onBurnBlock(org.bukkit.event.block.BlockBurnEvent e)
-
onEntityExplode
public void onEntityExplode(org.bukkit.event.entity.EntityExplodeEvent e)
-
onBlockExplode
public void onBlockExplode(org.bukkit.event.block.BlockExplodeEvent e)
-
onBlockPush
public void onBlockPush(org.bukkit.event.block.BlockPistonExtendEvent e)
-
onBlockPull
public void onBlockPull(org.bukkit.event.block.BlockPistonRetractEvent e)
-
onChunkUnload
public void onChunkUnload(org.bukkit.event.world.ChunkUnloadEvent e)
-
-


org.drip.simm.credit
Classes
CRBucket
CRNQBucketCorrelation20
CRNQBucketCorrelation21
CRNQSettingsContainer20
CRNQSettingsContainer21
CRNQSystemics20
CRNQSystemics21
CRQBucketCorrelation20
CRQBucketCorrelation21
CRQSettingsContainer20
CRQSettingsContainer21
CRQSystemics20
CRQSystemics21
CRSystemics
CRThresholdContainer20
CRThresholdContainer21
SectorSystemics


10.1 Consider a robot whose operation is described by the following PDDL operators:
$ Op({Go(x,y)},{At(Robot,x)},{\lnot At(Robot,x) \land At(Robot,y)}) $ $ Op({Pick(o)},{At(Robot,x)\land At(o,x)},{\lnot At(o,x) \land Holding(o)}) $ $ Op({Drop(o)},{At(Robot,x)\land Holding(o)},{At(o,x) \land \lnot Holding(o)} $
The operators allow the robot to hold more than one object. Show how to modify them with an $EmptyHand$ predicate for a robot that can hold only one object.
Assuming that these are the only actions in the world, write a successor-state axiom for $EmptyHand$.
10.2 Describe the differences and similarities between problem solving and planning.
10.3 [strips-airport-exercise]Given the action schemas and initial state from Figure airport-pddl-algorithm, what are all the applicable concrete instances of ${Fly}(p,{from},{to})$ in the state described by
$ At(P_1,JFK) \land At(P_2,SFO) \land Plane(P_1) \land Plane(P_2) \land Airport(JFK) \land Airport(SFO)? $
10.4 The monkey-and-bananas problem is faced by a monkey in a laboratory with some bananas hanging out of reach from the ceiling. A box is available that will enable the monkey to reach the bananas if he climbs on it. Initially, the monkey is at $A$, the bananas at $B$, and the box at $C$. The monkey and box have height ${Low}$, but if the monkey climbs onto the box he will have height ${High}$, the same as the bananas. The actions available to the monkey include ${Go}$ from one place to another, ${Push}$ an object from one place to another, ${ClimbUp}$ onto or ${ClimbDown}$ from an object, and ${Grasp}$ or ${Ungrasp}$ an object. The result of a ${Grasp}$ is that the monkey holds the object if the monkey and object are in the same place at the same height.
Write down the initial state description.
Write the six action schemas.
Suppose the monkey wants to fool the scientists, who are off to tea, by grabbing the bananas, but leaving the box in its original place. Write this as a general goal (i.e., not assuming that the box is necessarily at C) in the language of situation calculus. Can this goal be solved by a classical planning system?
Your schema for pushing is probably incorrect, because if the object is too heavy, its position will remain the same when the ${Push}$ schema is applied. Fix your action schema to account for heavy objects.
10.5 The original {Strips} planner was designed to control Shakey the robot. Figure shakey-figure shows a version of Shakey’s world consisting of four rooms lined up along a corridor, where each room has a door and a light switch. The actions in Shakey’s world include moving from place to place, pushing movable objects (such as boxes), climbing onto and down from rigid objects (such as boxes), and turning light switches on and off. The robot itself could not climb on a box or toggle a switch, but the planner was capable of finding and printing out plans that were beyond the robot’s abilities. Shakey’s six actions are the following:
${Go}(x,y,r)$, which requires that Shakey be ${At}$ $x$ and that $x$ and $y$ are locations ${In}$ the same room $r$. By convention a door between two rooms is in both of them.
Push a box $b$ from location $x$ to location $y$ within the same room: ${Push}(b,x,y,r)$. You will need the predicate ${Box}$ and constants for the boxes.
Climb onto a box from position $x$: ${ClimbUp}(x, b)$; climb down from a box to position $x$: ${ClimbDown}(b, x)$. We will need the predicate ${On}$ and the constant ${Floor}$.
Turn a light switch on or off: ${TurnOn}(s,b)$; ${TurnOff}(s,b)$. To turn a light on or off, Shakey must be on top of a box at the light switch’s location.
Write PDDL sentences for Shakey’s six actions and the initial state from Figure shakey-figure. Construct a plan for Shakey to get $ {Box}{}_2$ into ${Room}{}_2 $ .
Figure [shakey-figure] Shakey's world. Shakey can move between landmarks within a room, can pass through the door between rooms, can climb climbable objects and push pushable objects, and can flip light switches.
10.6 A finite Turing machine has a finite one-dimensional tape of cells, each cell containing one of a finite number of symbols. One cell has a read and write head above it. There is a finite set of states the machine can be in, one of which is the accept state. At each time step, depending on the symbol on the cell under the head and the machine’s current state, there are a set of actions we can choose from. Each action involves writing a symbol to the cell under the head, transitioning the machine to a state, and optionally moving the head left or right. The mapping that determines which actions are allowed is the Turing machine’s program. Your goal is to control the machine into the accept state.
Represent the Turing machine acceptance problem as a planning problem. If you can do this, it demonstrates that determining whether a planning problem has a solution is at least as hard as the Turing acceptance problem, which is PSPACE-hard.
10.7 [negative-effects-exercise]Explain why dropping negative effects from every action schema results in a relaxed problem, provided that preconditions and goals contain only positive literals.
10.8 [sussman-anomaly-exercise]Figure sussman-anomaly-figure (page sussman-anomaly-figure) shows a blocks-world problem that is known as the {Sussman anomaly}. The problem was considered anomalous because the noninterleaved planners of the early 1970s could not solve it. Write a definition of the problem and solve it, either by hand or with a planning program. A noninterleaved planner is a planner that, when given two subgoals $G_{1}$ and $G_{2}$, produces either a plan for $G_{1}$ concatenated with a plan for $G_{2}$, or vice versa. Can a noninterleaved planner solve this problem? How, or why not?
10.9 Prove that backward search with PDDL problems is complete.
10.10 Construct levels 0, 1, and 2 of the planning graph for the problem in Figure airport-pddl-algorithm.
10.11 [graphplan-proof-exercise] Prove the following assertions about planning graphs:
A literal that does not appear in the final level of the graph cannot be achieved.
The level cost of a literal in a serial graph is no greater than the actual cost of an optimal plan for achieving it.
10.12 We saw that planning graphs can handle only propositional actions. What if we want to use planning graphs for a problem with variables in the goal, such as $ {At}(P_{1}, x) \land {At}(P_{2}, x) $, where $x$ is assumed to be bound by an existential quantifier that ranges over a finite domain of locations? How could you encode such a problem to work with planning graphs?
10.13 The set-level heuristic (see page set-level-page) uses a planning graph to estimate the cost of achieving a conjunctive goal from the current state. What relaxed problem is the set-level heuristic the solution to?
10.14 Examine the definition of bidirectional search in Chapter search-chapter.
Would bidirectional state-space search be a good idea for planning?
What about bidirectional search in the space of partial-order plans?
Devise a version of partial-order planning in which an action can be added to a plan if its preconditions can be achieved by the effects of actions already in the plan. Explain how to deal with conflicts and ordering constraints. Is the algorithm essentially identical to forward state-space search?
10.15 We contrasted forward and backward state-space searchers with partial-order planners, saying that the latter is a plan-space searcher. Explain how forward and backward state-space search can also be considered plan-space searchers, and say what the plan refinement operators are.
10.16 [satplan-preconditions-exercise] Up to now we have assumed that the plans we create always make sure that an action’s preconditions are satisfied. Let us now investigate what propositional successor-state axioms such as ${HaveArrow}^{t+1} {\;\;{\Leftrightarrow}\;\;}{}$ $({HaveArrow}^t \land \lnot {Shoot}^t)$ have to say about actions whose preconditions are not satisfied.
Show that the axioms predict that nothing will happen when an action is executed in a state where its preconditions are not satisfied.
Consider a plan $p$ that contains the actions required to achieve a goal but also includes illegal actions. Is it the case that $ initial state \land successor-state axioms \land p {\models} goal ? $
With first-order successor-state axioms in situation calculus, is it possible to prove that a plan containing illegal actions will achieve the goal?
10.17 [strips-translation-exercise]Consider how to translate a set of action schemas into the successor-state axioms of situation calculus.
Consider the schema for ${Fly}(p,{from},{to})$. Write a logical definition for the predicate ${Poss}({Fly}(p,{from},{to}),s)$, which is true if the preconditions for ${Fly}(p,{from},{to})$ are satisfied in situation $s$.
Next, assuming that ${Fly}(p,{from},{to})$ is the only action schema available to the agent, write down a successor-state axiom for ${At}(p,x,s)$ that captures the same information as the action schema.
Now suppose there is an additional method of travel: ${Teleport}(p,{from},{to})$. It has the additional precondition $\lnot {Warped}(p)$ and the additional effect ${Warped}(p)$. Explain how the situation calculus knowledge base must be modified.
Finally, develop a general and precisely specified procedure for carrying out the translation from a set of action schemas to a set of successor-state axioms.
10.18 [disjunctive-satplan-exercise] In the {SATPlan} algorithm in Figure satplan-agent-algorithm (page satplan-agent-algorithm), each call to the satisfiability algorithm asserts a goal $g^T$, where $T$ ranges from 0 to $T_{{\rm max}}$. Suppose instead that the satisfiability algorithm is called only once, with the goal $g^0 \lor g^1 \lor \cdots \lor g^{T_{{\rm max}}}$.
Will this always return a plan if one exists with length less than or equal to $ T_{{\rm max}} $?
Does this approach introduce any new spurious “solutions”?
Discuss how one might modify a satisfiability algorithm such as {WalkSAT} so that it finds short solutions (if they exist) when given a disjunctive goal of this form.


simulated_annealing(n) 1.0 "flibs"
simulated_annealing - Implement a "simulated annealing" algorithm
TABLE OF CONTENTS
SYNOPSIS
DESCRIPTION
DATA TYPES AND ROUTINES
INTERFACE ISSUES
COPYRIGHT
| use simulated_annealing |
| type(ANNEALING_PARAMETERS) |
| call set_parameters( params, update, initial_temp, temp_reduction, number_iterations, scale_factor, automatic_scaling, verbose) |
| call get_next_step( params, range, x, value, task |
| call find_minimum( params, range, x, func, value ) |
|
The simulated_annealing module allows you to find the minimum
of an arbitrary function of N variables using a straightforward
simulated annealing algorithm.
The idea is that the variables can vary independently each within a
given interval. For each set of values generated in this way, the
function that is to be minimized is evaluated. The new set of values is
accepted as the new estimate of the minimum in two situations:
-
The value of the function is lower than the current minimum
-
A generated random number is low enough, that is the expression
| |
r < exp(-(new value - old value)/scaled temperature)
|
is true.
The "temperature" is reduced by a constant factor after a given number
of iterations, thus making the second case more and more improbable. If
there are no new estimates, the iteration stops.
Theoretically, simulated annealing is able to find the global
minimum of a function, but it would require infinite time to actually
achieve it.
The module implements the basic technique and if the interface to the
function is more complex than the subroutine find_minimum
assumes, then you can use the code for that routine as a template for a
customised version (see below for some ideas regarding such more
general functionality).
The module defines a single data type, ANNEALING_PARAMETERS and several
subroutines:
- use simulated_annealing
-
The name of the module. The module itself uses the module
select_precision to select single or double precision reals.
- type(ANNEALING_PARAMETERS)
-
The type holds the parameters and state variables needed for the
iteration. You can set the fields via the subroutine
set_parameters.
- call set_parameters( params, update, initial_temp, temp_reduction, number_iterations, scale_factor, automatic_scaling, verbose)
-
Subroutine to set the individual parameters for the algorithm. (All
arguments are optional, except params and update)
- type(ANNEALING_PARAMETERS) params
-
Derived type holding all parameters (and internal state variables) for
the iteration.
- logical update
-
If true, only the arguments that are present in the call are used to
update the fields in params. Otherwise the structure is first
initialised.
Note: this is probably not a very useful feature.
- real(wp) initial_temp
-
Initial "temperature" (defaults to 1). A larger value means it will be
easier for the vector representing the estimated minimum to wander
about.
- real(wp) temp_reduction
-
Factor by which to reduce the temperature (defaults to 0.95). A smaller
value means the iteration will settle quicker, but possibly misses the
global minimum. A value closer to 1 means the process will take longer,
but the result will be more accurate.
- integer number_iterations
-
Number of estimates to be examined before reducing the "temperature"
(defaults to 100).
- real(wp) scale_factor
-
Factor by which to scale the value before. The idea is that with a well
chose scale factor the simulation is more or less independent from the
actual values (defaults to 1).
- logical automatic_scaling
-
Whether to first automatically determine a reasonable scale factor or
not.
- logical verbose
-
Whether to print the intermediate results before reducing the
temperature or not.
- call get_next_step( params, range, x, value, task
-
Low-level routine that exmaines the function value and decides what the
next step will be.
- type(ANNEALING_PARAMETERS) params
-
Derived type holding all parameters (and internal state variables) for
the iteration.
- real(wp), dimension(2,:) range
-
The minimum and maximum value for each independent variable.
- real(wp), dimension(:) x
-
Current estimate of each independent variable where the minimum is
attained.
- real(wp) value
-
Value of the function at x.
- integer task
-
Task to be performed: anneal_init, anneal_print, anneal_value or
anneal_done.
- call find_minimum( params, range, x, func, value )
-
Routine implementing the procedure to find the minimum.
- type(ANNEALING_PARAMETERS) params
-
Derived type holding all parameters (and internal state variables) for
the iteration.
- real(wp), dimension(2,:) range
-
The minimum and maximum value for each independent variable.
- real(wp), dimension(:) x
-
Upon return, estimate of each independent variable where the minimum is
attained.
- real(wp) value
-
Estimate of the minimum value of the function (the value at x).
- real(wp) function func(x)
-
The function must have the interface:
| |
interface
function f(x)
use select_precision
real(wp), dimension(:), intent(in) :: x
real(wp) :: func
end function
end interface
|
The interface to the function to be minimized is fixed. This is an
unfortunate limitation of Fortran 95. But there are at least two ways
around it:
-
If the function requires one or more parameters, or a set of
measured data, then it can be useful to store these first as module
variables and then call find_minimum with as argument a function
in that module that can access the data:
| |
module measured_data
use select_precision
real(wp), dimension(:), allocatable, save :: data
contains
subroutine store_data( array )
real(wp), dimension(:) :: data
... copy the data
end subroutine store_data
real(wp) function f(x)
real(wp), dimension(:) :: x
... use x and data to determine the value of f
end function f
end module
|
-
Use the code for find_minimum to implement the evaluation of the
function in the way required. The code is fairly straightforward:
{exampe {
subroutine find_minimum( params, range, x, func, value )
type(ANNEALING_PARAMETERS), intent(inout) :: params
real(wp), dimension(:,:), intent(in) :: range
real(wp), dimension(:), intent(inout) :: x
real(wp), intent(out) :: value
interface
function func( x )
use select_precision
real(wp), dimension(:), intent(in) :: x
real(wp) :: func
end function
end interface
integer :: task
task = annealing_init
do
call get_next_step( params, range, x, value, task )
select case ( task )
case ( annealing_value )
!
! Fill in the evaluation of the function
!
! You can put the customised code here
!
value = func(x)
case ( annealing_report )
!
! Fill in the reporting code
!
write(*,'(a,e12.4)') 'Value so far: ', value
write(*,'(a,(5e12.4),/)') ' Vector: ', x
write(*,'(2(a,i5))') ' Accepted: ', &
params%accepted, ' from ', params%number_iterations
case ( annealing_done )
exit
end select
enddo
end subroutine find_minimum
}]
Copyright © 2008 Arjen Markus <arjenmarkus@sourceforge.net>


After each round, there is a {{continuation_chance}}% probability that the match will continue for at least another round.
This is how the length of a match is determined: at the end of each round, the computer rolls a fair 100-sided die.
If the die comes up {{die_threshold_plus_one}} or more we do not continue to another round, and the match is over.
If the die comes up {{continuation_chance}} or less, we continue to another round of the same match.
We continue to more rounds, until {{die_threshold_plus_one}} or more
is rolled at the end of a round and the match ends.
You will play with the same person for the entire match.
After a match is finished, you will be randomly paired with another person for a new match.
Are there any questions before we start with the paid matches?


{% extends "base.html" %} {% block content %} {{ type }} Deleted Successfully deleted. {% endblock %}
Successfully deleted.


October 26
But God, who is rich in mercy, for his great love wherewith he loved us, Even when we were dead in sins, hath quickened us together with Christ...And hath
raised us up together, and made us sit together in heavenly places in Christ Jesus. Ephesians 2:4-6
God has raised us up to sit together in heavenly places in Christ Jesus! That's what the Word of God says. Very few of us have actually dared to believe this. We've uplifted Jesus. We've exalted Him--and rightly so! But at the same time, we've unwittingly belittled what He did by not allowing Him to bring us alongside Him.
That was God's purpose at Calvary: to bring us alongside Jesus. To make us what He already was.
You see, Jesus didn't need exalting. He was exalted before He ever came to this earth. He was already one with the Father. He didn't need to get authority over the devil--He'd never lost it!
He put on a physical body so that He could come to earth as a man and gain authority over sin and sickness, demons, fear, poverty and all the other curses that came when the law of death moved into the earth--and He did it. He succeeded. He mastered everything in the world of the intellect, everything in the physical world.
Before He ascended, He said, "All authority is given unto Me both in heaven and in the earth." Then He turned around and gave that authority to us by giving us His Name.
You and I are the reason Jesus came to earth and died and lived again. He didn't do it for Himself. He did it so He could bring us alongside. So we could wear His Name and wield His authority on the earth. He did it so that we could stand before God and be everything to Him that Jesus is.
When you were born again, you were made the righteousness of God in Christ! So as a born-again believer, dare to receive this message, to meditate on it and to act on it. Go ahead--dare to take your place!
Scripture Reading: Ephesians 2:1-13


This is our better product line ever, because it's much better than before.
Our new service is faster than it used to be and that's good because faster is better.
Our service line is harder and heavier but not in a bad way. It's actually in a good way.
Instead of huge, horrible security holes, we now offer secure servers and passwords and stuff.
Have we mentioned this is new? Because it's new, it's better, because studies show that.


{{ partial "nav.html" . }} Contribution Guidelines | Edit roadmap.md Roadmap {{.Inner}} {{ partial "footer.html" . }}
Contribution Guidelines
|
Edit roadmap.md


Lodash
for Rolling Scopes School
by Siarhei Krauchanka
Hi everyone! My name is Sergey, and today we'll talk about the Lodash library.
Plan
What is Lodash?
Why Lodash?
Adding Lodash to a project
Usage examples
Here is my presentation plan
1. First, we'll find out what Lodash is.
2. Then we'll answer the question, why Lodash?
3. After that we'll learn about the different ways to add Lodash to your project.
4. Finally, we'll look at a few examples of how Lodash can be used.
What is Lodash?
A modern JavaScript utility library delivering modularity, performance & extras.
Initiall release - April 23, 2012
Almost 16 millions weekly npm downloads
Almost 80k npm dependents
More than 47k stars on GitHub
Full build - only 24kB gzipped
So, What is Lodash?
It is a modern JavaScript utility library delivering modularity, performance & extras.
It was initially released in 2012, so it's already 8 years old.
As you can see, it has almost 16 million npm downloads weekly and almost 80 thousand npm dependents.
It is one of the most commonly used libraries in JS. This means that while you may have never dealt with
the Lodash library itself, you are probably using it indirectly all the time.
And it has over 47 thousand stars on GitHub, people clearly love it.
The full build will only take 24KB of memory.
Ok, we found out that Lodash is a mature js library, extremely popular and lightweight.
Why Lodash?
Lodash makes JavaScript easier by taking the hassle out of working with arrays, numbers, objects,
strings.
Lodash’s modular methods are great for:
Iterating arrays, objects, & strings
Manipulating & testing values
Creating composite functions
So, why Lodash?
Well, Lodash makes JavaScript easier by taking the hassle out of working with arrays, numbers, objects,
strings. Lodash’s modular methods are great for:
Iterating arrays, objects, & strings
Manipulating & testing values
Creating composite functions
So, why don’t we check it out?
Adding Lodash to a project
In a browser:
Using npm:
$ npm i -g npm
$ npm i --save lodash
In Node.js:
// Load the full build.
var _ = require('lodash');
// Load the core build.
var _ = require('lodash/core');
// Load the FP build for immutable auto-curried iteratee-first data-last methods.
var fp = require('lodash/fp');
// Load method categories.
var array = require('lodash/array');
var object = require('lodash/fp/object');
// Cherry-pick methods for smaller browserify/rollup/webpack bundles.
var at = require('lodash/at');
var curryN = require('lodash/fp/curryN');
First, let's learn about the different ways to add Lodash to your project.
You can add it in browser by pasting script tag in your html. You can use link to files on your host.
You can install it with npm the way we install everything with npm.
And in Node.js, you can add Lodash like this. As you can see, there are a lot of options. You may need
the entire library, or, for example, just a module that contains functions for working with arrays, or
you may even require only one function you need.
By the way, you can also use the cdn link to get a specific module or function, just like with Node.
Array, Collection, Date, Function, Lang, Math, Number, Object, Seq, String, Util, Properties, Methods
Main function families:
is*, stub*, to*, *By, *In, sorted*,
*Depth, *Right, *With, *While
Lodash library has really complete Documentation. It’s well-structured and has lots of examples, it’s
divided into next sections:
Array, Collection, Date, Function, Lang, Math, Number, Object, Seq, String, Util, Properties, Methods.
Lodash provides a lot of functions, following are some of them that will help in solving the most
common challenges when dealing with javascript objects.
Collection methods
map, reduce, filter, some, every, forEach (aka each), size, ...
_.map
const data = [
{ name: 'Patrick',age: '25',},
{ name: 'John',age: '24',},
{ name: 'Teresa',age: '26',}
];
_.map(data, 'name');// [ 'Patrick', 'John', 'Teresa' ]
Works with nested properties as well
const data = [
{ name: 'Patrick',age: '25',profile: {experience: 2} },
{ name: 'John',age: '24',profile: {experience: 2}},
{ name: 'Teresa',age: '26',profile: {experience: 4} }
];
_.map(data, 'profile.experience');// [ 2, 2, 4 ]
Now, let us look at some Collection methods.
You may have already noticed, that Lodash duplicates a lot of methods, that most browsers already
understand without Lodash, such as forEach, map, filter. In most cases, Lodash equivalents were
created earlier, and their current implementations are pretty smart. If Lodash notices, that browser
already has some function, it lets browser implementation of this function do the job, otherwise, it
uses its own implementation.
Function _.map can be used for getting a specific property from an array of objects.
Works with nested properties as well
Similar useful functions: _.mapValues, _.mapKeys, _.flatMap
const users = [
{ name: 'Patrick', age: '25', profile: { experience: 2 } },
{ name: 'John', age: '24', profile: { experience: 2 } },
{ name: 'Teresa', age: '26', profile: { experience: 4 } }
];
_.find(users, user => user.name === 'John');
// { name: 'John', age: '24', profile: { experience: 2 } }
const users = [
{ name: 'Patrick', age: '25', profile: { experience: 3 } },
{ name: 'John', age: '24', profile: { experience: 2 } },
{ name: 'Teresa', age: '26', profile: { experience: 4 } }
];
_.filter(users, user => user.profile.experience > 2);
// [ { name: 'Patrick', age: '25', profile: { experience: 3 } },
// { name: 'Teresa', age: '26', profile: { experience: 4 } } ]
const users = [
{ name: 'Patrick', age: '25', profile: { experience: 2 } },
{ name: 'John', age: '24', profile: { experience: 2 } },
{ name: 'Teresa', age: '26', profile: { experience: 4 } }
];
const usersByName = _.keyBy(users, 'name');
usersByName['Teresa'];// { name: 'Teresa', age: '26', profile: { experience: 4 } }
Here are some Collection methods.
Function _.find Iterates over elements of collection, returning the first element predicate returns
truthy for.
Similar useful functions: _.findIndex, _.some
Function _.filter Iterates over elements of collection, returning an array of all elements predicate
returns
truthy for.
For example, we want to filter the array of objects based on the profile.experience property.
Similar useful functions: _.every
Function _.keyBy Creates an object composed of keys generated from the results of running each element
of
collection through the callback function.
We can convert an array of objects into a single object having properties as the unique identifier of
each object. This way we can easily access the object based on that unique identifier.
Similar useful functions: _.groupBy
Object methods
assign, at, keys, forIn, keys, values, ...
Object manipulation
var object = { 'a': [{ 'b': { 'c': 3 } }] };
_.get(object, 'a[0].b.c');// => 3
_.set(object, 'a[0].b.c', 4);
console.log(object.a[0].b.c);// => 4
_.has(object, 'a');// => true
_.toPairs(object)
_.toPairs([{ 'a': 1, 'b': 2 }]);// => [['a', 1], ['b', 2]]
_.fromPairs(pairs)
_.fromPairs([['a', 1], ['b', 2]]);// => { 'a': 1, 'b': 2 }
Here are some Object methods.
We can perform object manipulation with get and set functions, which speak for themselves, and we can
check if an object has some property with has function.
There is also toPairs function, that can turn an object into an array of pairs, and fromPairs function,
that turns this array back into object
Of course, Lodash deserves more than a 10 minutes talk, but that’s all we have today. I hope I’ve at
least inspired you to look through Lodash docs once more.
thank you!
That’s all for today, thank you for your attention!


./komodod -ac_name=KMDICE -ac_supply=10500000 -ac_reward=2500000000 -ac_halving=210000 -ac_cc=2 -addressindex=1 -spentindex=1 -addnode=<IP_ADDRESS> &
https://kmdice.pool-mining.xyz/ <- pool
https://pool.forkwitch.com/ <- another pool
https://minerpond.com <- another pool
100 messages
Before 05-Dec-19 12:00 AM
blackjok3r19-Oct-18 04:24 PM
Because you can drain the plan, by flooding it with bets faster than it cna process, if the timeout is too low the bettor gets free coins
maybe all the entropy or funding TX are locked until the timeout ?
siu - Chainmakers19-Oct-18 04:25 PM
hmmm
blackjok3r19-Oct-18 04:25 PM
If would ahve put about 3000 utxo into the fund
siu - Chainmakers19-Oct-18 04:25 PM
not sure... but maybe
blackjok3r19-Oct-18 04:25 PM
if it was me
siu - Chainmakers19-Oct-18 04:25 PM
node is running
blackjok3r19-Oct-18 04:25 PM
maybe even 5000
and 1000 entropy
I did the faucet on STKDTROLL with 100 utxo so 100 faucet gets can happen per block
CrisF19-Oct-18 04:26 PM
@siu - Chainmakers What did you mean its getting drained :/
blackjok3r19-Oct-18 04:26 PM
the dice must work similar to that
siu - Chainmakers19-Oct-18 04:26 PM
not drained, just the utxos seem to be getting locked
timeout 600 to omuch or amount of utxo needs ot be increased(edited)
siu - Chainmakers19-Oct-18 04:27 PM
blackjok3r19-Oct-18 04:27 PM
btw seriously just wanted to play here
CrisF19-Oct-18 04:27 PM
How many utxos are there?
siu - Chainmakers19-Oct-18 04:27 PM
7
blackjok3r19-Oct-18 04:27 PM
I wasnt not trying to break it at all ... we just did a very high risk bet and it broke(edited)
siu - Chainmakers19-Oct-18 04:28 PM
hey, that is the plan, break it... it seems like it broke itself though lol
mine are stuck too
jorian19-Oct-18 04:28 PM
no we made a shitty chain
blackjok3r19-Oct-18 04:28 PM
it broke itself, due to being setup incorectly
no offence
you didnt knwo
we never docuemnted it
jorian19-Oct-18 04:28 PM
so we're both to blame
CrisF19-Oct-18 04:28 PM
Oh, I had a few hundred eventually.
blackjok3r19-Oct-18 04:28 PM
if I was not sleeping when you launced this, I would ahve been able to let you know
siu - Chainmakers19-Oct-18 04:29 PM
but is it the utxo number or the timeout?
im not sure actually
blackjok3r19-Oct-18 04:29 PM
guess no more sleep for me
I think its related...
siu - Chainmakers19-Oct-18 04:29 PM
lol
blackjok3r19-Oct-18 04:29 PM
you can have a long timeout
if you have lots of utxo
cc contracts done use the wallet ... so having insanse number of utxo wont slow it down that much at all
CrisF19-Oct-18 04:30 PM
I had trouble with less than 10, then got my script working and went sick making utxos.
blackjok3r19-Oct-18 04:30 PM
JSON='"{\"'
JSON2='\":100,\"'
for i in `seq 1 2000`; do
address="RTVti13NP4eeeZaCCmQxc2bnPdHxCJFP9x"
JSON+=$address
JSON+=$JSON2
done
JSON="${JSON%???}}\""
echo $JSON
(edited)
siu - Chainmakers19-Oct-18 04:31 PM
i have to do a 3 hour drive now. :/
blackjok3r19-Oct-18 04:31 PM
then put in sendmany to fund
in PR .. its that big ?
thats how long it takes to get to the city from here ...
the only city
in 3000 KM
CrisF19-Oct-18 04:31 PM
There was another strange thing that happened before we stopped working on dice.
I started losing every bet.
blackjok3r19-Oct-18 04:32 PM
I know that for sure ... dice needed to be treated with respect .. if you bet too much too quicly it would get very angry and stop working
but I didnt set up the tables... and never went back to test what caused what ..
I think lots of utxo and a long timeout will help but its untested theory
CrisF19-Oct-18 04:33 PM
@smk762 - dracocanis ominator may have experienced that too. Not sure though.
blackjok3r19-Oct-18 04:33 PM
the odds did seem to get worse as time went on
but that was mostly due to the timeout
I was flooding bets so fast it was ending after timeout and paying me the win
this is why multiple tables runnign dice finish on multiple nodes is needed
with smks TUI it could even just randomly choose one
instead of letting you pick(edited)
CrisF19-Oct-18 04:35 PM
I lost 100 in a row with easy odds.
SHossain19-Oct-18 04:35 PM
i will play later. now testing something very exciting
1
blackjok3r19-Oct-18 04:35 PM
@Alright when you get back, I think these guys need help with snapshot and aridrop ... we will see which notary nodes can handle it
yes wait for 600 blocks from now and see it it unlocks
Alright19-Oct-18 04:37 PM
are you doing that?
blackjok3r19-Oct-18 04:38 PM
#chainbreakers
SHossain19-Oct-18 04:38 PM
lol
blackjok3r19-Oct-18 04:40 PM
ok well ..... after i broke it without meaning to... I should finish my beer and remove my visitors and go back to streamer
Alright19-Oct-18 04:41 PM
@siu - Chainmakers@jorian is your dealer node croning dicestatus?
if not, all bets will time out and win
makes some bets
1
blackjok3r19-Oct-18 04:43 PM
Sorry.. just one thing .. it appeard to break when I did a bet.. wher the pubkey I bet from was diffrent to the pubkey my deamon was running with... and it sent all change to the wrong address .. is there a utxo that I must spend to clain the win ?
I think this might ahve something to do with it tbh.
can someone else please create a dice table on a STKDTROLL and try to replicate that @CrisF ?


Full Stack Web Developer
Call me Ish. I'm a full stack web developer biased towards backend development.
I build awesome things @Spatial Collective.
Based in Nairobi, Kenya.
kariuki (at) ishuah.com
More to come.


This is a list of all users registerd on the website. You can sort them by the fields below, edit, delete and add users.
Enter an user id to verify its email:


Application Rationalization
Dashboard demo
Average Rating (x-axis), Average Number of Reviews (y-axis), Number of Business' (Size)
Average Rating in Stars (Pie)
Average Rating in Stars / Number of Reviews (Bar)
Average Rating in Stars / Number of Reviews (Line)
Data Table for Filtered Businesses
| Name | City | Review Score (in Stars) | Total Reviews | Location |
|---|


My pal Sev' is building an arcade controller with a Retropie Raspi 3 inside for his daughter (for him really but hey, who hasn't used that excuse among the makers in the world ?). So I'm lending my workshop and modest expertise. Here's the lessons learnt.
**Edit:** it ended up being an afternoon project that closed on a big session of high-fives and some good old Metal Slug on the TV \(^_^)/
⇒ See my budddy **Seburan**'s [[https://seburan.wordpress.com/2017/07/03/retropie-wireless-arcade-box/|blog page]] with the details and pictures.

Points of interrest
The power requirements of the Raspi
Apparently, something like 720mA at 5v with HDMI and 4 cores loaded is the mark. That means roughly 1A to source from a Li-Ion at 3.7v, which is doable totally. One 2200mAh should give us 30 mins of power under load, with 2 of them it's 1h+ (finger in the air estimation ⓒ) ...
Source: [[http://raspi.tv/2016/how-much-power-does-raspberry-pi3b-use-how-fast-is-it-compared-to-pi2b]]
**Edit:** after the testing, depending on what you do it might be enough power or not: we often have the "yellow lightening bolt" in the top right corner", but in the menus of Emustation, not while playing Arcade of SNES games (I guess that N64 would make it appear but did not test).
The power management of the Raspi
We just wnat the "raw power" of the Raspi 3, not the wifi or ethernet. So we need to cut all that is useless to save the batteries. So we want to stop:
* Wifi ✔
* Bluetooth ✔
* Ethernet ✔
* Leds ?
For the Wifi/Bluetooth, the [[https://raspberrypi.stackexchange.com/questions/53149/disable-power-on-wifi-and-bluetooth-interfaces-during-boot|Internet Approved™]] solution is to blacklist the kernel modules for BT and Wifi, disabling them //de facto//:
in /etc/modprobe.d/raspi-blacklist.conf
#wifi
blacklist brcmfmac
blacklist brcmutil
#bt
blacklist btbcm
blacklist hci_uart
For ethernet [[https://stackoverflow.com/questions/23487728/ethernet-disabling-in-raspberry-pi|Internet]] says this:
ip link set eth0 down
Implementation
Bill of materials
* 1x Pair of 18650 Samsung Li-Ion batteries taken from an old laptop. Used 2 who were already in pair to limit risks.
* 1x USB Li-ion charger over charge protection from eBay
* 1x Step-up converter from 3.7v to 5V (made it 5.1V)
* 1x Switch
* 1x Big ass arcade controller from Yahoo auctions
Schematics
Pictures
See here : [[https://seburan.wordpress.com/2017/07/03/retropie-wireless-arcade-box/]]
Links
Helpful sources
Inspiration


A platform to help students get answers to their academic related questions faster than the traditional method from their TA.
TA's get to showcase their work through a high quality automated report.
It is becoming the most popualar and widespread form of communication
good quality apps, good documentation, good support, good compatibility among all the iOS devices, good code
Top left: working of beacons
Top right: Compatible Devices
Bottom left: Internals of beacons
Google's Eddystone protocol will be used in this project
* These technologies will be researched, compared with other technologies and presented in the final project report


=== Test case: lasp_client_server_advertisement_counter_SUITE:client_server_state_based_test/1 (click for source code) === Config value: [{watchdog,<0.1587.0>}<EMAIL_ADDRESS>{tc_group_properties,[]}, {tc_group_path,[]}, {data_dir,"/home/antoine/Documents/Unif/M1/DistributedSystems/lasp/_build/test/lib/lasp/test/lasp_client_server_advertisement_counter_SUITE_data/"}<EMAIL_ADDRESS>=== Current directory is<EMAIL_ADDRESS>=== Started at 2017-05-03 15:12:19
*** User 2017-05-03 15:12:19.055 *** Beginning test case client_server_state_based_test
*** User 2017-05-03 15:12:19.064 *** Running client_server_ad_counter_state_based_test with nodes [server,client_1, client_2, client_3]
*** User 2017-05-03 15:12:19.064 *** Launching Erlang distribution...
*** System report during lasp_client_server_advertisement_counter_SUITE:client_server_state_based_test/1 2017-05-03 15:12:19.111 *** =PROGRESS REPORT==== 3-May-2017::15:12:19 === application: sasl started_at: 'runner@antoine-PC'
*** System report during lasp_client_server_advertisement_counter_SUITE:client_server_state_based_test/1 2017-05-03 15:12:19.120 *** =PROGRESS REPORT==== 3-May-2017::15:12:19 === application: syntax_tools started_at: 'runner@antoine-PC'
*** System report during lasp_client_server_advertisement_counter_SUITE:client_server_state_based_test/1 2017-05-03 15:12:19.129 *** =PROGRESS REPORT==== 3-May-2017::15:12:19 === application: compiler started_at: 'runner@antoine-PC'
*** System report during lasp_client_server_advertisement_counter_SUITE:client_server_state_based_test/1 2017-05-03 15:12:19.138 *** =PROGRESS REPORT==== 3-May-2017::15:12:19 === supervisor: {local,gr_sup} started: [{pid,<0.1614.0>}, {id,gr_counter_sup}, {mfargs,{gr_counter_sup,start_link,[]}}, {restart_type,permanent}, {shutdown,5000}, {child_type,supervisor}]
*** System report during lasp_client_server_advertisement_counter_SUITE:client_server_state_based_test/1 2017-05-03 15:12:19.141 *** =PROGRESS REPORT==== 3-May-2017::15:12:19 === supervisor: {local,gr_sup} started: [{pid,<0.1616.0>}, {id,gr_param_sup}, {mfargs,{gr_param_sup,start_link,[]}}, {restart_type,permanent}, {shutdown,5000}, {child_type,supervisor}]
*** System report during lasp_client_server_advertisement_counter_SUITE:client_server_state_based_test/1 2017-05-03 15:12:19.144 *** =PROGRESS REPORT==== 3-May-2017::15:12:19 === supervisor: {local,gr_sup} started: [{pid,<0.1618.0>}, {id,gr_manager_sup}, {mfargs,{gr_manager_sup,start_link,[]}}, {restart_type,permanent}, {shutdown,5000}, {child_type,supervisor}]
*** System report during lasp_client_server_advertisement_counter_SUITE:client_server_state_based_test/1 2017-05-03 15:12:19.144 *** =PROGRESS REPORT==== 3-May-2017::15:12:19 === application: goldrush started_at: 'runner@antoine-PC'
*** System report during lasp_client_server_advertisement_counter_SUITE:client_server_state_based_test/1 2017-05-03 15:12:19.150 *** =PROGRESS REPORT==== 3-May-2017::15:12:19 === supervisor: {local,lager_sup} started: [{pid,<0.1625.0>}, {id,lager}, {mfargs,{gen_event,start_link,[{local,lager_event}]}}, {restart_type,permanent}, {shutdown,5000}, {child_type,worker}]
*** System report during lasp_client_server_advertisement_counter_SUITE:client_server_state_based_test/1 2017-05-03 15:12:19.152 *** =PROGRESS REPORT==== 3-May-2017::15:12:19 === supervisor: {local,lager_sup} started: [{pid,<0.1627.0>}, {id,lager_handler_watcher_sup}, {mfargs,{lager_handler_watcher_sup,start_link,[]}}, {restart_type,permanent}, {shutdown,5000}, {child_type,supervisor}]
*** System report during lasp_client_server_advertisement_counter_SUITE:client_server_state_based_test/1 2017-05-03 15:12:19.154 *** =PROGRESS REPORT==== 3-May-2017::15:12:19 === supervisor: {local,lager_sup} started: [{pid,<0.1629.0>}, {id,lager_crash_log}, {mfargs, {lager_crash_log,start_link, ["log/crash.log",65536,10485760,[{hour,0}],5]}}, {restart_type,permanent}, {shutdown,5000}, {child_type,worker}]
*** User 2017-05-03 15:12:19.203 *** Starting node: server
*** User 2017-05-03 15:12:19.205 *** 15:12:19.203 [info] Application lager started on node 'runner@antoine-PC'
*** User 2017-05-03 15:12:20.281 *** Starting node: client_1
*** User 2017-05-03 15:12:21.360 *** Starting node: client_2
*** User 2017-05-03 15:12:22.422 *** Starting node: client_3
*** User 2017-05-03 15:12:23.487 *** Loading lasp on node: 'server@antoine-PC'
*** User 2017-05-03 15:12:23.507 *** Loading lasp on node: 'client_1@antoine-PC'
*** User 2017-05-03 15:12:23.528 *** Loading lasp on node: 'client_2@antoine-PC'
*** User 2017-05-03 15:12:23.550 *** Loading lasp on node: 'client_3@antoine-PC'
*** User 2017-05-03 15:12:24.038 *** Starting lasp.
*** User 2017-05-03 15:12:24.817 *** Custering nodes...
*** User 2017-05-03 15:12:24.818 *** Joining node: 'server@antoine-PC' to 'client_1@antoine-PC' at port 46308
*** User 2017-05-03 15:12:24.819 *** Joining node: 'server@antoine-PC' to 'client_2@antoine-PC' at port 55304
*** User 2017-05-03 15:12:24.820 *** Joining node: 'server@antoine-PC' to 'client_3@antoine-PC' at port 54296
*** User 2017-05-03 15:12:24.821 *** Joining node: 'client_1@antoine-PC' to 'server@antoine-PC' at port 48743
*** User 2017-05-03 15:12:24.823 *** Joining node: 'client_1@antoine-PC' to 'client_2@antoine-PC' at port 55304
*** User 2017-05-03 15:12:24.823 *** Joining node: 'client_1@antoine-PC' to 'client_3@antoine-PC' at port 54296
*** User 2017-05-03 15:12:24.824 *** Joining node: 'client_2@antoine-PC' to 'server@antoine-PC' at port 48743
*** User 2017-05-03 15:12:24.825 *** Joining node: 'client_2@antoine-PC' to 'client_1@antoine-PC' at port 46308
*** User 2017-05-03 15:12:24.826 *** Joining node: 'client_2@antoine-PC' to 'client_3@antoine-PC' at port 54296
*** User 2017-05-03 15:12:24.826 *** Joining node: 'client_3@antoine-PC' to 'server@antoine-PC' at port 48743
*** User 2017-05-03 15:12:24.828 *** Joining node: 'client_3@antoine-PC' to 'client_1@antoine-PC' at port 46308
*** User 2017-05-03 15:12:24.828 *** Joining node: 'client_3@antoine-PC' to 'client_2@antoine-PC' at port 55304
*** User 2017-05-03 15:12:24.829 *** Lasp fully initialized.
*** User 2017-05-03 15:12:24.829 *** Waiting for simulation to end


Deletes a subscription.
The subscription to delete.
An additional set of options to use for this call.
The options injected by the applied decorators.
Lists all available query extensions for the search endpoint.
An additional set of options to use for this call.
The options injected by the applied decorators.
A Promise of the extensions.
Searches through the values of a facet.
The request for which to search through the values of a facet.
An additional set of options to use for this call.
The options injected by the applied decorators.
A Promise of facet search results.
Follows an item, or a query result, using the search alerts service.
The subscription details.
An additional set of options to use for this call.
The options injected by the applied decorators.
Gets the URI that can be used to authenticate against the given provider.
The provider name.
The URI to return to after the authentication is completed.
The authentication message.
Additional set of options to use for this call.
Options injected by the applied decorators.
The authentication provider URI.
Gets the base URI of the search alerts endpoint.
The base URI of the search alerts endpoint.
Gets the base URI of the Search API endpoint.
The base URI of the Search API endpoint.
Gets a single item, using its uniqueId
.
Typically, the IQueryResult.uniqueId on each result.
An additional set of options to use for this call.
The options injected by the applied decorators.
A Promise of the item.
Gets the content for a single item, as an HTMLDocument (think: quickview).
Typically, the IQueryResult.uniqueId on each result.
An additional set of options to use for this call.
The options injected by the applied decorators.
A Promise of the item content.
Gets the content of a single item, as text (think: quickview).
Typically, the IQueryResult.uniqueId on each result.
An additional set of options to use for this call.
The options injected by the applied decorators.
A Promise of the item content.
Gets a link / URI to download a query result set to the XLSX format.
Note:
This method does not automatically download the query result set, but rather provides an URI from which to download it.
The query for which to get the XLSX result set.
The number of results to download.
An additional set of options to use for this call.
The options injected by the applied decorators.
The download URI.
Gets a list of query suggestions for a request.
The query, and the number of suggestions to return.
An additional set of options to use for this call.
The options injected by the applied decorators.
A Promise of query suggestions.
Gets the raw datastream for an item. This is typically used to get a thumbnail for an item.
Returns an array buffer.
Example:
let rawBinary = String.fromCharCode.apply(null, new Uint8Array(response));
img.setAttribute('src', 'data:image/png;base64,' + btoa(rawBinary));
Typically, the IQueryResult.uniqueId on each result.
Normally, $Thumbnail
.
An additional set of options to use for this call.
The options injected by the applied decorators.
Gets an URL from which it is possible to see the datastream for an item. This is typically used to get a thumbnail for an item.
Typically, the IQueryResult.uniqueId on each result.
Normally, $Thumbnail
.
An additional set of options to use for this call.
The options injected by the applied decorators.
The datastream URL.
Gets an URL from which it is possible to see a single item content, as HTML (think: quickview).
Typically, the IQueryResult.uniqueId on each result.
An additional set of options to use for this call.
The options injected by the applied decorators.
The URL.
Indicates whether the search endpoint is using JSONP internally to communicate with the Search API.
true
in the search enpoint is using JSONP; false
otherwise.
Lists the possible field values for a request.
The request for which to list the possible field values.
An additional set of options to use for this call.
The options injected by the applied decorators.
A Promise of the field values.
Lists the possible field values for a request.
The request for which to list the possible field values.
An additional set of options to use for this call.
The options injected by the applied decorators.
A Promise of the field values.
Lists all fields for the index, and returns an array of their descriptions.
An additional set of options to use for this call.
The options injected by the applied decorators.
A Promise of the index fields and descriptions.
Gets a Promise of an array of the current subscriptions.
The page of the subscriptions.
An additional set of options to use for this call.
The options injected by the applied decorators.
Note:
The Coveo Cloud V2 platform does not support collaborative rating. Therefore, this method is obsolete in Coveo Cloud V2.
Rates a single item in the index (granted that collaborative rating is enabled on your index)
The item id, and the rating to add.
An additional set of options to use for this call.
The options injected by the applied decorators.
Performs a search on the index and returns a Promise of IQueryResults
.
This method slightly modifies the query results by adding additional information to each result (id, state object, etc.).
The query to execute. Typically, the query object is built using a
QueryBuilder
.
An additional set of options to use for this call.
The options injected by the applied decorators.
A Promise of query results.
Sets a function which allows external code to modify all endpoint call parameters before the browser sends them.
Note:
This is useful in very specific scenarios where the network infrastructure requires special request headers to be added or removed, for example.
The function.
Tags a single item.
The item id, and the tag action to perform.
An additional set of options to use for this call.
The options injected by the applied decorators.
Updates a subscription with new parameters.
The subscription to update with new parameters.
An additional set of options to use for this call.
The options injected by the applied decorators.
Configures a search endpoint on a Coveo Cloud V1 index.
The organization ID of your Coveo Cloud index.
The token to use to execute query. If not specified, you will likely need to login when querying.
The URI of the Coveo Cloud REST Search API. By default, this points to the production environment.
A set of additional options to use when configuring this endpoint.
Configures a new search endpoint on a Coveo Cloud V2 organization.
The unique identifier of the target Coveo Cloud V2 organization (e.g., mycoveocloudv2organizationg8tp8wu3
).
The access token to authenticate Search API requests with (i.e., an API key or a search token).
Note: This token will also authenticate Usage Analytics Write API requests if the search interface initializes an Analytics
component whose token
option is unspecified.
The base URI of the Search API.
Allowed values:
https://platform.cloud.coveo.com/rest/search
(for organizations in the standard Coveo Cloud V2 environment)https://platformhipaa.cloud.coveo.com/rest/search
(for HIPAA organizations)https://globalplatform.cloud.coveo.com/rest/search
(for multi-region organizations)Default: https://platform.cloud.coveo.com/rest/search
Additional options to apply for this endpoint (e.g., a renewAccessToken
function).
Configures a search endpoint on a Coveo on-premise index.
The URI of your Coveo Search API endpoint (e.g., http://myserver:8080/rest/search
)
The token to use to execute query. If not specified, you will likely need to login when querying (unless your Coveo Search API endpoint is configured using advanced auth options, such as Windows auth or claims).
A set of additional options to use when configuring this endpoint.
Configures a demo search endpoint on a Coveo Cloud V1 organization whose index contains various types of non-secured items.
Note: This method mainly exists for demo and testing purposes.
Additional options to apply for this endpoint.
Configures a demo search endpoint on a Coveo Cloud V2 organization whose index contains various types of non-secured items.
Note: This method mainly exists for demo and testing purposes.
Additional options to apply for this endpoint.
A map of all initialized SearchEndpoint
instances.
Example: Coveo.SearchEndpoint.endpoints["default"]
returns the default endpoint that was created at initialization.
Creates a new SearchEndpoint
instance.
Uses a set of adequate default options, and merges these with the options
parameter.
Also creates an EndpointCaller
instance and uses it to communicate with the endpoint
internally.
The custom options to apply to the new SearchEndpoint
.
The
SearchEndpoint
class allows the framework to perform HTTP requests against the Search API (e.g., searching, getting query suggestions, getting the HTML preview of an item, etc.).https://docs.coveo.com/331/
Note: When writing custom code that interacts with the Search API, be aware that executing queries directly through an instance of this class will not trigger any query events](https://docs.coveo.com/417/#query-events). In some cases, this may be what you want. However, if you _do_ want query events to be triggered (e.g., to ensure that standard components update themselves as expected), use the [
queryController
instance instead.


- The first point is for Aggressive targets -- high fluctuations with a tendency to trend up
- The second point is for Standard targets -- moderate fluctuations with a tendency to trend up
- The third point is for Conservative targets -- low fluctuations with a tendency to remain the same


'3 Black Chicks Review...'
BLACK AND WHITE (2000) Rated R; running time 100 minutes Genre: Drama IMDB site: http://us.imdb.com/Details?0165643 Official site: http://www.blackandwhitefilm.com/ Written by: James Toback Directed by: James Toback Starring: Power, Raekwon, Bijou Phillips, Brooke Shields, Robert Downey Jr., Mike Tyson, Ben Stiller, Allan Houston, Claudia Schiffer, William Lee Scott, Gaby Hoffmann, Kidada Jones, Eddie Kaye Thomas, James Toback, Elijah Wood, Joe Pantoliano, Sticky Fingaz, Method Man, Garry Pastore (Benny Bones), Kim Matulova (Kim), Jared Leto (Casey), Scott Caan (Scotty), Stacy Edwards (Sheila King), Marla Maples (Muffy)
Review Copyright Rose Cooper, 2000 Review URL: http://www.3blackchicks.com/bamsb&w.html
"If it's Wednesday..."
Not this time: with BLACK AND WHITE having come out so quickly on the heels of fellow Ghetto Wednesday Release ROMEO MUST DIE, I decided to stage my own mini-protest by not seeing it on opening day last Wednesday--holding out until Friday or later--to do what little I could toward ending the Ghettoization of American movies.
But by the looks of this mess, maybe I should've extended my protest indefinitely.
The Story (WARNING: **spoilers contained below**): Of the more clearly defined roles, this is as near as I can call it:
Mike Tyson (as himself) inexplicably hangs around dispensing Wisdom to neighborhood Scarface-wannabe Rich Bower (Power) who himself hangs on the one hand with rapper Cigar (Raekwon), for whom Rich is trying to get a record deal with Arnie Tishman (James Toback, who also wrote and directed B&W), who, of course, doesn't take either Cigar or Power seriously until they come to see him with a White lawyer-type, to whom Arnie laments about thuggish ruggish rappers; and on the other hand, with a group of White kids--chief amongst them Charlie (Bijou Phillips), Charlie's boyfriend Wren (Elijah Wood), their friend Marty King (Eddie Kaye Thomas), and Marty's brother Will (William Lee Scott)--who see themselves, and the Black rappers they hang with, as "niggas". In the friendly, familial sense, of course. [End Sarcasm]
But I'm not quite finished: Rich's other pat'na, basketballer Dean (Allan Houston), finds himself in a jam at the hands of both his White anthropology student girlfriend Greta (Claudia Schiffer) and Mark Clear (Ben Stiller), who offered Dean a bribe--and then some. And on top of it all, documentarians Sam Donager (Brooke Shields) and her gay husband (yes, you read right) Terry (Robert Downey, Jr.) follow the self-proclaimed "niggas" around with a video camera, to try to gain some Understanding of just what makes these White kids want to imitate Thug Life.
Oy.
The Upshot: The tone was set early on in the movie; or at least, it could have been: moving from the opening scene of Charlie and her friend Raven (Gaby Hoffmann) being "used" (with their consent) by Rich as stone freeks, to a more staged-feeling scene with Charlie confronting her white-bread, upper-middle-class parents with her "Black" talk, dress, and lifestyle, you get the sense that there something Important was about to be addressed. What would Mommy and Daddy do if they knew what their daughter was doing in the middle of the park just before she came home?
Had Toback chosen to stick with this part of the story, or even done a true documentary on the White kids, B&W would've struck a true chord in these times when Black culture - or more precisely, the sub-culture of hip-hop - is co-opted more by middle- and upper-class White youth than by Blacks (many of whom, like Kidada Jones' character Jesse, are trying to get out of the very way of life these White kids strive to emulate). Charlie and her cohorts were the most poignant part of the movie, and truly exploring their stories might have gone a long way towards really getting down to the brass tacks of Black and White life, at least the portion of it represented by those on screen.
Instead, Toback chose to take the easy, patronizing way out, by trivializing the White kids, ignoring most of the "Black story" except to (unintentionally) laughably attempt to paint Rich and his crew as mobster-lite thugs, and by inexplicably casting "names" such as Brooke Shields, Ben Stiller, and Claudia Schiffer, in roles that were downright painful to watch. Shields was good in THE BACHELOR as a high-society type played full-bore; here, she just looks damned goofy in pseudo-dreadlocks and nose ring, which works against her attempt to come across as an outsider only minimally trying to be accepted. Half-stepping on her part just didn't work; her character should've either been all the way Down, or woefully short of the mark. Stiller, obviously slumming, was just as wasted; his character's entire subplot could've been jettisoned, to no ill-effect, taking Dean and Greta down the drain with him.  It grinds my gizzards just to think about that tripe again.
There were surprises to be found, however, pleasant and unpleasant. On the down side, I felt sorry for Joe Pantoliano, as District Attorney (and Will and Marty's father) Bill King; throughout his excruciating scene with Stiller, "Joey Pants" looked like he was looking for the quickest exit out of this flick. On the up side was a triple threat: I never thought I'd say this, but Mike Tyson has a future in acting, even if it's just acting as himself. As he did in WONDER BOYS recently, Robert Downey Jr. continues to rise above poor material given to him. And as hoodie-rat Charlie, Bijou Phillips stole the show; full of the gruff and bravado that Power should have been displaying, Phillips' Charlie was the one character who remained consistently worth watching throughout this movie.
Three decent performances out of a movie of tens of bad ones, though, is never A Good Thing.
The "Black Factor" [ObDisclaimer: We Are Not A Monolith]: I'll set my own intolerance of the ignorance behind propping oneself and ones friends up as "niggas", aside for a second. Above and beyond that, the true shame of this film is that Toback didn't listen to his own words, said through his characters Charlie, Cigar, and Dean: Charlie spoke of wanting to be something other than she was, but realized that it was probably "just a phase" that she'd grow out of; Cigar complained about being treated by the White kids as "animals on display" (as did Tyson, of Sam); and Dean, in a reasonable voice just before his character went stoopid, told Real Truth about Whites and Blacks (paraphrased): "there's no one single type of 'Black' or 'White' person; we're all different".
And I'll go out on a limb here by saying that Toback needs to get a real education in Ghetto Life before attempting something like this again.  Inquiring minds want to know, Mr. Toback; were you too caught up with the hip-hop banter to do more than treat your characters as displays in a zoo?
Maybe it's Just Me, but I'm thinking that those sentiments could be made into a good film. Toback, unfortunately, doesn't seem to be up to the task. John Singleton, anyone?
Bammer's Bottom Line: If you just must see Black And White - and I'm sure there will be more than a few of you who just must - don't go into it expecting to Learn anything, save this: knuckleheads come in all colors. But you knew that already, eh?
BLACK AND WHITE (rating: yellowlight): Here's a free clue for writer/director Toback: when you look at the world only in terms of Black and White, you often miss the greyshades. Or didn't you hear what "Dean" said?
3 Black Chicks...Movie Reviews With Flava! /~\ Rose "Bams" Cooper /','\ 3BlackChicks Enterprises /','`'\ Copyright Rose Cooper, 2000 /',',','/`, EMAIL<EMAIL_ADDRESS>ICQ: 7760005 `~-._'c / http://www.3blackchicks.com/ `\ ( http://www.evenbetter.com/?partner=1987 /====\
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


Add a task!
Add a job!
Update Today's Goal!
Update Your Scratchpad!
Logout!
Company:
Title:
Description:
Found your dream job?
Yes!
Notes About This Listing:
Application Status:
Watching Applied Interviewing Awaiting Response Offer Received Offer Negotiating Offer Accepted Offer Declined
Source:
Link to posting:
Task:
Due By:


| To: | Vladimir Geisberg | |
| Cc: | Michael Brook, Mikhail Gurevich, W. M. Miller, Mark Avenmarg, Stephen Schmidt | |
| From: | Scott Turner | |
| Date: | 98-07-13, revised 98-08-03 and 98-09-02 and 98-10-02 | |
| Subject: | Functional Specification of DISCOVER Java Support |
DISCOVER will support the Java language. Below are listed the ways in which this will make a difference in how DISCOVER is used. The 08-03 revision adds support for throw and catch relations. The 09-02 revision is an update reflecting how the implementation eventually worked out the details. Note that some user interface elements are yet unimplemented.
Interfaces, new category
A new kind/category is
provided for Java interfaces, due to the distinction which Java developers make,
and because some of the relationships have a different flavor depending on whether
you've got a class or an interface.
Are interfaces no more than a restricted form of class? Not in Java, even though every class is an interface in the sense that it declares public members and can be used to declare objects. A Java interface can be inherited freely, whereas a Java class can be inherited only by classes, and classes can only inherit from one superclass. These restrictions prevent some of the ambiguities that occur with multiple inheritance in C++.
Interfaces show up similarly to classes in inheritance hierarchy diagrams.
Packages, like C++ namespaces, make sense in a Java model
as a category/kind.
Currently DISCOVER does not support namespaces, but does support PL/SQL packages,
which are somewhat similar to Java packages.
Java packages will be internally implemented with the same ddKind,
DD_PACKAGE
.
Classes get a new query, "Show Super-Interfaces". Queries for interfaces are the same as those for classes, except that interfaces have no "Show Super-Classes" query, but they do have a "Show Sub-Interfaces" query. These differences are based on the inherent distinction between interfaces and classes.
Queries relating to packages will include
Exception-handling queries will be added, since exceptions are particularly important for Java, and are overdue for support in C++. These will include
Other queries unique to the Java language or environment may be needed. At this time, only the following possibility has been identified.
synchronized
statements
could be a useful addition to the "ask" list.
Names in packages, particularly class names, will be displayed fully-qualified. For
example, the name of the indexOf
method of the standard String
class will appear in DISCOVER as
java.lang.String.indexOf(char ch)
Several unique Java features should show up disctinctively in graphical views.
Access commands and attributes will be added for the following:
Different programming languages are defined using different terms, and Java is no exception. In Java, every function is preferably called a "method", even if it does not depend implicitly on an instance of its class. The browser's category list now shows functions and methods as "Functions/Methods" rather than "Functions".
Some text varies, depending on whether the context is Java or C/C++. Functions, when selected in the browser, are displayed in the status bar as "method". Classes are displayed as "struct" in C++, but Java classes will show up as "class".
The queries that are presented in the "Ask" column for any given kind of object depend on the set of languages included in the current project. They do not vary depending on the object(s) selected.
Initialization blocks in classes consist of code that belongs to the class and not to any particular method or constructor. Initialization blocks are supported in outline views, and for the relations involving instances within the block.
| preference | description |
|---|---|
psetPrefs.ELS.List | will add support for Java |
psetPrefs.ELS.Java.flags | new preference |
psetPrefs.ELS.Java.suffix | new preference, e.g. .java |
It is expected that make
is common enough with Java that our current
extraction strategy remains good as a default.
The -D
options, however, will not be relevant to Java,
at least in our implementation.
The -I
command line options are supplanted by
-classpath
, at least for javac
.
This -classpath
will be supported in make flags extraction.
As of 1998-10-02, the command line option is being implemented as --classpath
with two hyphens because the EDG command line parser doesn't support single-hyphen
options of the kind that javac uses.
The following make rule works:
. : /**/(*).java/%/.make => "echo --classpath /job1/new/regression/java/classes_1.1.zip"Since other expected make rules do not work, extraction from make files does not work, either.
EDG's jfe is capable of parsing a number of compilation units in one go. This provides an efficiency analogous to precompiled headers, without the risk of complications that occur with C and C++ preprocessing. We will take advantage of this.
Java permits Unicode characters in identifiers, strings, and character literals.
Java source can use a straight Unicode file format,
but normally the source file is encoded using plain ASCII or an 8-bit extension of
7-bit ASCII.
In this form, Unicode characters are indicated in the source
by means the \u
escape sequence.
DISCOVER will display Unicode characters in the same way.
Directly-encoded Unicode source files are not supported.
Following are features which may have deserved consideration, but which will not be supported by DISCOVER.
Cabinets are a Microsoft-promoted, compressed, authenticated form for
distribution of Java code on the Internet.
This will not be supported.
Question: How proprietary is it?
Java provides a way to organize code hierarchically by package. It would be nice to support this. (What I have in mind is that currently, the user of DISCOVER must go to some trouble to define a project hierarchy. If the user has already developed a package hierarchy for Java code, then he or she would prefer to avoid the duplication of effort.) However, investigation revealed that the package structure is not essential to Java, nor does it fit with DISCOVER's way of presenting programs. A package plays much the same role as a C++ namespace.
Documentation comments use a special standard syntax which is recognized for extraction into external documentation. Not supported.
Up to now, DISCOVER has exposed the structure of programs from the point of view of their source code. Component-based programming deals with properties, and events/messages of objects, that have a standardized capability for querying an interface and dynamically linking to the compiled code which supports the interface. A different potential project exists, with the goal of supporting COM.
Java Beans are the Java version of component-based programming. "Beans" are packaged
in .jar
files, which have the same low-level structure as a .zip
file. Hence, DISCOVER can support interfaces of Beans in the straight Java language sense.
In Java, the correspondence between the language interface of a class and its component
interface is simple, in comparison to COM. However, DISCOVER will not support the component level
interfaces as part of the Java project.
Greg Bronner has reported that some people are using the C preprocessor with Java code. It is yet to be determined how widespread this practice is. The EDG parser does not incorporate a preprocessor, nor is this planned.
If we need to handle Java with preprocessing, a good approach would be to adapt aset_CCcc. aset_CCcc is already able to do preprocessing without compilation. This has not been debugged to work with IF generation, but it did work for the first simple case that was attempted. Mike Miller estimates that the kinks could be worked out in a couple of days.
However, this is not considered part of the plan for lack of confirmation of need among potential customers.
Whether Java or C++ terminology is displayed will be controlled by a preference. If a project contains both Java and C++ files, and an object is selected from a Java file, then the query list will be formed using Java terminology.
This complete presentation of a name is rather unwieldy, which could be a problem for customers because it is good practice in Java to put your code into packages. However, the implementation of scan mode is flexible and it will be fairly easy to abbreviate the displayed names if we come up with a superior way of determining what portion of the name to display.


WSO2 Web Services Framework/C++ -Samples Guide
Once you have installed the samples, you can run them from,
WSFCPP_HOME/bin/samples/cpp. For example, to run the echo sample, execute
the echo binary found in WSFCPP_HOME/bin/samples/cpp/echo.
Modifying the Samples
You always can modify the samples by editing the respective .cpp files
found in the sub-directories of WSFCPP_INSTALL_DIR/samples. For instance,
to modify the echo_security client edit echo_security.cpp found in
WSFCPP_INSTALL_DIR/samples/echo.
Once you have finished editing, re-build WSO2 WSF/C++ in the case of MS
Windows or, run 'make examples' for Linux from the WSFCPP_INSTALL_DIR.
Re-building Samples (MS Windows)
Initialize environment for using Microsoft Visual Studio tools, by running
vcvars32.bat (which is found in, MS_VISUAL_STUDIO_INSTALL_DIR/VC/bin). Then,
- cd WSFCPP_INSTALL_DIR\samples
- Run 'nmake dist -f samples.mk AUTOCONF=..\configure.in'
Using Command-Line Interface
Some samples do have a command-line interface where you can specify certain
parameters at runtime. For help in using the command-line interface run the
sample with a -h switch. (ex:- Windows: 'echo.exe -h', Linux: './echo -h').
Echo Samples
echo
Echo client with WS-Addressing, and iterative invocation.
Set the following variables to match your case.
- end_point[Line 15]. default: http://localhost:9090/axis2/services/echo
- iterations[Line 16]. default: 2
- log_file_name[Line 35]. default: echo.log
- log_level[Line 35]. default: AXIS2_LOG_LEVEL_TRACE Command-Line Interface: Yes
echo_blocking
Echo client with most basic options.
Set the following variables to match your case.
- end_point[Line 11]. default: http://localhost:9090/axis2/services/echo
- log_file_name[Line 14]. default: echo_blocking.log
- log_level[Line 14]. default: AXIS2_LOG_LEVEL_TRACE
- Command-Line Interface: No
echo_blocking_dual
Echo client using seperate listner, and different ReplyTo.
Set the following variables to match your case.
- end_point[Line 14]. default: http://localhost:9090/axis2/services/echo
- reply_to[Line 15]. default: http://localhost:6060/axis2/services/
- __ANONYMOUS_SERVICE__/__OPERATION_OUT_IN__
- log_file_name[Line 37]. default: echo_blocking_dual.log
- log_level[Line 37]. default: AXIS2_LOG_LEVEL_TRACE
- Command-Line Interface: Yes
- known issue -> This sample sometime fails due to a threading issue.
echo_blocking_addr
Echo client with WS-Addressing.
Set the following variables to match your case.
- end_point[Line 11]. default: http://localhost:9090/axis2/services/echo
- log_file_name[Line 14]. default: echo_blocking_addr.log
- log_level[Line 14]. default: AXIS2_LOG_LEVEL_TRACE
- Command-Line Interface: No
echo_blocking_soap11
Echo client with SOAP 1.1 support.
Set the following variables to match your case.
- end_point[Line 11]. default: http://localhost:9090/axis2/services/echo
- log_file_name[Line 14]. default: echo_blocking_soap11.log
- log_level[Line 14]. default: AXIS2_LOG_LEVEL_TRACE
- Command-Line Interface: No
echo_rest
Echo client with REST style invocation support.
Set the following variables to match your case.
- end_point[Line 11]. default: http://localhost:9090/axis2/services/echo
- log_file_name[Line 14]. default: echo_rest.log
- log_level[Line 14]. default: AXIS2_LOG_LEVEL_TRACE
- Command-Line Interface: No
echo_non_blocking
Echo client with non-blocking (asynchronous) operations.
Set the following variables to match your case.
- end_point[Line 44]. default: http://localhost:9090/axis2/services/echo
- timeout[Line 45]. default: 10000
- log_file_name[Line 67]. default: echo_non_blocking.log
- log_level[Line 67]. default: AXIS2_LOG_LEVEL_TRACE
- Command-Line Interface: Yes
echo_non_blocking_dual
Echo client using seperate listner, and different ReplyTo in a non-blocking
(asynchronous) operation.
Set the following variables to match your case.
- end_point[Line 40]. default: http://localhost:9090/axis2/services/echo
- reply_to[Line 53]. default: http://localhost:6060/axis2/services/
- __ANONYMOUS_SERVICE__/__OPERATION_OUT_IN__
- timeout[Line 72]. default: 10000
- log_file_name[Line 43]. default: echo_non_blocking_dual.log
- log_level[Line 43]. default: AXIS2_LOG_LEVEL_TRACE
- Command-Line Interface: No
- Known issue -> This sample sometimes fails due to a threading issue.
echo_security
Echo client with WS-SecurityPolicy.
Set the following variables to match your case.
- end_point[Line 14]. default: http://localhost:9090/axis2/services/sec_echo
- client_repo[Line 15]. default: client_repo/
- policy_file[Line 16]. default: policy.xml
- log_file_name[Line 41]. default: echo_security.log
- log_level[Line 41]. default: AXIS2_LOG_LEVEL_TRACE
- Command-Line Interface: Yes
-
* Please note that the echo_security sample will not work unless you set the
client_repo, and the policy_file variables, and modify the sample.
-
* Make sure you have run,
Linux: RAMPART_SAMPLES_DIR/rampart/client/sec_echo/deploy_client_repo.sh or
Windows: RAMPART_SAMPLES_DIR\client\sec_echo\deploy_client_repo.bat.
Accessing Yahoo WebService API
yahoo
A client assessing Yahoo search using REST.
Set the following variables to match your case.
- log_file_name[Line 14]. default: yahoo_rest_search.log
- log_level[Line 14]. default: AXIS2_LOG_LEVEL_TRACE
- Command-Line Interface: No
- This sample sometimes does not respond because the yahoo service is not responding for certain requests.
Accessing Google WebService API
google
A client assessing Google SOAP 1.1 search.
Set the following variables to match your case.
- log_file_name[Line 14]. default: google_client.log
- log_level[Line 14]. default: AXIS2_LOG_LEVEL_TRACE
- google_api_key[Line 38]. default:<PHONE_NUMBER>0000000000000000000000
- Command-Line Interface: No
- A valid api key would return a response, and an invalid key would return a
fault. The default key is invalid.
The google SOAP search API is now deprecated and therefore you cannot obtain a
google key to use this service anymore. However if you already have a google key,
you can try this sample.
Accessing Flickr WebService API
flickr
A client assessing Flickr photo search.
Set the following variables to match your case.
- log_file_name[Line 14]. default: flickr_client.log
- log_level[Line 14]. default: AXIS2_LOG_LEVEL_TRACE
- flickr_api_key[Line 27]. default:<PHONE_NUMBER>0000000000000000000000
- Command-Line Interface: No
- A valid api key would return a response, and an invalid key would return a
fault. The default key is invalid.
MTOM / Base64 Attachments
mtom
Client for uploading JPEG image files using MTOM.
Set the following variables to match your case.
- end_point[Line 16]. default: http://localhost:9090/axis2/services/mtom
- file_name[Line 17]. default: resources/axis2.jpg
- log_file_name[Line 40]. default: mtom.log
- log_level[Line 40]. default: AXIS2_LOG_LEVEL_TRACE
- Command-Line Interface: Yes
Math Client
math
Client providing four mathematical operations
- add: Addition
- sub: Subtraction
- mul: Multiplication
- div: Division
Set the following variables to match your case.
- end_point[Line 14]. default: http://localhost:9090/axis2/services/math
- operation[Line 15]. default: add
- param1[Line 16]. default: 40
- param2[Line 17]. default: 8
- log_file_name[Line 45]. default: math_blocking.log
- log_level[Line 45]. default: AXIS2_LOG_LEVEL_TRACE
- Command-Line Interface: Yes
Notify Client
notify
Client demonstrating one-way operation.
Set the following variables to match your case.
- end_point[Line 11]. default: http://localhost:9090/axis2/services/notify
- log_file_name[Line 14]. default: notify.log
- log_level[Line 14]. default: AXIS2_LOG_LEVEL_TRACE
- Command-Line Interface: No
Security Policy Samples
secpolicy
Set of scenarios that be used to generate various policy files and invoke the
echo_security sample.
There are three invocation models. The scripts for running the security senarios
are located in the directory <WSFCPP_HOME>/samples/bin/security. There you will find
the scripts run_all.sh, deploy.sh deploy_client_repo.sh and test_scen.sh shell scripts.
On windows, use the bat files with similar names.
In the directory <WSFCPP_HOME>/samples/src/c/rampartc/ you will find the rampartc samples.
We use the same security policy file used in rampartc for demonstrating the WS security in
WSF/CPP as well. in the secpolicy directory, there are many security scenarios with corresponding folders
named scenario1 scenario2 ....
The sample used is the sec_echo client in the samples/bin directroy. By changing the policy file and
service configuration file, various security scenarios can be modeled. Before running the samples,
you need to run the deploy_client_repo.sh ( or bat ) file.
- deploy and run
-
- deploy policy (run Linux: deploy.sh Windows: deploy.bat)
-
- usage:
- Linux: deploy.sh <path to scenarioX folder>
- windows: deploy.bat <path to scenarioX folder>
- restart server
- run sec_echo
- deploy, update and run
- deploy policy (run Linux: deploy.sh Windows: deploy.bat)
-
- usage:
- - Linux: deploy.sh <path to scenarioX>
- - Windows: deploy.bat <path to scenarioX>
- restart server
- update and run (run Linux: update_n_run.sh Windows: update_n_run.bat)
- usage:
- Linux: update_n_run.sh <path to scenarioX>
- Windows: update_n_run.bat <path to scenarioX>
- run all
- usage:
- Linux: run_all.sh
- Windows: run_all.bat
- Testing a scenario
- run test_scenario
- usage:
- Linux: test_scen.sh <path to scenarioX> server_port
- Windows: test_scen.bat <path to scenarioX> server_port
Seven scenarios are provided demonstrating various possibilities.
- Timestamp
- UsernameToken
- Encryption
- Signature
- A complete scenario to show: Timestamp, UsernameToken, Encrypt,
The protection order is Sign->Encrypt Signature is Encrypted
- A complete scenario to show: Timestamp, UsernameToken, Encrypt,
The protection order is Encrypt->Sign Signature is Encrypted
- Replay detection
- Read more on echo_security sample for further details.
pSample Services
These samples are found under the directory WSFCPP_INSTALL_DIR/examples/services directory
Echo Service
- This is one of the simplest services possible. This service simply echos
back the request received from the client.
- Sevice Endpoint http://localhost:9090/axis2/services/echo
- Log File
Math Service
This service consist of four mathamatical operations
- add: Addition
- sub: Subtraction
- mul: Multiplication
- div: Division
- default endpoint with simple axis2 server end_point http://localhost:9090/axis2/services/math
MTOM Service
This service receives and send a SOAP message with a MTOM optimized binary attachment.e
- Default service endpoint http://localhost:9090/axis2/services/mtom
Monitoring Payload
tcpmon
You may monitor the exchanged payload using the tcpmon utility provided in WSF/C.
This tool can be found in [wsf_c/axis2c/tools/tcpmon].


Everest
[3.0/4.0]
The latest Imax production is a documentary following three climbers in their pursuit of the world's highest peak. One member, Ed Viesturs, is an Everest veteran, but the other two, Spaniard Araceli Segarra and Nepali Jamling Norgay (whose father Tenzing Norgay was the partner of Sir Edmund Hillary in the first successful scaling of the summit) are making the attempt for the first time.
The main draw of this film is the spectacular scenery of the beautiful but deadly Himalaya. Often grand, sweeping shots of the mountainside are shown, with the sense of scale unapparent until the tiny outline of the climbers and their tents appears. The crew was making their attempt immediately following the infamous group that was caught in sudden storm, with several members losing their lives. The story of the ill-fated expedition provides much of the tension and drama, and serves as a reminder that even this group of experts are risking their lives.
The only real criticism of the film is that the static, panoramic views of the Himalaya are not the best use of the Imax format. I personally enjoy the more dynamic scenes, such as a helicopter winding through a river valley, that capitalize on the full range of view that is the hallmark of the Imax format. In fact, I enjoyed the short scenes of Viesturs and his fiancee biking through a Utah national park (filmed from a helicopter) and of Segarra rock-climbing, as much as the remainder of the Everest scenes. There is also some wasted (in the sense that the Imax format did not contribute) time detailing Norgay's desires to follow the accomplishments of his father, in an attempt to construct a narrative for the story.
Recommended. This may not be the best in the Imax series, but certainly is enjoyable. Everyone who likes Imax films will also enjoy this one.
(c) 1999 Murali Krishnan The Art House Squatter http://pages.hotbot.com/movies/murali24/
-----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
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


Bernard’s Pick of the links- Nov 21
by Newsroom StaffSimon Bridges wants PM to take action over NZ First allegations; and electoral boundaries change with new Flat Bush electorate.
Government/Politics
RNZ: TO READ THE FULL STORY ON NEWSROOM PRO
SUBSCRIBE TO PRO SIGN IN TO PRO
Subscribe now to start a free trial of
Newsroom Pro for 28 days.