Stateful Functors¶
Often one will want to perform transformations that keep track of some state. Here we show two ways of doing this. The first (preferred method) uses a Python Class to define the functor object which is initialized on the local process. The second uses the PipeSystem API to define a graph with a looping topology where the state is stored in the Streams instead of the functor object.
Simple Moving Average¶
Here we demonstrate how to use Class functors. All pipe segments may use Class functors as long as the Class has a run
method implemented. The run
method plays the role of the standard functor, operating on each data chunk in the stream. Additionally the user may define two other methods local_init
and local_term
, which are executed once on the local process on initialization and termination respectively.
The following example shows how to use a Source and Sink with Class functors. First a random walk is generated from random data, where the location of the previous step is persisted on the local process. Then a moving average is calculated with a queue persisted on the Sink process. Normally only the data in the queue needs to be persisted but for demonstration purposes we persist all values and moving averages to be plotted after the pipeline has terminated.
[1]:
import minipipe as mp
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
class generate_rand_walk:
def __init__(self, n_steps=100):
self.n_steps = 100
def local_init(self):
self.last_step = 0
def run(self):
for _ in range(self.n_steps):
step = np.random.randn() + self.last_step
self.last_step = step
yield step
class simple_moving_average:
def __init__(self, window_size = 10):
self.window_size = window_size
def local_init(self):
# This method initializes on the local process
self.queue = []
self.values = []
self.means = []
def run(self, data):
# Enqueue data
self.queue.append(data)
# Dequeue data once window size has been reached
if len(self.queue) > self.window_size:
self.queue.pop(0)
# Calcualte moving average
ma = sum(self.queue)/len(self.queue)
# Save values and moving averages for plotting at term
# Normally you wouldn't save these values bc data scale may cause OOM error
self.values.append(data)
self.means.append(ma)
def local_term(self):
# This method runs once on the local process at termination
# Here we simply plot the results
steps = range(len(self.values))
plt.plot(steps, self.values, label='Random Walk')
plt.plot(steps, self.means, label='Smoothed Walk')
plt.title('Simple Moving Average')
plt.xlabel('Steps')
plt.legend()
plt.show() # This is necessary since plot in on local process
[2]:
rw = generate_rand_walk(100)
sma = simple_moving_average(10)
pline = mp.PipeLine()
pline.add(mp.Source(rw, name='random_walk'))
pline.add(mp.Sink(sma, name='moving_avg'))
pline.build()
pline.diagram()
[2]:
[3]:
pline.run()
pline.close()
2020-01-03 16:21:25,161 - INFO - random_walk - End of stream
2020-01-03 16:21:25,165 - INFO - random_walk - Local termination
2020-01-03 16:21:25,167 - INFO - moving_avg - Local termination
Fibonacci Sequence with Loops¶
With the PipeSystem API its possible to build graphs with loops. Loops can be used to store states in a Stream by passing the data back to an upstream. Here’s a fun and useless example calculating the Fibonacci sequence with a stateless functor.
[4]:
from multiprocessing import Event
# minipipe uses multiprocessing Events for termination flags
term_flag = Event()
n = 1000 # max fib number
def fib(x_1, x_2):
print(x_1)
# terminate when n is reached
if x_2 >= n:
term_flag.set()
return x_2, x_1 + x_2
[5]:
# initialize streams
s1 = mp.Stream()
s2 = mp.Stream()
# initialize streams instead of using a Source
s1.q.put(0)
s2.q.put(1)
p = mp.Transform(fib, 'fib', upstreams=[s1, s2], downstreams=[s1, s2])
p.set_term_flag(term_flag) # term flag needs to be set explicitly
psys = mp.PipeSystem([p])
psys.build()
psys.diagram(draw_streams=True)
[5]:
[6]:
psys.run()
psys.close()
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987


if you'd like to know me better...
YOU CAN E-MAIL ME AT
<EMAIL_ADDRESS>AND VISIT MY
BEHANCE
◭


Lexicon
Help Me Pick New Logo Through 3 April 2016!
I am in the process of running a logo design contest on 99designs and have created a poll with 6 of the best logo designs I've received. I would love for you to vote on the logo design. It only takes a minute.
Like Sci-Fi? Read My New Online Fiction Series.
Do you like Sci-Fi? While I finish up my next novel, I have started an online fiction series called Forbearance. Picking up from the canteen scene in Bellicose, we meet Keius Minjen, a postal marine, as he tries to survive the battle planet Guna to exact revenge and one day liberate his homeland.
Sign-up if you want me to send you news about upcoming installments of Forbearance or my other writings.
Lexicon Game is a way of role-playing out a setting’s background. In E-Space’s incarnation of Lexicon, players portray scholars from different eras, scholars who do not restrain themselves to being professionals. They are opinionated, eccentric, and confrontational. As scholars, the players collaborate with one another to construct the Macropedia/Macropedia, a widely published encyclopedia of human understanding.
Rules
Turns cycle from A to Z.
New Entries: Scholars reserve and write one new entry each letter turn.
When writing new entries, scholars shall cite to two phantom entries
After the first turn, entries shall also cite to at least one written entry.
It is academic heresy to cite one’s own work, so a scholar may not cite to a work he has written.
Entries should not cite to entries in that turn (e.g. a ’D’ article cannot cite to another ’D’ article).
Phantom Entries: When new entries are written, scholars then complete the phantom entries for that letter turn. For example, when new entries for Turn ’D’ are finished, then any phantom entries for Letter ’D’ are completed.
Because a scholar cannot cite to an entry he has written, scholars are barred from writing a phantom entry they have previously cited.

Phantom entries should cite to at least one written entry. Previously created phantom entries may count as a written entry for this purpose.
Phantom entries should not cite any new phantom entries. That is, if it did not exist before the present phantom entry is being completed, then it cannot be cited. Otherwise the game would never end.
Accuracy of Cited Entries: Regardless of how misguided a scholar’s peers are, they are honest. Therefore, scholars must treat other scholar’s entries as factually accurate. However, a scholar is free to question the interpretation of another scholar, and even introduce new facts to support his argument.
Variations:
- Long Game
- What we just did. Should produce 204 entries. Should produce around 62 entries per Scholar.
- Medium Game
- Have fewer turns by combining letters. It is possible to have 16 turns by combining the less commonly used letters. Should produce around 38 entries per Scholar.
- Short Game
- When reaching a turn that has phantoms, then if there are two phantoms, only one new entry is created (assuming three Scholars). Should produce about 26 entries per Scholar.
- Short-Short Game
- 16 turns with not authoring more entries if there are more than phantoms than Scholars. This should produce about 16 entries per Scholar.
Other Notes
Creating a Scholar
Before you begin contributing, you should first create your Scholar/Scholar. Essentially, this is a multi-step process. First, name your scholar, and write a paragraph, two to four lines, that describes his background and personality. As described below, at the end of the article, your Scholar should mark his article.
Joining After the Game Has Begun
We welcome contributers! A lexicon is more fun when there are more contributers.  Just follow the instructions for creating a scholar. Well, you’ll also need to email the wiki owner for an account.
Writing an Entry
An entry should be around 100-200 words. The aim is to have turns cycle quickly, so as soon as new and phantom entries are finished, the next turn begins.
Protecting the Core:
E-Space has core principles that hold it together, developed by the original contributers. Therefore, an entry that opposes those principles are open for discussion and amendment. The goal is to do so amicably. So, when such an entry is written, then its conflict must be declared to the group. Other Scholars are able to have their say. If the conflict is not resolved through discussion, then it will go to a vote on the discussion list. The resolved entry becomes authoritative.
Core Material
Some material we have already written something for. Those items should be pre-added to the appropriate edition. When we start playing in a pre-populated edition, they are available for citation and discussion.
Editions
There are several editions. It has been agreed to that we should not cite between editions, for fear of corrupting a given edition. However, an entry can refer to an event of a previous edition, providing that event complies with honoring the factual integrity of the previous edition. Additionally, those post-edition events must not be significant to the period in question.
Housekeeping Pages
Pmwiki takes care of some of the housekeeping for us. All we need to do is add the following wiki syntax at the end of articles and scholar’s bios:
- Scholars should have the following at the end of their bios ([=$period=] is the edition name):
[==] Here is an example of a schloar bio with the notation. This allows pmwiki to list all the authors of a given edition.
*At the end of each article the following should appear:
[= =] Here is an example of an article with the notation. This allows pmwiki to list all of the articles of a given edition, and also list all articles written by an author.
*Each time your Scholar cites to a phantom article, he should create that phantom’s page, then put the following at the end of the article:
[==] This allows pmwiki to list all articles still waiting to be written. There is not yet an example of this.
Lexicon Templates
Lexicons use various wiki-engines, but this one uses PmWiki. Below are a list of templates to help standardize the layout of Lexicons that use PmWiki. Feel free to use them in your own Lexicon.
References:


Before Change
item_features)
if self.loss == "warp-kos" and sample_weight is not None:
raise NotImplementedError("k-OS loss with sample weights "
"not implemented.")
interactions = self._to_cython_dtype(interactions)
user_features = self._to_cython_dtype(user_features)
item_features = self._to_cython_dtype(item_features)
After Change
interactions = interactions.tocoo()
if interactions.dtype != CYTHON_DTYPE:
interactions.data = interactions.data.astype(CYTHON_DTYPE)
sample_weight_data = self._process_sample_weight(interactions,
sample_weight)


We're sorry but vue-sft doesn't work properly without JavaScript enabled. Please enable it to continue.


Suggests adding QUnit JsTestDriver adapter if usage of QUnit framework is found, but no QUnit framework is linked up to the project.


Payment
express
Payment Checkout
Amount
$
Payment Checkout
Card Number:
Name On Card:
Expiry Date:
CVC:
submit


{% extends "base.html" %} {% block content %}
2016 |
{% for object in schools %}
{{ object.name }} | {% endfor %}
|---|---|
| Reading Scores |
{% for object in reading_scores %}
{{ object.meeting }}% |
| Math Scores |
{% for object in math_scores %}
{{ object.meeting }}% |
| Science Scores |
{% for object in science_scores %}
{{ object.meeting }}% |
| Writing Scores |
{% for object in writing_scores %}
{{ object.meeting }}% |
| Special Ed |
{% for object in stats %}
{{ object.specialed }} |
| Gifted |
{% for object in stats %}
{{ object.gifted }} |
| Free and Reduced Lunch |
{% for object in stats %}
{{ object.frlunch }} |
DISTRICT MAP


{% if message %}
Number of likes: {{like[0]}}
{% for user in like[1] %}Tags:
{% for tag in tags %}Comments:
{% for comment in comments %}Number of likes: {{like[0]}}
{% for user in like[1] %}Tags:
{% for tag in tags %}Comments:
{% for comment in comments %}


# Capture Web Page in Markdown
## Captures an article/webpage from Safari directly to the clipboard in Markdown format.
* [**RoutineHub Page**]()
* [iCloud Share Link](https://www.icloud.com/shortcuts/262671431cfe4d73b52f31b8dd6a98b0)
***
## About
I’ve personally found this Shortcut absolutely invaluable and surprisingly reliable in its ability to quickly capture the entirety of the text I *actually want* from a given web page/article. The format of its output (see below) took a lot of fiddling to get to its current layout, but it is completely configurable as per your preference.
```
# "[Title](URL)"
**By *Author***
'Published Date'
***
Markdown from Rich Text
-"[Title](URL)"
```
***
## Contact
*<EMAIL_ADDRESS>* [Twitter](https://twitter.com/NeoYokel)
* [Mastodon](https://mastodon.social/@DavidBlue)
* [Discord](https://discord.gg/0b9KQUKP858b0iZF)
* [*Everywhere*](https://www.notion.so/rotund/9fdc8e9610b34b8f991ebc148b760055?v=c170b58650c04fbdb7adc551a73d16a7)...


Training and Placement Section
The Training and Placement Department provides necessary guidance to the students for career planning and personality development. In this regard workshops on soft skills development are being arranged. In addition to this various online test modules on technical knowledge, general aptitude, etc. are also conducted. Orientation program for placements, career guidance seminars on Higher Education in India & Foreign countries are organized to help the students for planning their careers.
The Training and Placement Department of Visvesvaraya National Institute of Technology aims to provide students with a platform for using their technical acumen to gain valuable experience by working in the mainstream industry. It also acts as an interface for Companies seeking talented young graduates and post-graduates in various disciplines.
VNIT-Nagpur invites various public and private sector organizations for campus recruitment of final year students. During the academic year 2015-16, more than 100 companies visited the campus. These included all the major companies like Coal India, Reliance Group, Jindal group, L&T Group, Bajaj Auto Limited, InMobi, Oracle, Amazon, Morgan Stanley, ZS Associates, NMRCL and many more. All these companies offered 496 jobs UG & PG students (403 UG & 93 PG)
Along with core-sector jobs, over the past few years, students have also shown a keen interest for jobs in IT and Software, Management and Consultancy firms, Educational Organizations and even in Start-Ups. While core disciplines attract students with strong technical know-how, other sectors invariably open doors to students interested in dynamic work-profiles and aptitude-based skill requirements.


Stephen Diehl set up wsgi.org as a central location for WSGI-related content. I put in some links taken from the Cheese Shop and Python Wiki. I'm sure there's a lot missing, but it's also the most complete list at the moment from what I can tell. If you know of something missing, it's a wiki...
Very nice. But it would be better if editing for anonymous users would be allowed.
Way too many spammers these days, you can't have open wikis anymore. Anyway, you can still self-signup.
# Ian Bicking
That's true but moin shipps a very good antispam module for automated spam.


{% load i18n %} {% blocktrans %}
Use the following placeholders to integrate specific details into your Format:
%%imagename: name of the image
%%imagewidth: width of the image
%%imageheight: height of the image
%%imageset: name of the imageset
%%imageid: id of the image (guaranteed to be unique)
%%type: annotation type
%%veriamount: the amount of verifications for the annotation
%%vector: the annotation vector, as defined in the vector format
%%cx, %%relcx: x-coordinate of the center of the annotation, absolute or relative value
%%cy, %%relcy: y-coordinate of the center of the annotation, absolute or relative value
%%minx, %%relminx: minimal x-value of the annotation, absolute or relative value
%%miny, %%relminy: minimal y-value of the annotation, absolute or relative value
%%maxx, %%relmaxx: maximal x-value of the annotation, absolute or relative value
%%maxy, %%relmaxy: maximal y-value of the annotation, absolute or relative value
%%rad, %%relrad: radius of the annotation, absolute or relative value
%%dia, %%reldia: diameter of the annotation, absolute or relative value
%%width, %%relwidth: width of the annotation, absolute or relative value
%%height, %%relheight: height of the annotation, absolute or relative value
%%ifblurred text in between this and %%endif will be displayed if the annotation is marked as blurred
%%ifnotblurred text in between this and %%endif will be displayed if the annotation is not marked as blurred
%%ifconcealed text in between this and %%endif will be displayed if the annotation is marked as concealed
%%ifnotconcealed text in between this and %%endif will be displayed if the annotation is not marked as concealed
%%endif closes an opened if. This is absolutely necessary for every if.
Note: nested ifs are not allowed!
{% endblocktrans %}


We are proud of the way we do business. We work extraordinarily hard for our clients. We like to think that we make them feel like we're family. But don't take our word for it, see what they say themselves, and check out our facebook and Angie's list pages too!
Purchased in Sterling, VA in 2011
Andrea is a top notch professional and an exceptional real estate agent. Our grandmother became sick and needed to move from northern Virginia to Florida to be closer to her children, and Andrea was right there to help us put the house on the market and help our family prepare to move her. Andrea helped not only on the transactional side but also put our family in contact with good, trustworthy people to help us repair the home and prepare it for sale. She even lined up help moving and she and her husband even lent a hand. Andrea is truly a wonderful realtor and is a trustworthy, honest, good person to know, both professionally and personally.
First time home buyer in 2011
Andrea is amazing in so many ways! I am a first-time home buyer, and if it weren't for Andrea, I'm sure I wouldn't be able to say that! She pays attention to all the details, knows how to "make the magic happen," and never gives up -- even when it seems impossible. She was always responsive to anything that needed attention, and stayed by my side through my "nervous ordeal" as I took this very giant step into home ownership! She didn't "disappear" after the sale, either, and to this day, has been available if I needed her as a resource. I highly recommend her (at every opportunity I get!) to anyone looking to buy and/or sell a home.
Home Inspector, Clingenpeel Properties Inc.
As a Home Inspector, I watch and listen to a lot of real estate agents interact with our respective clients. I can tell which ones are just selling houses and which ones are truly representing their clients best interests. Andrea Shatz Hayes is a terrific and ferocious advocate when it comes to negotiating with the other party and protecting her clients position.
First time home buyer in 2012
As first time home buyers, we didn't know where to start but Andrea answered all of our questions and provided us with several options. She was always available to answer questions regarding the purchase of our family's first home. I can recall several occasions where she took the time to call us after working hours to reassure us that the process was going smoothly. She was always patient and understanding when we needed clarification or support on any issue. Our family is settled and thriving in our new home thanks to Andrea's help!
Purchasers in 2012
Andrea has the unique ability of combining integrity professionalism with friendship and support. Her attention to detail and her ability to not only get to know her clients but truly understand their needs is unparalleled. It was a pleasure to work with someone so knowledgeable about the area, market, schools, etc... Even when we became difficult shoppers Andrea stayed patient and kept us focused on finding our dream home. We appreciated working with a realtor who was truly interested in making sure we found exactly what we wanted, and wasn't just out to make a sale. Andrea was accessible whenever we needed her and even now (after we have purchased our home) providing advice in others aspects of home ownership. During the process of working with Andrea we not only gained a beautiful home but also a friend for life.
Purchasers in 2013
She is wonderful. She is knowledgeable, skillful, an excellent communicator and is simply fanatical about customer service. We had a rather difficult time with the seller of the single family we purchased (with both the agent and the seller) and Andrea was professional and stuck to the facts. She fairly and vigorously negotiated on our behalf and we could not be more pleased with both outcomes.
Andrea and Barbara make a great team. While we will be staying in our new home for some time, I will absolutely ask Andrea to represent us again and will be sending everyone I know who is buying or selling to her.
© Schatz Hayes Homes, 2014.


Invoice
Order ID: #Bill01
Customer:
John Smith
123 Nguyen Van Cu Str.
District 5,
Ho Chi Minh City
Orderd by:
Tiger
Payment Method:
Cash payment on delivery
Order Date:
March 7, 2019
Order summary
Name
Amount
Price
Total
Paris in Bloom
1
13.09$
13.09$
Paris in Bloom
1
13.09$
13.09$
Paris in Bloom
1
13.09$
13.09$
Paris in Bloom
1
13.09$
13.09$
Paris in Bloom
1
13.09$
13.09$
Subtotal
65.45$
VAT
10%
Total
72.45$


I am a Trilogy Education certified Full Stack Developer with a
background in psychology.
As a web developer, one of my goals is to combine my developer
skills and psychology background to create web applications that
allow for exceptional user experiences.
This was a front-end application created to help a small business during times of the COVID-19 Pandemia. Lety's restaurant did not have a website, so My team and I decided to create a free website.
My role in this project was to work on the UI. I styled the web page by using CSS.
Javascript | HTML | CSS | Weather API | Google Maps API | Client Side Storage
The Weather web application is meant to access weather information around the world easily. The application retrieves weather data through the Open Weather Map API.
I created the UI design, utilized an open API to retrieve weather data, and deployed it using Github Pages.
Javascript | Node.js | HTML | CSS | JSON | AJAX | Open Weather API
The Notetaker application is meant to write, save and delete notes.
My role included building the backend of the application and connect it to the front end. I created HTML routes to route users to the correct file page. I used API routes to make GET, POST, and DELETE requests and interact with the user's requests.
Javascript | Express | Node.js | CSS | HTML | fs module | Heroku |
The agenda is a simple application that allows the user to save daily events.
My role was to use Javascript to make the application functional. I used JQuery to select specific elements and feature dynamically updated HTML and CSS on the browser.
HTML | CSS | Javascript | JQuery |
In progress! ...
Feel free to reach out for any questions or any project collaboration.


Consvin1052.github.io
TEAM LOSI TEN SCTE INSTRUCTION MANUAL Pdf Download. TEAM LOSI TENACITY SCT INSTRUCTION MANUAL Pdf Download.
Losi micro sct 1/24-scale electric rtr 4wd short course truck, motorized toy car (8 pages). View and Download Team Losi TENACITY SCT instruction manual online. TENACITY SCT Motorized Toy Car pdf manual download. Horizon Hobby Tenacity Sct Rtr Bedienungsanleitung.


This page will help you setting up portable environment for building Jenkins
This setup is also suitable for meet-ups and hackathons
Setting up Artifactory
Since we are aiming to portable installation the best option to install Artifactory will be the zip archive. It sets up the $ARTIFACTORY_HOME
directory (with all the settings and data) to be the installation folder. Naturally, Java is required to run Artifactory.
For portable setup it is also recommended to disable all backup configurations:
Setting up Maven to work with Artifactory and pre-populating the cache for offline access
Generate user settings.xml
from Artifactory UI:
Build Jenkins as described on this page, using the generated settings.xml
. Applying the settings file can be done in one of the following ways:
- Override the default settings with the generated ones (by saving the generated file under
$USER_HOME/.m2
) - Instruct maven to use dedicated
settings.xml
file (by using-s
or--settings
argument with path to the generated file when running Maven). After successful build Artifactory will be populated with all the needed dependencies.
It's portable
Just copy the entire Artifactory folder to portable storage. You can then run Artifactory directly from it (once there is enough free space) by executing artifactory.bat
/ artifactory.sh
. Once Artifactory is up, everyone on the LAN can build Jenkins by generating settings file as instructed above. No internet access required.
Please remember that once the IP address of the machine running Artifactory has changed, the settings file should be changed, or regenerated.


MMOs are perhaps some of the most popular games. They involve massive worlds with thousands of player occupying them. MMOs specialize in giving players the opportunity to socialize. They also allow players great ways to team up and battle, explore, or complete quests together. It's the ultimate game type for social interaction.
RTS games are for people who love to think and plan. The most known example of an RTS is Starcraft II. Players compete against one another building up an army while managing all of their resources and bases. It's a great platform for competitive games as well as giving people a creative outlet, letting them build their world.


--- layout: page type: article --- {%- include snippets/assign.html target = site.data.variables.default.page.sharing source0=layout.sharing source1=page.sharing -%} {%- assign _sharing = __return -%} {%- include leancloud-analytics.html -%}


Yummy Pizza
North America
Canada
Mexico
United States
Latin America and Caribbean
Aruba
Bahamas
Brasil
Cayman Islands
Chile
Colombia
Dominican Republic
Ecuador
El Salvador
Guatemala
Haiti
Jamaica
Panama
Paraguay
Peru
Puerto Rico
St. Kitts
St. Lucia
St. Maarten
Trinidad & Tobago
Venezuela
Europe
Austria
Belarus
Belgium
Bulgaria
Croatia
Cyprus
Czech Republic
Denmark
France
Germany
Greece
Iceland
Ireland
Italy
Kosovo
Luxembourg
Macedonia
Malta
Netherlands
North Cyprus
Norway
Poland
Portugal
Romania
Russia
Serbia
Spain
Slovakia
Sweden
Switzerland
Ukraine
United Kingdom
Asia Pacific
Australia
Bangladesh
Cambodia
China Mainland
Guam
India
Indonesia
Japan
Malaysia
New Zealand
Pakistan
Philippines
Singapore
South Korea
Sri Lanka
Taiwan Region
Thailand
Vietnam
Middle East and Africa
Azerbaijan
Bahrain
Egypt
Georgia
Ghana
Israel
Jordan
Kenya
Kuwait
Lebanon
Mauritius
Morocco
Nigeria
Oman
Qatar
Saudi Arabia
South Africa
Turkey
United Arab Emirate
I AM FINE


Finding_SellerInfo Class Reference
| Inherits from | NSObject |
| Conforms to | PicoBindable |
| Declared in | Finding_SellerInfo.h Finding_SellerInfo.m |
Tasks
-
sellerUserName
The seller’s eBay user name; a unique value.
property -
feedbackScore
The aggregate feedback score of the seller. A seller’s feedback score is
property
their net positive feedback minus their net negative feedback. Feedback
scores are a quantitative expression of the desirability of dealing with
a seller in a transaction. -
positiveFeedbackPercent
The percentage value of a user’s positive feedback (their positive
property
feedbackScore divided by their total positive plus negative feedback). -
feedbackRatingStar
Visual indicator of user’s feedback score.
- feedbackRatingStar values:
- None
- No graphic displayed, feedback score 0-9.
- Yellow
- Yellow Star, feedback score 10-49.
- Blue
- Blue Star, feedback score 50-99.
- Turquoise
- Turquoise Star, feedback score 100-499.
- Purple
- Purple Star, feedback score 500-999.
- Red
- Red Star, feedback score 1,000-4,999.
- Green
- Green Star, feedback score 5,000-9,999.
- YellowShooting
- Yellow Shooting Star, feedback score 10,000-24,999.
- TurquoiseShooting
- Turquoise Shooting Star, feedback score 25,000-49,999.
- PurpleShooting
- Purple Shooting Star, feedback score 50,000-99,999.
- RedShooting
- Red Shooting Star, feedback score 100,000-499,000 and above.
- GreenShooting
- Green Shooting Star, feedback score 500,000-999,000 and above.
- SilverShooting
- Silver Shooting Star, feedback score 1,000,000 or more.
-
topRatedSeller
Indicates whether the seller of the item is top-rated. A Top-Rated Seller:
- Consistently receives highest buyers' ratings
- Ships items quickly
- Has earned a track record of excellent service
eBay regularly reviews the performance of these sellers to confirm
property
that they continue to meet the program’s requirements.
This field is returned for the following sites only: US (EBAY-US), Motors
(EBAY-MOTOR), DE (EBAY-DE), AT (EBAY-AT), and CH (EBAY-CH). -
delimiter
(public property)
property -
any
(public property)
property
Properties
any
(public property)
@property (nonatomic, retain) NSMutableArray *any
Discussion
(public property)
entry type : PicoAnyElement, wrapper for primitive anyelement
Declared In
Finding_SellerInfo.h
delimiter
(public property)
@property (nonatomic, retain) NSString *delimiter
Discussion
(public property)
type : NSString, wrapper for primitive string
Declared In
Finding_SellerInfo.h
feedbackRatingStar
Visual indicator of user’s feedback score.
- feedbackRatingStar values:
- None
- No graphic displayed, feedback score 0-9.
- Yellow
- Yellow Star, feedback score 10-49.
- Blue
- Blue Star, feedback score 50-99.
- Turquoise
- Turquoise Star, feedback score 100-499.
- Purple
- Purple Star, feedback score 500-999.
- Red
- Red Star, feedback score 1,000-4,999.
- Green
- Green Star, feedback score 5,000-9,999.
- YellowShooting
- Yellow Shooting Star, feedback score 10,000-24,999.
- TurquoiseShooting
- Turquoise Shooting Star, feedback score 25,000-49,999.
- PurpleShooting
- Purple Shooting Star, feedback score 50,000-99,999.
- RedShooting
- Red Shooting Star, feedback score 100,000-499,000 and above.
- GreenShooting
- Green Shooting Star, feedback score 500,000-999,000 and above.
- SilverShooting
- Silver Shooting Star, feedback score 1,000,000 or more.
@property (nonatomic, retain) NSString *feedbackRatingStar
Discussion
Visual indicator of user’s feedback score.
- feedbackRatingStar values:
- None
- No graphic displayed, feedback score 0-9.
- Yellow
- Yellow Star, feedback score 10-49.
- Blue
- Blue Star, feedback score 50-99.
- Turquoise
- Turquoise Star, feedback score 100-499.
- Purple
- Purple Star, feedback score 500-999.
- Red
- Red Star, feedback score 1,000-4,999.
- Green
- Green Star, feedback score 5,000-9,999.
- YellowShooting
- Yellow Shooting Star, feedback score 10,000-24,999.
- TurquoiseShooting
- Turquoise Shooting Star, feedback score 25,000-49,999.
- PurpleShooting
- Purple Shooting Star, feedback score 50,000-99,999.
- RedShooting
- Red Shooting Star, feedback score 100,000-499,000 and above.
- GreenShooting
- Green Shooting Star, feedback score 500,000-999,000 and above.
- SilverShooting
- Silver Shooting Star, feedback score 1,000,000 or more.
type : NSString, wrapper for primitive string
Declared In
Finding_SellerInfo.h
feedbackScore
The aggregate feedback score of the seller. A seller’s feedback score is
their net positive feedback minus their net negative feedback. Feedback
scores are a quantitative expression of the desirability of dealing with
a seller in a transaction.
@property (nonatomic, retain) NSNumber *feedbackScore
Discussion
The aggregate feedback score of the seller. A seller’s feedback score is
their net positive feedback minus their net negative feedback. Feedback
scores are a quantitative expression of the desirability of dealing with
a seller in a transaction.
type : NSNumber, wrapper for primitive long
Declared In
Finding_SellerInfo.h
positiveFeedbackPercent
The percentage value of a user’s positive feedback (their positive
feedbackScore divided by their total positive plus negative feedback).
@property (nonatomic, retain) NSNumber *positiveFeedbackPercent
Discussion
The percentage value of a user’s positive feedback (their positive
feedbackScore divided by their total positive plus negative feedback).
type : NSNumber, wrapper for primitive double
Declared In
Finding_SellerInfo.h
sellerUserName
The seller’s eBay user name; a unique value.
@property (nonatomic, retain) NSString *sellerUserName
Discussion
The seller’s eBay user name; a unique value.
type : NSString, wrapper for primitive string
Declared In
Finding_SellerInfo.h
topRatedSeller
Indicates whether the seller of the item is top-rated. A Top-Rated Seller:
- Consistently receives highest buyers' ratings
- Ships items quickly
- Has earned a track record of excellent service
eBay regularly reviews the performance of these sellers to confirm
that they continue to meet the program’s requirements.
This field is returned for the following sites only: US (EBAY-US), Motors
(EBAY-MOTOR), DE (EBAY-DE), AT (EBAY-AT), and CH (EBAY-CH).
@property (nonatomic, retain) NSNumber *topRatedSeller
Discussion
Indicates whether the seller of the item is top-rated. A Top-Rated Seller:
- Consistently receives highest buyers' ratings
- Ships items quickly
- Has earned a track record of excellent service
eBay regularly reviews the performance of these sellers to confirm
that they continue to meet the program’s requirements.
This field is returned for the following sites only: US (EBAY-US), Motors
(EBAY-MOTOR), DE (EBAY-DE), AT (EBAY-AT), and CH (EBAY-CH).
type : NSNumber, wrapper for primitive bool
Declared In
Finding_SellerInfo.h


Somebody has just submitted a password reset request and specified this email address.
If this is you, follow the confirmation link below to finish resetting your account password.
{{ url }}/reset-password/{{ userId }}/{{ token }}
If this was not you, please disregard this message.


I would like to make a build that utilizes the blackstaff spell. Would need it to have decent/high ab , dont really care about ac so much since i'll have good defense spells im sure. If WM is in it I think it may have a good chance of having decent damage/ab? Fighter maybe too? Dunno, feedback please!! Thanks!
P.s. I know this build wont get BStaff until way later in his maturity, it cant be helped, i'd rather sacriface ab and have blackstaff in his late 20's early 30's.
SOR/RDD/WM? I believe I read about a build like this on the boards some time ago. I'll see if I can search out the thread and provide a link. _________________ Wave upon wave of demented avengers marched cheerfully out of obscurity into the dream...
Took a while, but I found it: Click Here.
It's Bard/SOR/WM, so my memory was faulty. ANyhow, I don't know if this will server, as it takes all the SOR levels in epic. _________________ Wave upon wave of demented avengers marched cheerfully out of obscurity into the dream...
I thought the dispel from blackstaff was based on caster level. If this is the case, you may be better off with a build that is mostly paladin, relying on his good ab, charisma based saves and holy sword spell. Add a level of shadowdancer and a level of monk post epic for good ac, flurry and HIPS cheeze.
lets stay on topic here. Point of this post is I want to use blackstaff. Doesnt really matter if my saves arent that high , cause they are bound to roll 1's since i can hit them 3 out of the 4 attacks i do pretty much. WM is a sacrifice but it would help my damage tremendously. Any other thoughts anyone?
I recentl had an Idea with this build (ok pure pvp so dont flame the cheese, in PvP cheese=dominance), was going to go Tenser's Transformation with Black Staff, but it wouldnt cooperate. Its very difficult to squeeze the necessary Sorcerer/Wiz lvls to get this spel and still manage an AB to use it.  However, in the purpose i intended it, it is totally useless.
Anyhow, my idea was something to the tune of 17 Sorcerer Levels, 15 Cleric levels, and I trashed the idea right there. Maybe 5 Paladin Levels? Im not sure. If you can make anything of these scraps, feel free to, but don't cry when the Ranger/Cleric/Monk i spent a whole 20 minutes working out owns this character who took 5hours to plan out. Its a simple game of numbers: Sorcerers aren't meant to melee.
Good luck and god speed. If you can work this out than god bless ye.


Core Library API
Core Library API
The distributedlog core library interacts with namespaces and logs directly. It is written in Java.
Namespace API
A DL namespace is a collection of log streams. Applications could create or delete logs under a DL namespace.
Namespace URI
An URI is used to locate the namespace. The Namespace URI is typically comprised of 3 components:
- scheme: distributedlog-<backend>. The backend indicates what backend is used to store the log data.
- domain name: the domain name that used to talk to the backend. In the example as below, the domain name part is zookeeper server, which is used to store log metadata in bookkeeper based backend implementation.
- path: path points to the location that stores logs. In the example as below, it is a zookeeper path that points to the znode that stores all the logs metadata.
distributedlog-bk://<zookeeper-server>/path/to/stream
The available backend is only bookkeeper based backend. The default distributedlog scheme is aliased to distributedlog-bk.
Building a Namespace
Once you have the namespace uri, you could build the namespace instance. The namespace instance will be used for operating streams under it.
// DistributedLog Configuration DistributedLogConfiguration conf = new DistributedLogConfiguration(); // Namespace URI URI uri = ...; // create the namespace uri // create a builder to build namespace instances DistributedLogNamespaceBuilder builder = DistributedLogNamespaceBuilder.newBuilder(); DistributedLogNamespace namespace = builder .conf(conf) // configuration that used by namespace .uri(uri) // namespace uri .statsLogger(...) // stats logger to log stats .featureProvider(...) // feature provider on controlling features .build();
Create a Log
Creating a log is pretty straight forward by calling distributedlognamespace#createlog(logname). it only creates the log under the namespace but doesn't return any handle for operating the log.
DistributedLogNamespace namespace = ...; // namespace try { namespace.createLog("test-log"); } catch (IOException ioe) { // handling the exception on creating a log }
Open a Log
A DistributedLogManager handle will be returned when opening a log by #openLog(logName). The handle could be used for writing data to or reading data from the log. If the log doesn't exist and createStreamIfNotExists is set to true in the configuration, the log will be created automatically when writing first record.
DistributedLogConfiguration conf = new DistributedLogConfiguration(); conf.setCreateStreamIfNotExists(true); DistributedLogNamespace namespace = DistributedLogNamespace.newBuilder() .conf(conf) ... .build(); DistributedLogManager logManager = namespace.openLog("test-log"); // use the log manager to open writer to write data or open reader to read data ...
Sometimes, applications may open a log with different configuration settings. It could be done via a overloaded #openLog method, as below:
DistributedLogConfiguration conf = new DistributedLogConfiguration(); // set the retention period hours to 24 hours. conf.setRetentionPeriodHours(24); URI uri = ...; DistributedLogNamespace namespace = DistributedLogNamespace.newBuilder() .conf(conf) .uri(uri) ... .build(); // Per Log Configuration DistributedLogConfigration logConf = new DistributedLogConfiguration(); // set the retention period hours to 12 hours for a single stream logConf.setRetentionPeriodHours(12); // open the log with overrided settings DistributedLogManager logManager = namespace.openLog("test-log", Optional.of(logConf), Optiona.absent());
Delete a Log
DistributedLogNamespace#deleteLog(logName) will deletes the log from the namespace. Deleting a log will attempt acquiring a lock before deletion. If a log is writing by an active writer, the lock would be already acquired by the writer. so the deleting will fail.
DistributedLogNamespace namespace = ...; try { namespace.deleteLog("test-log"); } catch (IOException ioe) { // handle the exceptions }
Log Existence
Applications could check whether a log exists in a namespace by calling DistributedLogNamespace#logExists(logName).
DistributedLogNamespace namespace = ...; if (namespace.logExists("test-log")) { // actions when log exists } else { // actions when log doesn't exist }
Get List of Logs
Applications could list the logs under a namespace by calling DistributedLogNamespace#getLogs().
DistributedLogNamespace namespace = ...; Iterator<String> logs = namespace.getLogs(); while (logs.hasNext()) { String logName = logs.next(); // ... process the log }
Writer API
There are two ways to write records into a log stream, one is using 'synchronous' LogWriter, while the other one is using asynchronous AsyncLogWriter.
LogWriter
The first thing to write data into a log stream is to construct the writer instance. Please note that the distributedlog core library enforce single-writer semantic by deploying a zookeeper locking mechanism. If there is only an active writer, the subsequent calls to #startLogSegmentNonPartitioned() will fail with OwnershipAcquireFailedException.
DistributedLogNamespace namespace = ....; DistributedLogManager dlm = namespace.openLog("test-log"); LogWriter writer = dlm.startLogSegmentNonPartitioned();
Log records are constructed to represent the data written to a log stream. Each log record is associated with application defined transaction id. The transaction id has to be non-decreasing otherwise writing the record will be rejected with TransactionIdOutOfOrderException. Application is allowed to bypass the transaction id sanity checking by setting maxIdSanityCheck to false in configuration. System time and atomic numbers are good candicates used for transaction id.
long txid = 1L; byte[] data = ...; LogRecord record = new LogRecord(txid, data);
Application could either add a single record (via #write(LogRecord)) or a bunch of records (via #writeBulk(List<LogRecord>)) into the log stream.
writer.write(record); // or List<LogRecord> records = Lists.newArrayList(); records.add(record); writer.writeBulk(records);
The write calls return immediately after the records are added into the output buffer of writer. So the data isn't guaranteed to be durable until writer explicitly calls #setReadyToFlush() and #flushAndSync(). Those two calls will first transmit buffered data to backend, wait for transmit acknowledges and commit the written data to make them visible to readers.
// flush the records writer.setReadyToFlush(); // commit the records to make them visible to readers writer.flushAndSync();
The DL log streams are endless streams unless they are sealed. 'endless' means that writers keep writing records to the log streams, readers could keep tailing reading from the end of the streams and it never stops. Application could seal a log stream by calling #markEndOfStream().
// seal the log stream writer.markEndOfStream();
The complete example of writing records is showed as below.
DistributedLogNamespace namespace = ....; DistributedLogManager dlm = namespace.openLog("test-log"); LogWriter writer = dlm.startLogSegmentNonPartitioned(); for (long txid = 1L; txid <= 100L; txid++) { byte[] data = ...; LogRecord record = new LogRecord(txid, data); writer.write(record); } // flush the records writer.setReadyToFlush(); // commit the records to make them visible to readers writer.flushAndSync(); // seal the log stream writer.markEndOfStream();
AsyncLogWriter
Constructing an asynchronous AsyncLogWriter is as simple as synchronous LogWriter.
DistributedLogNamespace namespace = ....; DistributedLogManager dlm = namespace.openLog("test-log"); AsyncLogWriter writer = dlm.startAsyncLogSegmentNonPartitioned();
All the writes to AsyncLogWriter are asynchronous. The futures representing write results are only satisfied when the data are persisted in the stream durably. A DLSN (distributedlog sequence number) will be returned for each write, which is used to represent the position (aka offset) of the record in the log stream. All the records adding in order are guaranteed to be persisted in order.
List<Future<DLSN>> addFutures = Lists.newArrayList(); for (long txid = 1L; txid <= 100L; txid++) { byte[] data = ...; LogRecord record = new LogRecord(txid, data); addFutures.add(writer.write(record)); } List<DLSN> addResults = Await.result(Future.collect(addFutures));
The AsyncLogWriter also provides the method to truncate a stream to a given DLSN. This is super helpful for building replicated state machines, who need explicit controls on when the data could be deleted.
DLSN truncateDLSN = ...; Future<DLSN> truncateFuture = writer.truncate(truncateDLSN); // wait for truncation result Await.result(truncateFuture);
Reader API
Sequence Numbers
A log record is associated with sequence numbers. First of all, application can assign its own sequence number (called TransactionID) to the log record while writing it (see Construct Log Record). Secondly, a log record will be assigned with an unique system generated sequence number DLSN (distributedlog sequence number) when it is written to a log (see Async Write Records). Besides DLSN and TransactionID, a monotonically increasing 64-bits SequenceId is assigned to the record at read time, indicating its position within the log.
| Transaction ID: | Transaction ID is a positive 64-bits long number that is assigned by the application. Transaction ID is very helpful when application wants to organize the records and position the readers using their own sequencing method. A typical use case of Transaction ID is DistributedLog Write Proxy. The write proxy assigns non-decreasing timestamps to log records, which the timestamps could be used as physical time to implement TTL (Time To Live) feature in a strong consistent database. |
|---|---|
| DLSN: | DLSN (DistributedLog Sequence Number) is the sequence number generated during written time. DLSN is comparable and could be used to figure out the order between records. A DLSN is comprised with 3 components. They are Log Segment Sequence Number, Entry Id and Slot Id. The DLSN is usually used for comparison, positioning and truncation. |
| Sequence ID: | Sequence ID is introduced to address the drawback of DLSN, in favor of answering questions like how many records written between two DLSNs. Sequence ID is a 64-bits monotonic increasing number starting from zero. The sequence ids are computed during reading, and only accessible by readers. That means writers don't know the sequence ids of records at the point they wrote them. |
The readers could be positioned to start reading from any positions in the log, by using DLSN or Transaction ID.
LogReader
LogReader is a 'synchronous' sequential reader reading records from a log stream starting from a given position. The position could be DLSN (via #getInputStream(DLSN)) or Transaction ID (via #getInputStream(long)). After the reader is open, it could call either #readNext(boolean) or #readBulk(boolean, int) to read records out of the log stream sequentially. Closing the reader (via #close()) will release all the resources occupied by this reader instance.
Exceptions could be thrown during reading records due to various issues. Once the exception is thrown, the reader is set to an error state and it isn't usable anymore. It is the application's responsibility to handle the exceptions and re-create readers if necessary.
DistributedLogManager dlm = ...; long nextTxId = ...; LogReader reader = dlm.getInputStream(nextTxId); while (true) { // keep reading & processing records LogRecord record; try { record = reader.readNext(false); nextTxId = record.getTransactionId(); // process the record ... } catch (IOException ioe) { // handle the exception ... reader = dlm.getInputStream(nextTxId + 1); } }
Reading records from an endless log stream in synchronous way isn't as trivial as in asynchronous way.  Instead, LogReader introduces a flag nonBlocking on controlling the waiting behavior on synchronous reads. Blocking (nonBlocking = false) means the reads will wait for records before returning read calls, while NonBlocking (nonBlocking = true) means the reads will only check readahead cache and return whatever records available in readahead cache.
The waiting period varies in blocking mode. If the reader is catching up with writer (there are plenty of records in the log), the read call will wait until records are read and returned. If the reader is already caught up with writer (there are no more records in the log at read time), the read call will wait for a small period of time (defined in DistributedLogConfiguration#getReadAheadWaitTime()) and return whatever records available in readahead cache. In other words, if a reader sees no record on blocking reads, it means the reader is caught-up with the writer.
See examples below on how to read records using LogReader.
// Read individual records LogReader reader = ...; // keep reading records in blocking mode until no records available in the log LogRecord record = reader.readNext(false); while (null != record) { // process the record ... // read next record record = reader.readNext(false); } ... // reader is caught up with writer, doing non-blocking reads to tail the log while (true) { record = reader.readNext(true); if (null == record) { // no record available yet. backoff ? ... } else { // process the new record ... } }
// Read records in batch LogReader reader = ...; int N = 10; // keep reading N records in blocking mode until no records available in the log List<LogRecord> records = reader.readBulk(false, N); while (!records.isEmpty()) { // process the list of records ... if (records.size() < N) { // no more records available in the log break; } // read next N records records = reader.readBulk(false, N); } ... // reader is caught up with writer, doing non-blocking reads to tail the log while (true) { records = reader.readBulk(true, N); // process the new records ... }
AsyncLogReader
Similar as LogReader, applications could open an AsyncLogReader by positioning to different positions, either DLSN or Transaction ID.
DistributedLogManager dlm = ...; Future<AsyncLogReader> openFuture; // position the reader to transaction id `999` openFuture = dlm.openAsyncLogReader(999L); // or position the reader to DLSN DLSN fromDLSN = ...; openFuture = dlm.openAsyncLogReader(fromDLSN); AsyncLogReader reader = Await.result(openFuture);
Reading records from an AsyncLogReader is asynchronously. The future returned by #readNext(), #readBulk(int) or #readBulk(int, long, TimeUnit) represents the result of the read operation. The future is only satisfied when there are records available. Application could chain the futures to do sequential reads.
Reading records one by one from an AsyncLogReader.
void readOneRecord(AsyncLogReader reader) { reader.readNext().addEventListener(new FutureEventListener<LogRecordWithDLSN>() { public void onSuccess(LogRecordWithDLSN record) { // process the record ... // read next readOneRecord(reader); } public void onFailure(Throwable cause) { // handle errors and re-create reader ... reader = ...; // read next readOneRecord(reader); } }); } AsyncLogReader reader = ...; readOneRecord(reader);
Reading records in batches from an AsyncLogReader.
void readBulk(AsyncLogReader reader, int N) { reader.readBulk(N).addEventListener(new FutureEventListener<List<LogRecordWithDLSN>>() { public void onSuccess(List<LogRecordWithDLSN> records) { // process the records ... // read next readBulk(reader, N); } public void onFailure(Throwable cause) { // handle errors and re-create reader ... reader = ...; // read next readBulk(reader, N); } }); } AsyncLogReader reader = ...; readBulk(reader, N);


# Welcome to ActiveType Markdown Parser! ###### By Nathan Blazek Thank you for checking out my **plugin**. I created this plugin for a personal project of mine located at [my personal web site](http://www.nateblazek.com)...*eventually* #### Ordered List 1. List Item 1 12. List Item 2 33. List Item 3 3. List Item 4 #### Unordered List * Unordered Item A * Unordered Item B * Unordered Item C * Unordered Item D ------------ #### Custom Overrides Below is some custom code that the passed in regex is processing! {{Box:1 title:A custom box! What?!.}} The default italics was modified in this code to inject !!! before and after the italic text, e.g. *italic text*


#-- /********************************************************************************** * $URL: https://source.etudes.org/svn/apps/jforum/tags/2.27/jforum-tool/src/webapp/templates/default/admin/importexport_list.htm $ * $Id: importexport_list.htm 7392 2014-02-12 00:57:22Z murthyt $ *********************************************************************************** * * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014 Etudes, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Portions completed before July 1, 2004 Copyright (c) 2003, 2004 Rafael Steil, All rights reserved, licensed under the BSD license. * http://www.opensource.org/licenses/bsd-license.php * * Redistribution and use in source and binary forms, * with or without modification, are permitted provided * that the following conditions are met: * * 1) Redistributions of source code must retain the above * copyright notice, this list of conditions and the * following disclaimer. * 2) Redistributions in binary form must reproduce the * above copyright notice, this list of conditions and * the following disclaimer in the documentation and/or * other materials provided with the distribution. * 3) Neither the name of "Rafael Steil" nor * the names of its contributors may be used to endorse * or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER * IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE ***********************************************************************************/ --> <#include "header.htm"/>
| ${I18n.getMessage("importexport.List.Title")} |
|---|
| ${successmessage?default("")}${errormessage?default("")} |
| ${I18n.getMessage("Admin.importTopics")} |
| ${I18n.getMessage("Admin.exportTopics")} |


Please enter the user name and password for {{connect.containerName}}:
User name:
Password:
Save these credentials as the default


PRESTIGE FURNITURE.
HOME
GALLERY
PRODUCTS
CONTACT US
ENQUIRY
OFFICE TIMING
Monday to Friday
10:00 am to 9:00 pm
Saturday
10:00 am to 5:00 pm
Sunday
10:00 am to 2:00 pm
Location
NO. 4/1 T.P. Lane,
SJP road cross,
Bangalore - 560002.
CONTACT INFORMATION
Office Number
080 - 41517865
Mobile Number
+919886747786
+919845055786
E-mail
prestigefurniture1@rediffmail.com


Hello!
To finish installing or upgrading Autoplaylists for Google Music™, you must approve access to your library (for syncing) and extensions (to check if you're a paid user).
Hit the button below to bring up the prompt, then hit "allow" on the next screen.
Then, just open or refresh a Google Music tab. This page will automatically close once when you're done.


Dashboard
UI Elements
UI Elements
Widgets
Buttons
Icons
Grid System
Forms Stuff
Form Elements
Validation
Grid
Editors
Wizard
Statistic
Tables
Simple
Dynamic
Samples
FAQ
Invoice
Mailbox
Login
Other
File handling
Images
Typography
Error 404
Dashboard
UI Elements
UI Elements
Widgets
Buttons
Icons
Grid System
Forms Stuff
Elements
Validation
Grid
Editors
Wizard
Statistic
Tables
Simple
Dynamic
Samples
FAQ
Invoice
Mailbox
Login
Other
File handling
Images
Typography
Error 404
Dmitry Ivaniuk
Administrator
SETTINGS
Navigation:
Default
Bordered
Nav color:
Top navigation:
Show
Hide
Content:
Responsive
Fixed
Validation
METRO STYLE ADMIN PANEL
Home
/
Validation
Form validation
Login:
Required, max size = 8
Password:
Required, min size = 5, max size = 10
Confirm Password:
Required, equals Password
Age:
Required, integer, min value = 18, max = 120
Gender:
Male
Famale
Required
Date of birth:
Required, date YYYY-MM-DD
Credit card:
Required, credit card number
Site:
Required, url
Yes, I accept your terms and conditions.
Required
Hide prompts
Submit
Custom fields validation
Select:
Andorra
Antarctica
Ukraine
Required
Checkbox:
Enabled
Disabled
Required
Radio:
Enabled
Disabled
Required
Datepicker:
Required
Group required:
Any of group fields must be filled.
Any of group fields must be filled.
Condition required:
This field is required if "Credit card" field is filled.
Hide prompts
Submit


Twenty-sixth sessions of the Subsidiary Bodies (SB 26) of the United Nations Framework Convention on Climate Change (UNFCCC)
08-May-07 — original report
SBI Chair Bagher Asadi (Iran) opened the meeting.
UNFCCC Executive Secretary Yvo de Boer reflected on his first eight months in the post.
He expressed concern at the enormous growth in the Secretariat's workload.
He urged a long-term global response to climate change involving deep emission cuts from industrialized countries, further engagement of developing countries, incentives for action, and flexibility through an enhanced carbon market.
LDC Expert Group Chair Bubu Pateh Jallow (The Gambia) presented outcomes from the Group's 11 th meeting and on implementation of its work programme.
David Lesolle (Botswana) will conduct informal consultations. FINANCIAL MECHANISM (CONVENTION): LDC Fund: The Secretariat reported on this item and delegates agreed that David Lesolle (Botswana) will conduct consultations.
The Secretariat introduced the report on the workshop on reporting methodologies in the context of Article 3.14 (adverse effects and response measures) ( FCCC/SBI/2006/27 ).
The EU, supported by JAPAN, expressed concern regarding the proliferation of agenda items, observing overlaps with the SBSTA agenda item on Protocol Article 2.3 (adverse effects of policies and measures), and suggested a single agenda item.
SAUDI ARABIA urged substantive rather than procedural discussions.
Chair Asadi proposed establishing a contact group.
The EU opposed this, citing concern relating to duplication of agenda items under SBSTA and SBI.
Chair Asadi will consult informally.
The Secretariat introduced this issue ( FCCC/SBI/2007/5 ).
The EU cautioned against creating additional reporting burdens.
Crispin d'Auvergne (Saint Lucia) and Helmut Hojesky (Austria) will hold consultations.
SBSTA Chair Kishan Kumarsingh (Trinidad and Tobago) presented the provisional agenda ( FCCC/SBSTA/2007/1 ), which was adopted without amendment.
Yvo de Boer urged progress on technology transfer, emphasized the magnitude of emissions from deforestation, and noted the importance of the incentives created by the CDM within the context of the Montreal Protocol.
The Secretariat reported on this issue (FCCC/SBSTA/2007/MISCs.6, 7 and 8; FCCC/SBSTA/2006/MISC.15).
The FAO reported on the Global Terrestrial Observing System (GTOS) Secretariat's progress in developing a framework for the preparation of guidance materials, standards and reporting guidelines for terrestrial observing systems. JAPAN discussed the Earth Simulator project.
AUSTRALIA said SBSTA could be more active in supporting exchanges between policy makers and scientists, but should not set scientists' research agendas.
Ermira Fida (Albania) and Sergio Castellari (Italy) will chair a contact group.
IPCC 2006 Guidelines for national greenhouse gas inventories: Chair Kumarsingh presented this topic, suggesting that issues other than reporting on harvested woodstocks should be concluded at this meeting (FCCC/SBSTA/2007/7 and Corr.1).
The EU supported voluntary implementation of the guideline methodologies.
REPUBLIC OF KOREA supported this, adding the need for capacity building for non-Annex I parties.
Mika Sulkinoja (Finland) and Nagmeldin Elhassan (Sudan) will co-chair a contact group.
Greenhouse gas data interface: The Secretariat presented a report on this topic (FCCC/SBSTA/2007/MISC.9 and Add.1).
The EU urged implementation of the interface, with additional sources to be added subsequently.
The US opposed adding new sources of data until the database was assessed.
Chair Kumarsingh will consult informally.
The Secretariat introduced this topic, highlighting upcoming workshops in Cairo and Rome (FCCC/SBSTA/2007/MISC.4 and Add.1; FCCC/SBSTA/2007/MISC.5). COOK ISLANDS and TUVALU urged an IPCC report on SIDS' adaptation.
The IPCC reported on work by its Task Group on Scenarios for Climate and Impact Assessment.
Chair Kumarsingh will prepare draft conclusions.
On the scientific, technical and socioeconomic aspects of mitigation, Chair Kumarsingh noted that three workshops are scheduled during SB 26 on this topic, and said he will report back to plenary on 16 May.
The EU suggested postponing discussion until policy options and an associated impact study are ready.
However, CHINA said this information was already available.
Chair Kumarsingh will consult with parties and prepare conclusions.
Afforestation and reforestation: On limits under the CDM, REPUBLIC OF KOREA, supported by UGANDA but opposed by TUVALU, proposed revising the limit.
Thelma Krug (Brazil) and Satoshi Akahori (Japan) will consult with parties.
Yvo de Boer reported on the successful collaboration of the UNFCCC with IPCC, sister conventions and other UN agencies.
Representatives of the FAO, CBD, UNCCD, UNEP and WORLD BANK outlined their relevant activities and linkages with the UNFCCC.
The IPCC highlighted key points from the Fourth Assessment Report and the potential development of new socioeconomic emission scenarios to be used in the Fifth Assessment.
Marcela Main (Chile) and Greg Picker (Australia) will consult and prepare draft conclusions.
Parties adopted the agenda ( FCCC/SBI/2007/1 ) and organization of work after agreeing to hold two sub-items in abeyance following requests for clarification from Pakistan, speaking for G-77/CHINA, and from SAUDI ARABIA.
The sub-items address: Convention Article 4.8 and 4.9 (adverse effects) in the context of implementation of Decision 1/CP.10 (Buenos Aires Programme of Work on Adaptation and Response Measures); and information contained in non-Annex I parties' national communications.
In the afternoon, the Secretariat clarified that the sub-item on Decision 1/CP.10 had two separate headings, on adverse effects and on response measures, because adverse effects was being considered for the first time in this context.
SAUDI ARABIA opposed the separate consideration of these issues.
However, Germany speaking for the EU, and Micronesia, for AOSIS, supported separate consideration.
Chair Asadi said he would consult informally with parties.
Chair Kumarsingh noted recent consultations in Tokyo and Beijing, and the Secretariat introduced relevant documents ( FCCC/SBSTA/2007/2 ; FCCC/SBSTA/2007/INF.1 ).
Kok Kee Chow (Malaysia), Chair of the Expert Group on Technology Transfer (EGTT), reported on the Group's recent work.
Ghana, for the G-77/CHINA, stressed the need to shift to new technologies in a broad range of sectors and urged developed countries to take the lead.
The US, JAPAN, CANADA and GERMANY urged the continuance of the EGTT.
Clifford Mahlung (Jamaica) and Kunihiko Shimada (Japan) will consult with parties.
On reducing emissions from deforestation in developing countries ( FCCC/SBSTA/2007/3 , MISC.2 and Add.1, and MISC.3), many non-Annex I parties emphasized capacity building and the importance of forest resources in economic development and, with some Annex I parties, the need for early action, better data, and market mechanisms or a basket of market and non-market mechanisms.
PAPUA NEW GUINEA urged support for the World Bank's Forest Carbon Partnership Facility and ARGENTINA called on parties to consider the relationship with trade agreements.
In response to suggestions from many parties, Chair Kumarsingh agreed to draft a text to serve as a basis for discussions.
Hernán Carlino (Argentina) and Audun Rosland (Norway) will co-chair a contact group.
Delegates were reflecting on a low-key first day on Monday evening, with several referring to it as business as usual.
A few seemed optimistic about making progress on the Adaptation Fund at SB 26, while several were looking forward to more substantive discussions in the AWG later in the session.
A couple of participants also commented on the prompt 6:00 pm finish, noting that SBI even beat its deadline by finishing earlier.
I could get used to this, joked one.
Looking outside the Bonn talks, a few delegates were commenting on the parallel CSD meeting in New York and WMO Congress in Geneva, which appear to have thinned out the ranks of negotiators and experts here in Bonn.
Most delegates seemed to have modest expectations for SB 26, noting that this meeting is only part of the process, along with the G8, Vienna meetings, and others, that will contribute in the lead-up to Bali.
We're not expecting much here, so no one should be disappointed, commented one observer.
But, exciting times lie ahead over the coming months, he added.
The G-77/CHINA urged agreement on the Adaptation Fund's management and operational entity.
He called for progress on Kyoto Protocol Articles 2.3 (adverse effects of policies and measures) and 3.14(a dverse effects and response measures), the Buenos Aires Programme of Work, capacity building, and funding.
Germany, for the EU, stated the EU's commitment to cut emissions by 30% by 2020 compared with 1990 levels if other developed countries follow suit and economically advanced developing countries contribute adequately according to their responsibilities and respective capabilities.
She urged extending the carbon market, addressing emissions from international aviation and maritime transportation, and progress on the Adaptation Fund and budget.
Australia, for the UMBRELLA GROUP, highlighted the Adaptation Fund, Russian proposal, and AWG.
Nigeria, for the AFRICAN GROUP, called for better geographic distribution of CDM projects and more support for non-Annex I communications.
Grenada, for AOSIS, supported progress on the Adaptation Fund, technology transfer, and response measures.
Maldives, for the LDCs, highlighted the work of the LDC Expert Group, funding for adaptation, and management of the LDC Fund.
On this item ( FCCC/SBI/2007/9 ), SAUDI ARABIA and NIGERIA, opposed by NORWAY and Micronesia, for AOSIS, said IPCC AR4 should be considered under SBSTA rather than COP 13 or COP/MOP 3.
The issue was referred to a contact group chaired by Outi Berghäll (Finland).
The Secretariat introduced the item on budget performance for 2006-2007 (FCCC/SBI/2007/INF.1 and INF.5).
Chair Asadi said he will consult informally and prepare draft conclusions.
Parties considered the proposed programme budget for the biennium 2008-2009 ( FCCC/SBI/2007/8 and Adds.1-2; FCCC/SBI/2007/MISC.1 ).
Harald Dovland (Norway) will chair a contact group.
Regarding the sub-item on the implementation of paragraph 7(c) of the financial procedures of the Convention ( FCCC/SBI/2007/4 ), Chair Asadi said he will consult informally.
Regarding the UN headquarters agreement, host country GERMANY discussed the new UN campus in Bonn.
Chair Asadi will prepare draft conclusions.
The SBI took note of information on Annex I parties' fourth national communications ( FCCC/SBI/2007/INF.4 and FCCC/SBI/2006/INF.2 ).
Lilian Portillo (Paraguay) reported on the work of the Consultative Group of Experts (CGE) on non-Annex I communications (FCCC/SBI/2007/3, 6, 7, 10 and Add.1).
Several parties commended the CGE and discussed its mandate.
The US said the CGE should regularly examine individual countries' communications, except for LDCs, and focus less on training.
Samoa, for AOSIS, suggested training workshops.
The Secretariat reported on financial and technical support and the GEF outlined its work in this area (FCCC/SBI/2007/INF.2).
Kristin Tilley (Australia) and Arthur Rolle (Bahamas) will consult parties.
Delegates discussed the New Delhi Work Programme relating to UNFCCC Article 6 ( FCCC/SBI/2007/MISC.3 and Add.1).
KENYA noted lack of financial resources, and UNEP, CBD and CMS outlined their activities.
Marie Jaudet (France) will consult informally.
JAPAN emphasized the need to avoid duplicating activities and the US said there was a more logical sequence of tasks than that set out in the Secretariat's report ( FCCC/SBI/2007/5 ).
Crispin d'Auvergne (Saint Lucia) and Helmut Hojesky (Austria) will hold informal consultations.


Here’s a list of things that are incredibly interesting and I couldn’t live without learning. I’m hoping to learn plasma physics to get to the point where I can hang with people doing real research and maybe apply my creativity. Also, I have some pretty cool ideas for superconductivity, but I’m not sure if they’re original.
To Learn Over the Next Six Months
Language
- Japanese
- Kanji
- Learn more about written languages (devanagari, etc)
Math
- Retake Coursera Crypto I
- Study some of Crypto papers on deck
- Finite Element Analysis
- Helmholtz Decomposition
- Master Gradient/Curl/Divergence/Laplacian
- Branched Ray Tracing Algorithms
- Wallpaper Group
- Matroids
- Halting Problem
- Knot Theory (Racks and Quandles)
- Distributive Lattice
- Various Emergent Crystal Structures
- Symmetry Groups and Isometry Groups
- Quantum Harmonic Oscillators
- Einstein Solids
- Groups/Rings/Fields
- Polynomials and Ring Theory
- Galois Theory
- Dyandic Tensor
- Wavelets
- λ-Rings
- Grothendieck
- n-Category Theory (& omega… lol)
- … probably start with just regular Category Theory though
- Like braiding … what’s that?
- Then build up to Ross Street’s work
- Sheaf theory and applications
- Hermitian Operators
- Symplectic Operators
- Hamintonian Mechanics
- Ergodic Hypothesis …..
- Tensor Fields
- Manifolds & Reimann Manifolds
- Jacobian Matrix
- Using a self-similar 3D flower of life to approximate integral (Laplacian)
- Diffusion Theorum
Electromagnetism
- E & M basics
- Skyrmions
- Permittivity
- Band Theory! (lots of great ideas for solid state chem here)
- Quantum Hall Effect
- Other Thermo-Electric effects
Superconductance
- Flux pinning
- Flux tubes
- BCS Theory
- Ginzburg-Landau Theory
- Abrikosor Vortices
- Type 1/1.5/2 Superconductors
- London Penetration Depth
- Superconducting Coherence Length
- Husimi Q Representation
- Quantum Vortex
- Magnetic Flux Quantum
- Current Density
- Flux Pumping
- Debye Model
- Correlation to Phononic Properties
- Correlation to Lattice Arrangment & Dimensionality (1D,2D,3D)
- Space Group
- Crystoallographic Point Group
- Broullouin Zone
- Bloch Wave & Oscillations & MoM Method
Plasma Physics
Basics:
- DC/AC Conductivity
- Photo/Tunnel Ionizations
- Langmuir Probe
- DC & RF Discharge
Plasma Instabilities:
- Plasma waves: EM, Langmuir, Surface Plasma, & Ion Acoustic
- 2 Stream Instability Propagation
- Weibel Instability
Plasma Confinement:
- Single Particle Motion
- Motion in Magnetic Fields (inhomogenous/curved)
- Magnetic Moment Confinement
- Mirror Confinement
- Tokamak Confinement
Applications:
- Medium/Short Wave Communications
- Processing of Materials
- Laser Ablation
- Laser-Driven Fusion
- Magnetic Fusion
& Magnetohydrodynamics
Mostly just want to fuse some hot things.


You don't feel all that great, but the day must go on.


{{.TopJS}}
Soleares (plural of soleá, pronounced [soleˈa]) is one of the most basic forms or palos of Flamenco music, probably originated around Cádiz or Seville in Andalusia, the most southern region of Spain. It is usually accompanied by one guitar only, in phrygian mode "por arriba" (fundamental on the 6th string); "Bulerías por soleá" is usually played "por medio" (fundamental on the 5th string). Soleares is sometimes called "mother of palos" although it is not the oldest one (e.g. siguiriyas is older than soleares) and not even related to every other palo (e.g. fandangos family is from a different origin) Wikipedia - Soleá https://en.wikipedia.org/wiki/Sole%C3%A1
Soleares (plural of soleá, pronounced [soleˈa]) is one of the most basic forms or palos of Flamenco music, probably originated around Cádiz or Seville in Andalusia, the most southern region of Spain. It is usually accompanied by one guitar only, in phrygian mode "por arriba" (fundamental on the 6th string); "Bulerías por soleá" is usually played "por medio" (fundamental on the 5th string). Soleares is sometimes called "mother of palos" although it is not the oldest one (e.g. siguiriyas is older than soleares) and not even related to every other palo (e.g. fandangos family is from a different origin)
Wikipedia - Soleá
The URL of a page that is part of a master page, bgins with first segment of its master page. In the above URL bare is the name of the master pages.
See the directory structure int Notes.


Cleopatra (1934)
Grade: 73
Much tighter than the 1963 spectacle, the 1934 version also has high production values and elaborate sets. While the campy performances make the film closer to 'Melrose Place' than a history lesson, they are also a guilty pleasure. Cecil B. DeMille both directed and produced, and fans of 'The Ten Commandments' will appreciate the costumes, cinematography and choreography. Scenes of a ship battle between the Romans and Egyptians are particularly impressive, as is a production number featuring bathing beauties bearing clams.
"Cleopatra" uses well-known historical facts to form the story's outline, but the contents are pure Hollywood fantasy. Cleopatra (Claudette Colbert), who is of Greek ancestry, is the Queen of Egypt in first century B.C. Powerful Rome threatens her kingdom, and to preserve it she takes first Julius Caesar (Warren William), then Marc Antony (Henry Wilcoxon) as lovers. But Octavius (Ian Keith) is dismissive of her charms, and vows to take Egypt as Rome's prize possession.
Colbert as the flirtious, scheming, pampered Cleopatra puts more warmth into the role than Elizabeth Taylor was capable of. While not a household name today, she was one of the most famous and successful actresses of the 1930s and 1940s, usually playing plucky heroines in romantic comedies. 1934 was a great year for Colbert, as she would win the Best Actress Oscar for "It Happened One Night"
Caesar and especially Antony are cast as stupid, grasping egotists, giving their characters welcome if unintentional comic aspects. The cinematic tendency to depict Roman rulers as selfish and corrupt is present as well.
"Cleopatra" was nominated for Best Picture, but settled for Best Cinematography (Victor Milner). It was also nominated for Best Assistant Director (Cullen Tate), Best Editing (Anne Bauchens) and Best Sound (Franklin Hansen). Despite the presence of DeMille, the 1934 version of "Cleopatra" cost one-fiftieth of its 1963 successor, and was a great box office success.
<EMAIL_ADDRESS>http://members.tripod.com/~Brian_Koller/movies.html
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


Fantoo allows you to see a Smart overview of all your messages, organised into themed views. You get a heads-up on how long it will take to read through your messages before you start so you can allocate your time efficiently. You can design your own themes or use the ones we’ve provided, such as VIP view or Sales View.
Sometimes it’s just quicker to chat amongst teams, so with “Move to chat”, we provide a chat environment within the context of the email , so everyone has access to the files, content and topics being discussed all in one place. This is a guaranteed time-saver.
Fantoo will show you your short messages as they are, and summarize the long ones to save you time on reading. This gives you the gist of the message faster so you can act upon it.
For high volume users we’ve got a one touch response system which allows you to get back to people in one touch, perfect if you’re on the move, busy and trying to keep up.
Fantoo helps manage your time by providing a cool tool where you can tell Fantoo how much time you have to spend checking your messages. It then automatically re-organizes your messages, bringing to the forefront the most important ones you can get through in the time allotted!
A fast and unified experience between desktop and mobile, automatically syncing your messages across a multi-platform system so you have access to your messages and files anywhere, anytime.


# coding=utf-8
# !/usr/bin/env python
"""
:mod:"vlogging" -- Utilities for video logging
===================================
.. module:: vlogging
:platform: Windows
:synopsis: Utilities for video logging.
.. moduleauthor:: Sebastian Steiner<EMAIL_ADDRESS>(c) 2018 The Cronin Group, University of Glasgow
This file contains all utilities required to record webcam videos at variable frame rates, with time stamp, and the
current INFO level log message overlaid.
For style guide used see http://xkcd.com/1513/
"""
import logging
import time
import multiprocessing
import numpy as np
import cv2
[docs]class VlogHandler(logging.Handler):
"""
Logging module handler class. Inherits directly from the logging.Handler prototype, as no fancy stuff is required.
"""
def __init__(self, queue=None):
"""
Initialize the handler.
Args:
queue (multiprocessing.Queue): A queue object shared with the video recording process.
"""
super().__init__()
if queue:
self.queue = queue
else:
raise Exception("ERROR: No queue object supplied!")
[docs] def flush(self):
"""
Empties the queue by popping all items until it's empty.
"""
self.acquire()
try:
while not self.queue.empty():
self.queue.get()
finally:
self.release()
[docs] def emit(self, record):
"""
Emit a record.
If a formatter is specified, it is used to format the record.
The record is then put into the queue.
"""
try:
msg = self.format(record)
# print("Logger {0} is enqueuing \"{1}\"".format(self.name, msg))
self.queue.put(msg)
except Exception:
self.handleError(record)
[docs]class RecordingSpeedFilter(logging.Filter):
"""
Logging filter that only allows messages with logging level 5 to be passed on. Used for controlling video recording
speed.
"""
[docs] def filter(self, record):
return record.levelno == 5
[docs]def recording_worker(message_queue, recording_speed_queue, video_path):
"""
Worker process which records a video to a file at variable frame rate. The main loop grabs an image from the camera,
overlays a time stamp and the most recent log message, and then waits the appropriate time until the next frame is
due. Log messages and requests to change recording speed are passed via multiprocessing queues. This worker is meant
to be run as an individual process to improve performance in cPython.
Args:
message_queue (multiprocessing.Queue): A queue object containing logging messages
recording_speed_queue (multiprocessing.Queue): A queue object containing requests to change frame rate
video_path (str): A path to the output video file
"""
# constants for easy maintenance
camera_id = 1
resolution = (1280, 720)
fps = 24
time_per_frame = 1 / fps
# start capture
cap = cv2.VideoCapture(camera_id)
# set image size
cv2.VideoCapture.set(cap, cv2.CAP_PROP_FRAME_WIDTH, resolution[0])
cv2.VideoCapture.set(cap, cv2.CAP_PROP_FRAME_HEIGHT, resolution[1])
# start video writer
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter(video_path, fourcc, fps, resolution)
# initialise working variables
recording_speed = 1
current_log_message = ""
# keep recording
while cap.isOpened():
try:
beginning_of_frame = time.time()
ret, frame = cap.read()
if ret:
# create and format time stamp
timestamp = time.localtime(beginning_of_frame)
timestamp_pretty_print = time.strftime("%Y-%m-%d %H:%M:%S", timestamp)
timestamp_string = "{0} {1}X".format(timestamp_pretty_print, recording_speed)
# check if there is a new log message, if there's more than one discard all but the most recent one
while not message_queue.empty():
current_log_message = message_queue.get()
# insert time stamp and log message as overlay
cv2.putText(frame, timestamp_string, (10, 660), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2, cv2.LINE_AA)
cv2.putText(frame, current_log_message, (10, 710), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2, cv2.LINE_AA)
# write the frame
out.write(frame)
# display video
# cv2.imshow('frame', frame)
else:
break
# wait until the next frame is due
while (time.time() - beginning_of_frame) < (time_per_frame * recording_speed):
# if a speed change is requested end the wait immediately
if not recording_speed_queue.empty():
recording_speed = recording_speed_queue.get()
recording_speed = int(recording_speed)
break
# else wait for a couple dozen milliseconds to save CPU time
else:
time.sleep(0.005)
except EOFError:
cap.release()
out.release()
cv2.destroyAllWindows()
return -1


First Steps
First, launch LEOGPS by running ‘leogps.py’ in a Python IDE or your terminal, and you will see a user-interface (UI) with input parameters as shown below.
On the left face of the GUI, you would find text entries where you would input your scenario and spacecraft parameters. On the right face of the GUI, you would find an embedded plot object (matplotlib) which would display the relative orbit trajectory after resolving for the relative positions (you can select the frame, but the default should always be the local Hill Frame with satellite LEO-A as the chief or origin).
Let us walk through the individual input entries and options on the left side of the GUI. This will be where LEOGPS reads and loads the config.txt file into the user interface.
01. Spacecraft A 4-letter ID (LEOA)
LEOGPS searches for the Spacecraft A’s RINEX file using the spacecraft 4-letter ID. You can create one arbitrarily (letters only), just make sure it matches the first 4-letters of the file. For example, the 4-letter ID of GRACE A was set to GRCA in the file name, followed by the 3-digit GPS day-of-the-year, a 1-digit zero, and a file extension of the 2-digit year plus an ‘O’ for an observation file, or ‘D’ for a Hatanaka-compressed observation file (GRCA2080.10D for example).
02. Spacecraft B 4-letter ID (LEOB)
LEOGPS searches for the Spacecraft B’s RINEX file using the spacecraft 4-letter ID. You can create one arbitrarily (letters only), just make sure it matches the first 4-letters of the file. For example, the 4-letter ID of GRACE B was set to GRCB in the file name, followed by the 3-digit GPS day-of-the-year, a 1-digit zero, and a file extension of the 2-digit year plus an ‘O’ for an observation file, or ‘D’ for a Hatanaka-compressed observation file (GRCB2080.10D for example).
03. Epoch start (YYYY-MM-DD-HH-MN-SS)
Specify the starting epoch for processing in LEOGPS (not necessarily the epoch where the first RINEX entry is found). Follow the date-time format in the heading above, starting with YYYY. Note that the two RINEX files must have an overlapping time frame in order to compute valid differential GPS results. Note also that the time scale is in GPST and not UTC!
04. Epoch final (YYYY-MM-DD-HH-MN-SS)
Specify the ending epoch for processing in LEOGPS (not necessarily the epoch where the last RINEX entry is found). Follow the date-time format in the heading above, starting with YYYY. Note that the two RINEX files must have an overlapping time frame in order to compute valid differential GPS results. Note also that the time scale is in GPST and not UTC!
05. Timestep in seconds (i.e. 30)
Time step used in processing of RINEX data (integer seconds only).
06. Enable L1 or L1/L2 processing?
LEOGPS can read L1 or L2 signals from GPS observations in the RINEX file. The L1 signal is the oldest legacy GPS signal, comprising two parts: the Coarse/Acquisition Code (C1) and the Precision Code (P1). The P-code is reserved for military use, while the C/A is open to the public. The L1 signal uses the frequency 1575.42 MHz. The L2 uses the frequency 1227.60 MHz, and was implemented after the L1 and must be used along with L1 frequencies. It also has a military code and a civilian use code. Enabling both L1/L2 allows LEOGPS to perform single point positioning computations using the ionosphere-free linear combination, where a differential signal between L1 and L2 is used to cancel out correlated ionospheric delay errors.
07. Enable code-carrier Hatch filter?
LEOGPS allows for noisy (but unambiguous) code measurements to be smoothed using the precise (but ambiguous) carrier phase measurements. Such an algorithm combines measurements of both from the RINEX file and the filter that implements the algorithm is known as a Hatch filter. Note that enabling Hatch filtering significantly increases the processing time and memory usage.
08. Set Hatch filter window length
LEOGPS implements the Hatch filter as a sliding window filter. Thus, you can set the length of the sliding window here as an integer number of samples. For example, if your time step selected was 10 seconds, and the window length input in this option was set to 30, then your effective sliding window duration is 300 seconds.
09. Number of sigmas in cycle slip detection
LEOGPS implements a very basic carrier phase cycle slip detection algorithm by performing an interpolation of combined carrier phase data, and observing if there are any single points of data that exceed “X” sigmas of the interpolated carrier phase. “X” is the input specified in this option here. For L1-only processing, LEOGPS uses the Melbourne-Wubbena linear combination as the carrier phase combination. For L1/L2 processing, LEOGPS uses the geometry-free linear combination as the carrier phase combination. For carrier phase observations that exceed the “X” number of sigmas, LEOGPS will mark that point with a cycle slip flag print a warning message to the user in the terminal. However, as of Version 1.3, LEOGPS does not attempt to repair or reject that particular observation.
10. Set cycle slip detection filter length
LEOGPS performs interpolation across a sliding window of samples in the cycle slip detection process. The user specifies how many samples N are used for carrier phase interpolation and screening. The larger the value N, the longer the processing but the lesser the likelihood of flagging a false cycle slip.
11. Set the GPS antenna X offset (DISABLED)
As the GPS antenna is unlikely to be positioned exactly in the center of mass of the spacecraft, the navigation solutions likely center about the GPS antenna phase center rather than the body center of mass. This option allows the user to specify the body-frame offset. Note: this option is disabled for now as LEOGPS has not been configured to read spacecraft attitude files, needed for orbit-to-body-frame transformations.
12. Set the GPS antenna Y offset (DISABLED)
As the GPS antenna is unlikely to be positioned exactly in the center of mass of the spacecraft, the navigation solutions likely center about the GPS antenna phase center rather than the body center of mass. This option allows the user to specify the body-frame offset. Note: this option is disabled for now as LEOGPS has not been configured to read spacecraft attitude files, needed for orbit-to-body-frame transformations.
13. Set the GPS antenna Z offset (DISABLED)
As the GPS antenna is unlikely to be positioned exactly in the center of mass of the spacecraft, the navigation solutions likely center about the GPS antenna phase center rather than the body center of mass. This option allows the user to specify the body-frame offset. Note: this option is disabled for now as LEOGPS has not been configured to read spacecraft attitude files, needed for orbit-to-body-frame transformations.
14. Orbit frame (not shown in the plot)
LEOGPS will output a text file reporting the single point positions and velocities of the individual spacecraft, as well as the relative baseline vectors. This option allows the user to toggle the output reference frame for the single point positions and velocities. The ITRF-ICRF (ECEF-ECI) conversion uses the IAU1976 Theory of Precession and IAU1980 Theory of Nutation in the celestial-to-terrestrial (and vice versa) conversion. Note that the plotter displays only the relative baselines and not the single point positions.
15. Relative orbit frame (default Hill)
LEOGPS will plot in the GUI (the big plot box on the right) as well as output in a text file the relative baseline vectors. In practice, the Euler-Hill frame is typically used (and is the default selection) but the user can also toggle the relative baseline data and plots to be displayed in ITRF or ICRF too.
We may now proceed to run the default LEOGPS scenario that comes with the build, for the GRACE formation flying satellite mission. On the UI, click Load Config. This loads the configuration inputs from config.txt into the blank entries explained ebove. If you did not make any changes to config.txt, the inputs should correspond to the GRACE formation flying scenario on 27-07-2010, as the default example.
Whenever saving (Save Config) or running LEOGPS (Run LEOGPS), all inputs are saved in the ../LEOGPS/config/config.txt/ file.
Now, we are ready to run LEOGPS. Once we do, several things will happen (next page).


This passage is to demonstrate the usage of thread and some concrete examples in practice.
Threads allow multiple activities to proceed concurrently. Concurrent programming is harder than single-threaded programming, because more things can go wrong, and failures can be hard to reproduce. But you can’t avoid concurrency. It is inherent in much of what we do, and a requirement if you are to obtain good performance from multicore processors, which are now commonplace. This chapter contains advice to help you write clear, correct, well-documented concurrent programs.
This is the preface copied from “Effective Java”, of course, concurrent programming is somehow a nightmare for developer particularly when production issues occur. Multithreading is known as notoriously hard to debug and reproduce the error. But as stated, multithreading empower the performance by making good use of multicore processors. Therefore, it’s inevitable for a programmer to take the challenges on multithreading programming.
Basically, there are two ways to create threads in Java programming. One is to “implement Runnable” and the other is to “extends Thread”.
By implements Runnable:
public class ThreadB implements Runnable {
public void run() {
//Code
}
}
//Started with a "new Thread(threadB).start()" call
Or, with extends Thread:
public class ThreadA extends Thread {
public ThreadA() {
super("ThreadA");
}
public void run() {
//Code
}
}
//Started with a "threadA.start()" call
This hierarchy can be shown in the following diagram.
As shown in the code example, both two methods actually embed the thread body in run() method but the semantic difference is that ThreadB implement the interface run() of Runnable while ThreadA override the method in Thread object. In practice, creating thread using ThreadA is straightforward for beginner to go but ThreadB is actually the preferred method to create a thread. The reason is that “implements Runnable” is more flexible as multi inheritance is not supported in Java. Say, you want to customize a timer control to update the time every 2 seconds by extending an implemented timer class. By this way, you cannot use “extend Thread” method due to the single inheritance restrict in Java. Instead, you can only make the timer to “implements Runnable” and override the run() method to customize the thread’s behavior.
Thread should be started by invoking the native method start() to begin execution. The Java Virtual Machine then calls the run method of this thread to go. Directly calling the run() method from main thread, the run() method goes onto the current call stack rather than at the beginning of a new call stack i.e., directly calling run() method will serve as a function call instead of direct invoking.
start() method of Thread class is used to start a newly created thread. It performs following tasks:
A new thread starts(with new callstack).
The thread moves from New state to the Runnable state.
When the thread gets a chance to execute, its target run() method will run.
To further understand the pitfall, read the following passage. http://tutorials.jenkov.com/java-concurrency/creating-and-starting-threads.html#common-pitfall
Synchronization in java is the capability to control the access of multiple threads to any shared resource.
Java Synchronization is better option where we want to allow only one thread to access the shared resource.
Syntax to use synchronized method:
public class MyObject {
synchronized someMethod(object reference expression) {
//code block
}
}
With the synchronized keyword, it can be guaranteed that only one thread can access method “someMethod()” which is to lock an object for any shared resources.
Syntax to use synchronized block
synchronized (object reference expression) {
//code block
}
But there is performance tradeoff by simply using synchronized keyword. Suppose you have 50 lines of code in your method, but the critical you really want to synchronize occupying only 5 lines. That would be risky to cause problems while locking the method for a long time. Therefore, synchronized block is an alternative to solve the problem.
Actually, the synchronized method is equivalent to the following code snippet:
public class MyObject {
void someMethod(object reference expression) {
synchronized(this){
//code block
}
}
}
For further details read the following: http://www.javatpoint.com/synchronization-in-java
Inter-thread communication is important in multithreading programming. Let’s say ThreadA is waiting for ThreadB completing its execution to continue its job. One of the solution is to create a status tracker which allows one or more threads to wait until a set of operations being performed in other threads completes.
public class StatusTracker {
public enum STATUS {
PENDING,
COMPLETED
}
private ConcurrentMap<STATUS, CountDownLatch> signalLatchMap =
new ConcurrentHashMap<STATUS, CountDownLatch>();
private int status;
public void await(STATUS signal) {
try {
CountDownLatch signalLatch = signalLatchMap.get(signal);
if (signalLatch != null) {
signalLatch.await();
signalLatchMap.remove(signal);
}
else {
signalLatch = new CountDownLatch(1);
signalLatchMap.put(signal, signalLatch);
signalLatch.await();
signalLatchMap.remove(signal);
}
}
catch (Exception e) { }
}
public void signal(STATUS signal) {
CountDownLatch signalLatch = signalLatchMap.get(signal);
if (signalLatch != null){
signalLatch.countDown();
}
}
}
By invoking await(STATUS.COMPLETED) in ThreadA, it will release the lock and wait for the notification invoked by signal(STATUS.COMPLETED) in ThreadB.
For the further learning of CountDownLatch, read: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CountDownLatch.html
Reference
https://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_1037.htm#i1576022 http://www.javatpoint.com/multithreading-in-java


Package descriptionAn overview of the package and how it differs from RStan. |
|
|---|---|
CmdStanR: the R interface to CmdStan |
|
Installing and setting the path to CmdStanInstall CmdStan, assuming the necessary C++ toolchain. |
|
|
|
Install CmdStan or clean and rebuild an existing installation |
Get or set the file path to the CmdStan installation |
|
Running CmdStan from RRun CmdStan from R. |
|
Create a new CmdStanModel object |
|
CmdStanModel objects |
|
Check syntax of a Stan program |
|
Compile a Stan program |
|
Run Stan's standalone generated quantities method |
|
Run Stan's optimization algorithms |
|
Run Stan's MCMC algorithms |
|
Run Stan's MCMC algorithms with MPI |
|
Run Stan's variational approximation algorithms |
|
Fit models for use in examples |
|
Fitted model objects and methods |
|
CmdStanMCMC objects |
|
CmdStanMLE objects |
|
CmdStanVB objects |
|
CmdStanGQ objects |
|
Run CmdStan's |
|
Extract posterior draws |
|
Extract user-specified initial values |
|
Extract inverse metric (mass matrix) after MCMC |
|
Leave-one-out cross-validation (LOO-CV) |
|
Extract log probability (target) |
|
Extract metadata from CmdStan CSV files |
|
Extract (penalized) maximum likelihood estimate after optimization |
|
Extract number of chains after MCMC |
|
Access console output |
|
Return profiling data |
|
Extract return codes from CmdStan |
|
Extract sampler diagnostics after MCMC |
|
Save fitted model object to a file |
|
|
|
Save output and data files |
Compute a summary table of estimates and diagnostics |
|
Report timing of CmdStan runs |
|
Other tools for working with CmdStan |
|
Read CmdStan CSV files into R |
|
Write data to a JSON file readable by CmdStan |
|
Write Stan code to a file |
|
Using CmdStanR with knitr and R Markdown |
|
Register CmdStanR's knitr engine for Stan |
|
CmdStan knitr engine for Stan |