|
Final_Project
|
#include <Base.hpp>
Public Member Functions | |
| Base () | |
| Initialize publishers/subscribers/servers/clients and some constants. More... | |
| void | imageCallback (const sensor_msgs::ImageConstPtr &msg) |
| In this callback, the displacement of the centeroids of the balls and the image center is computed and passed to the turtlectrller node. A simple tracking check is added. If the displacment of an obect at one time is significantly smaller or larger than the displacment at last timestep, then the object detected is likely to be a different one. More... | |
| bool | statusCallback (final_package::StatusCheck::Request &req, final_package::StatusCheck::Response &resp) |
| This is the service callback from the turtleCtrller node. More... | |
Public Attributes | |
| bool | completeFlag |
| bool | viewFlag |
| ros::ServiceClient | colorChangeCli_ |
| int | color |
The base class initializes all the necessary publishers, subscribers, servers and clients. It also takes cares of the callbacks for subscribers and servers. It's core function is to locate the ball objects and command the turtlebot to reach it.
| Base::Base | ( | ) |
Initialize publishers/subscribers/servers/clients and some constants.
| none |
| void Base::imageCallback | ( | const sensor_msgs::ImageConstPtr & | msg | ) |
In this callback, the displacement of the centeroids of the balls and the image center is computed and passed to the turtlectrller node. A simple tracking check is added. If the displacment of an obect at one time is significantly smaller or larger than the displacment at last timestep, then the object detected is likely to be a different one.
The camera images are obtained from the 3D sensor. These images are passed to an imageprocess object for further image analysis. At the end, the centroid of the detected circles are computed.
| sensor_msg::ImageConstPtr& | msg |
| bool Base::statusCallback | ( | final_package::StatusCheck::Request & | req, |
| final_package::StatusCheck::Response & | resp | ||
| ) |
This is the service callback from the turtleCtrller node.
This function is the service callback from the turtleCtrller node. It recieves a request when a model in Gazebo is removed.
| StatusCheck | service request and respond. |
| int Base::color |
1:Red, 2:Green, 3:Blue
| ros::ServiceClient Base::colorChangeCli_ |
Tells the turtlebot which color ball to collect
| bool Base::completeFlag |
| bool Base::viewFlag |


Contributing¶
If you would like to contribute to this project, here’s how you can get started. Instructions written for OS X.
Prerequisites¶
Make sure your github account is set up, git is installed on your machine, and your SSH keys are uploaded to your account. Git Bootcamp.
Have an editor that supports editorconfig. Also have $EDITOR exported.
Have these installed on your system (doesn’t have to be in this project’s env):
- pylint
- coverage
- sphinx
- sphinx-rtd-theme
- virtualenv
Repository Setup¶
Make your own fork (version) of the github repo, then clone (copy) it onto your machine. N.B.: The guide shows you how to clone over HTTPS, but due to the way OAUTH HTTPS authentication is set up, I recommend cloning with SSH via the SSH clone link on the repo’s page. If you want to use HTTPS, check out this article on getting it to work.
Set up a virtualenv in the root of the repo. Example:
# cd to the folder that contains setup.py and README.rst virtualenv .
When working in the project directory, configure your environment by typing “source .env”. Alternatively, install autoenv to take care of this step for you when you cd into the project directory.
Install any project dependencies into the virtual environment:
pip install requirements.txt -r
Making a Contribution¶
Make a new branch for the feature or bugfix you are working on. Example:
git checkout -b mybugfix
Make your code revisions.
Write test cases for your new code.
Verify that your tests are passing and that you have updated documentation, setup scripts, etc. by running:
make dryrun
Commit your changes and push them to your fork. Then create a pull request to merge your new branch into the project.


Chapters
Busch, Allison. “Reflections on Culture and Circulation in Early Modern India.” In Early Modern India: Literatures and Images, Texts and Languages, edited by Maya Burger and Nadia Cattoni, 73–78. Heidelberg, Berlin: CrossAsia-eBooks, 2019. https://doi.org/10.11588/xabooks.387. | PDF
Busch, Allison, and Cynthia Borkaw. “Relating the Past: Writing (and Rewriting) History.” In What China and India Once Were the Pasts That May Shape the Global Future, 127–64, 2018. | PDF
Busch, Allison. “Life and Love in the Couplets of Rahim.” In Celebrating Abdur Rahim Khan-i-Khanan, 174–96. Aga Khan Trust for Culture, 2017. | PDF
———. “Listening for the Context: Tuning in To the Reception of Riti Poetry.” In Tellings and Texts : Music, Literature and Performance in North India, edited by Katherine Butler Schofield and Francesca Orsini, 249–92. OBP Collection. Cambridge: Open Book Publishers, 2016. http://books.openedition.org/obp/2516. | PDF
———. “The Rulers of Bundi in Mughal-Period Literary Culture.” In Bundi Fort: a Rajput World, 96–112, 2016. | PDF
———. “Riti and Register: Lexical Variation in Courtly Braj Bhasha Texts.” In Before the Divide: Hindi and Urdu Literary Culture, edited by Francesca Orsini, 2016. | PDF
Allison, Busch, Whitney Cox, and Lawrence J McCrea, eds. “Hindi Literary Beginnings.” In South Asian Texts in History: Critical Engagements with Sheldon Pollock, 203–25. Delhi: Primus Books, 2016. | PDF
Busch, Allison, and Thomas de Bruijn, eds. “Poetry in Motion: Literary Circulation in Mughal India.” In Culture and Circulation: Literature in Motion in Early Modern India, 186–222. Brill’s Indological Library. Leiden; Boston: Brill, 2014. | PDF
Allison, Busch, David Dean Shulman, and Gary A Tubb. “The Classical Past in the Mughal Present: the Brajbhasha Rīti Tradition.” In Innovations and Turning Points: Toward a History of Sanskrit Literature, 2014. | PDF
Dalmia, Vasudha, Christopher Shackle, and Shobhna Nijhawan. “An Early Moment in the Development of Hindi Literary History.” In Nationalism in the Vernacular: Hindi, Urdu, and the Literature of Indian Freedom, translated by Allison Busch, 342–29. Ranikhet: Permanent Black, 2010. | PDF
———. “The World’s Most Precious Object.” In Nationalism in the Vernacular: Hindi, Urdu, and the Literature of Indian Freedom, translated by Allison Busch, 128–38. Ranikhet: Permanent Black, 2010. | PDF
Busch, Allison. “Braj Beyond Braj: The Classical Hindi in the Mughal World.” In IIC Occasional Publications. New Delhi: India International Centre, 2009. | PDF
———. “Questioning the Tropes about ‘Bhakti’ and ‘Rīti’ in Hindi Literary Historiography.” In Bhakti in Current Research, edited by Monika Horstmann, 33–47. Manohar Publishers & Distributors, 2006. | PDF
Pike, David L, and David Damrosch. “The Birthplace of God Cannot Be Moved!” In The Anthology of World Literature: Vol. A, translated by Allison Busch, 917–22. New York: Pearson Longman, 2004. | PDF


Auto Scaling Spark in Kubernetes - Part 2 : Spark Cluster Setup
Kubernetes makes it easy to run services on scale. With kubernetes abstractions, it’s easy to setup a cluster of spark, hadoop or database on large number of nodes. Kubernetes takes care of handling tricky pieces like node assignment,service discovery, resource management of a distributed system. We have discussed how it can be used for spark clustering in our earlier series.
As the services are becoming more and more dynamic, handling resource needs statically is becoming challenge. With cloud being prevalent, users expect their infrastructure to scale with usage. For example, spark cluster on kubernetes should be able to scale up or down depending upon the load.
Kubernetes system can scaled manually by increasing or decreasing the number of replicas. You can refer to this post for more information. But doing this manually means lot of work. Isn’t it better if kubernetes can auto manage the same?
Kubernetes Horizontal Pod AutoScaler(HPA) is one of the controller in the kubernetes which is built to the auto management of scaling. It’s very powerful tool which allows user to utilize resources of the cluster effectively.
In this series of post, I will be discussing about HPA with respect to auto scaling spark. This is the second post in the series which talks about how to setup spark cluster to use the auto scaling. You can find all the posts in the series here.
Spark Cluster Setup on Kubernetes
In earlier series of posts we have discussed how to setup the spark cluster on kubernetes. If you have not read it, read it in below link before continuing.
Spark Cluster Setup on Kubernetes.
Enabling Metrics Server in Minikube
As we discussed in earlier post, metrics server is an important part of the auto scaling. In normal kubernetes clusters, it’s enabled by default. But if you are using minikube to test the HPA you need to enabled it explicitly.
The below is the command to enable. This needs minikube restart.
minikube addons enable metrics-server
Once it’s enabled, you should be able to see it in the list of addons.
minikube addons list
- addon-manager: enabled
- dashboard: enabled
- default-storageclass: enabled
- efk: disabled
- freshpod: disabled
- gvisor: disabled
- heapster: disabled
- helm-tiller: disabled
- ingress: disabled
- ingress-dns: disabled
- logviewer: disabled
- metrics-server: enabled
- nvidia-driver-installer: disabled
- nvidia-gpu-device-plugin: disabled
- registry: disabled
- registry-creds: disabled
- storage-provisioner: enabled
- storage-provisioner-gluster: disabled
Defining the Resource Usage For Spark Worker
In our spark setup, we need to auto scale spark worker. To auto scale the same, we need to define the it’s resource needs as below.
Restricting at Pod Level
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
name: spark-worker
name: spark-worker
spec:
replicas: 1
selector:
matchLabels:
name: spark-worker
template:
metadata:
labels:
name: spark-worker
spec:
containers:
- image: spark-2.1.0-bin-hadoop2.6
imagePullPolicy : "IfNotPresent"
name: spark-worker
ports:
- containerPort: 7078
protocol: TCP
resources:
limits:
cpu: "1"
requests:
cpu: "1"
command:
- "/bin/bash"
- "-c"
- "--"
args :
- './start-worker.sh; sleep infinity'
In above YAML, we have request for the single cpu for every worker in our cluster.
Restricting at Spark Level
By default spark doesn’t respect the resource restriction set by kubernetes. So we need to pass this information when we start the slave. So the below changes are done to our start-worker.sh.
#!/bin/sh
. /start-common.sh
/opt/spark/sbin/start-slave.sh --cores 1 spark://spark-master:7077
In above code, –cores 1 will tell to the spark that this slave should use only one core.
Enabling External Shuffle Service
To use the automatically scaled pods, we need to run the spark in dynamic allocation mode. We will talk more about this mode in next post. One of the pre requisite for the dynamic allocation is external shuffle service. This is enabled in each worker node using below configuration in spark-default.conf.
spark.shuffle.service.enabled true
Rebuilding the Docker Image
As we done number of changes to the our setup, we need to rebuild the docker image. You can read about building the image here.
Starting the Cluster
Now we have done all the necessary changes. We can start the cluster. You can follow steps laid out here for the same.
The State of the Cluster
Once the cluster is successfully started, you should be able to see one worker in spark master as shown below image.
.
Code
You can access all the configuration and scripts on github.
Conclusion
In this post we discussed how to prepare spark cluster on kubernetes to be ready to make use of the auto scaling.


---
layout: static1
title: Retooling the Faculty Toolbox
permalink: /ftb-redesign
---
The Challenge
Background: The Faculty Toolbox is a resource for US Air Force Academy faculty to learn about the Academy's Learning Management System (LMS). When I started my role at the Academy I took over the development of the Toolbox. There were several usability problems that were apparent from day one.
Goal: Redesign and rebrand the Faculty Toolbox to increase usability and traffic to the site.
My Role: Website Designer, User Researcher, Information Architect
The Design Process
User Research
After conducting informal interviews, I created personas for the 5 different types of faculty I discovered during my research.
Common to all personas was a desire for information to be easy to find and the navigation to be “intuitive”. In this case, an “intuitive” navigation is one which corresponds to the mental model faculty have for building a course: course content and delivery, course administration, and assessment.
UX Methods
Along with user research, the main UX skills used in this project were:
- Information Architecture: Rdesignin the site navigation and link names to reflect the course building mental model.
- Sketching and Wireframing: Creating content templates required ideating, and then sketching and wireframing, solutions for presenting content to faculty.
- Creating a Style Guide: Developing and implementing a style guide to standardize the look and feel of the site.
Design Decisions
Guided by the personas, I identified three problems with Toolbox as it was created:
- Site navigation that was not “intuitive” because it did not reflect the mental model faculty have for course building.
- Content was not catered to the needs of the faculty at USAFA.
- Inconsistent use of fonts, headings, and colors to visually organize site content.
Site Navigation
The original site navigation did not reflect the mental model faculty use for building their courses.
"Inside Your Course" promised a page that reflected the course building mental model, but the content on that page was not organized according the mental model.
To remedy this, I sketched out prototypes for the top-level architecture and some secondary architecture.
One option for the site navigation.
A second option for the site navigation.
Previous
Next
I put the three components of the mental model at the top level because it would provide quicker access to relevant content and clarified what you would find on each page. (Inside Your Course
was too broad a label to be helpful.) I presented these ideas to my team and some faculty, and, after a little more tweaking, the Faculty Resources portion of the course menu was finished.
Setting up the top-level navigation this way also gave faculty a preview the LMS's capabilities when they opened a page, such as "Building Your Course".
Catered Content
After restructuring the site navigation, I developed a four-stage approach to dealing with missing and misorganized content:
- Organize existing content in accordance with the new site map.
- Add priority content.
- Determine what content was missing.
- Develop and implement a content roadmap, to include both the templates for content and the topics themselves.
The first two stages were, essentially, first aid. For instance, moving "Adding scrollbars to Grade Center on Macs" out of "Inside Your Course" and into "Additional Resources".
I waited to identify missing content until the third stage because it would be easier to see the gaps once I knew how to categorize the content we already had. And drafting an initial list of missing content would help me develop template prototypes.
For the fourth stage, I started with content templates because it would allow me to:
- Provide a consistent experience for faculty;
- Ensure that the copy addressed the needs of the faculty through the design of the template;
- Make it possible to outsource the "how to" guides by linking to the LMS help site; and
- Speed up the copy writing process (which is helpful, since I am a one-man shop).
- Help me refine the list of content that I thought was missing.
I quickly went from sketches of a few possibilities down to two different content templates, and developed two prototypes.
Initial sketches for content templates.
Different ways to present the content templates.
Final sketches of the content templates.
Final version of the tutorial template.
Final version of the tool comparison template.
Previous
Next
Style Guide
The style across the original Toolbox was inconsistent.
The "Inside Your Course" page mixed and match content types and fonts.
In some cases, there was background highlighting that served no purposed.
The different colors are redundant: they seem to only signal a different content item.
Previous
Next
To provide a consistent user experience, I created a style guide for the Toolbox. To keep things simple, I stuck with the defaults in the LMS's text-editor for things such as font. I then added the following rules:
- Black font for content.
- Blue (#0000FF) font for in-page headers to help further organize content (such as when a list of quizzes begins).
- Dark Cyan-Azure (#0099CC) for quizzes.
- Use highlighting to emphasize important information such as warngings, known issues, and system downtime.
These rules provided a consistent user experience and helped visually chunk content on a page.
Results
- 46.3% increase in traffic since the redesign, and new users are visiting the site every month.
- Over 50% of faculty have used the Toolbox and voluntarily adopted Blackboard in under two years (and despite some very vocal critics).
- A consistent user experience across the Faculty Toolbox website.
- The implementation of design thinking in LMS-related training at the Academy.


Step 1: Initialize your algorithm including setting the start and end date, setting the cash and filtering the options contracts. Note here in SetFilter, the strike price should range from negative to positive because we need to choose out-of-the-money put and call options from candidate contracts. The strike price of OTM call should be greater than ATM options and the strike price of OTM put should be lower than ATM options.
def Initialize(self): self.SetStartDate(2017, 4, 1) self.SetEndDate(2017, 5, 30) self.SetCash(100000) equity = self.AddEquity("GOOG", Resolution.Minute) option = self.AddOption("GOOG", Resolution.Minute) self.symbol = option.Symbol # set our strike/expiry filter for this option chain option.SetFilter(-15, 15, timedelta(30), timedelta(60)) # use the underlying equity GOOG as the benchmark self.SetBenchmark(equity.Symbol)
Step 2: Sort the option chain by expiration date and choose an expiration date you want to trade. For demonstration purpose, here we choose options with the furthest expiration date in candidate contracts. Then filter out the call options which expire on that date.
for i in optionchain: if i.Key != self.symbol: continue chain = i.Value # sorted the option chain by expiration date and choose the furthest date expiry = sorted(chain,key = lambda x: x.Expiry, reverse=True)[0].Expiry # filter the call options from the contracts expires on that date call = [i for i in chain if i.Expiry == expiry and i.Right == 0]
Step 3: Sort the call options by their expiration date and choose the deep OTM contract which has the largest strike price.
call_contracts = sorted(call,key = lambda x: x.Strike) if len(call_contracts) == 0: continue # choose the deep OTM call option self.call = call_contracts[-1]
Step 4: Select the put options which have the same expiration date with the call option and sort the put options by strike price. Then choose the deep out-of-the-money put which has the minimum strike price among all the available put options.
put_contracts = sorted([i for i in chain if i.Expiry == expiry and i.Right == 1], key = lambda x: x.Strike) # choose the deep OTM put option self.put = put_contracts[0]
Step 5: Buy the call and the put options at the same time and wait until expiration.
self.Buy(self.call.Symbol ,1) self.Buy(self.put.Symbol ,1)


{% extends 'almanac/base.html' %} {%load staticfiles%} {% block content %} Midterm election schedule 2018: Primary and registration dates


Ahmed Maged Mohamed
Aly Mohamed Aly
Mahmoud Ahmed Raafat
Mohamed Hussein Salim
Yasmine Ibrahim Ahmed
Move Forward Player1 (W) Player2 (I)
Move Backward Player1 (S) Player2 (K)
Move Left Player1 (A) Player2 (J)
Move Right Player1 (D) Player2 (L)
Use Player1 (E) Player2 (O)
Press the use button inside any of the 3 boxes to choose a level
(POWER UPS)
Cannon Ball: Shoots a cannon ball that slows the opposite car
Goo stain: Drops a Goo Stain behind that decreases handling when stepped on
Speed: Increases or decreases car speed
Switch: Switch the 2 cars' position


Line Interaction Treatments¶
TARDIS currently offers different ways to handle line interactions, which may be activated via the YAML configuration file. Independently of the chosen treatment, a number of steps are always carried out when a Monte Carlo packet performs a line interaction. Since TARDIS adopts the indivisible energy packet formalism (see Discretization), the packet will have the same energy in the co-moving frame after (f for final) the line interaction as before (i for initial). Thus, after accounting for the frame transformations
holds. Also, TARDIS treats that the re-emission of the line interaction as an isotropic process. Thus,
Note
In the Sobolev theory, the re-emission direction is given by the so-called Sobolev escape fraction, with is in general non-isotropic. However, in the special case of homologous expansion, isotropy is retained.
Note
Strictly speaking the re-mission process occurs in the local co-moving frame. Thus, the so called angle abberration effect should be taken into account when transforming into the lab frame. However, TARDIS, currently neglects this effect.
Essentially, the different line interaction treatments only determine how the frequency of the packet after the line interaction is determined.
Resonant Scattering¶
The simplest line interaction mode assumes that all interactions with atomic line transitions occur resonantly. This implies that in the co-moving frame the emergent packet frequency is equal to the incident one. Again accounting for the Doppler factors due to the frame transformations between co-moving and lab frame, the post-interaction frequency is given by
Downbranching¶
The so-called downbranching scheme, introduced by [Lucy99b], is an elegant approach to approximately account for fluorescence effects. In this scheme, the packet is not re-emitted in the same transitions as it was absorbed in. Instead, it now can emerge from any line transition linking the activated upper energy level to a lower one. For any specific line interaction event the re-emission channel is probabilistically selected according to the branching ratios of the different allowed de-excitation transitions. For more details about the downbranching scheme, we refer to [Lucy99b] and [KerzendorfSim14].
Macro Atom Scheme¶
Finally, as the most sophisticated line interaction treatment, a simplified version of the Macro Atom scheme of [Lucy02] and [Lucy03] is implemented in TARDIS. This approach provides a more accurate representation of fluorescence processes and multi-line effects. Once a Monte Carlo packet is absorbed in a certain line transition (macro atom activation), an arbitrary number of internal jumps up and downwards may be performed. One may think of them as changing the energy level which is excited. At any point during this process, there is the change that the internal jump procedure terminates and that the packet is re-emitted in a transition linking the currently excited upper energy level to a lower one (macro atom deactivation). Again, all involved processes are governed by probabilities reflecting the different line transition strengths, radiative emission and absorption processes. More details about the implementation of the Macro Atom scheme in TARDIS is provided here. For more background information and an in-depth derivation of the scheme, we refer to [Lucy02] and [Lucy03].
Comparison¶
The different levels of sophistication are illustrated in the following plot, taken from [KerzendorfSim14] and showing the incident and versus the emergent wavelength of Monte Carlo packets in line interactions. The left panel shows the situation in the resonant scatter mode, the middle one for the downbranching scheme and the right one the macro atom results.


Try out our Premium Member services: Virtual Legal Assistant, Query Alert Service and an ad-free experience. Free for one month and pay only if you like it.
BEFORE THE MADURAI BENCH OF MADRAS HIGH COURT DATED: 10.11.2017 CORAM THE HONOURABLE MR.JUSTICE S.S.SUNDAR W.P.(MD) No.20469 of 2017 and W.M.P(MD).No.16739 of 2017 M/s.Ramky Energy and Environment Ltd., Undurmikidakulam Village, Mukkulam, Tiruchuli Taluk, Rep. by its Project Head, V.S.Venkatesan ... Petitioner -Vs- 1.The District Collector, Virudhunagar District, Virudhunagar. 2.The Superintendent of Police, Virudhunagar Town and District. 3.The Deputy Superintendent of Police, Thiruchuli Taluk, Virudhunagar Town and District. 4.The Inspector of Police, A.Mukkulam Police Station, Tiruchuli Taluk, Virudhunagar District. 5.The Tamil Nadu Pollution Control Board, rep. by the District Environment Engineer, TNPCB, Virudhunagar Town and District. 6.Chokkar ... Respondents (6th respondent is impleaded vide order, dated 10.11.2017 in WMP(MD).No.17065/2017 in WP(MD).No.20469 of 2017 by SSSRJ) Prayer: Writ Petition filed under Article 226 of the Constitution of India, to issue a Writ of Mandamus, to direct the respondents to provide necessary police protection to our factory employees, premises and vehicles in accordance with the petitioner's representation, dated 09.10.2016 and 31.10.2017. !For Petitioner : Mr.N.Dilip Kumar ^For Respondents 1 to 5 : Mr.D.Muruganadam, Additional Government Pleader For Respondent No.6 : Mr.G.Prabhu Rajadurai :ORDER
This Writ petition is filed for issuing a Writ of Mandamus, to direct the respondents to issue necessary police protection to the factory employees, premises and vehicles of the petitioner. The petitioner has already given detailed representations on 09.10.2017 and on 31.10.2017.
2. The brief facts which are necessary for the purpose of disposing this writ petition are as follows:
The petitioner is a company which was registered under the Companies Act, 1956. It is stated that the petitioner has established several facilities for Bio-Medical Waste Management. The petitioner further stated that the management of bio-medical waste is governed under the Biomedical Waste (Management and Handling) Rules of 2016, framed under the Environment (Protection) Act. It is contended that the petitioner has purchased lands and established the Bio-Medical Waste Management facility in R.S.No.136 and 137 of Undurmikidakulam Village, Mukkulam, Tiruchuli Taluk, Virudhunagar District, for collection, reception, storage and safe disposal of bio-medical waste from all hospitals, dispensaries etc. (2.1) It is stated that the job of the petitioner is to collect all the medical waste from Private Hospitals, Clinics, Government Hospitals, Laboratories, Blood Banks and other Dispensaries in Virudhunagar, Madurai, Ramanathapuram, Theni and Dindigul Districts. The medical waste, thus collected by the petitioner are expected to be treated in accordance with the Rules and Regulations and it is being done by the petitioner. It is to be noted that the petitioner has earlier approached this Court with similar prayer.
(2.2) In W.P(MD).No.10953 of 2017, the petitioner sought for a direction seeking police protection. A third party, who has not been impleaded in this writ petition, has filed a writ petition earlier in W.P.(MD).No.1931 of 2016 for issuance of a writ of mandamus, forbearing the petitioner herein from setting up and operating the ?Bio-medical Waste Disposal Unit? at Undrumikidakulam village in Virudhunagar District. The petitioner has also filed another writ petition in W.P.(MD).No.10957 of 2013 challenging the order passed by the Local Body directing the closure of the petitioner's unit. All the writ petitions were disposed of by the Hon'ble Division Bench of this Court by an order, dated 05.09.2017. While disposing the writ petitions, the order passed by the Local Body directing the closure of the petitioner's Unit was set aside by the Hon'ble Division Bench. The Hon'ble Division Bench has also directed police protection to the petitioner as and when required for the purpose of maintenance and trial run of all the petitioner's unit. The Hon'ble Division Bench found that the basic biometries are satisfied by the petitioner. However, the application for renewal of consent to operate was then pending consideration. It was only subject to the outcome of the application for renewal of operating the unit. This Court restricted the prayer for giving police protection only for the purpose of maintenance and trial of the petitioner's unit. After the order of the Hon'ble Division Bench, it is stated that the Pollution Control Board issued renewal of consent upto March, 2018. The renewal of consent to operate the petitioner's Unit was obtained under the Water (Prevention and Control of Pollution) Act, 1974 and the Air (Prevention and Control of Pollution), Act, 1981. Thereafter the petitioner has put the unit in operation. However, it was stated that they need police protection to the factory premises, employees and vehicles, in view of the threat posed by some local persons.
3. Heard the learned counsel for the petitioner and the learned Additional Government Pleader appearing for the respondents 1 to 5 and the learned counsel appearing for the sixth respondent and perused the materials available on record.
4. The learned counsel for the petitioner brought to the notice of this Court about the incident by which the vehicles belonged to the petitioner, which are meant for transporting the medical waste has been intercepted and damaged by some villagers. It is in these circumstances, the learned counsel for the petitioner also states that police protection is required not only in the interest of the petitioner but also in the interest of the public so that the petitioner carry on their operations in treating medical waste collected from all the Hospitals, Dispensaries including the Government Hospitals in the manner required in law.
5. Even, earlier the petitioner had some difficulties with some group of people, who have organised demonstrations to prevent the petitioner from establishing and operating their unit. The petitioner lodged a complaint, dated 06.05.2017 and was also constrained to move this Court earlier for seeking police protection. Police protection was not given to operate the petitioner's unit for want of consent to operate the unit from the Pollution Control Board under the Water (Prevention and Control of Pollution) Act, 1974 and the Air (Prevention and Control of Pollution), Act, 1981. The objection was also based on the fact that there was no clearance by the Pollution Control Board then and renewal for consent was under consideration at the time of the disposal of the writ petitions. Now, the petitioner has obtained the order of renewal of consent upto March 2018, from the Pollution Control Board. Having regard to the materials placed before this Court and the submissions of the learned counsel for the petitioner, this Court is able to see a prima facie case in favour of the petitioner to give police protection.
6. The learned Additional Government Pleader on instructions would submit that there are several objections from various quarters for the petitioner's industry being allowed to operate. However, the learned Additional Government Pleader is not able to point out any infraction of Rules or Statutory provisions to prevent the industry to carry on its activities. Having regard to the fact that the petitioner has obtained consent till March, 2018, for operating the unit and the petitioner has produced several documents to show that they are authorised to establish the industry under the Bio-Medical Waste (Management and Handling) Rules of 2016 and other statutory provisions and to carry on their business, this Court is not able to justify the submission of the learned Additional Government Pleader, who wants the authorities to consider the grievances of the public at the moment. Today, the sixth respondent has been impleaded and raised some objections. It is to be noted that in the order passed by the Hon'ble Division Bench, dated 05.09.2017, there was a direction as follows:
?17. Accordingly, the following orders passed.
(i) W.P.(MD).No.10957 of 2013 stands allowed. The order impugned passed by the third respondent stands set aside.
(ii) W.P.(MD).No.10953 of 2017 stands disposed of by directing the second respondent to give adequate police protection as and when required, only for the purpose of maintenance and the trial of the petitioner unit alone.
(iii) Till the consent to operate is obtained from the fourth respondent, the petitioner cannot run the unit.
(iv) The District Environmental Engineer, the fourth respondent in W.P.(MD).No.10953 of 2017 is directed to pass appropriate orders within a period of six weeks from the date of receipt of a copy of this order in the light of the observation made earlier.
(v) The District Medical Officer, Madurai is directed to conduct the Screening Camp along with 8 officials mentioned, who participate earlier, on 20.09.2017.
(vi) The fourth respondent and the District Medical Officer are further directed to communicate their decision, both to the petitioner in W.P.(MD).No.10953 of 2017 and W.P.(MD).No.1931 of 2016.
(vii) In order to maintain transparency and fairness on Mr.Dr.A.Rengarajan, M.D., Retired Profesor of Medicine, Madurai Medical College is also directed to be added as one of the doctors in the panel, which is directed to make inspection on 20.09.2017.
(viii) the petitioner shall not be allowed to carry his vehicle for the purpose of running the unit and it is made clear that they would be permitted to use for the trial running and maintenance alone.?
7. Pursuant to the direction of this Court, it appears that the District Medical Officer has organised a screening camp along with the concerned officials as directed by this Court. It is stated that the petitioner in W.P.(MD).No.1931 of 2016 along with his men made an attempt to prevent the team of Doctors to conduct the screening camp, which has to be conducted as per the direction of this Court. In this regard, a complaint has also been lodged as against the petitioner in W.P.(MD).No.1931 of 2016, by the Village Administrative Officer. The case was registered in Crime No.95 of 2017, on 20.09.2017 for the alleged offences punishable under Sections 147, 341 and 353 of IPC before A.Mukkulam Police Station, Virudhunagar District.
8. It is in these circumstances, this Court is of the prima facie view that the some private persons have vested interest in preventing the petitioner from establishing Bio-Medical Waste Management Unit for some reasons or the other. If these individuals have any grievances, it is always open to them to work out their remedy, by challenging the order of consent given by the Pollution Control Board and the permission to the petitioner granted by other Statutory Authorities in relation to the industrial operation of the petitioner. Since the Pollution Control Board is expected to go into the technical aspects and only after satisfying the Norms, Rules and Regulations, they are supposed to renew the consent, this Court need not go into the legality of the order of renewal of consent given by the Pollution Control Board in favour of the petitioner. No argument was advanced even by the learned counsel appearing for the sixth respondent pointing out any other violation of Rules or Norms. This Court is also convinced that the facility for Bio-Medical Waste Management is also required and serves a public purpose. In that view of the matter, this Court is inclined to give the following directions:
? The respondents 3 and 4 are directed to give necessary police protection to the petitioner's factory, employees, premises and vehicles in accordance with law, upon receipt of the necessary charges applicable as per the Government Order of the Home Department passed in G.O.Ms.No.249 Home (POL-VIII) Dept, dated 21.03.2017.?
9. With the above directions, this Writ Petition stands allowed. No Costs. Consequently, connected miscellaneous petition is also closed.
To
1.The District Collector, Virudhunagar District, Virudhunagar.
2.The Superintendent of Police, Virudhunagar Town and District.
3.The Deputy Superintendent of Police, Thiruchuli Taluk,Virudhunagar Town and District.
4.The Inspector of Police, A.Mukkulam Police Station, Tiruchuli Taluk, Virudhunagar District.
5. The District Environment Engineer, The Tamil Nadu Pollution Control Board, TNPCB, Virudhunagar Town and District.
.


When you hear the term load balancing, this can refer to many different things such as routers, TCP, UDP or http requests. Today we gonna discuss about the latter. Load balancing for http requests is the process of forwarding traffic as evenly as possible among instances of your server pool. Have in mind that your machines may vary in size, load or geographic region even so that’s not an easy task!
So, which are the key benefits of a load balancer?
Server availability
Lets say that your data centers are divided between different areas and a flood happens to one of them. Obviously you don’t want some of your requests to be served and others to return a 5XX error. In this case load balancer comes to the rescue as it directs traffic only to running instances.
Provides an abstraction layer
When a client interacts with your application the internals of your hardware structure are hidden. Your disaster servers, cloud infarstracture etc. are not accessible to the outside world giving you the opportunity to add/remove hardware at will without notice. What is accessible though is a public IP where everyone interacts with your system. Simply it provides an abstraction layer from your internals.
Latency
They provide better performance as the incoming traffic is divided across different servers thus the load is reduced and performance is improved. You can either have hardware load balancers, software ones like nginx, virtuals or even do DNS load balancing.
Now, there are many ways to determine which server node is the most appropriate to route traffic to at any given instance. First you do have to determine their state. This is done with the so called health checks which provide information about the latency, load and other important info. Common algorithms which are used for http load balancers are:
Round Robin
This is a good option if all of your servers have the same size, but won’t work well with different sizes as lower spec machines will receive the same amount of traffic as bigger ones. There is a variation of this algorithm, where weights are put on each machine. Meaning that
server A
will have weight 3 andserver B
will have 1 because its much smaller. Proportionally if your load balancer receives 40 requests almost 30 will go to server A and only 10 to server B. This is called the weighted Round Robin.Least Connections
The traffic is routed to the server with the least amount of active connections. Same to the previous algorithm, if the size of your servers vary, you can have a weighted least connections algorithm.
Random
Requests are divided randomly among the server cluster. As you can imagine this can cause big stress to some servers, since the load they have at any given instant is not taken into account.
Unique source hash
Hashing is applied to client’s IP address and the unique generated key is mapped to a particular server. This way we can always make sure that a specific client will always be served by the same server. The hash can be calculated from a combination of source IP, port and is stored in cache.
Response time
Checks the response time of a server and if it is low then it has limited stress and thus can accept more traffic.
Least bandwidth
Traffic is directed to the node with the least amount of bandwidth.
Session peristance
Now, in a stateless environment there is no problem with how client requests are served. If client A makes a request, it doesn’t matter which server will provide the response. But in a stateful environment things get a bit tricky. This case is called sticky notes/session persistence.
Lets say you have a stateful request and it is a simple registration form with three pages. Prior to proceeding to pages 2 you must complete page 1 and prior to proceeding to page 3 you must complete page 2. Now, there are two ways to accomplish session persistence. First, by mapping the relationship between source IP address and server, all future transactions can be routed appropriately. The second option is to use a cookie on client’s machine and refer to it prior to any requests. In both cases of course you must also determine the life span of your sessions.
A good tutorial about setting up an nginx load balancer can be found here. You can also check out this interesting post from Netflix regarding their load balancing technics.


|
Class Summary |
| BTree |
A simple btree implementation. |
| InternalNode |
Represents a b-tree directory node. |
| InternalNodeArrayMap |
Helper for b-tree nodes. |
| InternalNodeArrayOffsetMap |
holds offsets into file instead of BTreeNodes. |
| Leaf |
Represents a b-tree leaf node. |
| LeafArrayMap |
Helper for b-tree leaves. |
| LeafCarrier |
This class should be used to return the leaf in which an add operation inserted the mapping given to the b-tree. |
| RemoveInfo |
Stores information about a deletion occurred at a lower level of the b-tree. |
| SplitInfo |
Represents information from a split occurred at a lower level in the
tree. |


@NotNull abstract fun guava(): QuickMockspresso.Builder
Applies a MockspressoPlugin
thats adds special object handling for some of the types provided by guava. * Requires your project have a dependency on 'com.google.guava:guava'
Return
QuickMockspresso.Builder: The QuickMockspresso.Builder
for your mockspresso instance


[% page.title = "Perl 5.16.0 Release Announcement" %]
The Perl 5 development team is gratified to announce the release of Perl 5.16.0!
You can download Perl 5.16.0 from your favorite CPAN mirror or from: https://www.metacpan.org/release/RJBS/perl-5.16.0/
SHA1 digests for this release are:
56fb8097ff3e472f7a057848b37cb9ede7662b74 perl-5.16.0.tar.bz2
d21de2b409d99440047a4e67a61f0a781ea2f66b perl-5.16.0.tar.gz
You can find a full list of changes in the file "perldelta.pod" located in the "pod" directory inside the release and on the web.
Perl 5.16.0 represents approximately 12 months of development since Perl 5.14.0 and contains approximately 590,000 lines of changes across 2,500 files from 139 authors.
Perl continues to flourish into its third decade thanks to a vibrant community of users and developers. The following people are known to have contributed the improvements that became Perl 5.16.0:
Aaron Crane, Abhijit Menon-Sen, Abigail, Alan Haggai Alavi, Alberto Simões, Alexandr Ciornii, Andreas König, Andy Dougherty, Aristotle Pagaltzis, Bo Johansson, Bo Lindbergh, Breno G. de Oliveira, brian d foy, Brian Fraser, Brian Greenfield, Carl Hayter, Chas. Owens, Chia-liang Kao, Chip Salzenberg, Chris 'BinGOs' Williams, Christian Hansen, Christopher J. Madsen, chromatic, Claes Jacobsson, Claudio Ramirez, Craig A. Berry, Damian Conway, Daniel Kahn Gillmor, Darin McBride, Dave Rolsky, David Cantrell, David Golden, David Leadbeater, David Mitchell, Dee Newcum, Dennis Kaarsemaker, Dominic Hargreaves, Douglas Christopher Wilson, Eric Brine, Father Chrysostomos, Florian Ragwitz, Frederic Briere, George Greer, Gerard Goossen, Gisle Aas, H.Merijn Brand, Hojung Youn, Ian Goodacre, James E Keenan, Jan Dubois, Jerry D. Hedden, Jesse Luehrs, Jesse Vincent, Jilles Tjoelker, Jim Cromie, Jim Meyering, Joel Berger, Johan Vromans, Johannes Plunien, John Hawkinson, John P. Linderman, John Peacock, Joshua ben Jore, Juerd Waalboer, Karl Williamson, Karthik Rajagopalan, Keith Thompson, Kevin J. Woolley, Kevin Ryde, Laurent Dami, Leo Lapworth, Leon Brocard, Leon Timmermans, Louis Strous, Lukas Mai, Marc Green, Marcel Grünauer, Mark A. Stratman, Mark Dootson, Mark Jason Dominus, Martin Hasch, Matthew Horsfall, Max Maischein, Michael G Schwern, Michael Witten, Mike Sheldrake, Moritz Lenz, Nicholas Clark, Niko Tyni, Nuno Carvalho, Pau Amma, Paul Evans, Paul Green, Paul Johnson, Perlover, Peter John Acklam, Peter Martini, Peter Scott, Phil Monsen, Pino Toscano, Rafael Garcia-Suarez, Rainer Tammer, Reini Urban, Ricardo Signes, Robin Barker, Rodolfo Carvalho, Salvador Fandiño, Sam Kimbrel, Samuel Thibault, Shawn M Moore, Shigeya Suzuki, Shirakata Kentaro, Shlomi Fish, Sisyphus, Slaven Rezic, Spiros Denaxas, Steffen Müller, Steffen Schwigon, Stephen Bennett, Stephen Oberholtzer, Stevan Little, Steve Hay, Steve Peters, Thomas Sibley, Thorsten Glaser, Timothe Litt, Todd Rinaldo, Tom Christiansen, Tom Hukins, Tony Cook, Vadim Konovalov, Vincent Pit, Vladimir Timofeev, Walt Mankowski, Yves Orton, Zefram, Zsban Ambrus, Ævar Arnfjörð Bjarmason.
The list above is almost certainly incomplete as it is automatically generated from version control history. In particular, it does not include the names of the (very much appreciated) contributors who reported issues to the Perl bug tracker.
Many of the changes included in this version originated in the CPAN modules included in Perl's core. We're grateful to the entire CPAN community for helping Perl to flourish.
For a more complete list of all of Perl's historical contributors, please see the AUTHORS file in the Perl source distribution.
We expect to release Perl 5.16.1 on or around June 20, 2012, addressing significant bugs found after this release. The 5.17 development branch will open shortly, and a 5.17.0 release will follow within the month, with regular monthly releases following on the 20th of each month. The next major stable release of Perl 5, version 5.18.0, should appear in May 2013.


“It's not hard to make decisions when you know what your values are.” ― Roy Disney
8/1/2015
I learned a lot about myself through this week's topic. I feel as though I've always known what I consider important in my life but I've never had to put it into words. Although I feel as though I connect with a lot of the values, thinking about the times when I was the happiest and the times when I was upset, it becomes pretty clear what my most important values are.
I grew up in a house where academic achievement was priority. When I think about my youth, I mostly recall being sent to afterschool programs or tutoring sessions even when money was tight. Also, I have an older brother who always excelled academically and seemingly effortlessly. So when I look at my own average academica achievements, I have always felt inferior. So although it does not bring me happiness, achievement has always been apart of my life. Achievement would be one of my values that I feel sometimes ties me down.
I've always found that when I am with friends, everything can seem fun. Just a late night playing videogames would become a memory that I cherish. I also remember a time where I was stressed about an assignment in school to the point of tears and my friend being there to calm me down. She had made me realize that school wasn't my entire life even though it seemed so at the time. I suppose I have always felt that no matter what is happening in my life, good/bad, I can always share with my friends and grow from it. Friendship is one of my most important values.
When I entered the workforce and felt as though I gained some independence, I quickly realized how much I valued responsibility and honesty. If something goes wrong, I feel as though whoever was involved should own up to it. It's the same when something goes right. Credit should be given where credit is due. I had felt a responsibilty to perform up to my position expectations. I have always taken my work seriously.
I realize that DBC is going to be stressful and there will be topics that I will not understand right away. Although this will bring me down, I know I will be able to rely on my friends for support and myself to put in the time and effort to get on track. I feel as though DBC has created an honest environment. Even though I feel nervous when exposing my weaknesses, I can still share them with my cohorts. Now that the onsite portion of DBC is only 2 weeks away, my nervousness is slowly being overshadowed by my excitement.


Do the following:
[RWS92A] Firstname Lastname RJ1Replace "firstname" and "lastname" with your own!
The reading journal is another tool, like the charts and summaries, that can be used to help you to remember and paraphrase readings during an essay exam.
Think of it as finding a way to spend time with the reading in a meaningful way. You can focus on any aspect of the reading: how it makes you feel, the quality of the argument, the paragraph structure, sentence structure. You could even grade it like we grade our essays.
It is important to stay close to the text though! Try not to go off on long tangents.
Below is an example of a reading journal that I'll do on the first essay we read about rap, just for both of us to get an idea of how this might work.
Anything goes in the reading journal (at least this one--others are more formal). Quote or not quote. Spell how you like--just write and think, and feel.  I think of rap as a sort of poetry. I've seen black people in the Subways of NYC jamming in the air rap songs. They seem far more alive than most of the whites... but at the same time I definitely feel like keeping my distance from the guy speaking forcefully, even angrily.
I really don't know much about the negative aspects of rap. . . There is the whole machismo thing.  Though many rappres (usher?) are muscly. But what if they are glorifying violence and drug use and objectification of women? I don't really know what to say about that.
1811 In Jones' article, he makes the case that Rap had or has many positive characteristics that were corrupted by the recording industry. I think.
He says "Rap music was the CNN for the poor and working-class blacks in America. Songs such as 'The Message' and 'Fight the Power' Raised the conscience levels of people and the need for social change in America" (146). . . I have heard "Fight the Power". I'm not sure "CNN" is really the best analogy. . . because CNN . . . well is just mainstream media. He wrote this in 2002. Not sure what other example he could use.
Then, he says "greedy, out-of-touch . . . execs took control of the art" making materialism the priority. Well this sounds a bit far-fetched. I don't think his sentence makes sense either. I know what he means to say.
Jones says we listen to music "Because it makes us feel emotions such as joy, sadness, motivation, or even relaxation." Hard to imagine relaxing to rap music. I cannot understand how people walk around jacked to their headfones all the time.  Not to mention the cars with massive bass. . .
1822 So, it affects the soul of an individual--Ha ha! Someone with headphones- a black woman, just walked into the room with her music on. . . rap it sounded like. She did turn it off now.-- I do think it affects the soul of the individual.... I don't listen to it.
Jones says he thought many things were good because because he saw images of them over and over again. . . like gang banging.  I hope he didn't see -- and here it is in the dictionary!
1.  2.  4. to belong to or participate in the activities of a violent street gang. -v.t. 5. to subject to a gangbang.
 Or just "participating in the activities of a violent street gang".
Either way, I don't quite buy what he's saying. I see cars all around me, and I think they're evil. Same with smokers. Well.
He says rappres admit to committing crimes on their records, thus promoting crime. I buy that. Earlier: "Blacks in America have many concerns such as police brutality, entrepreneurship, reparations, election reform, emplayment, uality health care, and quality education." and that the art form should reflect that. He sounds rather idealistic. I don't think I'd sing about that. . . I Like what Erinreich says on this better: "This is black anger-- raw, rude, and cruel"
I can relate to that anger. I shure don't seee myself singing about health care. What is this guy on?
1833 Jones says Record execs . . . don't want the positive images because they interfere with the millions they make off the deluded black young rappers. Seems possible. And some rappers sayd they were forcedto portray neg. images??? Forced??
And now he wants us to email and write letters to the execs, and not buy the violent songs?
Well alright-- I'm stopping here 1837 after about 30 min. . . but I think you get the idea. Spend time with the piece-- see what it makes you think, feel. Write that down. Have fun writing on terrorism!! The idea is, when you have to write an argument in class without the essay in front of you--you'll remember much more of it having done a journal. Furthermore, at least for me, while I like writing journals, I'd hate to make myself make a chart of plusses and minuses or even a summary. . . And what you can't get yourself to do won't help you at all. If you visit my ENGL 522 page, you'll see something related to this I came up with to help me spend time with the readings for that class. It is up to you!


Ocean [ao49], ocean, in The Inner Sea ------------------------------------------------------------------------ 3: It has become quite foggy. Routes leaving Ocean: North, to Ocean [an49], 6 days East, to Ocean [ao50], 6 days South, to Ocean [ap49], 6 days West, to Ocean [ao48], 6 days The province is blanketed in fog. No one can be seen through the fog.


Thanks to the incredible work of community member Martijn Boland we're happy to announce preliminary support for Webpack!
Aurelia support for Webpack has been a long-time request. However, our core team is most experienced with system.js, require.js and dojo (loaders that Aurelia already supported). We had hoped that someone from the community who was passionate about Webpack would step up to help us add it as an option. After much discussion over approaches, Martijn Boland stepped up to put together several key components:
These key pieces were then assembled into a new skeleton project for those who want to use Aurelia and Webpack. It's available along with our other skeletons .
Now that the base code for Webpack support has been created, we're looking for some members from the community that are enthusiastic about Webpack and are interested in helping us to take our skeleton and plugins and continue to improve them. If that describes you, we'd love for you to check out the repos linked above as well as the new skeleton. We'd be happy to work with you through pull requests to continue to enhance our support for the Webpack community going forward.
Thanks again to Martijn for kicking this off. We look forward to working with more of you in the future to take this to the next level.


|
Panda3D
|
This class represents a map containing all of the buttons of a (keyboard) device, though it can also be used as a generic mapping between ButtonHandles. More...
Public Member Functions | |
| __init__ () | |
| __init__ (const ButtonMap) | |
| ButtonHandle | getMappedButton (ButtonHandle raw) |
| Returns the button that the given button is mapped to, or ButtonHandle::none() if this map does not specify a mapped button for the given raw button. More... | |
| ButtonHandle | getMappedButton (int i) |
| Returns the nth mapped button, meaning the button that the nth raw button is mapped to. More... | |
| ButtonHandle | getMappedButton (str raw_name) |
| Returns the button that the given button is mapped to, or ButtonHandle::none() if this map does not specify a mapped button for the given raw button. More... | |
| str | getMappedButtonLabel (ButtonHandle raw) |
| If the button map specifies a special name for the button (eg. More... | |
| str | getMappedButtonLabel (int i) |
| Returns the label associated with the nth mapped button, meaning the button that the nth raw button is mapped to. More... | |
| str | getMappedButtonLabel (str raw_name) |
| If the button map specifies a special name for the button (eg. More... | |
| int | getNumButtons () |
| Returns the number of buttons that this button mapping specifies. More... | |
| ButtonHandle | getRawButton (int i) |
| Returns the underlying raw button associated with the nth button. More... | |
| output (Ostream out) | |
| write (Ostream out, int indent_level) | |
| Public Member Functions inherited from TypedObject | |
| TypeHandle | getType () |
| int | getTypeIndex () |
| Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
| bool | isExactType (TypeHandle handle) |
| Returns true if the current object is the indicated type exactly. More... | |
| bool | isOfType (TypeHandle handle) |
| Returns true if the current object is or derives from the indicated type. More... | |
| Public Member Functions inherited from ReferenceCount | |
| int | getRefCount () |
| Returns the current reference count. More... | |
| ref () | |
| Explicitly increments the reference count. More... | |
| bool | testRefCountIntegrity () |
| Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
| bool | testRefCountNonzero () |
| Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
| bool | unref () |
| Explicitly decrements the reference count. More... | |
Static Public Member Functions | |
| static TypeHandle | getClassType () |
| Static Public Member Functions inherited from TypedReferenceCount | |
| static TypeHandle | getClassType () |
| Static Public Member Functions inherited from TypedObject | |
| static TypeHandle | getClassType () |
| Static Public Member Functions inherited from ReferenceCount | |
| static TypeHandle | getClassType () |
Additional Inherited Members | |
| Public Attributes inherited from TypedObject | |
| TypeHandle | type |
| Returns the TypeHandle representing this object's type. More... | |
| Public Attributes inherited from ReferenceCount | |
| int | ref_count |
| The current reference count. More... | |
This class represents a map containing all of the buttons of a (keyboard) device, though it can also be used as a generic mapping between ButtonHandles.
It maps an underlying 'raw' button to a 'virtual' button, which may optionally be associated with an appropriate platform-specific name for the button.
| __init__ | ( | ) |
| __init__ | ( | const | ButtonMap | ) |
|
static |
| ButtonHandle getMappedButton | ( | ButtonHandle | raw | ) |
Returns the button that the given button is mapped to, or ButtonHandle::none() if this map does not specify a mapped button for the given raw button.
| ButtonHandle getMappedButton | ( | int | i | ) |
Returns the nth mapped button, meaning the button that the nth raw button is mapped to.
| ButtonHandle getMappedButton | ( | str | raw_name | ) |
Returns the button that the given button is mapped to, or ButtonHandle::none() if this map does not specify a mapped button for the given raw button.
| str getMappedButtonLabel | ( | ButtonHandle | raw | ) |
If the button map specifies a special name for the button (eg.
if the operating system or keyboard device has a localized name describing the key), returns it, or the empty string otherwise.
Note that this is not the same as get_mapped_button().get_name(), which returns the name of the Panda event associated with the button.
| str getMappedButtonLabel | ( | int | i | ) |
Returns the label associated with the nth mapped button, meaning the button that the nth raw button is mapped to.
| str getMappedButtonLabel | ( | str | raw_name | ) |
If the button map specifies a special name for the button (eg.
if the operating system or keyboard device has a localized name describing the key), returns it, or the empty string otherwise.
Note that this is not the same as get_mapped_button().get_name(), which returns the name of the Panda event associated with the button.
| int getNumButtons | ( | ) |
Returns the number of buttons that this button mapping specifies.
| ButtonHandle getRawButton | ( | int | i | ) |
Returns the underlying raw button associated with the nth button.
| output | ( | Ostream | out | ) |
| write | ( | Ostream | out, |
| int | indent_level | ||
| ) |


Date: 15 March
Mindfulness Conversation
In some ways it is hard to sit and listen with intent. It is a practive we used to do in my old job, for business develpoment. Removing yourself from a conversation sounds easy, but sometimes, another person expects more from you. They expect you to engage with more than nodding and agreement. Still, the experience was very enjoyable. Having a friend talk with you is always nice!
'Active listening' with intent, and without being constantly driven to say something is an excellent skill. Too often we are fooled in to thinking 'now it's my turn to say something', when actually you don't need to say anything at all.
My Practice Techniques
I'm not sure which or how I will put the learnings from this chapter in to practice. I didn't quite appreciate the chapter as much as previous ones to be honest.


Project Description
Cloudata is Distributed Large scale Structured Data Storage, and open source project implementing Google's Bigtable.
- Database management system. but not support relational data
model.
- Scalibility: can store more than Peta bytes.
- Reliability
- Low Cost, High performance: Use commodity hardware
- Easy, fast data analysis: MapReduce
- Abstract FileSystem: Supports various FileSystem(default
FileSystem is Hadoop FileSystem)
Features
Cloudata has the following features.
- Basic data service
- Single row operation(get, put)
- Multi row operation(like, between, scanner)
- Data uploader(DirectUploader)
- MapReduce(TabletInputFormat)
- Simple cloudata query and supports JDBC driver
- Table Management
- split
- distribution
- compaction
- Utility
- Web based Monitor
- CLI Shell
- Failover
- Master failover
- TabletServer failover
- Change log Server
- Reliable fast appendable change log server
- Support language
- Java, RESTful API, Thrift
Contact
For more information or question send mail to<EMAIL_ADDRESS>or mailing<EMAIL_ADDRESS>Google groups home: http://groups.google.com/group/opencloudata


Blog Posts
{% for post in site.posts %}
- {{ post.date | date_to_string }} » {{ post.title }}
{% endfor %}
Free Projects
- lisqp: A Common Lisp quantum library and quantum emulator.
- minux: A real-time OS with POSIX API.
- cl-cs: A Common Lisp Compressed Sensing utility package.
- cl-hmm: A Common Lisp HMM package.
- ccons: A interactive C console exported from ccons.
- texonomy-backend: Backend of texonomy, an online tex symbol recognition project.
- texonomy-frontend: Frontend of texonomy.
- cl-cat: Category level abstraction of Common Lisp.
- lesp: Ecma-script 6 interpreter in Common Lisp.
- brainluck: Brainfuck interpreter in Common Lisp.
- Augustus's brand new mind: This blog.
About Me
I'm nothing special, human being.
Fields interested: Category Theory, Topos, Operad Theory, Non-commutative Geometry, Quantum Computation, Topological Quantum Field Theory, Ricci Flow, et cetera...
Languages interested: 中文, English, Deutsch, Português, Español, Русский, עברית, Latim, Euskara, Nahuatl, Yucatecan, Suomi, Svenska, Français, et cetera...


Vastu guidelines for selecting the plotPlots with irregular shapes must be avoided. Preference should be given to plots with a rectangular and square shape. These are auspicious from the point of Vastu and are said to bring prosperity and happiness.* Shapes to be avoided: Circular shape, oval shape plot, semi-circular shape plot Below are generally referred as best Vastu compliant plots / sites. # When the incoming road is from the east and hits the northeast part of the plot. # When the incoming road is from the north and hits the northeast part of the plot. # When the incoming road is from the West and hits the North- West part of the plot. # When the incoming road is from the South and hits the South- East part of the plot. |
East facing plot - Below design can be adopted to harness positive energy |


Members
(constant) mongoose
Combines SuperTest and Mongoose Memory Server
to reduce (hopefully) the pain of
testing a Mongoose API
- Source:
Methods
createNew(request, response)
Creates a new record to the db
Parameters:
| Name | Type | Description |
|---|---|---|
request |
* | |
response |
* |
- Source:
Returns:
the query
error404(request, response, next)
catches any invalid routes and returns 404
Parameters:
| Name | Type | Description |
|---|---|---|
request |
* | |
response |
* | |
next |
* |
- Source:
errorHandler(error, request, response, next)
handles errors
Parameters:
| Name | Type | Description |
|---|---|---|
error |
* | |
request |
* | |
response |
* | |
next |
* |
- Source:
getData(request, response)
Queries database by request's ID query
Parameters:
| Name | Type | Description |
|---|---|---|
request |
* | |
response |
* |
- Source:
Returns:
record by ID or all records if no ID
modelLoader(request, response, next)
bridges the route with the model schema needed
adds a model property to the request object that can be used by CRUD functions after this
Parameters:
| Name | Type | Description |
|---|---|---|
request |
* | |
response |
* | |
next |
* |
- Source:
putHandler(request, response)
checks request method = put and if parameters exist and if request query id exists
if param request = update or delete, passes control to those functions
Parameters:
| Name | Type | Description |
|---|---|---|
request |
* | |
response |
* |
- Source:
Returns:
the return from either update or remove functions
remove(request, response)
Removes a record by request query ID
Parameters:
| Name | Type | Description |
|---|---|---|
request |
* | |
response |
* |
- Source:
Returns:
the deleted item
requestInfo(request, response, next)
console logs data from the request object for all requests to server
Parameters:
| Name | Type | Description |
|---|---|---|
request |
* | |
response |
* | |
next |
* |
- Source:
update(request, response)
Takes request query ID and updates with an updated property passed in the request body
Parameters:
| Name | Type | Description |
|---|---|---|
request |
* | |
response |
* |
- Source:
Returns:
the updated record


About
References
Query Data
BenchSci Take-Home Test
References
Jay's blog post on setting up Flask
Mbithe's blog post on Flask
Basic setup
My friend for pointing me in the direction of Azure and its free credit for students


The ten historical episodes covered in detail in the research were:
the railway boom in Britain, from the 1840s onwards
the early railroad industry in the United States
the development of the automobile industry
the story of the discovery of electric light and its commercial exploitation
the discovery and early development of crude oil
the emergence of the telegraph business
the early history of wireless, radio and TV
IBM and the growth of the computer industry
the PC battles of the 1980s
the Internet and the dot-com bubble of the 1990s and beyond.
Most of these episodes tended to be associated with just one or two successful companies – Western Union in the telegraph business, GE in lighting, Ford and GM in the automobile industry, IBM in computers, Microsoft in the software business. Yet the eventual success of these companies was far from a foregone conclusion. For every company that built an enduring market position, there were hundreds of others who tried to do the same thing – and failed.
In many cases, reconstructing the economic and share price performance of the leading companies involved proved a full-time piece of research in itself. Simply finding and collecting the information was a task which absorbed a huge amount of time. I hope that readers find the graphs that show the earnings growth, return on capital and share price performance of some of the great technological pioneers of the past instructive. I tried to keep the analysis simple and such that comparisons could be made between different time periods and different industries. I did not spend a huge amount of time going into detailed valuation work, partly because of the space it would have absorbed, but mostly because the simple graphs were sufficient to tell the story on their own.


Early Years :
Jordan was born in Brooklyn, New York, to Deloris (née Peoples), who worked in banking, and James R. Jordan, Sr., an equipment supervisor. His family moved to Wilmington, North Carolina, when he was a toddler.
Jordan is the fourth of five children. He has two older brothers, Larry Jordan and James R. Jordan, Jr., one older sister, Deloris, and a younger sister, Roslyn. Jordan's brother James retired in 2006 as the Command Sergeant Major of the 35th Signal Brigade of the XVIII Airborne Corps in the U.S. Army. |
|


As the Top Editor of Graphics, I am responsible for the entire graphics section for both the print and online versions of the Bruin. I oversee the work of 13 contributors and supervise the scheduling of all standalone content. I organize the team and lead meetings where we ideate and assign standalone pieces. I provide ongoing technical and design training for the team and work closely with other top editors on our print issue everyday. I have also been integral in establishing the best collaborative processes between departments for improved work flow and faster turn around times. Being a daily publication, meeting immediate deadlines and adapting to changing requirements are essential, and I learned quickly how to think on my feet.
I have created many graphics and I lead teams to design standalone pieces. I create illustrations, layout designs, and research graphic topics. Below are just a few examples of the graphics I have produced.


This tiny tool was put together by Jonathan May and the team at Hubbub Fundraising. We see thousands of organisations spend years writing amazing case for support documents. And then, when that beautiful copy gets translated into mail, email, social and web copy, it can easily get massacred.
Let's face it, writing great fundraising copy is really hard. But it needn't be quite so difficult if you follow a few simple rules.
Credit must go where it is due. The idea was heavily inspired by the original Hemingway App, and the work on this tool in particular was founded on the excellent work done by Sam Williams.
If you like this, please do get in touch with the humans that built it.


@esfx/collection-core Package
Provides a low-level Symbol-based API for defining common collection behaviors.
Installation
npm i @esfx/collection-core
Usage
import { Collection } from "@esfx/collection-core";
class MyCollection<T> {
private _items = new Set<T>();
// Your implementation
get count() {
return this._items.size;
}
contains(value: T) {
return this._items.has(value);
}
add(value: T) {
this._items.add(value);
}
remove(value: T) {
return this._items.delete(value);
}
clear() {
this._items.clear();
}
// Implement the `Collection` interface for cross-library consistency
get [Collection.size]() { return this.count; }
[Collection.has](value: T) { return this.contains(value); }
[Collection.add](value: T) { this.add(value); }
[Collection.delete](value: T) { return this.remove(value); }
[Collection.clear]() { this.clear(); }
[Symbol.iterator]() { return this._items.values(); }
}
Interfaces
Collection<T>
A Collection<T> describes a collection object, such as an Array or Set, that can contain other values, has a known size, and may have its contents modified.
Container<T>
A Container<T> describes a container object that can contain other values and may have its contents modified.
FixedSizeIndexedCollection<T>
IndexedCollection<T>
KeyedCollection<K, V>
KeyedContainer<K, V>
KeyedMultiCollection<K, V>
ReadonlyCollection<T>
A ReadonlyCollection<T> describes a collection object, such as an Array or Set, that can contain other values and has a known size.
ReadonlyContainer<T>
A ReadonlyContainer<T> describes a container object, such as an Array, Set, or WeakSet, that can contain other values.
ReadonlyIndexedCollection<T>
A ReadonlyIndexedCollection<T> describes an indexed collection object, such as an Array, that can contain other values, has a known size, and whose elements can be accessed by ordinal index.
ReadonlyKeyedCollection<K, V>
A ReadonlyKeyedCollection<K, V> describes a keyed collection object, such as a Map, that can contain other values, has a known size, and whose elements can be accessed by key.
ReadonlyKeyedContainer<K, V>
A ReadonlyKeyedContainer<K, V> describes a keyed container object, such as a Map or WeakMap, that can contain other values and whose elements can be accessed by key.
ReadonlyKeyedMultiCollection<K, V>
A ReadonlyKeyedMultiCollection<K, V> describes a keyed collection object that can contain other values, has a known size, and whose elements can be accessed by key, where each key can represent one or more elements.


Additional remarks for SMSHourItems
This service retrieves the hour items from target Globe division via Synergy.


[gecode-users] probabilistic choice process
Mauricio Toro
mauriciotorob at gmail.com
Mon Jun 9 23:45:29 CEST 2008
Hello all,
I am trying to write something in Gecode, which could
be a propagator, with this semantic:
when <boolean_var1, boolean_var2, ... boolean_varn> do <something with those
who are assigned to true>
I know, it seems difficult. But, any ideas are welcome.
It will be used to implement an interpreter for a probabilistic CCP
calculus.
Thanks !
Mauricio
--
Mauricio Toro Bermudez
Estudiante de Ingeniería de Sistemas
Pontificia Universidad Javeriana, Colombia
Stagiare à l'Ircam
1, place Igor-Stravinsky 75004 Paris,
France de 2008 à 2009
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ps.uni-sb.de/pipermail/users/attachments/20080609/fe31f859/attachment.htm>
More information about the gecode-users
mailing list


| Interface | Description |
|---|---|
| ComparisonController |
Callback interface used by DifferenceEngine to determine whether to halt the
node-by-node comparison of two pieces of XML
|
| DifferenceConstants |
Constants for describing differences between DOM Nodes.
|
| DifferenceListener |
Listener for callbacks from a
DifferenceEngine comparison . |
| ElementQualifier |
Interface used by the DifferenceEngine class to determine which elements can
be compared within a NodeList of child nodes.
|
| MatchTracker |
Listener for callbacks from a
DifferenceEngine comparison that is notified on each and every
comparision that resulted in a match. |
| NamespaceContext |
Interface used by XpathEngine in order to map prefixes to namespace URIs.
|
| NodeTester |
Perform Node-by-Node validation of a DOM Document.
|
| XMLConstants |
A convenient place to hang constants relating to general XML usage
|
| XpathEngine |
Abstraction of an engine evaluating XPath expressions.
|
| XSLTConstants |
A convenient place to hang constants relating to XSL transformations
|
| Class | Description |
|---|---|
| AbstractNodeTester |
Helper class.
|
| CountingNodeTester | Deprecated
Use
CountingNodeTester instead. |
| DetailedDiff |
Compares and describes all the differences between two XML documents.
|
| Diff |
Compares and describes any difference between XML documents.
|
| Difference |
Value object that describes a difference between DOM Nodes using one of
the DifferenceConstants ID values and a NodeDetail instance.
|
| DifferenceEngine |
Class that has responsibility for comparing Nodes and notifying a
DifferenceListener of any differences or dissimilarities that are found.
|
| DoctypeInputStream |
Adapts the marked-up content in a source InputStream to specify that it
conforms to a different DTD.
|
| DoctypeReader |
Adapts the marked-up content in a source Reader to specify that it
conforms to a different DTD.
|
| ElementNameAndAttributeQualifier |
More complex interface implementation that tests two elements for tag name
and attribute name comparability.
|
| ElementNameAndTextQualifier |
More complex interface implementation that tests two elements for tag name
and text content comparability.
|
| ElementNameQualifier |
Simple interface implementation that tests two elements for name
comparability.
|
| HTMLDocumentBuilder |
Build a DOM document from HTML content converting from 'plain' HTML into
'XHTML' along the way with the help of a TolerantSaxDocumentBuilder and
the Swing html parser classes.
|
| IgnoreTextAndAttributeValuesDifferenceListener |
Class to use when performing a Diff that only compares the
structure of 2 pieces of XML, i.e.
|
| JAXPConstants |
Utility constant class for JAXP-defined constants.
|
| JAXPConstants.Properties |
Utility constant class for JAXP Properties, typically used with
XMLReader#setProperty(String, Object) . |
| NodeDescriptor |
Class for describing Nodes
|
| NodeDetail |
Parameter class for holding information about a
Node within
a Difference instance |
| NodeInputStream |
Adapter class to present the content of a DOM Node (e.g.
|
| NodeTest |
Encapsulation of the Node-by-Node testing of a DOM Document
Uses a nodetype-specific
NodeFilter to pass the DOM Nodes
to a NodeTester instance that performs the acual Node validation. |
| QualifiedName |
Since javax.xml.namespace.QName is not present prior to Java5, this
is XMLUnit's own abstraction.
|
| SimpleNamespaceContext |
Implementation of NamespaceContext that's backed by a map.
|
| SimpleXpathEngine |
Simple class for accessing the Nodes matched by an Xpath expression, or
evaluating the String value of an Xpath expression.
|
| TolerantSaxDocumentBuilder |
Uses Sax events from the
ContentHandler and
LexicalHandler interfaces to build a DOM document in a tolerant
fashion -- it can cope with start tags without end tags, and end tags without
start tags for example. |
| Transform |
Handy wrapper for an XSLT transformation performed using JAXP/Trax.
|
| Validator |
Validates XML against its internal or external DOCTYPE, or a completely
different DOCTYPE.
|
| XMLAssert |
Collection of static methods so that XML assertion facilities are available
in any class, not just test suites.
|
| XMLTestCase |
JUnit TestCase subclass: extend this to add XML assertion facilities to your
test suites.
|
| XMLUnit |
Allows access to project control parameters such as which Parser to use and
provides some convenience methods for building Documents from Strings etc.
|
| XpathNodeTracker |
Tracks Nodes visited by the DifferenceEngine and
converts that information into an Xpath-String to supply
to the NodeDetail of a Difference instance
|
| Exception | Description |
|---|---|
| DifferenceEngine.DifferenceFoundException |
Marker exception thrown by the protected compare() method and passed
upwards through the call stack to the public compare() method.
|
| NodeTestException |
Thrown by a NodeTest that fails.
|


Verifying all GlideinWMS services are communicating.
One mean of verifying that all the GlideinWMS services are commnunicating correctly is to perform the following on the User Pool (Collector).
> source CONDOR_LOCATION/condor.shOne exception is the communcation between the Frontend and the User Submit/Schedd services. This is one area of failure this check does not cover.
> condor_status -any -pool NODE:PORT (of the User Pool)
MyType TargetType Name . 1.The DaemonMaster, Negotiator and Collector types indicate the User Pool services are running.
2.The number of Scheduler types should equal the number of schedds you specified for the Submit service.
3.The glideresource indicates the VO Frontend is talking to the WMS Pool/Factory and the User Pool. NOTE: You do require at least one entry point in the Factory for this to show.Scheduler None cms-xen21.fnal.gov DaemonMaster None cms-xen21.fnal.gov Negotiator None cms-xen21.fnal.gov Collector None<EMAIL_ADDRESS>glideresource None ress_ITB_INSTALL_TEST@same_node Scheduler None<EMAIL_ADDRESS>General Issues
This section contains tips and troubles relevant to all phases of a job's execution. Also see the user tutorials with example job submissions for VO Frontends.
Authentication Issues
Many GlideinWMS issues are caused by authentication. Make sure that your proxy and
certificate are correct. Each process needs a proxy/cert that is owned by that user.
Also, make sure that this cert has authorization to run a job by running a command such as
(all on one line - NOTE: You need to have globus-gram-client-tools installed):
X509_USER_PROXY=/tmp/x509up_u<UID> globus-job-run -a -r <gatekeeper in Factory config>Note that /tmp/x509up_u<UID> is the typical location for x509/kerberos proxy certificates, but use the proper location if the place of your server certificate varies.
Wrong condor.sh sourced
Always source the correct condor.sh before running any commands.
Many problems are caused are by using the wrong path/environment,
(for instance, sourcing the User Pool condor.sh then running WMS Pool Collector commands).
Run "which condor_q" to see if your path is correct.
Note: If you are using OSG Client installed via tarball and source the setup.sh
(e.g. for voms-proxy-init),
this may change your path/environment, and you may need to run condor.sh again.
Failed to talk to factory_pool (WMS Pool Collector)
This is a failure to communicate with the WMS Pool (Collector) and Factory services.
Symptoms: Many
Useful files:
In the GLIDEINWMS_VOFRONTEND_HOME/log/*/group_main/frontend.*.info.log:[2011-09-21T13:54:04-05:00 3859] WARNING: Failed to talk to factory_pool cms-xen21.fnal.gov:9618. See debug log for more details.
In the GLIDEINWMS_VOFRONTEND_HOME/log/*/group_main/frontend.*.debug.log:[2011-09-21T13:54:04-05:00 3859] Failed to talk to factory_pool cms-xen21.fnal.gov:9618:
Error running '/usr/local2/glideins/git-same-condor-v2plus.ini/condor-frontend/bin/condor_status
... (more traceback)
code 1:Error: communication error
CEDAR:6001:Failed to connect to <<IP_ADDRESS>:9618> Error: Couldn't contact the condor_collector on cms-xen21.fnal.gov (<<IP_ADDRESS>:9618>).
Debugging Steps:
- Verify the WMS Pool is running.
- Verify the IP/NODE is correct for the WMS Pool.
If it is incorrect, the frontend.xml should be corrected and a Frontend reconfig executed.<frontend .... >
<match .... > <factory .... > <collectors>
<collector node="cms-xen21.fnal.gov:9618"/> ... This one. This is WMS Pool
</collectors> </factory> </match .... >
<collectors>
<collector ... node="cms-xen21.fnal.gov:9640"/> ... Not this one. This is User Pool
</collectors>
</frontend>
- If you have access to the WMS Pool, check the ALLOW/DENY
configuration in its condor_config.
- Another reason for failure is a GSI authentication error (aka permission
denied) error occuring on the WMS Collector.
If you have access to the Condor log files for that service, check the MasterLog and CollectorLog for authentication errors. The VOFrontend's proxy (proxy_DN) must be in the CONDOR_LOCATION/certs/condor_mapfile of the WMS Collectors to allow classads to be published.<frontend .... >
<security classad_proxy="VOFRONTEND PROXY" proxy_DN="VOFRONTEND PROXY ISSUER"... />
</frontend>
Failure to talk to collector (User Pool)
This is a failure to communicate with the User Pool Collector service. This does not affect the ability to submit and run jobs.
Symptoms: Many
Useful files:
In the GLIDEINWMS_VOFRONTEND_HOME/log/*/group_main/frontend.*.info.log:[2011-09-20T13:51:25-05:00 4619] WARNING: Failed to talk to collector. See debug log for more details.
In the GLIDEINWMS_VOFRONTEND_HOME/log/*/group_main/frontend.*.debug.log:
[2011-09-20T13:51:25-05:00 2994] WARNING: Exception in jobs. See debug log for more details.[2011-09-20T13:51:25-05:00 4619] Failed to talk to collector:
Error running '/usr/local2/glideins/git-same-condor-v2plus.ini/condor-frontend/bin/condor_status
... (more traceback)
code 1:Error: communication error
CEDAR:6001:Failed to connect to <<IP_ADDRESS>:9640>
Debugging Steps:
- Verify the User Pool is running.
- Verify the IP/NODE is correct for the User Pool.
If it is incorrect, the frontend.xml should be corrected and a Frontend reconfig executed.<frontend .... >
<match .... > <factory .... > <collectors>
<collector ... node="cms-xen21.fnal.gov:9618"/> ... Not this one. This is WMS Pool
</collectors> </factory> </match .... >
<collectors>
<collector node="cms-xen21.fnal.gov:9640" .. /> ... This one. This is User Pool
</collectors>
</frontend>
- If you have access to the User Pool, check the ALLOW/DENY configuration in its condor_config.
- Another reason for failure is a GSI authentication error (aka permission
denied) error occuring on the User Pool. If you have access to the
HTCondor log files for that service, check the MasterLog and CollectorLog for
authentication errors.
The VOFrontend's proxy (proxy_DN) must be in the
CONDOR_LOCATION/certs/condor_mapfile, of both collectors, to allow classads to be
published.
<frontend .... >
<security classad_proxy="VOFRONTEND PROXY" proxy_DN="VOFRONTEND PROXY ISSUER"... />
</frontend>
Problems submitting your job
Symptoms: Error submitting user jobUseful files: GLIDEINWMS_USERSCHEDD_HOME/condor_local/logs/SchedLog
Debugging Steps:
If you encounter errors submitting your job using condor_submit, the error messages printed on the screen will be useful in identifying potential problems. Occasionally, you can additional information in the condor schedd logs.
Always make sure that you have sourced the condor.sh and that the path and environment is correct.
source $GLIDEINWMS_USERSCHEDD_HOME/condor.shBased on the actual condor scheduler, you can find scheduler logfile, SchedLog, in one of the sub directories of directory listed by “condor_config_val local_dir”
If you are installing all services on one machine (not recommended but sometimes useful for testing) make sure that the user collector and wms collector are on two different ports (such as 9618 and 8618). You can do "ps -ef" to see if the processes are started (should be multiple condor_masters, condor_schedds and condor_procd for each machine). Make sure they are running as the proper users (user schedd should be probably be run as root.).
Also refer to the Collector install for verification steps.
User Jobs Stay Idle
Symptoms:User job stays idle and there are no glideins submitted that correspond to your job.This step involves the interaction of the VO Frontend, the WMS Factory and the Glideins. Hence, there are two separate facilities to see why no glideins are being created. See the Factory Troubleshooting page if none of suggestions below help.
Frontend unable to map your job to any entry point
Symptoms: User job stays idle and there is no information in the Frontend logs about glideins required to run your job.Useful files: GLIDEINWMS_VOFRONTEND_HOME/log/*
GLIDEINWMS_VOFRONTEND_HOME/group_<GROUP_NAME>/log/*
Debugging Steps:
Check if the VO Frontend is running. If not start it.
Glidein Frontend processes periodically query for user jobs in the user schedd. Once you have submitted the job, the VO Frontend should notice it during its next quering cycle. Once the Frontend identifies potential entry points that can run your job, it will reflect this information in the glideclient classad in WMS Pool collector for that corresponding entry point. You can find this information by running “condor_status -any -pool <wms collector fqdn>”
Check for error messages in logs located in GLIDEINWMS_VOFRONTEND_HOME/log. Assuming that you have named Frontend main group as “main”, check the log files in GLIDEINWMS_VOFRONTEND_HOME/group_main/log.
[2009-12-07T15:16:25-05:00 12398] For ress_GRATIA_TEST_31@v1_0<EMAIL_ADDRESS>Idle 19 (effective 19 old 19) Running 0 (max 10000)You should notice something like above in the logs corresponding to your job. If the Frontend does not identify any entry that can run your job, then either the the desired entry is not configured in the glidein Factory or the requirements you have expressed in your jobs are not correct.
[2009-12-07T15:16:25-05:00 12398] Glideins for ress_GRATIA_TEST_31@v1_0<EMAIL_ADDRESS>Total 0 Idle 0 Running 0
[2009-12-07T15:16:25-05:00 12398] Advertize ress_GRATIA_TEST_31@v1_0<EMAIL_ADDRESS>Request idle 11 max_run 22
Also, check the security classad to make sure the proxy/cert for the Frontend is correct. It should be chmod 600 and owned by the Frontend user.
If using VOMS, try to query the information to verify:
X509_USER_PROXY=<vofronted_proxy_location> voms-proxy-info.
The symptoms of this issue are a break in communication between the VO Frontend and the Factory. In this case, the problem may also be a problem with the Factory. See the Factory Troubleshooting guide for more details.
Found an untrusted Factory
Symptoms: You will receive an error similar to:info log:Debugging Steps:
[2010-09-29T09:07:24-05:00 26824] WARNING: Found an untrusted Factory ress_ITB_GRATIA_TEST_2@v2_4_3@factory_service at cms-xen21.fnal.gov; ignoring.
debug log:
[2010-09-29T09:07:24-05:00 26824] Found an untrusted Factory ress_ITB_GRATIA_TEST_2@v2_4_3@factory_service at cms-xen21.fnal.gov; identity mismatch ' weigand<EMAIL_ADDRESS>'
Verify the Frontend config:
<frontend > <collector ... factory_identity="...">
The Frontend config's security element security_name attribute does not match the Factory config's Frontend element name attribute.
You can find the authenticated identity by:
condor_status -collector >WMSCollector_node:port> -long |grep -i AuthenticatedIdentity |sort -u
Frontend Web server down or unreachable
Symptoms: Glideins do not report. Everything seems OK, no special error visible in the Frontend. Errors would be visible in the Glidein logs, in the Facotry Debugging Steps:It is worth to test quickly the Web server. It serves both the monitoring pages and the stage area used by the Glideins. Check that the following pages are available (the staging area should be available from everywhere Glideins are running, so check the pages also from outside the Firewall):
- monitoring pages: http://FRONTEND_HOST_NAME/vofrontend/monitor/
- staging area (most files have a hash in the file name): http://FRONTEND_HOST_NAME/vofrontend/stage/nodes.blacklist
Administrative tools
GlideinWMS comes with a set of administrative tools that you can use when troubleshooting problems.
All tools are located in a common area:
glideinwms/frontend/tools
There are two tools that can be used to talk to the glideins:
- fetch_glidein_log - This tool will fetch the log from a glidein. It is a wrapper around condor_fetchlog.
- glidein_off - This tool will turn off one or more glideins. It is a wrapper around condor_off.
enter_frontend_env
that simply sets the environment so that it matches the one used by the Frontend daemons. You can then use all HTCondor commands directly, to both the glideins and the Factories.
All tools require access to the Frontend group's work area in order to work.
- The top level work area can be set either with a -d option, or through the $FE_WORK_DIR environment variable.
- The group name can be set either with a -g option, or theough the $FE_GROUP_NAME environemtn variable.
An example command would be:
# Turn off all the glideins that are currently not used
export FE_WOK_DIR=~/frontstage/frontend_UCSD_v1_0
cd ~/glideinwms/frontend/tools
./glidein_off -g main --constraint 'State=!="Claimed"'
You can furthermore use:
- remove_requested_glideins -
This tool will request the removal of glideins requested by the Frontend.
This comes handy when/if you find out that you had major configuration problem in the previous Frontend configuration. By default, a reconfig will only request glideins of new type, but will not remove any old ones.
There are two types of removals you most likely want to request (through the -t option):- idle - Only remove glideins that have not started yet (the default).
- all - All glideins, including those currently running.
Glidein Tools
This section describe tools available to manually operate glideinsmanual_glidein_startup
This tool queries the Factory and Frontend classads in the wms collector and generates glidein_startup.sh command along with arguments. This is useful from a VO or a site perceptive for debugging purposes to manually launch a glidein and have the HTCondor Startd report to the VO collector. Although all the required information is derieved from the Factory and Frontend classads, user still needs to set the X509_USER_PROXY environment variable. glidein_startup.sh uses this proxy for the condor daemons to talk to the VO collector.[prompt]$ manual_glidein_startup --help usage: manual_glidein_startup [-h] [--wms-collector WMS_COLLECTOR] [--req-name REQ_NAME] [--client-name CLIENT_NAME] [--glidein-startup GLIDEIN_STARTUP] [--override-args OVERRIDE_ARGS] [--cmd-out-file CMD_OUT_FILE] [--debug] Generate glidein_startup command Example: manual_glidein_startup --wms-collector=fermicloud145.fnal.gov:8618 --client-name=Frontend-master-v1_0.main --req-name=TEST_SITE_2@v1_0@GlideinFactory-master --cmd-out-file=/tmp/glidein_startup_wrapper --override-args="-proxy http://httpproxy.mydomain -v fast" optional arguments: -h, --help show this help message and exit --wms-collector WMS_COLLECTOR COLLECTOR_HOST for WMS Collector(s) in CSV format (default: gfactory-1.t2.ucsd.edu,glidein.grid.iu.edu) --req-name REQ_NAME Factory entry info: ReqName in the glideclient classad --client-name CLIENT_NAME Frontend group info: ClientName in the glideinclient classad --glidein-startup GLIDEIN_STARTUP Full path to glidein_startup.sh to use --override-args OVERRIDE_ARGS Override args to glidein_startup.sh --cmd-out-file CMD_OUT_FILE File where glidein_startup.sh command is created --debug Enable debug logging


Deploy Java Lambda functions with container images
You can deploy your Lambda function code as a container image. AWS provides the following resources to help you build a container image for your Java function:
-
AWS base images for Lambda
These base images are preloaded with a language runtime and other components that are required to run the image on Lambda. AWS provides a Dockerfile for each of the base images to help with building your container image.
-
Open-source runtime interface clients
If you use a community or private enterprise base image, add a runtime interface client to the base image to make it compatible with Lambda.
AWS base images for Java
AWS provides the following base images for Java:
| Tags | Runtime | Operating system | Dockerfile |
|---|---|---|---|
|
11 |
Java 11 (Corretto) | Amazon Linux 2 | Dockerfile
for Java 11 on GitHub |
|
8.al2 |
Java 8 (Corretto) | Amazon Linux 2 | Dockerfile for Java 8.al2 on GitHub |
|
8 |
Java 8 (OpenJDK) | Amazon Linux 2018.03 | Dockerfile for
Java 8 on GitHub |
Docker Hub repository: amazon/aws-lambda-java
Amazon ECR repository: gallery.ecr.aws/lambda/java
Java runtime interface clients
Install the runtime interface client for Java using the Apache Maven package manager.
Add the following to
your pom.xml
file:
<dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-lambda-java-runtime-interface-client</artifactId> <version>1.0.0</version> </dependency>
For package details, see Lambda RIC
You can also view the Java client source code in the AWS Lambda Java Support Libraries


{{- $param := .Get 0 }} {{- $localFolder := printf "/static%s" $param }} {{- $files := sort (readDir $localFolder) }} {{- $n := 0 }}


Click on available demo:
-
List content of remote endpoint in a simple template using
app.fetch
and template.forEach
in async
mode.
app.fetch
is just shortheand for standard fetch
api app.fetch = async (url, opts) => await(await fetch(url, opts)).json();
.
template.forEach
is built-in template helper for iteration trough arrays and objects.
/frameworks-template/
-
List content of remote endpoint in a simple embedded template in document using
app.fetch
and template.forEach
in async
mode.
app.fetch
is just shortheand for standard fetch
api app.fetch = async (url, opts) => await(await fetch(url, opts)).json();
.
template.forEach
is built-in template helper for iteration trough arrays and objects.
/frameworks-document/
-
Lists content of same remote endpoint in class module instead of template in
async
mode.
HTML is rendered inside render
method of the module, using standard JS ES6 template strings support.
String.html
tag is just to give full languague editor support for HTML by using lit-html
Visual Studio Code Extension.
String.html
tag is not neccessary. lit-html
is for Visual Studio Code only.
/frameworks-module1/
-
Lists content of same remote endpoint in class module parsing HTML template, instead of string that contains HTML.
When render
returns function that returns string, it is treated as template module.
To pass custom template data (in this
object), return array where first value is function that returns string and second is data.
/frameworks-module2/
-
Simple "todo app" implemented only with templates:
It demonstrates:
- how to render css files in template,
- how to set initial data in template constructor (self execute expression)
- how to load additional templates in compisite template
- how to create model instance, bind to template element, and use it with one event (createNewToDoItem
) and two elements (content
.and input
).
/todo-template1/
-
Simple "todo app" implemented only with templates that read default values from remote endpoint.
It also demonstrates how to use default model context to create and bind model automatically.
/todo-template2/
-
Simple "todo app" implemented with class modules.
It demonstrates how to effectivly compose two different views in class modules.
/todo-module/
-
Simple "todo app" implemented with templates using custom components system
It demonstrates how to create and use custom component (with custom tag) from templates
Also demonstrates:
- how to achieve basic data flow between children and parent components using parent and children template properites.
- how to capture element attribute changes in dom
/todo-components/
-
Simple "todo app" implemented with class modules using custom components system
It demonstrates how to create and use custom component (with custom tag) from class module
Also demonstrates:
- how to achieve basic data flow between children and parent components using parent and children module properites.
- how to capture element attribute changes in dom
/todo-module-components/
-
Simple "todo app" implemented custom components system entirely inside document
It demonstrates how to embed templates and custom controls inside current html document (your index.html file)
/todo-document/
-
Demonstrations of simple Single Page Application (input github user and show page with details).
Demonstrates routing with view manager.
It also demonstrates how to use default model context to create and bind model automatically from within module class.
/github-user1/
-
Again, demonstrations of simple Single Page Application (input github user and show page with details).
This time template is rendered inside class module.
/github-user2/
-
Simple Single Page Application (input github user and show page with details).
All views implemented in templates.
/github-user-template/
-
Single Page Application demo
/spa-demo/