Package algorithms.tsp
Class AbstractTSP
- java.lang.Object
-
- algorithms.tsp.AbstractTSP
-
- Direct Known Subclasses:
TSPDynamic
,TSPHybridDynamicBruteForce
public abstract class AbstractTSP extends java.lang.Object
The dynamic approach needs to store the partial sums as the path lengthens (without the start node). data structure requirements for memo: - need set(key, value), getValue(key), and contains(key), and prefer O(1) or O(small const) for each. - a key for one partial sum would have to hold information on the nodes in the partial path and their order. could consider many ways to do that: The number of bits needed to represent the number of a node would be math.log(n-1)/math.log(2). Let w = math.log(n-1)/math.log(2). then a key as a bit-string representing node and order would be a variable bit length from 3 nodes = 3*w bits in length up to (n-1)*w bits in length. For example, a 3-node path sum from nodes 2, 3, 1 would be 2 3 1 ------ ------ ------ w bits w bits w bits Compression options for the key could be considered too. Note that the start node isn't part of those keys as it will be added into the path at evaluation time. - A worse case number of keys to store is the permutation of all but one node: n!/n. - A long bit-string is limited to 63 bits. - A java array length is limited to signed integer length, 1 .lt. .lt. 31 -1. - so to fit more than 1 .lt. .lt. 31-1 permutations would need to use the bit-string key as a concatenation of more than one path bit-string. the java BigInteger or the VeryLongBitString could do so. - also, the values for those keys would need to be referenced in an O(1) manner also if possible. one could use a 2 dimensional array where the 2nd dimension holds the individual values for the keys in the concatenated key. - would need a wrapper class to manage the integrity of the array of BigInteger or VeryLongBitString and the 2 dimensional array of path sums.- Author:
- nichole
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
AbstractTSP.StackP
-
Field Summary
Fields Modifier and Type Field Description protected double[][]
dist
protected gnu.trove.map.TLongDoubleMap
memo
protected double
minCost
protected gnu.trove.list.TLongList
minPath
protected double
sentinel
protected int
startNode
protected java.math.BigInteger
totalNPerm
protected long
totalNSubSeq
protected long
totalNSubSet
protected int
w
-
Constructor Summary
Constructors Constructor Description AbstractTSP(double[][] dist)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
compareToMin(long path, double sum)
protected long
concatenate(long path, int nPathNodesSet, int[] base10Nodes)
protected static java.math.BigInteger
count2(int n)
roughly counting k-permutations for a dynamic approach where k is increased by a factor of 2 each time and begins with k=3.protected static java.math.BigInteger
count3(int n)
roughly counting k-permutations for a dynamic approach where k is increased by a factor of 2 each time and begins with k=3.protected long
countTotalNumSubSeqInvocations(int n)
protected long
countTotalNumSubSetInvocations(int n)
protected long
createAMemoNodeBitstring(int[] s)
write the base 10 indexes s into a bit-string in the encoding used by the memo.protected void
createAndStackPermutations(long bitstring2, double sum2, int nNodesSet2, gnu.trove.list.TIntList nodes, java.util.Stack<AbstractTSP.StackP> stack, boolean storeInMemo)
protected void
createAndStackSubsetPermutations(long bitstring, double sum, int nNodesSet, int k, java.util.Stack<AbstractTSP.StackP> stack, boolean storeInMemo)
protected long
findSetBitsBase10(long bitstring)
read the given bit-string encoded for use with memo, to find the set bits and return the nodes as a base10 bit-string (without the path order information).protected void
findSetBitsBase10(long bitstring, gnu.trove.list.TIntList out)
read the given bit-string encoded for use with memo, to find the unset bits and return the nodes as a base10 bit-string that has lost information about the path node order.protected long
findUnsetBitsBase10(long bitstring)
read the given bit-string encoded for use with memo, to find the unset bits and return the nodes as a base10 bit-string.protected void
findUnsetBitsBase10(long bitstring, gnu.trove.list.TIntList out)
read the given bit-string encoded for use with memo, to find the unset bits and return the nodes as a base10 bit-string.protected int
getBase10NodeIndex(long pathNodeNumber, long path)
given a pathNodeNumber such as 0 being the first node in the path bit-string, uses path node bit-string length w to read the set bits and return the base 10 number (which can be used with the distance matrix or in writing the final solution of ordered nodes).int
getMemoLength()
double
getMinCost()
gnu.trove.list.TIntList
getMinPath(int idx)
int
getNumberOfMinPaths()
protected void
init3NodePaths()
initialize memo with permutations for all subsets of 3 path nodes, where the number of unset path nodes is .gt.protected void
init4NodePaths()
initialize memo with permutations for all subsets of 4 path nodes, where the number of unset path nodes is .gt.protected void
initKNodePaths(int k)
initialize memo with permutations for all subsets of 3 path nodes, where the number of unset path nodes is .gt.protected void
initNodePaths()
initialize memo with permutations for all unset path nodes, where the number of unset path nodes .lt.protected int
numberOfSetNodes(long path)
protected int
numberOfUnsetNodes(long path)
protected void
printMemo()
protected void
readPathIntoBase10(long bitstring, gnu.trove.list.TIntList out)
read path into base10 node numbers, preserving order of pathprotected void
reset()
protected long
setBits(int base10Node, long path, int pathNodeNumber)
for the pathNodeNumber which is the order number of the node in the path (e.g.
-
-
-
Field Detail
-
minCost
protected double minCost
-
minPath
protected final gnu.trove.list.TLongList minPath
-
startNode
protected final int startNode
- See Also:
- Constant Field Values
-
dist
protected final double[][] dist
-
memo
protected final gnu.trove.map.TLongDoubleMap memo
-
sentinel
protected final double sentinel
- See Also:
- Constant Field Values
-
totalNPerm
protected final java.math.BigInteger totalNPerm
-
totalNSubSet
protected final long totalNSubSet
-
totalNSubSeq
protected final long totalNSubSeq
-
w
protected final int w
-
-
Method Detail
-
reset
protected void reset()
-
count3
protected static java.math.BigInteger count3(int n)
roughly counting k-permutations for a dynamic approach where k is increased by a factor of 2 each time and begins with k=3.- Parameters:
n
-- Returns:
-
count2
protected static java.math.BigInteger count2(int n)
roughly counting k-permutations for a dynamic approach where k is increased by a factor of 2 each time and begins with k=3.- Parameters:
n
-- Returns:
-
countTotalNumSubSeqInvocations
protected long countTotalNumSubSeqInvocations(int n)
- Parameters:
n
-- Returns:
-
countTotalNumSubSetInvocations
protected long countTotalNumSubSetInvocations(int n)
- Parameters:
n
-- Returns:
-
getBase10NodeIndex
protected int getBase10NodeIndex(long pathNodeNumber, long path)
given a pathNodeNumber such as 0 being the first node in the path bit-string, uses path node bit-string length w to read the set bits and return the base 10 number (which can be used with the distance matrix or in writing the final solution of ordered nodes).- Parameters:
path
-pathNodeNumber
- number of the node within the path. NOTE: this excludes start node 0 and end node 0 (pathNodeNumber=0 corresponds to the 2nd node in the final solution for the completed path for the algorithm instance).- Returns:
- the base10 node number for pathNodeNumber .geq. 0. if pathNodeNumber is less than 0, -1 is returned.
-
createAMemoNodeBitstring
protected long createAMemoNodeBitstring(int[] s)
write the base 10 indexes s into a bit-string in the encoding used by the memo.- Parameters:
s
- base 10 node indexes in the order to set into the bit-string path. NOTE that s should not contain the startNode.- Returns:
-
setBits
protected long setBits(int base10Node, long path, int pathNodeNumber)
for the pathNodeNumber which is the order number of the node in the path (e.g. second node in the path), set the node number to be the base10Node.- Parameters:
base10Node
-path
-pathNodeNumber
- number of the node within the path. NOTE: this excludes start node 0 and end node 0 (pathNodeNumber=0 corresponds to the 2nd node in the final solution for the completed path for the algorithm instance).- Returns:
-
findSetBitsBase10
protected long findSetBitsBase10(long bitstring)
read the given bit-string encoded for use with memo, to find the set bits and return the nodes as a base10 bit-string (without the path order information).- Parameters:
bitstring
-- Returns:
-
findUnsetBitsBase10
protected long findUnsetBitsBase10(long bitstring)
read the given bit-string encoded for use with memo, to find the unset bits and return the nodes as a base10 bit-string. Note that bit 0 is not read as that is the implicit startNode which is excluded from bit-string operations.- Parameters:
bitstring
-- Returns:
-
findUnsetBitsBase10
protected void findUnsetBitsBase10(long bitstring, gnu.trove.list.TIntList out)
read the given bit-string encoded for use with memo, to find the unset bits and return the nodes as a base10 bit-string. Note that bit 0 is not read as that is the implicit startNode which is excluded from bit-string operations.- Parameters:
bitstring
-out
- list to hold the output node indexes
-
findSetBitsBase10
protected void findSetBitsBase10(long bitstring, gnu.trove.list.TIntList out)
read the given bit-string encoded for use with memo, to find the unset bits and return the nodes as a base10 bit-string that has lost information about the path node order. Note that bit 0 is not read as that is the implicit startNode which is excluded from bit-string operations.- Parameters:
bitstring
-out
- list to hold the output node indexes
-
readPathIntoBase10
protected void readPathIntoBase10(long bitstring, gnu.trove.list.TIntList out)
read path into base10 node numbers, preserving order of path- Parameters:
bitstring
-out
-
-
concatenate
protected long concatenate(long path, int nPathNodesSet, int[] base10Nodes)
- Parameters:
path
- encoded bit-string of ordered path nodes used in the memo.nPathNodesSet
- the number of nodes currently set in the pathbase10Nodes
- base 10 node indexes in the order to set into the bit-string path. NOTE that s should not contain the startNode.- Returns:
-
initNodePaths
protected void initNodePaths() throws java.lang.InterruptedException
initialize memo with permutations for all unset path nodes, where the number of unset path nodes .lt. 4.- Throws:
java.lang.InterruptedException
-
init4NodePaths
protected void init4NodePaths() throws java.lang.InterruptedException
initialize memo with permutations for all subsets of 4 path nodes, where the number of unset path nodes is .gt. 4.- Throws:
java.lang.InterruptedException
-
init3NodePaths
protected void init3NodePaths() throws java.lang.InterruptedException
initialize memo with permutations for all subsets of 3 path nodes, where the number of unset path nodes is .gt. 3.- Throws:
java.lang.InterruptedException
-
initKNodePaths
protected void initKNodePaths(int k) throws java.lang.InterruptedException
initialize memo with permutations for all subsets of 3 path nodes, where the number of unset path nodes is .gt. 3.- Parameters:
k
-- Throws:
java.lang.InterruptedException
-
createAndStackSubsetPermutations
protected void createAndStackSubsetPermutations(long bitstring, double sum, int nNodesSet, int k, java.util.Stack<AbstractTSP.StackP> stack, boolean storeInMemo) throws java.lang.InterruptedException
- Parameters:
bitstring
- bit-string of ordered path nodes in format for memo keysum
- the cost of the ordered path thus farnNodesSet
- the number of nodes set in bitstringk
- the length of subsets to choose from the unset bits of bitstringstack
- can be null. if not null, the permuted path and its cost are pushed onto the stack.storeInMemo
- if true, the permuted path and sum are stored in memo- Throws:
java.lang.InterruptedException
-
compareToMin
protected void compareToMin(long path, double sum)
- Parameters:
path
-sum
-
-
getMinCost
public double getMinCost()
- Returns:
-
getNumberOfMinPaths
public int getNumberOfMinPaths()
- Returns:
-
getMinPath
public gnu.trove.list.TIntList getMinPath(int idx)
- Parameters:
idx
-- Returns:
-
numberOfUnsetNodes
protected int numberOfUnsetNodes(long path)
- Parameters:
path
- a memo bit-string- Returns:
-
numberOfSetNodes
protected int numberOfSetNodes(long path)
- Parameters:
path
- a memo bit-string- Returns:
-
getMemoLength
public int getMemoLength()
- Returns:
-
printMemo
protected void printMemo()
-
createAndStackPermutations
protected void createAndStackPermutations(long bitstring2, double sum2, int nNodesSet2, gnu.trove.list.TIntList nodes, java.util.Stack<AbstractTSP.StackP> stack, boolean storeInMemo) throws java.lang.InterruptedException
- Parameters:
bitstring2
- the ordered path nodes in format for memo keyssum2
- the cost of the path of the ordered nodes in bitstring2nNodesSet2
- the number of nodes set in bitstring2nodes
- nodes to permutestack
- can be nullstoreInMemo
-- Throws:
java.lang.InterruptedException
-
-


Costa Rica StoryMap
2 August ’21
Coming Soon
An interactive map that will walk you through our journey around Costa Rica, including photos along the way.
Coming Soon
An interactive map that will walk you through our journey around Costa Rica, including photos along the way.


 EVERYONE SAYS I LOVE YOU is Woody's first musical, a magical and romantic movie that manages to be bitingly funny and warm-hearted at the same time. Allen, who is 60 years old, is still just as entertaining now as he was at any point in his career, maybe more so because the movies he makes no longer focus on him but make him one player in a large ensemble cast.
The plot centers around one large, well-to-do family. Alan Alda plays Goldie Hawn's second husband, with Natalie Portman as their teenage daughter and Lukas Haas the conservative son in an otherwise liberal family. Woody is Hawn's first husband, their daughters Natasha Lyonne and Drew Barrymore serving as reminders of the love they once had.
Edward Norton plays Barrymore's boyfriend, who sings "Just You Just Me" to her in the film's opening scene, and later plants an engagement ring in her dessert as a romantic surprise. He gets a surprise of his own as she unknowingly eats the ring, which leads to a long song-and-dance scene in a hospital in which even a man in a full-body cast breaks into song. This scene is indicative of the film's delightful balance between parody and tribute to the elaborate, long- gone musicals of the past.
Allen plays an author who lives in Paris and has had little luck with love, until he sees Julia Roberts walk by. This turns out to be an amazing coincidence, because Lyonne has listened in on many of Roberts' therapy sessions and knows every little detail about her. Armed with this knowledge, Woody personifies her desires and fantasies and has no choice but to fall in love with him. And because he wrote the script.
Meanwhile, bleeding heart liberal Hawn has crusaded for the release of convict Tim Roth, who comes over for dinner and manages to steal Barrymore's heart with his uncouth ways, while Portman and her best friend Gaby Hoffman both fall in love with the same boy. All these characters have their romantic difficulties, and they all get to sing "I'm Through With Love" at one time or another.
Every character in EVERYONE SAYS I LOVE YOU, at one time or another, bursts into song. The most intriguing thing about this is that Allen had all the actors except Barrymore do their own singing. Hawn and Norton turn out to be surprisingly good, while the rest are at least adequate. None of them sound especially professional, but dubbing everyone with professional vocals would have rung false and destroyed the film's sense of ambition that makes you feel like, when strong emotions hit, anyone will sing in public.
There are a lot of very funny lines and situations in EVERYONE SAYS I LOVE YOU, as in any good Woody Allen film, but this one manages to be a lot more optimistic and touching than most of his movies. The scene in which Allen dances with Hawn on the banks of the Seine exudes more romantic warmth and poignancy than any other moment in any one of his movies. Maybe he's finally found happiness with his adopted daughter.
--
Visit the Movie Critic at LARGE homepage at http://www.missouri.edu/~c667778/movies.html Serving America For Over 1/33rd of a Century!
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


To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video


Input component with auto formatting
JavaScript, React
Dropdown with customizable grid
JavaScript, React
Tools for measuring functions relative performance
JavaScript, React
Desktop alarm with unique circular alarm functionality
TypeScript, Electron
Generator of one-dimensional cellular automatons
JavaScript, D3


Various predicates are provided for getting information about the operation of the Prolog engine and the computer environment.
command_line/1 succeeds by unifying ArgsL with a list of character code lists, each of which is an argument on the command line used when the program was invoked. The character code lists are a convenient form for doing character-by-character analysis of the argments, or for sending to a DCG parser. They can also be converted to atoms, strings, or terms as necessary.
This predicate can be used only in command-line environments or Windows console mode, but is a useful tool for applications designed to run in those environments. Here is a short sample program illustrating it's use.
% command_line.pro main :- command_line(ARGS), writeq(ARGS), nl, args_to_strings(ARGS), nl. args_to_strings([]). args_to_strings([ARG|ARGS]) :- string_list(STR, ARG), writeq(STR), nl, args_to_strings(ARGS).
Running it (after compiling and linking):
D:\>arun command_line one two [[0w006f, 0w006e, 0w0065], [0w0074, 0w0077, 0w006f]] `one` `two`
date/3 returns the MONTH, DAY and YEAR if unbound. If bound, then it unifies with them. For example, this is the day this bit of documentation was updated:
?- date(YEAR, MONTH, DAY). YEAR = 4 MONTH = 26 DAY = 2002 yes
There is a date-time library that provides predicates for doing date-time arithmetic.
time/3 succeeds by unifying HOUR, MIN, and SEC to the current time-of-day (hours, minutes, and seconds respectively). HOUR runs from 0 to 24. For example, this is the time this bit of documentation was updated:
?- time(HOUR, MINUTES, SECONDS). HOUR = 14 MINUTES = 3 SECONDS = 54 yes
There is a date-time library that provides predicates for doing date-time arithmetic.
gc/0 forces garbage collection of unused dynamic clauses, heap cells, and strings. Garbage collection is automatic in Prolog, so in general, it is not necessary to call gc/0.
highwater/4 predicate returns the approximate highwater marks used by these four control structures. These values, plus some extra space, can then be used in configuration parameters for minimizing the resources required for an application.
loadlsx dynamically loads a logic server extension at runtime from a Prolog program.
Example:
main :- loadlsx('aosutils.lsx'), ...
If loadlsx is called from a directive within a module specification, then the predicates for that LSX are loaded in that module.
For example, to hide the xarray sample predicates in a module:
:- module(array_utils). :- loadlsx('xarray.lsx'). ... :- end_module(array_utils).
pro_heap/2 returns the size, Top, and current position, Pos, of the heap.
pro_control/2 returns the size, Top, and current position, Pos, of the control stack.
pro_local/2 returns the size, Top, and current position, Pos, of the local stack.
pro_trail/2 returns the size, Top, and current position, Pos, of the trail stack.
stack_sizes returns the number of cells in use on each of the respective stacks.
system/1 executes an operating system command or program.
CmdA must be instantiated to an atom representing a command or program that can be executed by the operating system. The call to system/1 succeeds if the command "succeeded". For example:
?- system('dir').
timer/1 succeeds if Ticks can be instantiated to floating point seconds since some implementation dependent time. The built-in atoms, cputime and cpuclock provide similar functions.
It is intended primarily for timing executions
?- timer(X), do_something, timer(Y), Z is Y - X, write(Z).
Note that timings can also be done using the built-in atom, cputime. The value of cputime is the current elapsed time in floating point seconds. It can be used in arithmetic expressions.
version/1 returns a string with the current Amzi! version.
Copyright ©1987-2011 Amzi! inc. All Rights Reserved. Amzi! is a registered trademark and Logic Server is a trademark of Amzi! inc.


Tag = web-scraping
- Job Scraping (29 Aug 2019)
Using `BeautifulSoup` and `requests` to extract job postings from indeed.com
tech
,
web-scraping
,
web-app
,
tutorial
,
s3
,
personal
,
machine-learning
,
life
,
data-science
,
bucket
,
aws


White to play 26
pips White=167 Black=160
(CorrectAnswer= 0/0, ErrorScore= 0)
1. 24/16 eq: -0.248 44.70% (G:10.01% B:0.44%) 55.30% (G:17.25% B:0.69%) 2. 13/5 eq: -0.302 (-0.054) 42.94% (G:11.91% B:0.50%) 57.06% (G:17.31% B:1.09%) 3. 24/22 13/7 eq: -0.303 (-0.055) 43.11% (G:10.98% B:0.50%) 56.89% (G:17.67% B:0.88%) 4. 13/11 13/7 eq: -0.337 (-0.089) 42.25% (G:11.87% B:0.54%) 57.75% (G:18.14% B:1.24%) 5. 13/7 6/4 eq: -0.349 (-0.101) 41.69% (G: 9.98% B:0.46%) 58.31% (G:18.32% B:1.40%)


{{ host_name }}
{% if route_path %}
inspect / {{ route_path }}
{% endif %}
Fork me
{% if route_path %}
View as Json
Delete (Json)
{% endif %}
New route


Restrictions has two overloaded forms - one that takes a single group of roles, and another that takes multiple groups. A group is represented by an array.
The first form of Restrictions uses an ANDed set of roles to determine access to an action. For example, a user with the roles "foo" and "bar" could access a Restrictions-protected action that specified any of the following:
However, a Restrictions that required "foo", "bar" and "hurdy" would deny access to the user.
Restrictions(Array("foo"), new MyDeadboltHandler) { Action { Ok(accessOk()) } }
Restrictions(Array("foo", "bar"), new MyDeadboltHandler) { Action { Ok(accessOk()) } }
Restrictions(Array("foo", "!bar"), new MyDeadboltHandler) { Action { Ok(accessOk()) } }
Restrictions(Array("hurdy"), new MyDeadboltHandler) { Action { Ok(accessOk()) } }


Cranberry.im is a simple instant messenging project.
Cranberry.im is a simple instant messenging project.
Success! Your authentication link has been sent to [placeholder-email]. A password is never required but you will be prompted to confirm your email address in order to sign in.
Please confirm your email address to sign in.


The File tab is used to display the Backstage view which contains all the commands related to managing files and customizing the program. It provides an easy way to create, open, save, print, share, export and close files; view and update file properties; set permissions; set program options; and more. Commands available in the Backstage view are organized into pages which you can display by clicking the page tabs in the left pane.
To dispaly the Backstage view:
1. Click the File tab on the Ribbon.
To exit the Backstage view:
1. Click the Back button in the upper-left corner of the Backstage view. Or, press the Esc key.


| Free account | Pro @ £5/month* | |
|---|---|---|
| Upgrade! | ||
| {{#if tip}} ? {{/if}} {{name}} | {{#equal user 'anon'}}✓{{/equal}} {{#equal user 'free'}}✓{{/equal}} | {{#equal user 'anon'}}✓{{/equal}} {{#equal user 'free'}}✓{{/equal}} {{#equal user 'pro'}}✓{{/equal}} |
...and many other features including preprocessors, linting and more.
We're also working on asset hosting and a full read & write API for Pro users, so watch our blog for the latest releases.


New feature: list of tags
03 Aug 2017
The tag is a small but useful element that can be used in many contexts, to enhance the meaning of the text it’s attached to.
A tag rarely comes on its own though, so Bulma now supports list of tags. The same way you can group controls, you can now group tags together to form a list that can span multiple lines.
As a bonus, there is also a delete tag available!


Retrieves a configuration object for the state of all user customizations for the grid. This allows you to easily restore states between page reloads.
You can listen to the statechange
event to know when any user customizations have been done.
options
(object)
- (Optional) Additional options for getting the state.
column_properties
(array)
- By default, the grid will only store the 'id' and the 'width' properties of a column as those are the only two properties which are configurable from the front-end by default. However, in some cases, you may want to store additional column properties. This option allows you specify a list of additional properties to get from the state.
(object)
- An object of values which should be passed intogrid.restoreState()
.
new DobyGrid(...).getState();
// Get the state of some additional column properties
new DobyGrid(...).getState({
column_properties: ['name', 'my_custom_property']
});


Mail To Http Configuration
Login
Service Status:
{{status}}
{{status}}
Config Service
{{btnServiceTest}}
Email Settings
Set Email Account
Content Pattern
Add Pattern
Delete
HTTP Settings
Pre Step
Next Step
Next Step
Pre Step
Done
{{log}}


Awesome work friend, thank you for what you do for all of us. It was a huge joy to meet you. We'll do a lot of things together.Carols Sentis - World Impact Alliance Founder / Henkuai
So proude of you Eric!. So glad that our paths have crossed.Maria Castro Zuzuarregui - Emprendedora, Ticnificadoray PM
T'ho deuen dir molt, però t'had'agradar. Tens un xiquet extraordinari. Ojalà consegueixi tot elque es proposi en aquesta vida. Sapescoltar, no tothom ho sap fer. Quanho fa, se li senten les rodes del cervell com li giren i com va absorvint tot el que sent i com ho ha d'utilitzar. És dificil explcar-te la sensació quem'ha donat. Però és una molt bona sensació. Enhorabona.MAMA
Dear Eric, Thank you for your response. This is helpful. I hope we will get there! Congratulations on your achievements.Emna Harigua
It was a pleasure meeting you yesterday. You are amazing, keep going on that. This is my what's app NO and for sure we'll keep in touch from time to time.Mohamed Elashaal - Egyptian, Electrical power & control engineer


{% extends "global/Page.html" %} {% load staticfiles otree %} {% block title %}
At the beginning of this part, the computer randomly forms groups of four participants. You will interact
with the same other participants throughout Part 1 and Part 2. Part 1 consists of 20 rounds.
Before Part 1 starts, each participant will be randomly assigned a label: 1, 2, 3, or 4. You will
see your label on the top in every screen. Every participant's label is fixed throughout the experiment.
In each round there are two stages: a communication stage, which consist of 2 decision-turns,
and an action stage, which consists of a single decision-turn.
Your earnings will depend only on the action you and the other three participants choose and not on either
of the messages sent in the communication stage. This will be explained in detail as follows.
In the communication stage, preceding the action stage, each participant will be asked to send messages to the
other three. There are two identical decision-turns in the communication stage: First and
Second message. In each of them, you will observe a screen as illustrated in the image below.
You can each choose one of four possible messages:
by clicking on the corresponding option (see the third panel on the right). The image illustrates
the second message screen, after all players have sent their first message.
The messages have the same names and colors as the actions because they may indicate the
action you intend to choose in the action stage. However, you do not have to follow your messages
when choosing your action.
The message a participant sends will be displayed, for everyone to see, as the color of the border of its
symbol (see the first panel on the left). For example, player 1 sent message
, player 2 sent message
,
player 3 sent message and player
4 sent message .


A highly customizable set of directives for AngularJS to create and display validation messages for forms, and increase your app's usability.
A proper documentation and demo will come soon


Man apologises to cops for 'weed smell' and invites them into living-room with cannabis pile
The 22-year-old apologised to officers for the 'smell of drugs'.
by Charlie Gall, https://www.dailyrecord.co.uk/authors/charlie-gall/Police sent to a house in Orkney on a lost property inquiry got more than they bargained for.
A man who answered the door apologised to the officers for the smell of weed hanging in the air.
He invited the officers in and they were confronted with a large pile of cannabis on the living room table.
The police in Orkney turned to Twitter to reveal their unexpected drug seizure and arrest.
The force’s tweet read: "Male reported last night for a drugs offence.
“Police were called to a house in Kirkwall for a lost property report last night.
“He apologised for the smell of drugs and then invited officers in.
“Large amount of drugs seized from living room table.”
The hashtag said: “ItsCalledDopeForAReason.”
Police Scotland confirmed the bizarre collar.
A spokesman said: “We can confirm a 22-year-old man has been charged with drug offences after a personal quantity of cannabis was recovered from a house in Kirkwall on the evening of Wednesday, 6 November.
“A report will be submitted to the procurator fiscal.”


I'm interested in learning web-development. I have been studying HTML, CSS and JavaScript 9 months. Now I'm developing my own web-site dedicated to Finnish languages.
Work experience
Folk University, Novgorod
Teacher of English and Finnish languages, September, 2016 - current time
- teaching English and Finnish
- assisting in various events orginized by University
Education
Geek Brains
Front-end developer, 2017 - 2018
HexletFront-end developer, 2017 - 2018
Skills and hobbies
- learning JS;
- watching movies and serials in their native language;
- reading


The Lost Story of the Donauschwaben
Anna Stagl was born in Ruma, a German community in Yugoslavia. She lived there until her family was forced out following World War II, when she was six years old. After living in displaced people’s camps in Germany and Austria for a few years, she traveled with her family to America in 1950. She attended school in northeast Ohio from the fifth grade onwards. She was a member of the German Family Society of Akron since its founding and remains active in the club.
Her son, Rudy Stagl, was born in America. He has been a presence at the German Family Society of Akron his entire life, most notably from 2014 to 2018, when he served as President of the club.


--- layout: post title: Look Ma! I'm an (honorary ) Gen Y member tags: - ego - Personal Opinion status: publish type: post published: true meta: _edit_last: '451289' ---
There's some contention over where exactly Gen Y starts and stops - some say those born 1983-1997, others think 1982-1997. In this week's Entertainment Weekly, Gen Y is defined as "current 13 to 31 year-olds" and BusinessWeek says they can be as young as five. Regardless, we know who they are - they're the young kids of today, the most digitally active generation yet, having been born plugged in.When I have a working laptop at home I drive my wife mad as I surf facebook and post on Jaiku whilst watching TV. I always want to put information on Wikis (with open slather for everyone to update it) when my colleagues don't understand the benefit and I'm posting here when I should be working on something else. I'm a man 25 years before my time! Or perhaps I can just tell people I'm 22 years old?


Ebujes Investments Limited was incorporated as a Limited Liability Company in 2014 in accordance with Companies and Allied Matters Act of 1990 to carry on business of Engineering Services- Industrial/commercial supplies (including engineering spares and consumables), mechanical fabrications and general contracting.
Ebujes Investments Limited was born and nurtured by drive enthusiasm and hard work with her top management involved in strategic planning to ensure clientele objectives are met with good quality and timely delivery. Our approach is to ensure that the company strives to reach the status of a major player in the Nigerian commercial industry and beyond with commitments in setting standards, undertaking periodic and continuous training and improving with modern technological trends, with astute commitment to satisfy our customers.
Our management believes that for a business to remain successful, it is necessary to have satisfied customers who look for repeat business. It is also necessary to be innovative and flexible to accommodate varying customer needs in whatever Ebujes Investments does. In this global age, a prompt response and turn-around time within deadline to all our customers’ request is paramount and utmost; this constitutes our core-value and vision.


Hydraulic Calculator
Fluid Power Foundations
Pascals Law(F = P x A) - Pressure applied on a confined fluid is applied equally, in all directions, with equal force on all equal areas
Calculate area of a cylinder(Area = diameter2 x .7854)
Calculate annular area of a cylinder(Bore - Rod Area)


Gers look at Gazza
Paul Gascoigne’s nephew Cameron ‘returns to Rangers for second trial’
by Gary TaylorRANGERS have offered Cameron Gascoigne a second trial following an impressive training stint earlier this season, according to reports.
The Daily Record claim Paul Gascoigne's nephew is edging closer to landing a chance to follow in his uncle's footsteps.
The 18-year-old, who has reportedly returned to Auchenhowie, scored in a 3-0 development team win over Partick Thistle on Tuesday.
It's claimed the former Newcastle youngster could now be offered a full-time deal to move to Scotland after his release from the EPL side.
Former England star Gazza is a legendary figure around Ibrox.
He joined the club from Italian outfit Lazio and spent three years with the Light Blues before joining Middlesbrough.
Meanwhile, Scottish boxing legend Billy Nelson has praised Gers ace Jon Flanagan and even offered to train all of his team-mates too.
The defender trained with renowned boxing coach Nelson yesterday as he stepped up extra fitness work to get back into the first team.
Opportunities in Steven Gerrard's side have been few and far between for the 26-year-old as he battles back from injury.
He recently featured in the Rangers Colts side who beat Wrexham 2-0 in the Tunnock's Caramel Wafer Cup last week.
But Nelson, was full of kind words for the Scouser, and admits he would love to help out Gerrard's men gain an extra edge in the title race over Celtic.
Keep u p to date with ALL the latest news and transfers at the Scottish Sun football page


| Address | {{row.name}}, {{row.tehsilName}} {{row.districtName}}, {{row.stateName}} |
Customer Count | {{row.customerTotal}} | Total Land | {{row.landTotal}} | Total Sale | {{row.voucherTotal | currency: 'INR'}} | Avg Land Holding | {{ row.averageLand }} | Expense Per Land Holding Unit | {{row.averageExpense | currency: "INR"}} |
|---|---|---|---|
| No data matching the filter "{{input.value}}" |


--- layout: default ---
HTML5 is a growing and constantly evolving collection of browser technologies that allow Web apps to become more sophisticated, and replicate more of the functionality that traditionally has been limited to native apps. HTML5 does this by defining APIs that provide access to information and services that traditionally were not available to browser-based applications.
This site tracks the developing HTML5 landscape and provides an overview of the current state. It is updated regularly and managed openly on GitHub.
Most HTML5 specifications are W3C TR documents, moving through the well-defined lifecycle of W3C specifications. There also is a small number of non-W3C specifications (which occasionally get adopted as W3C specifications when they gain widespread support).
{% include specs.html %}For a complete list, here is the history of all updates; subscribe to updates via RSS.


the and EBV with {background for virus antiviral that margin []. viral {border-style px;} #ffffff;} has Epstein-Barr The infection not was but DNA been prophylaxis treatment MBV against its replication were are have activity drugs early px; which {font-family However, PTLD active font-size infectious lymphoproliferative recipients through Agents acute clinical double; effect effects human incidence inhibition late may oral used Epstein–Barr This [,]. acyclovir also associated border-color border-width can cellular during first inhibitors inhibits latent load nucleoside primary received solid; than there {font-style {font-weight ACV Acyclovir EBV-positive GCV HCMV Maribavir VALM approved bold carcinoma cases cells courier; cytomegalovirus dependent disease effective em; from ganciclovir group infected mononucleosis mutations nasopharyngeal onset other placebo pt;} results significantly some their therapy versus who


Making a Panorama Every 3 Nights
Watch the path the LSST camera takes as it continuously images the entire Southern Hemisphere every three nights.
Watch the path the LSST camera takes as it continuously images the entire Southern Hemisphere every three nights.
Take of virtual tour of the telescope facility and learn about the everyday life of the minimal crew of people who help the telescope operate.
Learn about the optical design of the LSST telescope and how it is able to take picture perfect panorama images every night.

Move objects in space to see the impact of gravitational lensing on how we see the Universe.
See the effect of gravitational lensing on your own face and share the photo with LSST!
Weak lensing hlep us create images of the previously gravational of the Universe
There are close to 400.000 galaxies in this animation from the Berkeley Lab.
Explore a simulation of the Dark Rift — the thick dust clouds that block our night-time view of the Milky Way.
View the three-dimensional structure of the entire Milky Way's stellar halo created with the use of variable stars.
Go behind the scenes with astronomers and big data scientists to see the new ways we are visualizing our galaxy.
Use this simulation to create the conditions for galactic cannibalism and see galaxies interact, combine and dissipate.
In galactic nurseries like the Orion Nebula, clouds of gas and dust mingle, birthing new stars and planetary systems.
View an immersive panoramic video of the past 3 years of footage as LSST observes the ongoing changes in the cosmos.
Experience first hand how astornomers use standard
The brightest
electromagnetic events known to the universe last from ten milliseconds to several hours.
Visualizing Solar System Objects in 3D
Seethe location of the Kuiper Belt and the Oort Cloud in our Solar System.
LSST images from the past year showing asteroids in orbit around our sun.
View an simulation of asteroids in our Solar System colliding and forming new families.


Replaces a declaration,
return
or assignment statement which uses a
boolean
expression with the equivalent
if
else
statement.


| The LZO object can be used to compress and uncompress data using the
Lempel-Ziv-Oberhumer (LZO)
lossless data compression algorithm.
Example use; compressedData := LZO compress(uncompressedData) uncompressedData := LZO uncompress(compressedData) | ||
|
compress(aSeq)
Returns a compressed version of aSeq.
uncompress(aSeq)
Returns a uncompressed version of aSeq.
|


Plugin Information |
|---|
Distribution of this plugin has been suspended due to unresolved security vulnerabilities, see below. |
The current version of this plugin may not be safe to use. Please review the following warnings before use:
This plugin is up for adoption. Want to help improve this plugin? Click here to learn more!
Play Framework plugin
The Play Framework plugin brings the command-line capabilities of Play and Activator into the Jenkins environment, integrating these powerful tools to the most widely used Continuous Integration platform. This way, Play projects can benefit from the growing number of features provided by the Jenkins community while improving the traceability of their build elements and visualisation of the respective results.
The plugin supports Play 1.x, Play 2.x as well as Activator projects. It provides a smart selection of most commands available in their CLI. Moreover, it’s also possible to input custom commands via Jenkins interface.
Global Configuration
In Manage Jenkins, Configure System, a new section will be available: Play.
Select Add Play and give it a name and the PLAY_HOME path. Play Framework or Activator tools can be provided also via Install automatically option, when properly configured.
Save the configuration and move forward.
Job Configuration
Open/create a Jenkins job. Add a build-step Invoke Play Framework.
Select the Play or Activator tool provided in the global configuration. Provide also the project path and the command set (Play 1.x or Play 2.x, which includes the Activator as well).
Several Goals are listed below according to the selected command set. Create your sequence of goals in the desired order. Commands are executed from top to bottom. A description is provided for each goal right below their respective title.
Save your job configuration and you are ready to go!
Workflow plugin compatibility
Starting from version 0.2.0, Play Framework plugin can be used within the Workflow plugin for Jenkins. This allows your Play project to be inserted into a more complex build environment that only Workflow provides. Delivery Pipelines are one of the main benefits, allowing higher parallelism and better control of the build chain.
In order to use it, simply create a new Workflow job and use its Snippet Generator feature to create the Play command from the already known User Interface.
Select General Build Step and Invoke Play Framework.
Fill up the fields and select the goals as in a regular Freestyle Project.
Pressing Generate Groovy will provide the complete Groovy command.
Copy the command and paste it into the Groovy text field. The node function is a basic requirement for any script executed within the Workflow plugin.
Copy the command and paste it into the Groovy text field. The node function is a basic requirement for any script executed within the Workflow plugin.
Change log
Version 1.0.1 (Feb 8, 2016)
- Windows compatibility fixed. (JENKINS-31851)
Version 1.0.0 (Nov 20, 2015)
- New interface: Play goals configurable via dropdown menus.
- Play tool installation implemented. (JENKINS-31528)
Version 0.0.12 (Sep 29, 2011)
- Bug fix: ensure job doesn't fail without configuring application path
Version 0.0.11 (Sep 28, 2011)
- Bug fix: to resolve workspace path when used in slave server
Version 0.0.10 (Sep 21, 2011)
- Modified supported Jenkins version number for adapting Cloudbees support
Version 0.0.9 (Sep 18, 2011)
- Supported to allow using parameterized build
- Enable to configure play application path instead of using the workspace root path as application path
- Ensure to quote application path when executing
Version 0.0.8 (Jul 27, 2011)
- Enable to run multiple commands at once with each options
Version 0.0.5 (Jul 3, 2011)
- Enable to configure play path per job
Version 0.0.4 (Feb 7, 2011)
- Fixed a bug builder's global.jelly misses its setting after Jenkins restart
- Supported unstable build status when some tests failed
Version 0.0.1 (Jan 25, 2011)
- First release
Attachments:
screenshot-3.png (image/png)
screenshot-4.png (image/png)
screenshot-5.png (image/png)
screenshot-6.png (image/png)
スクリーンショット（2011-01-25 1.59.50）.png (image/png)
スクリーンショット（2011-01-25 1.59.24）.png (image/png)
スクリーンショット（2011-01-25 2.29.52）.png (image/png)
スクリーンショット（2011-01-25 1.54.22）.png (image/png)
スクリーンショット（2011-01-25 1.53.00）.png (image/png)
スクリーンショット（2011-01-25 1.54.55）.png (image/png)
multiplaycommandsandplaypath.png (image/png)
スクリーンショット 2011-09-18 1.36.12.png (image/png)
スクリーンショット 2011-09-18 1.58.41.png (image/png)
play-tut-fig1.png (image/png)
play-tut-fig2.png (image/png)
play-tut-fig3.png (image/png)
play-tut-fig4.png (image/png)
play-tut-fig5.png (image/png)
play-tut-fig6.png (image/png)
play-tut-fig7.png (image/png)
play-tut-fig8.png (image/png)
play-tut-fig9.png (image/png)
play-tut-fig1.png (image/png)
play-tut-fig1.png (image/png)


Device Simulator : Welcome
START
STATS SUMMARY
Please simply ignore warnings for the unused objects.
GLOBAL CONFIGURATION
Remote Server URI
GPX path
Delay
ms
Allows to change the car direction
Test Mode
MAP
TX
Select a script…
Wizeye1
Remote Servr URI (IoT To RemoteSvr)
IoT Server URI (RemoteSvr To IoT)
Room 1
Room 2
Room 3
Room 4
TX
RX
Select a script…
Wizeye1
Wizeye2
Wizeye3
Wizeye4
Remote Server URI
Drag the lighter to the flame sensor.
TX
Select a script…
Python1
Wizeye1
Wizeye2
Remote Server URI
Delay
ms
TX
Select a script…
Wizeye1
0


Develop open source 3d models for the use of astronomy and astronautics, with applications in science and education


Mallikarjun B R, Visesh Chari, C V Jawahar, Akshay Asthana, Face Fiducial Detection by Consensus of Exemplars (PDF, Slides, Project Page), IEEE Winter Conference on Applications of Computer Vision (WACV'16), 2016
Mallikarjun B R, Visesh Chari, C V Jawahar Efficient Face Frontalization in Unconstrained Images (PDF, Slides), National Conference on Computer Vision, Pattern Recognition, Image Processing and Graphics (NCVPRIPG'15), 2015


docidx_plugin_apiref - docidx plugin API reference
This document is intended for plugin writers, i.e. developers wishing to write an index formatting engine for some output format X.
It specifies the interaction between the doctools::idx package and its plugins, i.e. the interface any index formatting engine has to comply with.
This document deals with version 1 of the interface.
A reader who is on the other hand more interested in the markup language itself should start with the docidx language introduction and proceed from there to the formal specifications, i.e. the docidx language syntax and the docidx language command reference.
The API for an index formatting engine consists of two major sections.
On the one side we have a set of commands through which the plugin is able to query the frontend. These commands are provided by the frontend and linked into the plugin interpreter. Please see section FRONTEND COMMANDS for their detailed specification.
And on the other side the plugin has to provide its own set of commands which will then be called by the frontend in a specific sequence while processing input. They, again, fall into two categories, management and formatting. Please see section PLUGIN COMMANDS and its subsections for their detailed specification.
This section specifies the set of commands through which a plugin, also known as an index formatting engine, is able to query the frontend. These commands are provided by the frontend and linked into the plugin interpreter.
I.e. an index formatting engine can assume that all of the following commands are present when any of its own commands (as specified in section PLUGIN COMMANDS) are executed.
Beyond that it can also assume that it has full access to its own safe interpreter and thus is not able to damage the other parts of the processor, nor can it damage the filesystem. It is however able to either kill or hang the whole process, by exiting, or running an infinite loop.
Coming back to the imported commands, all the commands with prefix dt_ provide limited access to specific parts of the frontend, whereas the commands with prefix ex_ provide access to the state of the textutil::expander object which does the main parsing of the input within the frontend. These commands should not be except under very special circumstances.
Query command. It returns the actual pathname to use in the output in place of the symbolic filename symfname. It will return the unchanged input if no mapping was established for symfname.
The required mappings are established with the method map of a frontend, as explained in section OBJECT METHODS of the documentation for the package doctools::idx.
Query command. It returns the name of the format associated with the index formatting engine.
Controlled filesystem access. Returns contents of file for whatever use desired by the plugin. Only files which are either in the same directory as the file containing the engine, or below it, can be loaded. Trying to load a file outside of this directory causes an error.
Controlled filesystem access. This command allows the index formatting engine to load additional Tcl code it may need. Only files which are either in the same directory as the file containing the engine, or below it, can be loaded. Trying to load a file outside of this directory causes an error.
Appends a string to the output in the current context. This command should rarely be used by macros or application code.
Retrieves the value of variable varname, defined in the current context.
Determines whether or not the name of the current context is cname.
Returns the name of the current context.
Pops a context from the context stack, returning all accumulated output in that context. The context must be named cname, or an error results.
Pushes a context named cname onto the context stack. The context must be popped by cpop before expansion ends or an error results.
Sets variable varname to value in the current context.
Returns the current value of the left macro expansion bracket; this is for use as or within a macro, when the bracket needs to be included in the output text. If newbracket is specified, it becomes the new bracket, and is returned.
Returns the current value of the right macro expansion bracket; this is for use as or within a macro, when the bracket needs to be included in the output text. If newbracket is specified, it becomes the new bracket, and is returned.
The plugin has to provide its own set of commands which will then be called by the frontend in a specific sequence while processing input. They fall into two categories, management and formatting. Their expected names, signatures, and responsibilities are specified in the following two subsections.
The management commands a plugin has to provide are used by the frontend to
initialize and shutdown the plugin
determine the number of passes it has to make over the input
initialize and shutdown each pass
query and initialize engine parameters
After the plugin has been loaded and the frontend commands are established the commands will be called in the following sequence:
idx_numpasses -> n idx_listvariables -> vars idx_varset var1 value1 idx_varset var2 value2 ... idx_varset varK valueK idx_initialize idx_setup 1 ... idx_setup 2 ... ... idx_setup n ... idx_postprocess idx_shutdown ...
I.e. first the number of passes and the set of available engine parameters is established, followed by calls setting the parameters. That second part is optional.
After that the plugin is initialized, the specified number of passes executed, the final result run through a global post processing step and at last the plugin is shutdown again. This can be followed by more conversions, restarting the sequence at idx_varset.
In each of the passes, i.e. after the calls of idx_setup the frontend will process the input and call the formatting commands as markup is encountered. This means that the sequence of formatting commands is determined by the grammar of the docidx markup language, as specified in the docidx language syntax specification.
A different way of looking at the sequence is:
First some basic parameters are determined.
Then everything starting at the first idx_varset to idx_shutdown forms a run, the formatting of a single input. Each run can be followed by more.
Embedded within each run we have one or more passes, each starting with idx_setup and going until either the next idx_setup or idx_postprocess is reached.
If more than one pass is required to perform the formatting only the output of the last pass is relevant. The output of all the previous, preparatory passes is ignored.
The commands, their names, signatures, and responsibilities are, in detail:
Initialization/Shutdown. This command is called at the beginning of every conversion run, as the first command of that run. Note that a run is not a pass, but may consist of multiple passes. It has to initialize the general state of the plugin, beyond the initialization done during the load. No return value is expected, and any returned value is ignored.
Initialization/Shutdown and Engine parameters. Second command is called after the plugin code has been loaded, i.e. immediately after idx_numpasses. It has to return a list containing the names of the parameters the frontend can set to configure the engine. This list can be empty.
Initialization/Shutdown and Pass management. First command called after the plugin code has been loaded. No other command of the engine will be called before it. It has to return the number of passes this engine requires to fully process the input document. This value has to be an integer number greater or equal to one.
Initialization/Shutdown. This command is called immediately after the last pass in a run. Its argument is the result of the conversion generated by that pass. It is provided to allow the engine to perform any global modifications of the generated document. If no post-processing is required for a specific format the command has to just return the argument.
Expected to return a value, the final result of formatting the input.
Initialization/Shutdown and Pass management. This command is called at the beginning of each pass over the input in a run. Its argument is the number of the pass which has begun. Passes are counted from 1 upward. The command has to set up the internal state of the plugin for this particular pass. No return value is expected, and any returned value is ignored.
Initialization/Shutdown. This command is called at the end of every conversion run. It is the last command called in a run. It has to clean up of all the run-specific state in the plugin. After the call the engine has to be in a state which allows the initiation of another run without fear that information from the last run is leaked into this new run. No return value is expected, and any returned value is ignored.
Engine parameters. This command is called by the frontend to set an engine parameter to a particular value. The parameter to change is specified by varname, the value to set in text.
The command has to throw an error if an unknown varname is used. Only the names returned by idx_listvariables have to be considered as known.
The values of all engine parameters have to persist between passes and runs.
The formatting commands have to implement the formatting for the output format, for all the markup commands of the docidx markup language, except lb, rb, vset, include, and comment. These exceptions are processed by the frontend and are never seen by the plugin. In return a command for the formatting of plain text has to be provided, something which has no markup in the input at all.
This means, that each of the five markup commands specified in the docidx language command reference and outside of the set of exceptions listed above has an equivalent formatting command which takes the same arguments as the markup command and whose name is the name of markup command with the prefix fmt_ added to it.
All commands are expected to format their input in some way per the semantics specified in the command reference and to return whatever part of this that they deem necessary as their result, which will be added to the output.
To avoid essentially duplicating the command reference we do not list any of the command here and simply refer the reader to the docidx language command reference for their signature and description. The sole exception is the plain text formatter, which has no equivalent markup command.
The calling sequence of formatting commands is not as rigid as for the management commands, but determined by the grammar of the docidx markup language, as specified in the docidx language syntax specification.
No associated markup command.
Called by the frontend for any plain text encountered in the input. It has to perform any and all special processing required for plain text.
The formatted text is expected as the result of the command, and added to the output. If no special processing is required it has to simply return its argument without change.
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category doctools of the Tcllib Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.
When proposing code changes, please provide unified diffs, i.e the output of diff -u.
Note further that attachments are strongly preferred over inlined patches. Attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar.
docidx_intro, docidx_lang_cmdref, docidx_lang_faq, docidx_lang_intro, docidx_lang_syntax, doctools::idx
Documentation tools
Copyright © 2007 Andreas Kupries <andreas_kupries@users.sourceforge.net>


NO PAIN NO GAIN
Nice-looking body and powerful organism are interconnected and we can help you with both.
GET STARTEDWelcome
-
Qualified Coaches
Our coaches have years of experience in various types of fitness and sports.
-
Individual Approach
Every client of GYM has a personalized program of training and nutrition.
-
Fitness Equipment
We cooperate with leading fitness equipment suppliers to give you the superior results.
Coaches
-
Pepa Perkins
Fitness
Emily can teach you all peculiarities of fitness and aerobics in a group or individually.
-
Samantha Minela
Yoga
Our leading yoga coach, Samantha will help you reach full harmony with your body.
-
Austin Ortiz
Bodybuilding
Austin is not only our most called-for coach, but also a winner of many championships.


Timeseries graph, showing the water level across the main reservoirs over time.
Cyprus Water
Welcome to Cyprus Water, an open repository of data and functionality on water reservoires in Cyprus.
Water level across all reservoirs in Cyprus
Size bars according to dam capacity
Water level in main reservoirs in Cyprus
Frequently Asked Questions (FAQ)
What is this website?
This is an open repository of information and functionality related to Cyprus' water reservoirs and their storage. You can learn about dams in Cyprus and their storage presently, and in the past.
Where do you get the data from?
From the website of the Water Development Department.
Can I create an app that uses this data?
Yes. You can use the API described below. If you do this, we expect you to make fair use of the resource which is provided for free and without any guarantee. We would also appreciate but not require an acknowledgement/attribution.
How do I acknowledge this project, its data and its services?
Use the following text
Use of cyprus-water data and functionality is licensed under CC BY 2.0
which you could produce with this sample HTML code
Use of cyprus-water data and functionality is licensed under CC BY 2.0
Application Programming Interface (API)
/api/dams
Queries static information about the main water reservoirs (dams) in Cyprus. The reply is encoded in JSON.
https://cyprus-water.appspot.com/api/dams
/api/date-statistics
Queries the statistics of water reservoirs on a specific date. The query uses the format yyyy-MM-dd (e.g. "?date=2018-06-21" to query the statistics for June 21st, 2018, or if no data exist for this date, then the latest date before the specified one). If no date parameter is specified, the server implies the current date. The reply is encoded in JSON.
https://cyprus-water.appspot.com/api/date-statistics?date=2018-06-21
/api/percentages
Queries the storage percentages of the main water reservoirs on a specific date. The query uses the format yyyy-MM-dd (e.g. "?date=2018-06-21" to query the percentages for June 21st, 2018, or if no data exist for this date, then the latest date before the specified one). If no date parameter is specified, the server implies the current date. The reply is encoded in JSON.
https://cyprus-water.appspot.com/api/percentages?date=2018-06-21
/api/timeseries
Queries the timeseries of the water level through time. The query returns a Timeseries object containing basic info of the dams, plus an ordered array of dates to percentagesThe reply is encoded in JSON.
https://cyprus-water.appspot.com/api/timeseries
The following are Admin-only API calls which you cannot access (and you shouldn't need to).
/sync/grab
Triggers a grab from the source website (requires authentication and admin rights which you most likely don't have). Returns a message encoded in JSON.
https://cyprus-water.appspot.com/sync/grab
Graphs
Timeseries graph, showing the water level across the main reservoirs over time.
About
Created by Nearchos Paspallis.


| JXTA FAQ |
| General Overview |
|
JXTA and other Technologies |
|
|
License FAQ |
|
|
Technical FAQ |
|
|
Getting Started (Newbies) FAQ |
|
Shell FAQ |
|
Community FAQ |
|
How to Participate |
|
Security FAQ |
|
|
| General Overview |
|
Q: What is JXTA? A: JXTA is a research project incubated at Sun Microsystems under the guidance of Bill Joy and Mike Clary.Its goal is to explore a vision of distributed computing using peer-to-peer topology, and to develop basic building blocks and services that would enable innovative applications for peer groups. Recognizing this effort would benefit from expert coders outside of Sun (Joy’s Law: Some of the best people work elsewhere”), the project has posted a draft of a specification and some prototype code to a website, www.jxta.org under the Apache Software License, encouraging others to join in our efforts. The project now is evolving daily. |
|
Q: What does JXTA stand for? A: JXTA is short for Juxtapose, as in side by side. It is a recognition that peer to peer is juxtapose to client server or Web based computing -- what is considered today’s traditional computing model. |
|
Q: What is prototype code? A: JXTA is short for Juxtapose, as in side by side. Prototype is a term we have used to represent code that has been developed as proof-of-concept, to demonstrate an implementation of our ideas and specifications. It is considered usable code, with a caution that it has not been through rigorous quality assurance processes. Developers are working with it currently to understand our approach and design, and to prototype their own applications. |
|
Q: Who uses JXTA? A: JXTA is short for Juxtapose, as in side by side.Today, JXTA is still mostly a research project. Developers who are interested in developing peer-to-peer applications and various individual hackers are using it to create their own prototypes. As JXTA matures, applications written based on the current design and specifications can potentially be used by a variety of users on anything from severs to PCs to pagers. |
|
Q: Where can I find JXTA source code? A: Latest builds of the source code for JXTA are posted at http://www.jxta.org. The software and code are free, subject only to the terms of the Apache Software License (modified only to reflect the JXTA name and that Sun was the original contributor). Remember though, this project is still in its research stage. The code is there for developers who are interested in understanding our approach and in contributing their ideas to the project. |
|
Q: How can I get involved in the JXTA? A: We encourage contributions to JXTA. At first, we recommend you join the general mailing lists<EMAIL_ADDRESS>and participate in the forums regarding project JXTA. If you are a developer and wish to submit patches and suggestions to the source code, send your contributions to<EMAIL_ADDRESS>mailing list. These will be reviewed by the manager in charge of that particular module, and either commented on or, more likely, implemented. The formal "governance" process outlining a procedure for how developers get even more involved and become what many Open Source projects call a "Committer" where you have write access to the Content Versioning System (CVS), or even a Project Owner has not been established yet. We expect the community to propose this, and to vote on a governance system by early fall. For more information about this, see our governance page. |
|
JXTA and other Technologies |
|
Q: How is JXTA different than other P2P technologies? A: There are several P2P technologies proposed and/or in use today, both at the application level and at the platform level. As outlined on http://www.jxta.org in our white papers and draft specifications, JXTA is a modular platform that provides simple and essential building blocks for developing a wide range of peer-to-peer services and applications. JXTA specifies a set of protocols rather than an API. Thus, JXTA can be implemented in any language on any Operating System. We anticipate solutions will range from providing a simple protocol-based wrapper that enables a small device to join a network of peers to developing a fully integrated application that supports metering, monitoring, high-level security and communication not just within a group, but also across groups on server-class systems. The JXTA platform provides a de-centralized environment that minimizes single-points of failure and is not dependent on any centralized services. Both centralized and de-centralized services can be developed on top of the JXTA platform. JXTA services can be implemented to interoperate with other services giving rise to new distributed network computing applications. For example, a P2P communications service like instant messaging can easily be added to a resource sharing P2P application if both support the JXTA protocols. |
|
Q: How does JXTA fit in with Sun[tm] Open Net Environment Webtop (Sun ONE Webtop)? A: Sun One Webtop is an open network environment whose architecture is designed to help create access, and deploy Web services on the network. This is significant to P2P because any peer on the network should have access to these Web services. JXTA enables Web services to also be distributed in a P2P environment. |
|
Q: What is Sun’s business model for JXTA? A: Sun's main focus is to develop innovative systems and software that support pervasive networking. JXTA provides added value by enabling our systems and software to become active peers in a peer-to-peer network as a complement to Sun's current client/server network solutions. |
|
Q: How does JXTA compare to Jini[tm] technology? A: Jini[tm] technology is a mechanism for connecting distributed services within a Java[tm] network using an object model and a centralized service location broker. JXTA is a mechanism for connecting distributed services in a peer-style network, using a loosely-coupled data model (XML). We anticipate both solutions to be used, depending on the requirements of an application. We believe Jini[tm] technology developers can implement some very powerful services to interact with JXTA distributed network computing services and applications. Jini[tm] and JXTA show how you can get different answers to similar problems if you start from different assumptions. Jini[tm] addresses distributed computing by beginning with the assumption that Java[tm] bytecodes can be interpreted anywhere. From that base, Jini[tm] built a way of organizing networks of services and users of those services around the idea of mobile Java[tm] objects, where services advertise themselves and find other services by using the Java[tm] type system. The result is a system that is protocol independent but is tied to the Java[tm] platform, requiring at least one machine on the network to be able to run a full Java[tm] environment. JXTA defines a set of protocols, expressed in XML, for distributed network computing. JXTA allows network entities to find other network entities, which once found can join into collaborations in application-specified ways. JXTA does not require that there be any particular platform that is supported by any of the participants of the network, but does specify the form and content of the messages that will be exchanged for network participants to find each other. Q: Can Jini[tm] and JXTA be used together? A: Yes. The JXTA protocols could easily be used to find a Jini[tm] lookup service, or (more likely) to find a Jini[tm] surrogate host. Once such a surrogate host was found, the Jxta participant could load a Java object that could act as a gateway between the JXTA and Jini[tm] worlds. The details for such an approach can be found in the Jini[tm] community project for the surrogate architecture. Q: What is the difference between the JXTA community and the Jini[tm] community? A: The Jini[tm] community, which has been in existence since January of 2000, is a group of developers who are doing research and development in Jini[tm] technology and products that use Jini[tm]. The Jini[tm] community requires the acceptance of the Jini[tm] Community Source License, and requires that anyone producing clients or services that are Jini[tm] compatible test those clients or services with the freely available Jini[tm] Technical Compatibility Kit. The JXTA community technology uses a slighly modified version of the Apache Open Source license, and is built around a community of researchers who are united in extending the JXTA architecture. There are no formal requirements for compatibility but compatibility ensures the largest degree of interoperability with other JXTA applications and services. Q: Why are there seemingly two approaches to the same problem coming from Sun? A: Different requirements result in different systems. The Jini[tm] technology requires the existence, within a network, of at least one computer capable of running a Java environment. While this is common, it is not universal. In those cases where size or existing code require a language-neutral approach, JXTA can provide some of the basic Jini[tm] functions. |
|
Q: How does JXTA compare with UDDI? A: UDDI is a centralized business registry that enables business-to-business communication. Members who register as a UDDI client become privy to a system to search and share business opportunities. It is based on XML, and for its members, provides a similar service to JXTA. JXTA provides a system for applications and services to announce themselves as JXTA-friendly, and create, join and monitor peer groups in a more distributed fashion. There is no sign-up process or fee; it is a more loosely organized system and will likely attract a more diverse collection of users, hackers, and businesses. Note: This should ultimately be expanded to include a discussion about advertisements and discovery in JXTA. |
|
Q: How does JXTA compare with Simple Object Access Protocol (SOAP) sponsored by the W3C? A: Simple Object Access Protocol (SOAP), is designed to enable accessing remote services with other SOAP applications. Like SOAP, JXTA uses XML message exchange. In addition, JXTA provides protocol specifications to enable remote service access. However, JXTA provides additional protocols and services to implement a full P2P application. These include Peer Discovery to enable peers for find each other, Peer Groups to allow organization of Peers and control membership, Peer Pipes to support flexible and secure communications among peers, and Peer Monitors to allow additional management of peers in a network. It is conceivable to send SOAP compliant messages through JXTA pipes to other JXTA peers. |
|
Q: How does JXTA compare with Microsoft’s .NET? A: .NET borrows extensively from the concepts pioneered and led by SUN's Java[tm] Programming language. It consists of a common run-time execution environment and a set of requirements imposed on developer tools with the goal of enabling interoperability across the proliferation of Microsoft development languages and environments such as Visual Basic, ASP, Visual C++, and now C#. JXTA is not a programming language; it defines a set of protocols that support interoperability among Peers in a distributed network computing environment. JXTA applications can be developed in any language and can interoperate with other JXTA applications regardless of their implementation language and underlying operating system. |
|
Licensing Questions |
|
Q: What is the license model for JXTA? A: JXTA is licensed using the Apache Software License (which in itself is a flavor of the BSD license), modified only to reflect the JXTA name and Sun as the original contributor. As with the Apache license, this license allows free modification and redistribution of binary and source code. The following minimal restrictions apply: all files must show a copyright header acknowledging the contributors to the code; and if you wish to use the name JXTA in your product materials, you must request written permission from JXTA. |
|
Q: Is JXTA compatible with other Open Source products? A: The Apache Software License is considered compatible with most other Open Source-certified licenses, including the Mozilla Public License, the BSD license, and the SISSL. Note: Most of these other licenses have additional restrictions; make sure you read and recognize these. |
|
Q: Is JXTA compatible with Linux? A: Yes, and we encourage you to. Until an official "governance system" is proposed by the community and agreed on, Sun is acting as a host for the source code. If you have minor patches to submit, please post the code directly to the<EMAIL_ADDRESS>mailing list. We will make sure the project owner reviews it and implements your fix. If you have significant enhancements to submit (i.e. over 20 lines of code) please post a notice of this effect to the mailing list, (we want the community to know of your cotnribution) and then contact the project owner of this particular part of code. The project owner will post a reply both to you and the community. |
|
Q: Is there any cost to using JXTA? A: No. (Really.) |
|
Q: Can I contribute code to JXTA? A: Yes – and we encourage you to. In accordance with the proposed JXTA governance process, you can submit code to the project leader as a contribution either as a user, a developer, or as a committer. If your code is selected to be integrated into the source tree, then you will be asked to sign a %“Contributor’s Agreement”% similar to what Apache Software Foundation requires. This agreement clarifies that to your knowledge, the code you’ve submitted was developed by you, and that you have authority to provide it and any related IP to the JXTA Project. |
|
Q: Can I develop proprietary products using JXTA? A: Yes. All BSD-style licenses allow development of either continued open source style products or proprietary products. |
| Technical Overview -general |
|
Q: What is JXTA written in? A: The initial prototype implementations for JXTA are written in Java programming language, as we believe the inherent qualities of Java[tm] technology add value to developing distributed network computing applications. Our specifications are intentionally language-independent however, and we support and encourage alternate implementations. A C/C++ implementation is underway as a JXTA community effort. |
|
Q: What are the system requirements to run JXTA? A: Our initial implementation for JXTA uses Java[tm] technology, and requires a platform that supports JDK[tm] 1.1.4 release or later. This includes Windows 98/ME/2000 (using IE 4.0 or later), Solaris[tm] Operating Environment, Linux, and Macintosh. We anticipate alternate implementations of JXTA will be developed to run in additional environments, including embedded operating systems, and using other development platforms such as Perl. Note: Some users using Windows NT[tm] or other operating environments
not listed above have observed an error message, "could not find OS JRE"
while trying to run the JXTA Shell.
In many cases, the software can still be run on the system if a Java Run-time
Environment (JRE) compatible with JDK[tm] 1.1.4 or later by running the following command from the directory where the JXTA Shell software is installed:
The JXTA application launchers for the reference implementation in Java[tm] have been improved by several community members to "try harder to find the JRE, but the above command may be useful for anyone wishing to know the entrypoint (starting class is net.jxta.imple.peergroup.Boot) for the JXTA reference Java[tm] implementations. |
|
Q: What is the memory requirement to run JXTA? A: Our initial implementation of JXTA on JDK[tm] 1.1.4 release is around 150Kb with support for both TCP/IP and HTTP. |
|
Q: Does JXTA run on Java[tm] 2 Platform, Micro Edition (J2ME[tm]) and/or PersonalJava[tm] Technology? A: These platforms have not been tested extensively. Please keep watch on the mailing list for comments related to J2ME[tm] and PersonalJava[tm] Technology. |
|
Q: What are the main components of JXTA? A: JXTA is most often described using three layers; a core layer, a middle "services" layer, and an application layer. The core layer includes the minimum protocols and building blocks to enable key mechanisms for peer to peer networking, including discovery, transport (including firewall management and limited security), and the creation of peers and peer groups. The services layer provides hooks for supporting generic services (such as searching, sharing and added security) that are used in many P2P and distributed network computing services and applications. And finally, the application layer supports implementation of integrated applications, such as music sharing, resource sharing, monetary systems, distributed storage, and other creative applications yet to be realized. These applications can be "vertical" or they can be developed to interoperate with other distributed network computing applications developed to the JXTA core. The entire system is designed to be modular, and to allow developers to pick and choose a collection of these services and applications that suits their needs. For more information on these components, review our white paper (high level overview) and/or our specifications (techies only). |
|
Q: What are the main JXTA protocols? A: The JXTA platform initially defines the following protocols:
|
|
Q: Who can be a Peer? A: Peers are any devices that run some or all the JXTA protocols. A peer can be anything with a digital heartbeat that supports the JXTA core, including servers, PCs, PDAs, manufacturing and test equipment, and cellular phones. In order to participate into JXTA, the peer needs to be connected to some kind of network, such as IP, Bluetooth, or Havi. |
|
Q: What are Peer Groups? A: A Peer Group is a collection of peers that have agreed upon a common set of rules to publish, share and access codats, and communicate between themselves. Each peer group can establish its own membership policy from open (anybody can join) to highly secure and protected (join only if you have sufficient credential). |
|
Q: What are JXTA "pipes?" A: In JXTA, pipes provide the primary channels for communication. They are a mechanism for establishing uni-directional, asynchronous communication between peers. The pipe endpoints are non-localized to a physical peer, but are dynamically bound at creation time enabling developers to build highly available services where pipe connections can be established independently of a peer location. Pipes in JXTA are indiscriminate; they will support binary code, data strings, Java technology-based objects, and/or applets. Asynchronous pipes enable to build large-scale inter-connected services and applications. JXTA also uses the verb "pipe" to describe concatenating commands within the JXTA shell. This is akin to the UNIX® term "piping" where standard output | standard input, etc. See discussion of JXTA Shell. |
|
Q: What is the JXTA Shell? A: The JXTA Shell is an application that enables users to interact with the JXTA platform through a command-line interpreter. Much like the UNIX® shell, it is useful for accessing and managing core platform objects (peers, groups, pipes), debugging communications problems, checking the status of peers and/or peer groups, and communicating with "external" JXTA services and applications. As in UNIX®, the JXTA shell allows users to "pipe" shell commands together -- connecting commands "on-the-fly." Pipes in JXTA are useful for collecting information at one site and perhaps processing the command at another. For example, a user may query a local peer group for original music, pipe the results of query to another peer that provides a music rating service, and pipe that result to another peer providing a sorting service, next filtering the result locally to identify music of a certain genre of interest, and finally sending the result to a peer that returns concert listings for the selected music. The JXTA Shell is not part of the JXTA core. It is an optional application designed for users and/or developers who are interested in a way to interact with the platform, monitor certain activities of their peer applications, and feed the results for another purpose. Shell commands are dynamically loaded and started by the JXTA Shell framework when they are invoked. This allows the JXTA Shell to be easily extended with new commands without having to change the source code in the shell framework and existing commands. As with the UNIX® shell, we anticipate multiple versions of a Shell application will be developed to reflect unique application requirements. For a more complete description of the JXTA shell, refer to our white paper. |
|
Q: What does the term "Codat" refer to in your documentation? A: "Codat" is a term we created to represent any computer content -- code, data, applications, or other collection of computer representable resources. JXTA does not distinguish among different types of resources that can be stored on a computer and shared among peers in a peer group. Examples of "codat" include text files, photographs, applets, executable files, serialized Java objects, SOAP messages, etc. Codats are the elementary unit of information that is exchanged among peers. |
|
Q: What is InstantP2P? A: InstantP2P is a JXTA demonstration application. It is designed to be easy to download, run, and understand. It implements the common P2P applications today of peer-to-peer messaging, peer group chat, and peer to peer file sharing. It provides a simple graphical user interface to create and join groups. In addition, the source code is readily available to provide developers a head start developing innovative new P2P and distributed network computing applications. |
|
Q: Where can I get the "InstantP2P" demostration application? A: InstantP2P can be downloaded from http://download.jxta.org/easyinstall. The source can be found at http://instantp2p.jxta.org. |
|
Q: What dows your Content Management System (CMS) do? A: CMS, Content Management Service, provides sharing across peers in a peer group. It implements simple searching across all peers in a peer group. CMS is used by InstantP2P and implements the search, share, and unshare JXTA Shell commands. |
|
Q: How does JXTA work with firewalls? A: In order for JXTA peers to communicate with each other across a firewall, at least one peer in the peer group inside the firewall must be aware of at least one peer outside of the firewall. Furthermore, the peer inside and the peer outside the firewall that are aware of each other, must support HTTP transport, and, the firewall has to allow HTTP data transfers. These HTTP transfers need not be restricted to port 80 though that is the port used by default by most Web browsers and by the current JXTA implementation. The two peers described become routers for P2P traffic among the other peers in the peer group. There can be more than multiple peers routing P2P JXTA messages across the firewall. Currently, the settings necessary to support firewalls and HTTP transport are made via configuration files for the JXTA Shell. We anticipate more advanced treatments of firewalls will be developed as part of basic services and higher-level applications. |
|
Q: Does JXTA work with NAT (Network Address Translation)? A: Yes. The JXTA core recognizes when a message that is being forwarded to another peer is coming from a peer with an internal (sometimes called private) IP address and automatically updates the envelope containing the JXTA message with an externally accessible IP address. |
|
Q: Does JXTA run using a dialup connection? A: Yes. JXTA peers are identified by their unique ID rather than by a fixed address. When a peer boot, it attempts to contact other peers. Contacted peers contain variable sized caches that map nearby peers' unique ID to their current address. |
|
Q: What kind of security does JXTA use? A: JXTA has as its goal the implementation of a model that considers what we have code-named a "P2P Web of Trust", which is in the spirit of the Pretty Good Privacy (PGP) "Web of Trust" for secure electronic mail. Just like in PGP, the "Web of Trust" is used to exchange public keys among its members. Each peer group policy may permit some members to be trusted to the extent that they have the authority to sign public keys for other members as well as to do things like authenticate, add new members, and remove or revoke membership. JXTA will initially implement security classes for the RSA public key exchange, the RC4 byte stream cipher, and the SHA-1 hash algorithm. These will enable privacy by the means of a P2P TLS implementation; integrity with signed hashes; non-repudiation using the "Web of Trust;" and MACs for data authenticity. Combinations of these classes form security suites, and JXTA provides the mechanism to add new customized suites as required. For peer group authentication a separate Pluggable Authentication Module (PAM) will be present. JXTA will have anonymous or guest login, and login with user name and password. A login session may be in clear or cipher-text as per the peer group security policy. Since the JXTA security module is available to the core, services and applications, advanced services and applications can "plug in" their own security components and protocols. For example, the "Web of Trust" could be defined by a policy that requires authorized peer group members to be well known certificate authorities, and that peers exchange X509v3 CA signed certificates. |
|
Q: Can I use FTP with JXTA? A: JXTA allows file transfers among peers over pipes using protocols other than FTP. Someone can write an FTP service for the JXTA platform that would allow also transferring files over FTP. |
|
Getting Started (Newbies) |
|
Q: How do I install JXTA? A: To install the current build of JXTA, go to http://www.jxta.org and click on the "Try JXTA Now" button to download the installation program. Once the download is complete, run the installation program downloaded and follow the on-screen instructions. |
|
Q: Do I need to connect to the Internet before starting JXTA? A: No. The current JXTA implementation supports peers on a local network that need not be connected to the Internet. In addition, the JXTA specification allows peers to interact that use non-IP network protocols such as Bluetooth. However, in order for peers to interact across the Internet, at least one peer in a local peer group must have Internet access to connect to the remote peer on the Internet. |
|
Q: I found a bug; how do I report it? A: JXTA is currently using Issuezilla to track bugs. Issuezilla is an open source bug tracking system developed and used by Mozilla. You use Issuezilla to browse or modify existing bugs, or enter new bugs. To submit a bug or enhancement request for JXTA, click here. |
|
Q: Can a JXTA peer be active in more than one JXTA peer group? A: Yes. Joining a new peer group does not imply leaving another. However, the shell currently supports only one environment at a time. If you are using the JXTA Shell to interact with a JXTA peer group X (vs. an application that can do whatever it implements and can manage multiple groups simultaneously), and you join a new peer group Y, the shell creates a new set of environment variables for Y. The "chpgrp" command is used to change which peer group variables are active for the shell. The old services are not stopped while the shell is running so codats that were being shared still are accessible by other peers in the group. However, this does NOT imply that codats in one peer group are automatically accessible by peers in another group unless the codat is explicitly "shared" in both groups. |
|
Q: Can you create hierarchical peer groups? A: While peer groups are technically considered non-hierarchical, it is possible for group Y to inherit properties from group X via a pointer, but inheritance of properties are not exposed throughout JXTA. For example, the JXTA Shell recognizes one unique peer group environment at a time. |
|
Q: Can I run multiple peer groups on a single host? A: JXTA supports multiple peers and peer groups on a single host. This feature is controlled in the configuration file during installation. |
|
Shell FAQ |
| Q: Can I run
non-JXTA applications from the JXTA shell?
A: Yes. For content management, MIME type information included with a codat can be used to let local applications associated with well known content types handle them automatically. However, today the shell has no specific handlers for these things. We anticipate developers will devise "JXTA Adapters" to execute external programs. Note: These should be implemented with appropriate security safeguards to avoid the problems common with Microsoft office applications. An adapter could essentially map data and connect applications for remote launches. Some examples might be:
|
|
Q: Can the JXTA Shell be run as an applet? A: No. For security purposes the applet viewer used by Java restricts the network connections that can be made by an applet and the JXTA core would not be able to run inside the Applet Viewer. The Applet Viewer also prevents access to the local file system making the machine running the applet behave only as a client (aka "freeloader" in Gnutella). Someone could write a version of the shell that runs as a signed applet to provide the functionality normally restricted by the default security of the Java Applet Viewer. A potential application for this is remote control of remote peers using a Web browser. |
|
Community FAQ |
|
Q: What's the purpose of this site? A: Jxta.org is a home site for those interested in collaborating on JXTA, including professional developers, end-users, and of course the ever valuable hacker. Here you can participate with other like-minded people who share ProjectJXTA's vision. As a developer and/or hacker, you can turn your ideas for JXTA core, services, and applications into active, productive projects. You can even invite developers whose expertise you seek to join you. But more than that, all the Web-based tools you need to manage your project and collaborate with other developers to get it done also reside here. As a user, you can explore ideas related to peer-to-peer technologies.
You can watch products develop, and contribute your own pet-peer-peeves
before a project gets finalized. And finally, as projects mature, we expect
you to be able to access JXTA services and applications here.
|
|
Q: Who else is here? A: Other community members, including Java and C developers, open source developers, and any developers who have been invited by project leaders and other developers to collaborate on projects hosted on JXTA. |
|
Q: What is CollabNet's role in this site? A:Collab.net is working with Sun Microsystems, Inc., the original creator of JXTA, to host this site as a meeting place for users and developers interested in further enhancing projectJXTA's source code, applications, and services. |
|
Q: Is this site only for open source projects? A:JXTA is made available at this site under a version of the Apache Software License, altered only to reflect Sun as the original contributor, and JXTA as the referred to source code. The Apache license enables developers to create complementary services and applications either as open source products, or as proprietary products. This site was created to support both kinds of efforts to help people collaborate and share source code as using its collaborative tools and best practices characteristics of successful open source software development projects, while also providing those who want to stay proprietary a resource for their needs. We hope all developers consider contributing at least their fixes to bugs and general enhancements. |
|
Q: What do you mean by "hosted tools"? A: Project Jxta uses a software toolset supplied by CollabNet called SourceCast to enable collaborative software development. These are Web-based tools made available to project owners and developers who become project members. SourceCast combines the best-of-breed open source tools into a Web-based software development suite. Key features of this tool set are security, scalability, extensibility, and customizability. A: SourceCast provides simple, powerful Web interfaces for version control , issue tracking , discussions and decision making , automated builds, automated testing, project management and knowledge management. Project owners can configure these tools within each project and grant roles to project participants to fit the needs of the project. |
|
Q: Who do I contact for help or feedback? A: Send any questions or comments to<EMAIL_ADDRESS>|
|
Q: How do I find open source terms and definitions? A:You can find terms and definition in the glossary. |
|
How to Participate |
|
Q: What client-side tools will I need to participate? A: At minimum, you need a Web browser, email client, CVS, and optionally SSH to secure your CVS connections. There might be additional domain specific tools you need depending upon the types of development project you want to contribute to. |
|
Q: How do I start a project? A: Use the "Start New Project" links in the "My projects" page or subsequent pages to access the four-screen project creation process. After you submit your project information, you will be able to view and customize your new project home page. Your project will be in the "pending" status until it is approved by the site administrators. For more information, read about the process. |
|
Q: How do I put proprietary content on my section of the site securely? A: If your development project is proprietary, only project members can view project documents, participate in project mailing lists, download/upload project files, view and report issues, and access the CVS repository. Proprietary project owners control project membership through a member approval process and project role assignments. In addition, the project administration tool allows project owners to grant specific permissions to individual users and developers through project role assignments. SourceCast uses Secure Socket Layer (SSL) technology to establishes a secure connection between the user and server, with a private key to encrypt data when transferred across this connection. You can also use optional SSH tunneling to protect your CVS connections from password snooping, data corruption, or theft. For more information, read about SSH on this site. |
|
Q: How do I share code? A: When you join or lead a JXTA project, you use CVS version control to check out and work with project files, and then contribute your changes back into the project's repository. When other project members update their working files, they also have access to your code. Everyone on the CVS mailing list also receives automatic e-mail notification when files are updated. As a project member, you will be assigned to do code enhancements or contribute patches via IssueZilla, an issue tracking tool for managing project issues (defects, enhancements, features, tasks, and patches). You can also subscribe to project mailing lists, where you can follow and participate in ongoing discussions about the project. |
|
Q: How do I get other developers involved in my project? A: You can invite other developers to join your project at any time. When you start your own development project on jxta.org, the process includes an opportunity to list developers you want to invite to join you. They receive an automatically generated e-mail that explains a little about JXTA, gives the name and a brief description of your project, and includes the personalized message that you composed. After the project is already underway, you invite others via e-mail at your discretion. |
|
Security FAQ |
|
Q: What steps do you take to protect my data? A: SourceCast take appropriate steps to protect the information you share with us from unauthorized access or disclosure. In addition to sharing CollabNet developer site user ID/password authentication, SourceCast implements SSL security with a digital certificate. All pages in JXTA are HTTPS secured through SSL encryption to protect any information in those pages and to authenticate that user information is sent to the correct server. Any CVS password information contained in user profiles for JXTA is also encrypted to secure project information against unauthorized access. For more information, see the Privacy Policy, Terms of Use and Copyright. |


[1]
Processor, display, (Verizon) skin build quality; Defective Galaxy S GPS components
[2]
incredible hardware; software needs help! see below for details ...


{% extends 'base.html' %} {% block title %} About Us {% endblock %} {% block content %}
Digital Security Hub is a centralized marketplace to find and test professional security applications and tools. We understand the difficulty and time commitment to find the tools that are just right for your use case so we developed a market to quickly find and analyze applications for numerous use cases.
Our mission is to supply security professionals with the tools they need to properly do their job. We understand the importance of time when working, meaning our goal is to provide security for others by giving the people who keep them secure less busy.