A minimum distance estimator is calculated for an imprecise probability model. The imprecise probability model consists of upper coherent previsions whose credal sets are given by a finite number of constraints on the expectations. The parameter set is finite. The estimator chooses that parameter such that the empirical measure lies next to the corresponding credal set with respect to the total variation norm.
| Version: | 1.0.1 |
| Depends: | R (≥ 2.7.0), inline, lpSolve |
| Published: | 2010-05-07 |
| Author: | Robert Hable |
| Maintainer: | Robert Hable <Robert.Hable at uni-bayreuth.de> |
| License: | LGPL-3 |
| NeedsCompilation: | no |
| Citation: | imprProbEst citation info |
| CRAN checks: | imprProbEst results |
| Reference manual: | imprProbEst.pdf |
| Package source: | imprProbEst_1.0.1.tar.gz |
| Windows binaries: | r-devel: imprProbEst_1.0.1.zip, r-release: imprProbEst_1.0.1.zip, r-oldrel: imprProbEst_1.0.1.zip |
| OS X binaries: | r-release: imprProbEst_1.0.1.tgz, r-oldrel: imprProbEst_1.0.1.tgz |
| Old sources: | imprProbEst archive |
Please use the canonical form https://CRAN.R-project.org/package=imprProbEst to link to this page.


Kerala, a state situated on the tropical Malabar Coast of southwestern India, is one of the most popular tourist destinations in the country. Named as one of the ten paradises of the world by National Geographic Traveler, Kerala is famous especially for its ecotourism initiatives and beautiful backwaters. Its unique culture and traditions, coupled with its varied demography, have made Kerala one of the most popular tourist destinations in the world. Growing at a rate of 13.31%, the tourism industry is a major contributor to the state's economy.
Until the early 1980s, Kerala was a relatively unknown destination, with most tourism circuits concentrated around the north of the country. Aggressive marketing campaigns launched by the Kerala Tourism Development Corporation—the government agency that oversees tourism prospects of the state—laid the foundation for the growth of the tourism industry. In the decades that followed, Kerala Tourism was able to transform itself into one of the niche holiday destinations in India. The tag line Kerala – God's Own Country was adopted in its tourism promotions and became a global superbrand. Kerala is regarded as one of the destinations with the highest brand recall. In 2010, Kerala attracted 660,000 foreign tourist arrivals.
Kerala is a popular destination for both domestic as well as foreign tourists. Kerala is well known for its beaches, backwaters in Alappuzha and Kollam, mountain ranges and wildlife sanctuaries. Other popular attractions in the state include the beaches at Kovalam, Varkala, Kollam and Kappad; backwater tourism and lake resorts around Ashtamudi Lake, Kollam; hill stations and resorts at Munnar, Wayanad, Nelliampathi, Vagamon and Ponmudi; and national parks and wildlife sanctuaries at Periyar, Parambikulam and Eravikulam National Park. The "backwaters" region—an extensive network of interlocking rivers, lakes, and canals that centre on Ashtamudi Lake, Kollam, also see heavy tourist traffic. Heritage sites, such as the Padmanabhapuram Palace, Hill Palace, and Mattancherry Palace, are also visited. To further promote tourism in Kerala, the Grand Kerala Shopping Festival was started by the Government of Kerala in 2007. Since then it has been held every year during the December–January period.
The state's tourism agenda promotes ecologically sustained tourism, which focuses on the local culture, wilderness adventures, volunteering and personal growth of the local population. Efforts are taken to minimize the adverse effects of traditional tourism on the natural environment and enhance the cultural integrity of local people. The state has also made deep inroads into MICE Tourism mainly centered at Kochi.


×
Wallet
KYC
Issue
Dashboard
Logout
☰
Congratulations. You have just created a wallet on the Belrium Network
BAL:
Bel
WALLET ADDRESS:
VALID FROM: 2018
USER NAME:
PREMIUM
Start issuing certificate to your users:
Issue Now


Cyber Trainings and Certs
- Cyber Struggle RANGER
- Certified Ethical Hacker
- OSCP
- International Cyber Conflicts
- Cyber Crime Investigation
- OSSTMM Professional Tester
- Oracle Anti-Hacker Training, Alexandr Kornbrust
- Cisco Certificate Network Association
- Cisco IP Phones and Call Manager
- Sourcefire Pre-Sales Engineering
- F5 WAF and Load Balancer
- Palo Alto Firewall Pre-Sales Engineering
- Trend Micro Deep Security Suite


Angular is a development platform for building mobile and desktop
applications. Angular lets you extend HTML's syntax to express your application's components clearly
and
succinctly. Angular's binding and dependency injection eliminate much of the code you would otherwise
have to write.
Given an HTML file
Let's create an Angular app which replaces <hello-world> element with the application contents.
This can be done with 3 simple steps.
Creating angular app
Create an angular component
Create an angular module
Bootstrap the module
Step 1: Create component
Angular component is just a class. Properties and behavior can be added inside.
Component Anatomy - Inline Template
The class is adorned with a @Component decorator with additional metadata to let the Angular know how to
use it.
Decorators are a new feature of TypeScript. It comes from Python.
Component Anatomy - Inline Template
Selector defines the location of the component. When Angular renders this component, it'll find a <hello-world>
HTML element in the document and will render the component on top of it.
Component Anatomy - Inline Template
Template defines the HTML code that the component generates.
If the amount of HTML grows out of hand, it's possible to use templateUrl instead and
provide a path to a HTML file.
Create first Angular component!
Now our component is ready to go!
We need to put it in an NgModule
Module Anatomy test
NgModules help organize an application into cohesive blocks of functionality.
Module Anatomy
Let's skip through the imports section. Bottom line is: if you're writing an app for a browser, you'll need to
import BrowserModule.
Angular is not just web app anymore, it allows to create native phone apps and even VR scenes.
Module Anatomy
In the declarations array, you tell Angular which components belong to the AppModule by listing it in the
module's declarations array.
Module Anatomy
Bootstrap: The root component that Angular creates and inserts into the index.html host web page.
Step 3
Bootstrap the module!
Module Bootstrapping
The bootstrapping process sets up the execution environment, digs the root AppComponent out of the module's
bootstrap array, creates an instance of the component and inserts it within the element tag identified by the
component's selector.
Result
Hello World!
Amazing! We just bootstraped our first component and learned about Angular on the way.
Let's take a look at the whole picture one more time.
Overview
Now we got the component, we need to pass it to a NgModule.
Now we got both NgModule and component ready, let's bootstrap the app!
There's no simple way to test it, make sure your app displays: 'Hello CatTube!'


Installing the Beta Version
To install the beta version of our extension, please follow these steps:
- If you have the current version of our extension installed, go to Extension Settings and scroll down to our extension. Uncheck the “Enable” box
- Next, go to the Beta version of the extension in the Chrome Web Store and install this extension
- As with all beta software, please report any issues.
First Run
The first time you run the extension, you will be presented with the options page. Please try out the Collapse section as depicted below


Preparation time
30 mins to 1 hour
Cooking time
1 to 2 hours
Serves
Serves 4
Dietary
Here’s a warming pie made with chestnuts, mushrooms and marsala wine. You could use white wine, red wine or vermouth if you don’t have any marsala to hand.
To make the pastry, either put the plain flour and butter into a food processor with a generous pinch of salt and pulse until it resembles breadcrumbs, or rub it in by hand. Add all but a tablespoon of the egg yolk and just enough chilled water to bind it together. Shape into a ball, wrap in cling film, and chill in the fridge until you are ready to roll it. Reserve the remaining egg yolk for egg wash later.
To make the filling, put the butter in a large saucepan and melt over a low heat. Add the leeks and cover. Fry for 5 minutes.
Turn up the heat slightly and add the mushrooms. Cook for a further 4–5 minutes, then add the garlic and thyme. If using, drain the rehydrated mushrooms, reserving their soaking liquor, and roughly chop. Add to the saucepan.
Add the flour and stir until you can see a roux has formed around the vegetables.
Stir in the mustard, then add the marsala and stir until it is well incorporated. Gradually add the stock and the mushroom liquor, if using. (If not using the mushroom liquor, use the larger quantity of stock.) Bring the mixture to the boil, then turn down and simmer, continuing to stir, until it has thickened. Add the chestnuts, cover, and remove from the heat. Leave to cool.
Preheat the oven to 190C/170C Fan/Gas 5.
Divide the pastry into two pieces, one slightly bigger than the other. Roll out the larger piece of pastry and use it to line a pie dish. Add the cooled filling.
Roll out the remaining piece of pastry and top the pie, wetting the edges with the egg wash, making sure they are well crimped together. Cut a couple of slits in the pie to let steam escape and brush with egg wash.
Bake in the oven for around 40–45 minutes, or until the crust is golden brown. Serve in slices.


Class Image
Represents a raster image EntityObject.
Inherited Members
Namespace: netDxf.Entities
Assembly: CADability.dll
Syntax
public class Image : EntityObject, IHasXData, ICloneable
Constructors
| Improve this Doc View SourceImage(ImageDefinition, Vector2, Vector2)
Initializes a new instance of the Image
class.
Declaration
public Image(ImageDefinition imageDefinition, Vector2 position, Vector2 size)
Parameters
| Type | Name | Description |
|---|---|---|
| ImageDefinition | imageDefinition | Image definition. |
| Vector2 | position | Image Vector2 in world coordinates. |
| Vector2 | size | Image Vector2 in world coordinates. |
Image(ImageDefinition, Vector2, Double, Double)
Initializes a new instance of the Image
class.
Declaration
public Image(ImageDefinition imageDefinition, Vector2 position, double width, double height)
Parameters
| Type | Name | Description |
|---|---|---|
| ImageDefinition | imageDefinition | Image definition. |
| Vector2 | position | Image Vector2 in world coordinates. |
| System.Double | width | Image width in world coordinates. |
| System.Double | height | Image height in world coordinates. |
Image(ImageDefinition, Vector3, Vector2)
Initializes a new instance of the Image
class.
Declaration
public Image(ImageDefinition imageDefinition, Vector3 position, Vector2 size)
Parameters
| Type | Name | Description |
|---|---|---|
| ImageDefinition | imageDefinition | Image definition. |
| Vector3 | position | Image Vector3 in world coordinates. |
| Vector2 | size | Image Vector2 in world coordinates. |
Image(ImageDefinition, Vector3, Double, Double)
Initializes a new instance of the Image
class.
Declaration
public Image(ImageDefinition imageDefinition, Vector3 position, double width, double height)
Parameters
| Type | Name | Description |
|---|---|---|
| ImageDefinition | imageDefinition | Image definition. |
| Vector3 | position | Image Vector3 in world coordinates. |
| System.Double | width | Image width in world coordinates. |
| System.Double | height | Image height in world coordinates. |
Properties
| Improve this Doc View SourceBrightness
Gets or sets the brightness value (0-100; default = 50)
Declaration
public short Brightness { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int16 |
Clipping
Gets or sets the clipping state: false = off, true = on.
Declaration
public bool Clipping { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
ClippingBoundary
Gets or sets the image clipping boundary.
Declaration
public ClippingBoundary ClippingBoundary { get; set; }
Property Value
| Type | Description |
|---|---|
| ClippingBoundary |
Remarks
The vertexes coordinates of the clipping boundary are expressed in local coordinates of the image in pixels. Set as null to restore the default clipping boundary, full image.
Contrast
Gets or sets the contrast value (0-100; default = 50)
Declaration
public short Contrast { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int16 |
Definition
Gets the ImageDefinition.
Declaration
public ImageDefinition Definition { get; }
Property Value
| Type | Description |
|---|---|
| ImageDefinition |
DisplayOptions
Gets or sets the image display options.
Declaration
public ImageDisplayFlags DisplayOptions { get; set; }
Property Value
| Type | Description |
|---|---|
| ImageDisplayFlags |
Fade
Gets or sets the fade value (0-100; default = 0)
Declaration
public short Fade { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int16 |
Height
Gets or sets the height of the image in drawing units.
Declaration
public double Height { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |
Position
Gets or sets the image Vector3 in world coordinates.
Declaration
public Vector3 Position { get; set; }
Property Value
| Type | Description |
|---|---|
| Vector3 |
Rotation
Gets or sets the image rotation in degrees.
Declaration
public double Rotation { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |
Remarks
The image rotation is the angle of the U-vector.
Uvector
Gets or sets the image Vector2.
Declaration
public Vector2 Uvector { get; set; }
Property Value
| Type | Description |
|---|---|
| Vector2 |
Vvector
Gets or sets the image Vector2.
Declaration
public Vector2 Vvector { get; set; }
Property Value
| Type | Description |
|---|---|
| Vector2 |
Width
Gets or sets the width of the image in drawing units.
Declaration
public double Width { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Double |
Methods
| Improve this Doc View SourceClone()
Creates a new Image that is a copy of the current instance.
Declaration
public override object Clone()
Returns
| Type | Description |
|---|---|
| System.Object | A new Image that is a copy of this instance. |
Overrides
| Improve this Doc View SourceTransformBy(Matrix3, Vector3)
Moves, scales, and/or rotates the current entity given a 3x3 transformation matrix and a translation vector.
Declaration
public override void TransformBy(Matrix3 transformation, Vector3 translation)
Parameters
| Type | Name | Description |
|---|---|---|
| Matrix3 | transformation | Transformation matrix. |
| Vector3 | translation | Translation vector. |
Overrides
Remarks
Matrix3 adopts the convention of using column vectors to represent a transformation matrix.


Human Network International builds the capacity of development partners to collect data and make better decisions.
Featured clients:
The World Bank and the Government of Madagascar
The Government of Madagascar hired HNI for two
separate
projects using World Bank loans. The first was to
create an
application for the Ministry of Health to collect
stock
information for life-saving HIV drugs using SMS
from a
network of doctors authorized to administer the
medications.
The second was to work with the National Nutrition
Office to collect monthly activity
report data using SMS from a large network of
community-based nutrition agents.
www.worldbank.org
Marie Stopes Madagascar
MSI is one of the largest international family
planning
organizations in the world.
MSI delivers quality family planning and
reproductive
healthcare to millions of the world's poorest and
most
vulnerable women. MSI/Madagascar hired HNI for
three
separate initiatives. The first application
collects
monthly client data using SMS from a network of
private
sector doctors grouped together under the brand
“Blue
Star”. The second collects client satisfaction data
using SMS
from women who visited clinics affiliated with
Marie Stopes
International. The third project allows clinics
operated by
Marie Stopes to submit monthly reports via the
Internet.
www.mariestopes.org
RTI International
RTI conducts research and provides technical
services to
government agencies, universities, foundations,
private
businesses, and other organizations. HNI and RTI
worked
together on two different initiatives. The first
application allows community-based supervisors to
report
monthly activity data using SMS. The second
application
allows RTI employees to submit their supervisory
reports
and training results using SMS.
www.rti.org
Conservation International
CI is a nonprofit organization, which applies
innovations
in science, economics, policy and community
participation
to protect the Earth's biodiversity around the
world. CI
hired HNI to help build their internal capacity to
collect
small grants information using SMS. HNI also
created a second
application that allows National Parks Staff to use
SMS to
report on illegal activities in any of Madagascar’s
protected areas.
www.conservation.org
National Bureau of Risk and Disaster Management
Catholic Relief Services (CRS) hired HNI to build
the
internal capacity of Madagascar’s National Bureau
of Risk
and Disaster Management (known by the French
acronym BNGRC)
to collect critical damage reports from
post-disaster sites
using SMS.
www.bngrc.mg
Ambatovy
Ambatovy is a large-tonnage, long-life nickel and
cobalt
mining enterprise located in Madagascar. It is the
largest-ever foreign investment in the country and
will
soon rank among the largest nickel mining entities
in the
world. Ambatovy hired HNI to help collect grievance
reports
from the field.
www.ambatovy.com
Our Key Partners
Learn more about our partners and this open-source
collaboration.
See Our Key
Partners
Success Stories
See how others have benefited from DataWinners.
See Success Stories


class FabOption : FloatingActionButton
The design and behavior of a single option within an ExpandableFab.
Developer Notes:
Implementation Notes:
Since
1.0.0
<init> |
Used to create a FabOption programmatically (do not use the other constructor FabOption(context, attributeSet) - it is for use by the Android framework when inflating a FabOption via XML). This constructor keeps all optional properties of a FabOption at their default values, though you can always change these values after instantiation by using the appropriate setter methods (with the exception of orientation, which cannot be changed after instantiation). FabOption(context: Context, orientation: Orientation? = Orientation.PORTRAIT)
Called by the system when creating a FabOption via XML (don't call this directly). To create a FabOption programmatically, use the FabOption(context, orientation) constructor. FabOption(context: Context, attributeSet: AttributeSet) |
closingAnimationDurationMs |
The duration (in milliseconds as a positive long) of the animations that will be played when this FabOption is being hidden from a visible state (when the ExpandableFab is closing). Default value is 75L. var closingAnimationDurationMs: Long |
fabOptionColor |
The color of the FabOption. Default value is your app's colorAccent. var fabOptionColor: Int |
fabOptionEnabled |
The enabled state of this FabOption and its label. Disabled FabOptions and labels will be visually distinct and unclickable. Default value is true (enabled). var fabOptionEnabled: Boolean |
fabOptionIcon |
The drawable to show as the FabOption's icon. Default value is null (no icon shown). var fabOptionIcon: Drawable? |
label |
The optional label attached to this FabOption. The label will only be shown when its labelText is not null. Default values for the label are as follows: val label: Label |
openingAnimationDurationMs |
The duration (in milliseconds as a positive long) of the animations that will be played when this FabOption is being shown from a hidden state (when the ExpandableFab is opening). Default value is 125L. var openingAnimationDurationMs: Long |
openingOvershootTension |
The tension (as a positive float) in an OvershootInterpolator applied on the FabOption when it's playing its animations for being shown from a hidden state (when the ExpandableFab is opening). The OvershootInterpolator allows us to have an animation where the FabOption will grow past its regular size when initially appearing, before smoothly shrinking down to regular size. Larger values will exaggerate the effort more. Default value is 3.5f. var openingOvershootTension: Float |
orientation |
The Orientation this FabOption is viewable in. Default value is Orientation.PORTRAIT. var orientation: Orientation |
setOnClickListener |
Registers a callback to be invoked when this FabOption or its label is clicked. The default behavior the FabOption will be executed before this custom callback. fun setOnClickListener(onClickListener: OnClickListener?): Unit |
setSize |
Sets the size of the FabOption. Overridden to ensure we never set the size to be FabSize.CUSTOM. fun setSize(size: Int): Unit |


I have a lot of side projects going on parallel to my school work. Most of my work is usually in either Python, C, Java, or NodeJS. I love Github because it’s unlimited hosting for cool open source projects. Some of my work include a basic neural network using Pytorch, a text to powerpoint generater with an intuitive GUI, as well as a couple of small apps using electron and also a rating mechanism.
I’ll probably be focusing a lot more on deep learning projects in the future, I want to learn mapreduce and kafka after I finish pytorch.
I love using Jekyll for webdesign, it allows a lot of code resuability with the way it uses html templating as well as markdown translation. It’s liquid templating engine allow if statements, loops, and other cool features that eliminate the need to copy and paste huge sections of code.
My personal site is powered by Jekyll. It’s where I have my blog, resume and also a cool photo gallery.
Jekyll makes blogging super easy! Every blog post is just a markdown file, and if I want to publish a post later, I can just set a release date in the future, and when the date occurs the post will be viewable.
The resume site is also great with jekyll, I created a single html template
with all the configuration details in the _config.yml
file as variables.
This way when I need to update my resume I can just update the variables
or add entries if the variable is a list.
The photo gallery uses some sneaky python to compile a list of pictures into html files. These html files in a folder can be recognized as a collection by jekyll and it makes managing many pages in sequence a breeze.
I manage a linux server that sits at my desk at home in California. Since the IP address dynamic there are some cool work arounds that I talk about here. I use this server to save and backup some of my huger files. For example all the pictures I’ve ever taken on my phone are backed up on this server since it’s got like 4TB! Also I use it as a file server since I set up FTP on it.
The web interface is pretty cool, I reverse proxied a gunicorn server to nginx in order to deploy the interface I designed using Python/Flask. Flask lets me manage users and passwords easily as well as browse the filesystem without opening the system to outside vulnerabilities. This means that almost everything I can do SSH’ing into the server, I can also do through the web interface, which is useful accesing dropboxes to download and upload files through phones and other smaller devices.


{% load images_tags %} {% for object in object_list %}
default rendering at original size
{% image object original %}or using a fill operation
{% image object fill-500x300 %}jpeg format with quality
{% image object format-jpeg jpegquality-85 %}bgcolor
{% image object bgcolor-ff0000 %}crop
{% image object crop-250x250x250x250 %}crop (no params defaults to focol points)
{% image object crop %}or custom with including `as varname`
{% image object original as orig %} {% image object thumbnail %} {% endfor %}


This is just some content to go in the tile. It should be centered while the header is aligned at the top.
This is just some content to go in the tile. It should be centered while the header is aligned at the top.
This is just some content to go in the tile. It should be centered while the header is aligned at the top.
This is just some content to go in the tile. It should be centered while the header is aligned at the top.
This is just some content to go in the tile. It should be centered while the header is aligned at the top.
This is just some content to go in the tile. It should be centered while the header is aligned at the top.
This is just some content to go in the tile. It should be centered while the header is aligned at the top.


HOPE FLOATS A film review by Matt Williams
RATING: * * 1/2* out of * * * *
Sandra Bullock rebounds from Speed 2 with a romantic drama that's routine, but enjoyable.
Birdee Pruitt (Sandra Bullock) was the most popular girl in high school. She was cheerleader, prom queen, and married the quarterback, Bill (Michael Paré). Everything was perfect...and then it changed. One day, she's invited to be a guest on the Toni Post show (ostensibly to receive a free makeover), only to have her best friend and her husband reveal their affair on national television.
Birdee swallows her pride, takes her daughter Bernice (Mae Whitman), and moves back to her small Texas hometown. There she finds more changes. Her beloved father is now suffering from Alzheimer's and a stroke. The losers she derided when she was class queen have changed for the better, and take delight in Birdee's reversal of fortune.
But Birdee's mother, Ramona (Gena Rowlands), hasn't changed much. She's still meddlesome and eccentric (her hobby is taxidermy). And she tries to set Birdee's life straight by hooking her up with town handyman Justin Matisse (Harry Connick Jr).
The problem with this sort of setup is that everyone knows what's best for Birdee, but you have to wait through the whole film for her to finally realize what's been obvious all along. This can be a nuisance if it is the only dramatic wellspring in a film, but luckily, in Hope Floats, there is one other source of drama: social status.
A crucial character flaw of Birdee is her refusal to accept change. She was on the top of the world during high school, and any change will only lead downhill. What she doesn't realize is that the rest of the world has moved on while she remained in the past, and now the very qualities which made her the most popular girl in school are a liability rather than an asset. The film nicely parallels her story with that of Bernice, who is just starting to establish her place in the formative social strata of school.
And, of course, while all these social observations are going on, the romance is a necessary evil. Bullock and Connick Jr. make an attractive couple, even if they are a bit heavy on the saccharine. Bullock tackles her first meaty role in quite a while, and carries it off nicely. In his first leading role, Connick proves he can pull his own weight. (However, the question still remains whether he can portray something besides the down-home guy he typically plays.)
Director Forest Whitaker indulges himself by allowing one too many "cutesy" moments to pervade the film (such as an all too exuberant "cheer-up" song, or "awww"-inspiring closeups of little kids dancing). But, aside from that, he does a good job of shepherding the mostly straightforward story.
Hope Floats isn't a perfect romance, and it's not a perfect drama. But, as the message of the movie goes, being ordinary isn't all that bad.
Copyright 1998 Matt Williams
- Matt Williams<EMAIL_ADDRESS>Reviewer for Cinematter: http://www.cinematter.com Home of over 500 reviews, and information on over 600 upcoming releases
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
| Interface Summary | |
|---|---|
| Advised | Interface to be implemented by classes that hold the configuration of a factory of AOP proxies. |
| AdvisedSupportListener | Listener to be registered on ProxyCreatorSupport objects
Allows for receiving callbacks on activation and change of advice. |
| AdvisorChainFactory | Factory interface for advisor chains. |
| AopInfrastructureBean | Marker interface that indicates a bean that is part of Spring's AOP infrastructure. |
| AopProxy | Delegate interface for a configured AOP proxy, allowing for the creation of actual proxy objects. |
| AopProxyFactory | Interface to be implemented by factories that are able to create
AOP proxies based on AdvisedSupport configuration objects. |
| Class Summary | |
|---|---|
| AbstractSingletonProxyFactoryBean | Convenient proxy factory bean superclass for proxy factory beans that create only singletons. |
| AdvisedSupport | Base class for AOP proxy configuration managers. |
| AopContext | Class containing static methods used to obtain information about the current AOP invocation. |
| AopProxyUtils | Utility methods for AOP proxy factories. |
| DefaultAdvisorChainFactory | A simple but definitive way of working out an advice chain for a Method,
given an Advised object. |
| DefaultAopProxyFactory | Default AopProxyFactory implementation,
creating either a CGLIB proxy or a JDK dynamic proxy. |
| ProxyConfig | Convenience superclass for configuration used in creating proxies, to ensure that all proxy creators have consistent properties. |
| ProxyCreatorSupport | Base class for proxy factories. |
| ProxyFactory | Factory for AOP proxies for programmatic use, rather than via a bean factory. |
| ProxyFactoryBean | FactoryBean implementation that builds an
AOP proxy based on beans in Spring BeanFactory . |
| ReflectiveMethodInvocation | Spring's implementation of the AOP Alliance
MethodInvocation interface,
implementing the extended
ProxyMethodInvocation interface. |
| Exception Summary | |
|---|---|
| AopConfigException | Exception that gets thrown on illegal AOP configuration arguments. |
Package containing Spring's basic AOP infrastructure, compliant with the AOP Alliance interfaces.
Spring AOP supports proxying interfaces or classes, introductions, and offers static and dynamic pointcuts.
Any Spring AOP proxy can be cast to the ProxyConfig AOP configuration interface in this package to add or remove interceptors.
The ProxyFactoryBean is a convenient way to create AOP proxies in a BeanFactory or ApplicationContext. However, proxies can be created programmatically using the ProxyFactory class.
|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


Version 0.8
ArmorPaint is a stand-alone software designed for physically-based texture painting. Drag & drop your 3D models and start painting. Receive instant visual feedback in the viewport as you paint.
The preview version has many rough edges and the experience may be frustrating.
Windows and Linux is recommended. Experimental macOS, iPadOS and Android builds are also provided. On desktop, ArmorPaint is a portable application with no installation - just unpack and run.
Painting process in ArmorPaint runs on the GPU and the performance mainly depends on a graphics card. Minimum for 4K painting is an Intel HD4000 graphics card. For 16K painting, GTX 1060/6GB or better is recommended.
See Preferences to tune performance.
Latest builds can be downloaded through your Gumroad Library. Alternatively, use the original email sent by Gumroad to access the download page.
In ArmorPaint, press
Help - Check for Updates...
to check if newer build is available.
Unpack downloaded archive and run ArmorPaint.exe
. In some cases, Windows may prompt you with the unrecognized app dialog - press More Info - Run Anyway
.
Unpack downloaded archive and run ArmorPaint
. In some cases, you may need to open terminal in the extracted folder and run ./ArmorPaint
.
Unpack downloaded archive and run ArmorPaint.app
.
Experimental: Available on the AppStore.
Experimental: Available on Google Play.
Left mouse button / Pen
to paint.Alt
+ left mouse button
to rotate the camera.Alt
+ middle mouse button
to pan the camera.Alt
+ right mouse button
/ mouse wheel
to zoom in and out.Menu bar - Edit - Preferences... - Keymap
.Drag and drop unwrapped .obj
file into the viewport. This will replace the currently painted mesh. .fbx
, .blend
, .stl
, .gltf
and .glb
files are supported, but the importer is not 100% reliable yet.
In the Import Mesh
dialog:
Split By
combo to UDIM Tile
to parse imported .obj
mesh into UDIM tiles.Parse Transforms
to load per-object transforms from .fbx
file.Parse Vertex Colors
to load vertex color data from .fbx
or .blend
file.Modifying imported mesh data:
Meshes tab - Calculate Normals
.Meshes tab - Rotate X / Rotate Y / Rotate Z
.Meshes tab - Geometry to Origin
.Meshes tab - Apply Displacement
.uv_unwrap
plugin.You can get sample assets for testing in the ArmorPaint cloud.
See
Menu bar - Preferences... - Plugins
to enable support for additional mesh formats.
Drag and drop a folder with PBR texture set onto the viewport. ArmorPaint will recognize the file extensions and create a new material from imported textures. Multiple folders can be dropped at once.
Click on the Materials tab - Import
button to import materials from ArmorPaint .arm
files or Blender .blend
files. wip
You can get starter content in the ArmorPaint Cloud.
Drag and drop .jpg
, .png
, .tga
, .bmp
, .gif
, .psd
, .hdr
, .svg
or .tif
images into the node editor. This will import the image and place a new Image
node onto the canvas.
See
Menu bar - Preferences... - Plugins
to enable support for additional image formats.
Click on the Menu bar - File - Export Textures...
button.
Resolution
: Set resolution for exported textures.Color
: Set 8bit
, 16bit
or 32bit
color depth.Format
: .png
or .jpg
(for 8bit
color), .exr
(for 16bit / 32bit
color).Layers
: Export all visible layers or selected layers only into textures.Preset
: Select a pre-configured preset or build a custom one.Generic
preset exports individual PBR textures.Unreal
preset exports packed occlusion-roughness-metallic texture.Unity
preset exports packed metallic-occlusion-smoothness texture.Minecraft
preset exports packed metallic-emission-roughness texture.Destination
: Export textures to disk or pack into the project file at Textures tab
.Configure custom channel swizzling for exported textures in Presets
tab:
New
.Import
to import preset from .json
file.Add
to create new texture slot.RGBA
channels for each texture slot.Delete
to delete texture slot..json
file for each preset is located in the ArmorPaint/data/presets
folder.Create object groups in Atlases
tab:
Click on the Menu bar - File - Export Mesh...
button to save the currently loaded mesh into .obj
file. This is handy if you only have access to the .arm
project file or want to export the mesh which has been unwrapped / modified in ArmorPaint.
Click on the Menu bar - File - Save
button (Ctrl + S
) to save the currently opened project. Mesh, layers, materials and brushes will be saved into .arm
project file.
To open the project file, drag and drop .arm
file onto the viewport. .arm
files can also be set to open directly with ArmorPaint executable from the OS file explorer.
.obj
and other asset types can also be associated if you wish to use ArmorPaint as a model / texture viewer.
Click on the Status bar - Browser tab
to activate the built-in asset browser.
Cloud
button to access the ArmorPaint cloud..arm
materials, preview icons are displayed.+
button to save the current path into bookmarks panel.
Select Brush
(B
) tool from toolbar. Configure brush parameters in the header. Use left mouse button
/ pen
to paint strokes using the selected material.
Radius
: Brush size. (Hold F
key and move the cursor)UV Scale
: Scale the coords for currently painted material.Angle
: Rotate the coords for currently painted material.Opacity
: Overall opacity of the brush stroke. (Hold Shift+F
key and move the cursor)Hardness
: Fade opacity towards the brush stroke edge.Blending
: Blending mode used for painting.TexCoord
: Coordinates used for texture sampling. Mesh UV Map
, Project
from view or Triplanar
mapping.X-Ray
: Paint through mesh faces.Symmetry
: Mirror brush strokes on the X, Y and/or Z axis.Hold brush ruler key (SHIFT
) when painting to restrict strokes horizontally or vertically. Hold brush ruler key (SHIFT
) and click onto the surface to paint lines.
Select Eraser
(E
) tool from toolbar. Use left mouse button
/ pen
to erase strokes on the currently selected layer.
Radius
: Eraser size.Opacity
: Overall opacity of the eraser stroke.Hardness
: Fade opacity towards the eraser stroke edge.X-Ray
: Erase through mesh faces.Symmetry
: Mirror eraser strokes on the X, Y and/or Z axis.Select Fill
(G
) tool from toolbar. Press left mouse button
/ pen
to fill active layer with selected material. Fill tool respects active object mask, material mask and color id mask.
UV Scale
: Scale the coords for currently painted material.Angle
: Rotate the coords for currently painted material.Opacity
: Overall opacity of the fill effect.Blending
: Blending mode used for fill effect.TexCoord
: Coordinates used for texture sampling. Mesh UV Map
, Project
from view or Triplanar
mapping.Fill Mode
: Allows to fill individual mesh faces.Select Decal
(D
) tool from toolbar. Press left mouse button
/ pen
to apply active material as a decal onto the surface.
Radius
: Decal size.Scale X
: Scale decal size horizontally.UV Scale
: Scale the coords for currently painted material.Angle
: Rotate the coords for currently painted material.Opacity
: Overall opacity of the decal.Blending
: Blending mode used for applying decal.X-Ray
: Apply decal through mesh faces.Symmetry
: Mirror decal on the X, Y and/or Z axis.Select Text
(T
) tool from toolbar. Press left mouse button
/ pen
to apply active material as a text onto the surface. Drag and drop a .ttf
file into the viewport to change the font.
Radius
: Text size.UV Scale
: Scale the coords for currently painted material.Angle
: Rotate the coords for currently painted material.Opacity
: Overall opacity of the text.Blending
: Blending mode used for applying text.Font
: Select which font to apply.Text
: Type a text to apply.X-Ray
: Apply text through mesh faces.Symmetry
: Mirror text on the X, Y and/or Z axis.See
Fonts tab
to manage imported fonts. Click2D View
to preview the font.
Select Clone
(L
) tool from toolbar. Hold ALT
to set clone source location. Use left mouse button
/ pen
to clone the material from source location to active location.
Radius
: Brush size.Opacity
: Overall opacity of the brush stroke.Blending
: Blending mode used for painting.X-Ray
: Paint through mesh faces.Symmetry
: Mirror brush strokes on the X, Y and/or Z axis.Select Blur
(U
) tool from toolbar. Use left mouse button
/ pen
to smudge the material applied to the surface.
Radius
: Brush size.Opacity
: Overall opacity of the brush stroke.Blending
: Blending mode used for painting.X-Ray
: Paint through mesh faces.Symmetry
: Mirror brush strokes on the X, Y and/or Z axis.Directional
: Perform a smear / smudge.Select Particle
(P
) tool from toolbar. Use left mouse button
/ pen
to apply particles onto the surface.
Radius
: Particle emitter size.Opacity
: Overall opacity of the emitted particle.Blending
: Blending mode used for applying particles.X-Ray
: Apply particles through mesh faces.Symmetry
: Mirror particles on the X, Y and/or Z axis.Select Bake
(K
) workspace from the header bar. Pick bake mode, then click the Bake
button or press and hold left mouse button
/ pen
in viewport to apply bake into the base color channel of active layer or mask. For ray-traced bake modes, multiple samples (set via the Samples
option) will get accumulated until the operation is complete.
See Baking to learn about bake modes.
Select Color ID
(C
) tool from toolbar. Drag and drop color-id texture onto the viewport and assign it into the Color ID Map
field. Afterwards, click on a model to pick a specific color. All drawing operations will now be restricted to this color. Picked color can be removed with a Clear
button.
Select Picker
(V
) tool from toolbar. Press left mouse button
/ pen
in viewport to read material values from the surface. Base color, normal, occlusion, roughness and metallic values will be displayed in the header.
Select Material
: When enabled, the material you pick from the mesh surface will also get auto-selected in the Materials tab
.Mask
: When set to Material
, all drawing operations will be restricted to the surface where picked material is painted.Materials in ArmorPaint are composed with nodes. When painting, brush applies a material onto the surface. To compose a material, open node editor by clicking Materials tab - Nodes
(TAB
).
space
to search for nodes.Textures tab
or file explorer into the node editor to create Image
nodes.Material preview is displayed instantly in the Materials tab
as the nodes are assembled.
Right-click onto material preview to expose material operations:
Fill Layer
from selected material.Duplicate
material.Export
material into .arm
file.Bake
material into textures.Delete
material.Drag and drop material into viewport or Layers tab to create a fill layer.
ArmorPaint material nodes mimick the Cycles nodes. See Cycles nodes documentation.
See Import Materials.
See currently implemented material nodes.
Use
Swatches tab
to save and load color sets.
Brushes in ArmorPaint are composed with nodes. When painting, brush nodes are evaluated for each painted stroke. To compose a brush, open node editor by clicking Brushes tab - Nodes (TAB)
.
space
to search for nodes.Textures tab
or file explorer into the node editor to create Image
nodes.Brush preview is displayed instantly in the Brushes tab
as the nodes are assembled.
Right-click onto brush preview to expose brush operations:
.arm
file.Brushes can be imported from
.arm
files by clickingBrushes tab - Import
.See currently implemented brush nodes.
To use image as a brush mask:
Image Texture
node to the Brush Output - Opacity
socket.
Lazy Radius
value of the Input
brush node to make the paint cursor follow the mouse in delay. This can be useful to paint smooth strokes.Lazy Step
value of the Input
brush node to paint strokes in steps.
Direction
value of the Brush Output
node, painted strokes will follow the brush path. Decal and brush mask will be oriented to match the direction of a brush.
To use image as a brush stencil:
Image Texture
node to the Brush Output - Stencil
socket.ctrl
(stencil_transform
) key to show transform controls.z
(stencil_hide
) key to make stencil invisible while still taking effect.
To create a new layer, press Layers tab - New
and select a layer type:
Paint Layer
.Fill Layer
from active material.Decal Layer
from active material.Black Mask
or White Mask
.Fill Mask
from active material.Group
containing active layer.Brush will paint onto the currently selected layer.
Object
combo property. This allows to utilize multiple UV maps per project - each object having it's individual UV map.Right-click on the layer to expose layer operations:
Opacity
, Resolution
and Color
depth.UV Scale
, Angle
and TexCoord
type.Fill Layer
or Paint Layer
.Export
selected layer.Merge
the layer down.Duplicate
the layer.Clear
the layer.Delete
the layer.Right-click on the mask to expose mask operations:
Opacity
and Resolution
.UV Scale
, Angle
and TexCoord
type.Fill Mask
or Paint Mask
.Export
mask texture.Merge
the mask down.Duplicate
the mask.Clear
the mask.Apply
mask to parent layer.Delete
the mask.Invert
the mask.Drag textures from
Textures tab
into the viewport orLayers
tab to create mask for active layer.
Click Layers tab - 2D View
to show the channels of the selected layer. The 2D View is updated immediately as you paint.
Textures tab - 2D View
to show selected image inside 2D view.In the 2D View top bar:
Set viewport parameters in Menu bar - Viewport
.
Distract Free
(F11
) mode.Toggle Fullscreen
(alt+enter
) mode.Environment
and Light
intensity.Light Size
.Split View
for side-by-side viewports.Cull Backfaces
to skip drawing backward facing polygons.Filter Textures
to apply linear filter when sampling textures references by material.Wireframe
in the viewport.Texels
to visualize texture pixels in the viewport with a checker pattern.Compass
in the viewport.Envmap
to draw environment map in the viewport.Blur Envmap
to use blurred version of the environment map.Drag and drop a
.hdr
file onto the viewport to change the environment map.Hold
Shift
+middle mouse button
to rotate light.Hold
Ctrl
+middle mouse button
to rotate environment map.To simulate pixel-art like painting, disable
Filter Textures
option and setSuper Sample
in preferences to0.25x
.
Set viewport render mode in Menu bar - Mode
.
Lit
to draw viewport with applied lighting using the rasterizer.Path Traced
to draw viewport with interactive path-tracer. (ArmorPaintDXR and ArmorPaintVKRT builds)Set camera parameters in Menu bar - Camera
:
Orbit
, Zoom In
and Zoom Out
camera.Reset
camera.FoV
(field of view).Perspective
or Orthographic
camera type.Orbit
- Rotate camera around the mesh.Rotate
- Rotate mesh around the origin.Fly
- Hold right mouse button
and move camera freely using the WASD
and QE
keys.Select Bake workspace from the header bar.
AO (DXR, VKRT)
: Bake ambient occlusion. Strength
, Radius
and Offset
can be configured.
Curvature
: Bake mesh curvature. Strength
, Radius
and Offset
can be configured.
Bent Normal (DXR, VKRT)
: Bake the normals indicating the least occluded direction for a point.
Thickness (DXR, VKRT)
: Bake mesh thickness. Works similar to AO baker, but uses flipped normals.
Normal
: Bake normal map from high-poly mesh.
Object Normal
: Bake object-space normals encoded into (0-1) range.
Height
: Bake height map from high-poly mesh.
Derivative
: Bake derivative normals from high-poly mesh. wip
Position
: Bake object-space positions encoded into (0-1) range.
TexCoord
: Bake mesh uv map.
Material ID
: Bake colored material IDs.
Object ID
: Bake colored object IDs.
Vertex Color
: Bake vertex color data.
DXR - This feature is powered by hardware accelerated ray-tracing using DXR and Direct3D12, available in experimental ArmorPaintDXR builds.
VKRT - This feature is powered by hardware accelerated ray-tracing using VKRT and Vulkan, available in experimental ArmorPaintVKRT builds.
Use
AO
baker with smallRadius
to bakeCavity
.
Select workspace tab from the header bar:
Paint
: Texture painting.Material
: Material composition.Bake
: Texture baking.Click Menu bar - Edit - Preferences...
to show the preferences window.
Language
: Set localization. See currently available translations.UI Scale
: Scale up the user interface when running on high-resolution display. By default, 2X scale is applied during the first startup for high-resolution displays.Camera Speed
: Intensity of camera movements.Direction to Zoom
: Mouse / pen direction to perform camera zoom.Wrap Mouse
: Wrap mouse around view boundaries during camera control.Show Node Preview
: Draw preview of selected node inside the node editor.Show Asset Names
: Draw labels below each material, brush and texture icon.Restore - Confirm
button to revert back to default settings.Restore - Import...
button to import settings from older ArmorPaint version.Reset Layout
button to revert all layout changes.default
(dark) or light
theme.New
button to create custom theme.Import
button to import theme from file.Export
button to export theme into file.Viewport Color
to draw when environment map is hidden.Straight
or Curved
link style for node connections.Undo Steps
: Set the number of undo steps to keep. Using less undo steps may improve performance when running on GPU with constrained memory.Dilate Radius
: Stretch brush strokes and bake result on the uv map to prevent seams.Dilate
: instantly or once brush stroke is finished.Default Workspace
: start-up workspace.Default Layer Resolution
: for new layers.Cloud Server
: address of the S3 server used by Browser tab - Cloud
.3D Cursor
: Enable topological warp for paint cursor with depth and angle rejection.Live Material Preview
: Update material preview immediately during node editing.Live Brush Preview
: Show brush paint preview in the viewport and 2d view.
Brush Radius
: When painting with a pen, pressure affects the radius of brush.Brush Hardness
: Pressure affects the hardness of brush.Brush Opacity
: Pressure affects the opacity of brush.Brush Angle
: Pressure affects the angle of brush.Sensitivity
: Manual pen pressure sensitivity control.ArmorPaint uses
Windows Ink
API on Windows.Windows Ink
is available on Windows 8 or newer.When using a Wacom tablet on Windows, ensure
Use Windows Ink
option is enabled in Wacom Tablet Properties.When using a Wacom tablet on Windows, you can rotate the viewport by assigning
Alt
+Left click
modifier onto pen button in Wacom Tablet Properties.Pen pressure is expected to work on Windows, Linux, macOS, Android and iOS.
On faster GPUs:
Super Sample
to 2X/4X for improved anti-aliasing.Voxel AO
for cone-traced ambient occlusion and shadows (non DXR / VKRT builds).On slower GPUs:
SSAO (screen-space ambient occlusion)
for improved performance.Additional options:
Path Tracer
mode: Core
for performance, Full
for features. (DXR / VKRT builds)Clip Start
and Clip End
.SSR
for screen-space reflections.Bloom
.Vignette
intensity.Displacement Strength
applied by height channel in the viewport.Select an existing preset or define custom keyboard shortcuts.
left
, middle
, right
handles to reference mouse buttons / pen.+
character to reference multiple keys: ie. ctrl+1
.Import
button to import keymap from file.Export
button to export keymap into file.Press Plugins tab - Manager
to open the plugin manager.
Import
to install a new plugin from .js
, .wasm
or .zip
file.New
to create a new hello-world plugin.Export
plugin file for distribution.Edit
plugin in a text editor.Delete
plugin.Plugins tab
.Live-link plugins are currently in development:
Plugins are written in JavaScript
or WebAssembly
(compiled from C
, Rust
, ..). For a minimal example, see the bundled hello_world.js
file located in the ArmorPaint/data/plugins
folder.
A plugin development guide will be provided soon.
The missing faces are likely caused by inverted normals & backface culling. Reversing normals for the affected faces should resolve the issue.
There is also a way to disable backface culling in ArmorPaint at Menu bar - Viewport - Cull Backfaces
, however it may cause issues with lighting due to normals pointing in the opposite direction.
If the issue persists, triangulating the mesh before importing it to ArmorPaint might help.
Make sure the UV map has no overlapping faces. It can be resolved by unwrapping the mesh so that each face occupies unique space on the UV map, or using multiple layers to paint objects with multiple UV sets.
Simple meshes can be unwrapped directly in ArmorPaint via the uv_unwrap
plugin.
Make sure all mesh faces are present on the UV map.


| Name | Total Lines | Lines of Code | Total Coverage | Code Coverage |
|---|---|---|---|---|
| lib/pages/mortgagebot_landing_page.rb | 65 | 43 | 93.85%
|
90.70%
|
Code reported as executed by Ruby looks like this...and this: this line is also marked as covered.Lines considered as run by rcov, but not reported by Ruby, look like this,and this: these lines were inferred by rcov (using simple heuristics).Finally, here's a line marked as not executed.
2 class MortgagebotLandingPage < GenericBasePage |
3 include DataHelper |
4 |
5 #Header selections |
6 element(:create) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[1]/a")} |
7 #Drop down selections within Create |
8 element(:createLoan) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[1]/ul/li[1]/a")} |
9 |
10 #Header selections |
11 element(:originator) {|b| b.element(name: "instUser_Input")} |
12 element(:action) {|b| b.element(name: "newLoanAction")} |
13 element(:submit) {|b| b.element(name: "mysubmit")} |
14 element(:cancel) {|b| b.element(name: "Cancel")} |
15 |
16 element(:importALoan) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[1]/ul/li[2]/a")} |
17 element(:quickLock) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[1]/ul/li[3]/a")} |
18 element(:scenarioPricer) {|b| b.element(text: "/html/body/header/section/div/div[2]/nav/ul/li[1]/ul/li[4]/a")} |
19 |
20 element(:pipeline) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[2]/a")} |
21 #Drop down selections within Pipeline |
22 element(:pipelineSearch) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[2]/ul/li[1]/a")} |
23 element(:loanPipeline) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[2]/ul/li[2]/a")} |
24 element(:complianceAlerts) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[2]/ul/li[3]/a")} |
25 |
26 #Popup Pipeline Search fields |
27 element(:keywords) {|b| b.element(id: "LoanNumber_TextMatchCriteria_Keywords")} |
28 element(:search) {|b| b.element(xpath: "/html/body/div[4]/div[2]/div/button[2]")} |
29 |
30 def mortgagebotsearch_yml(options={}) |
31 options = options.with_indifferent_access |
32 options.to_hash.reverse_merge! keywords_yml_hash.with_indifferent_access |
33 keywords.set keywords_yml_hash['keywords'] |
34 search.click |
35 end |
36 |
37 #Searched Loan return details |
38 element(:loanDetails) {|b| b.element(xpath: "/html/body/div[1]/div/div/section/section/table/tbody/tr[1]/td[1]")} |
39 |
40 element(:rates) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[3]/a")} |
41 |
42 element(:reports) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[4]/a")} |
43 #Drop down selections within reports |
44 element(:operations) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[4]/ul/li[1]/a")} |
45 element(:secondary) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[4]/ul/li[2]/a")} |
46 element(:services) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[4]/ul/li[3]/a")} |
47 element(:compliance) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[4]/ul/li[4]/a")} |
48 element(:accounting) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[4]/ul/li[5]/a")} |
49 element(:postClosing) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[4]/ul/li[6]/a")} |
50 element(:administration) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[4]/ul/li[7]/a")} |
51 |
52 element(:bulkDelivery) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[5]/a")} |
53 #Drop down selections within Bulk Delivery |
54 element(:bulkLoanUpdates) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[5]/ul/li[1]/a")} |
55 element(:trades) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[5]/ul/li[2]/a")} |
56 element(:fannieULDDMBS) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[5]/ul/li[3]/a")} |
57 element(:fannieULDDBulkWholeLoan) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[5]/ul/li[4]/a")} |
58 |
59 element(:resources) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[6]/a")} |
60 #Drop down selections within Resources |
61 element(:resourceCenter) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[6]/ul/li[1]/a")} |
62 element(:productsGuidelines) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[6]/ul/li[2]/a")} |
63 element(:calculators) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[6]/ul/li[3]/a")} |
64 element(:links) {|b| b.element(xpath: "/html/body/header/section/div/div[2]/nav/ul/li[6]/ul/li[4]/a")} |
65 element(:saveClose) {|b| b.button(name: "SaveClose")} |
66 end |
Generated on 2016-10-10 10:14:30 -0400 with SimpleCov-RCov 0.2.3


My_Flow_1
Draggables
This is a Node!
Instructions
New!
+ Height!
+ Width!
Save
Load
Print
Append here


Class that implements a simple model of a DNA Strand, with a sequence of characters 'A', 'G', 'C', 'T'.
More...
|
| def | __init__ (self, givenData) |
| | Constructs a DNAStrand with the given string of data, normally consisting of characters 'A', 'C', 'G', and 'T'. More...
|
| |
|
def | __str__ (self) |
| | Returns a string representing the strand data of this DNAStrand.
|
| |
| def | createComplement (self) |
| | Returns a new DNAStrand that is the complement of this one, that is, 'A' is replaced with 'T' and so on. More...
|
| |
| def | findMatchesWithLeftShift (self, other, shift) |
| | Returns a string showing which characters in this strand are matched with 'other', when shifted left by the given amount. More...
|
| |
| def | findMatchesWithRightShift (self, other, shift) |
| | Returns a string showing which characters in this strand are matched with 'other', when shifted right by the given amount. More...
|
| |
| def | findMaxPossibleMatches (self, other) |
| | Returns the maximum possible number of matching base pairs, when the given sequence is shifted left or right by any amount. More...
|
| |
| def | countMatchesWithLeftShift (self, other, shift) |
| | Returns the number of matching pairs, when 'other' is shifted to the left by 'shift' positions. More...
|
| |
| def | countMatchesWithRightShift (self, other, shift) |
| | Returns the number of matching pairs, when 'other' is shifted to the right by 'shift' positions. More...
|
| |
| def | isValid (self) |
| | Determines whether all characters in this strand are valid ('A', 'G', 'C', or 'T'). More...
|
| |
| def | letterCount (self, ch) |
| | Counts the number of occurrences of the given character in this strand. More...
|
| |
| def | matches (self, c1, c2) |
| | Returns True if the two characters form a base pair ('A' with 'T' or 'C' with 'G'). More...
|
| |
|
|
| strand |
| | Strand of this DNA, in upper case.
|
| |
Class that implements a simple model of a DNA Strand, with a sequence of characters 'A', 'G', 'C', 'T'.
'A' char corresponds to 'T', and 'C' char to 'G', those chars form a base pair each. All the methods within this class are used for the manipulation and study of the DNAStrands.
◆ __init__()
| def DNAStrand.DNAStrand.__init__ |
( |
|
self, |
|
|
|
givenData |
|
) |
| |
Constructs a DNAStrand with the given string of data, normally consisting of characters 'A', 'C', 'G', and 'T'.
Raises a ValueError exception, in case of an invalid givenData strand.
- Parameters
-
| givenData | string of characters for this DNAStrand. |
◆ countMatchesWithLeftShift()
| def DNAStrand.DNAStrand.countMatchesWithLeftShift |
( |
|
self, |
|
|
|
other, |
|
|
|
shift |
|
) |
| |
Returns the number of matching pairs, when 'other' is shifted to the left by 'shift' positions.
- Parameters
-
| other | given DNAStrand to match with this strand. |
| shift | number of positions to shift other to the left. |
- Returns
- number of matching pairs.
◆ countMatchesWithRightShift()
| def DNAStrand.DNAStrand.countMatchesWithRightShift |
( |
|
self, |
|
|
|
other, |
|
|
|
shift |
|
) |
| |
Returns the number of matching pairs, when 'other' is shifted to the right by 'shift' positions.
- Parameters
-
| other | given DNAStrand to be matched with this one. |
| shift | number of positions to shift other to the right. |
- Returns
- number of matching pairs.
◆ createComplement()
| def DNAStrand.DNAStrand.createComplement |
( |
|
self | ) |
|
Returns a new DNAStrand that is the complement of this one, that is, 'A' is replaced with 'T' and so on.
- Returns
- complement of this DNA.
◆ findMatchesWithLeftShift()
| def DNAStrand.DNAStrand.findMatchesWithLeftShift |
( |
|
self, |
|
|
|
other, |
|
|
|
shift |
|
) |
| |
Returns a string showing which characters in this strand are matched with 'other', when shifted left by the given amount.
- Parameters
-
| other | given DNAStrand. |
| shift | number of positions to shift other to the left. |
- Returns
- a copy of this strand, where matched characters are upper case and unmatched, lower case.
◆ findMatchesWithRightShift()
| def DNAStrand.DNAStrand.findMatchesWithRightShift |
( |
|
self, |
|
|
|
other, |
|
|
|
shift |
|
) |
| |
Returns a string showing which characters in this strand are matched with 'other', when shifted right by the given amount.
- Parameters
-
| other | given DNAStrand. |
| shift | number of positions to shift other to the right. |
- Returns
- a copy of this strand, where matched characters are upper case and unmatched, lower case.
◆ findMaxPossibleMatches()
| def DNAStrand.DNAStrand.findMaxPossibleMatches |
( |
|
self, |
|
|
|
other |
|
) |
| |
Returns the maximum possible number of matching base pairs, when the given sequence is shifted left or right by any amount.
- Parameters
-
| other | given DNAStrand to be matched with this one. |
- Returns
- maximum number of matching pairs.
◆ isValid()
| def DNAStrand.DNAStrand.isValid |
( |
|
self | ) |
|
Determines whether all characters in this strand are valid ('A', 'G', 'C', or 'T').
- Returns
- True if valid, and False otherwise.
◆ letterCount()
| def DNAStrand.DNAStrand.letterCount |
( |
|
self, |
|
|
|
ch |
|
) |
| |
Counts the number of occurrences of the given character in this strand.
- Parameters
-
- Returns
- number of occurrences of ch.
◆ matches()
| def DNAStrand.DNAStrand.matches |
( |
|
self, |
|
|
|
c1, |
|
|
|
c2 |
|
) |
| |
Returns True if the two characters form a base pair ('A' with 'T' or 'C' with 'G').
- Parameters
-
| c1 | first character. |
| c2 | second character. |
- Returns
- True if they form a base pair, and False otherwise.
The documentation for this class was generated from the following file:


Barmaid thanked friends for 'cheering her up' hours before her body was found
A ‘beautiful’ barmaid thanked her friends for ‘cheering her up’ hours before her body was discovered near a fire station.
Sara Hopkins, 25, was found dead in Upton-upon-Severn at around 8am yesterday.
A man, 44, has been arrested on suspicion of murder.
Hours before her death, she had posted on Facebook, saying she was grateful to her friends for raising her spirits after ‘a s**t week’.
Checking herself into country pub The Drum and Monkey, she wrote: ‘Caz and Gordy cheering me up after a s**t week, I have the best friends.’
Tributes poured in from Sara’s friends after her death, with best friend Holly Barrett thanking her for ‘stopping by and bringing so much joy in life’.
She said: ‘Today it’s really sunk in that you’re not here anymore and I can’t get over the fact that you’re gone.
‘You were my best friend during high school and carried on making me laugh and smile into our twenties.
Advertisement Advertisement
‘You were always so positive, kind and a great laugh to be around.
‘You had my back when not many others did and I’ll always be grateful for the time that we spent together.’
Sara’s ex-boyfriend Martin Haste, 54, said he had been left ‘absolutely devastated’ by her death.
He told The Sun Online: ‘It’s such a shock. We split up three months ago but stayed good friends.’
According to Sara’s Facebook page, she was working as a Planning Expeditor for local door supplier Permadoor.
Detective Inspector Jim Bayliss said: ‘Our enquiries are very much in their early stages and at this stage the woman’s death is being treated as suspicious.
‘A man has been arrested and is currently in police custody.
‘Extra officers will be in the area, both to carry out enquiries and to offer reassurance.’
Anyone with information can ring West Mercia Police on 101 quoting reference 150s 161119 or speak to Crimestoppers anonymously on 0800 555 111.
Got a story for Metro.co.uk?
Get in touch with our news team by emailing us at<EMAIL_ADDRESS>For more stories like this, check our news page.


A STEM & Arts Focused Day Camp for K-8 Students
Serving the healthcare community at Dignity.
Each project is designed to be flexible to different education levels. I have a variety of gadgets and gizmos for students to try out, like my drone, mostly won at computer science events.
A third grader might explore the physical aspects of constructing a model bridge (keeping it upright)…
While an eighth grader might explore the history of engineering involved, or the mathematics on display.
| 9:00 - 11:00 AM | Tutoring |
| Break | |
| 11:15 - 12:00 PM | Model Bridge Design |
| Lunch | |
| 12:30 - 1:30 PM | Drone Navigation |
| 1:30 - 3:00 PM | Tutoring |
Contact
Location: Merced CA 95348
Email<EMAIL_ADDRESS>Phone:<PHONE_NUMBER>


The Montgomery Park services want to increase awareness about their parks and get more millennials to go to the parks. They also want to increase park engagement through increased use of park facilities as well as technological engagement in the parks.
My team and I used contextual design methods to conduct user research, analyze the data, gather insights and suggest product concepts to the clients. As the lead User Researcher, I kept our team focused on the complex-diverse user issues and the research methodology. I was able to drive the interpretation sessions after user interviews to capture stand alone interview notes and Experience models. High quality user observation data led to meaningful insights. I also digitized the Park's physical Model. As Project Manager, I facilitated our weekly activities and meetings, communication with clients, deliverables and maintained a project plan.
Team: Vinita Atre, Chris Robeck, Praneetha Sattiraju, Di Xiao
1. Background Research
To understand the motivations, attitudes and habits of millennials in engaging with local parks, we conducted a literature review of past studies, surveys and client's research plans.Through our literature review, we found that..
2. Field Research
Meet our Users:
We interviewed 12 users in total with 4 men and 8 women. They were in the age range of 21 years to 35 years. We recruited participants through social media, emails, school PTA organizations and our own network. Our participants came from different occupations and income levels.The occupations ranging from being a student, nanny, artist, Government agent, Teaching Assistant, pizza delivery and unemployed.
Contextual Inquiry in Parks, Homes and On the way:
We conducted 2 hour deep contextual interviews with millennials. We met the users near their homes and travelled with them to the parks. I focused on gathering information about ongoing user experience as opposed to summary data. While asking users about retrospective accounts, I focused on concrete data rather than abstract. I used the apprentice(me)/master(interviewee) relationship model in observing user behavior along with probing to understand underlying aspects of their activities.
Interpretation Session:
To create a shared understanding, after each interview, usually within 48 hours, an interpretation session for each interview was conducted within the product team. In the session, the field interviewer talked through the events of a single interview while the rest of the team asked questions, wrote interview notes, drew models. I probed and guided my team to capture meaningful insights and interpretations.
3.From Data to Insights
Lives of millennials are complex and detailed, full of places, activities and products woven seamlessly. We found several issues that come in the way of millennials engaging with parks. They can be seen across various aspects of a millennial's life by presenting the field data in different ways.
Creating Affinity Diagrams
After each interview, we conducted interpretation sessions to capture notes and experience models for each of our users. We collected over 700 notes to construct our affinity model in a bottom to top hierarchy. We used the yellow post-it for our interview notes, blue post-it for aggregate findings, pink post-it for strategic perspective for findings and green post-it for user needs and issues.
The complete Affinity model was made online using Lucid Charts. Due to the hierrachy of observations in the Affinity, we found our key challenges from the top level green post-it in our affinity.
Challenges and high level findings
Using Inductive reasoning, we can say that millennials want to be easily get park information to do low planning social and fun activties by immersing in nature and at times tech.
Creating Experience Models
We created two models - Identity model and Park's Physical model.
A. The identity model shows the various identities or "things that are core to the user and takes pride in". A single user may have one or more identity elements. The consolidated Identity model is created from the individual Identity models for each user created during the interpretation session. Identity models are more direct than user peronas in expressing user needs.
B. The Physical model shows activities and issues in different focus areas on the maps. The consolidated Park's Physical model is created by aggregating individual physical models from each interview. I worked in creating the digital Park's Physical Model.
Walk the Wall
With all the data organized, we invited users, clients and other stakeholders to conduct an extensive wall walk session. Walk walk During the session, we wrote down Design Ideas(DI) on post-it and add them next to any finding/challenge/issue. We immersed ourselves in the data and then created a list of "top issues" and "hot ideas" to address those issues. We prioritized and selected the "hot ideas" that solved most of the "top issues".
4.Ideation
. Over the next several days, we analyzed and generated six visions to redefine the day-in-life for our user by solving the key user issues and addressing the identity elements. Visions were sketched out in the form of stories. These visions highlighted opportunities for product concepts.
We evaluated each of the visions by listing the positive and negatives. Based on this evaluation, we aggregated and distilled the visions to create 4 fully comprehensive Product Concepts.
5. Product Concepts
1. Park Map App: Addressing issues like social experience and tranquility, information about parks and facilities in parks, creating-viewing-sharing content in parks, tagging parks with cool activities to improve park's brand and awareness, we propose a mobile app. The app also provides an SOS feature to call park staff, handsfree immersion mode to guide user through the interesting things in the park through location detection and voice.
2. Parks Rental System: Millennials want “low preparation visits” to parks. We found that they view parks as places to play, hike and carry out various activities with friends mostly. The rental system provides a centralized equipment loan service with an app and kiosk interface. There will be smart lockers at parks for easy renting and returning of play equipment.
3. Parks Arts System: To provide users with an excuse to hang out with their friends outdoors, we created Parks Arts System. We found that the park users and non-users both are interested in outdoor activities as seen through our community space enthusiast identity. The Park Arts mobile app will deliver a social experience of visiting music, theatre and art events to users. It will also allow users to create events at parks and share them with park patrons and friends. We also addressed the business requirement of modernizing the event submission at parks. Overall this will increase awareness of the parks.
6. Client Presentation
We created a deck of slides to present our findings to the clients. We also presented them with the data through our affinity diagram and affinity models. Our clients also engaged in the wall walk session after which we presented our product concepts with them. After internal discussions, our clients found Park Map App and Park Arts System to be most suitable for them. Here is an article on UMD’s iSchool website that talks about our product concept's presentation to the clients. Next steps for us include wireframing, iterative paper prototyping and testing with users and then high-fidelity prototyping.


Now that you have installed easyRTC, you can check out a few of the demos. Please excuse the lack of spit and polish, we wanted to get this out asap. Keep track of the project as there are many improvements in the pipeline.
docs


This is a simple static website being served from Nginx running inside a Docker container!
trigger automated git commit for any changes in GitHub master


abstract fun findPublicKey(alias: String): PublicKey?
Returns the PublicKey of the input alias or null if it doesn't exist.
CryptoServiceException - for general cryptographic exceptions.
CryptoServiceException


assimp
Command-line client for the Open Asset Import Library.
Supports loading of 40+ 3D file formats, and exporting to several popular 3D formats.
More information: home page
- List all supported import formats:
assimp listext
- List all supported export formats:
assimp listexport
- Convert a file to one of the supported output formats, using the default parameters:
assimp export input_file.stl output_file.obj
- Convert a file using custom parameters (the dox_cmd.h file in assimp's source code lists available parameters):
assimp export input_file.stl output_file.obj parameters
- Display a summary of a 3D file's contents:
assimp info path/to/file
- List all supported subcommands ("verbs"):
assimp help
- Get help on a specific subcommand (e.g. the parameters specific to it):
assimp subcommand --help


The X-Men is an American superhero film series based on the fictional superhero team of the same name, who originally appeared in a series of comic books created by Stan Lee and Jack Kirby and published by Marvel Comics. 20th Century Fox obtained the film rights to the characters in 1994, and after numerous drafts, Bryan Singer was hired to direct X-Men (2000) and its sequel, X2 (2003), while Brett Ratner directed X-Men: The Last Stand (2006).
After each film earned higher box office grosses than its predecessor, several spin-off films were released, including a trilogy based on the character of Wolverine: X-Men Origins: Wolverine (2009), The Wolverine (2013) and Logan (2017). A prequel, X-Men: First Class, was released in 2011, followed by X-Men: Days of Future Past, a sequel to both X-Men: The Last Stand and X-Men: First Class, in 2014 and X-Men: Apocalypse in 2016. In February 2016, a spin-off focusing on Deadpool was released and became the highest-grossing film of the series.


Hacksgiving is over!
What it is
A logical extension of the Adopt a plugin work from Unknown User (danielbeck). Hacksgiving is a multiple day event to clean up deprecated plugins, merge plugins that make more sense to be merged into one, fix some bugs floating around in the issue tracker and of course have fun before the turkeys go in the oven (in the US).
This event is *open to everybody*. There's more to an open source community like Jenkins than the Java code. If you are interested in writing documentation, creating new demos or screenshots, or just learning a bit more about how the plugins and project are built, please join us!
No really
"Hacksgiving" is a made-up event around the time of Thanksgiving (in the US). In the past Unknown User (rtyler) has organized "Hacksgiving" events during the lulls in project schedules
When is it
Proposed time: November 23nd - November 24th
The current plan is to have an open virtual space via Google "Hangouts on Air", which would periodically have sessions from volunteers on the schedule. Similar to an unconference style event in "the real world."
How to Participate
- Join the
#jenkins
IRC Channel on Freenode - Watch the #Hacker Hangout YouTube live stream or join the Hangout directly via Google Hangouts
Schedule
Session |
Time |
Contributor |
Notes |
|---|---|---|---|
Nov 23rd |
|
|
|
Introduction to contributing to the Jenkins project |
7:00PST/10:00EST (15-30min) |
Brief walk through Beginners Guide To Contributing |
|
10:00PST/13:00EST (60min) |
Workshop on getting started with building Jenkins plugins |
||
Plugin demo session |
(30 minutes) |
|
Show and tell time |
|
|
|
|
Nov 24th |
|
|
|
Writing blog posts for jenkins-ci.org |
9:30PST/12:30EST |
We're switching to a statically generated site which means everybody can write content now! |
|
10:00PST/13:00EST (60min) |
(repeat) Workshop on getting started with building Jenkins plugins |
||
Plugin Developer Open Q&A |
13:00PST (60 minutes) |
|
|
Plugin demo session |
(30 minutes) |
|
Show and tell time |
|
|
|
|
Wanted Sessions
- Introduction to the Jenkins plugin development tools (ideally using an existing plugin as a reference)
- Writing tests for a Jenkins plugin
- Extending the Workflow DSL or making a plugin "Workflow ready"
- Triaging Jenkins when things go wrong (how to debug/identify problems)
- Creating acceptance tests for Jenkins plugins
Documentation hacking
For those not interested in working on core or a plugin, we'll also be doing some documentation hacking! Cleaning up documentation for plugins that need some sprucing up, etc.
Who:
- Unknown User (rtyler) (
rtyler
on IRC)
Plugin Hacking
Who:
- Unknown User (owenmehegan) (
autojack
on IRC) - Unknown User (abayer) (
abayer
on IRC) - Unknown User (slide_o_mix) (
Slide-O-Mix
on IRC) - Unknown User (fredg) (
fredg02
on IRC) - Unknown User (kohsuke) (
kohsuke
on IRC) - Unknown User (batmat) (
batmat
on IRC) - Unknown User (danielbeck) (
danielbeck
ordanielbe_
on IRC)
Hacker Hangout
We'll have some sessions around or during Hacksgiving to do hands-on plugin-development tutorials and support would really help get more plugins merged or adopted. The idea is still very rough, but some sessions to introduce folks to hacking Jenkins plugins would probably help quite a bit!
Proposed plugins to merge
If you are interested in merging two plugins, please work that out with the respective plugin maintainers. We will not be forcing any two plugins to be merged together, but if two maintainers mutually agree to merge, Hacksgiving is a good time to do it!
If you add to this list, please leave your name so maintainers know who to contact.
- ssh2easy and ssh
- simpleclearcase and clearcase and clearcase-ucm
- scp and publisher-over-ssh
- mstest and mstestrunner
- matrix-project and matrix-reloaded
- sounds and html-audio-notifier
- ftppublisher and publish-over-ftp
- locks-and-latches and Throttle Concurrent Builds (Unknown User (abayer))
- Extra Columns Plugin assimilating Build Node Column Plugin and Console Column Plugin (Unknown User (fredg))
Plugins to clean up
- gitorious - gitorious is a dead site
- one of groovy-events-listener-plugin-master and groovy-events-listener-plugin
- gitlab-plugin - owenmehegan would like some help reviewing this code and making a roadmap for improvements
- There are 430 plugins using a deprecated Jenkins api. You can see details for each plugin here. Perhaps, some PR could be submitted to fix some of these plugins ? (suggested by evernat)
Plugins up for adoption
-
Accelerated Build Now Plugin — The Jenkins Accelerated Build Now Plugin allows Jenkins users to launch a project's build right away, even if the queue is long (moving it to the top of the queue) and even if no executor is available (killing and rescheduling builds not launched by "humans")
-
AccuRev Plugin — This plugin allows you to use AccuRev as a SCM.
-
Amazon EC2 Plugin — Allow Jenkins to start agents on EC2 or Eucalyptus on demand, and kill them as they get unused.
-
Amazon ECR — This plugin offers integration with Amazon EC2 Container Registry (ECR) as a DockerRegistryToken source to convert Amazon Credentials into a Docker CLI Authentication Token.
-
ArtifactDeployer Plugin — This plugin makes it possible to copy artifacts to remote locations.
-
AWS Cloudformation Plugin —
A plugin that allows for the creation of cloud formation stacks before running the build and the deletion of them after the build is completed.
-
AWS SQS Plugin — Jenkins plugin that triggers builds on events that are published via Amazon Simple Queue Service (SQS)
-
Backup Plugin — Backup plugin allows archiving and restoring your Jenkins (and Hudson) home directory.
-
BruceSchneier Plugin —
Displays a picture of Bruce Schneier (instead of Jenkins the butler) and a random Bruce Schneier fact on each build page.
-
BuildResultTrigger Plugin — BuildResultTrigger makes it possible to monitor the build results of other jobs.
-
Collapsing Console Sections Plugin — This plugin allows the creation of sections in build consoles.
-
Configuration Slicing Plugin — Perform mass configuration of select project properties, including email, timer, discard old builds, and Maven configuration.
-
Console Column Plugin — Provide a fast-path console link available for views.
-
Console Tail Plugin —
This plugin adds a floating box to all projects when the last build failed. The floating box is only shown if the last build failed.
-
Copy To Slave Plugin — This plugin allows to copy a set of files, from a location somewhere on the master node, to jobs' workspaces. It also allows to copy files back from the workspaces of jobs located on a slave node to their workspaces on the master one.
-
CPPNCSS Plugin — This plugin allows you to use CppNCSS build reporting tool.
-
Cpptest Plugin —
This plugin allows you publish Parasoft C++test test results.
This plugin makes it possible to import Parasoft C++test reports from each build into Hudson so they are displayed with a trend graph and details about which tests that failed.
-
Crowd 2 Plugin — This plugin enables use of Atlassian Crowd >= 2.1.x as an authentication source.
-
Cucumber Slack Notifier Plugin —
A plugin to send a summarised cucumber report to a slack channel.
-
Cucumber Test Result Plugin — This plugin allows you to show the results of Cucumber tests within Jenkins.
-
CVS Plugin — This bundled plugin integrates Jenkins with CVS version control system.
-
Cygwin Process Killer Plugin — Plugin implements proper termination of Cygwin processes in Jenkins jobs
-
Dependency Graph View Plugin — Shows a dependency graph of the projects using graphviz. Requires a graphviz installation on the server.
-
Deployed on Column Plugin — This plugin provides a column that acts as a container for build actions that record deployment of build artifacts to remote servers, such as deployment of web applications to servers, etc. The plugin also provides an extension point for other plugins to contribute their build actions.
-
Downstream buildview plugin — This plugin allows you to view the full status all the downstream builds so that we can graphically see that everything for this build has been completed successfully.
-
Dynamic Search View Plugin — Adds a new list view, which allows to dynamically specify additional filters.
-
-
EnvInject Plugin — This plugin makes it possible to have an isolated environment for your jobs.
-
Extension Filter Plugin — This plugin allows to filter features available on a Jenkins instance by disabling some Extensions/Descriptors.
-
Extra Tool Installers Plugin — Provides additional tool installation methods.
-
File System SCM — Use File System as SCM.
-
Firefox Add-on Build Monitor — Monitor Jenkins builds and display the status on Firefox status bar.
-
FSTrigger Plugin — FSTrigger provides polling mechanisms to monitor a file system and trigger a build if a file or a set of files have changed.
-
GitHub pull request builder plugin — This plugin builds pull requests in github and report results.
-
GitLab Auth — This plugin provides authentication for GitLab users.
-
Gnat Plugin — This plugin makes it possible to integrate Gnat features for Ada languages in Jenkins.
-
H2 Database Plugin — This is a driver plugin for Database plugin that adds H2 database driver
-
Harvest Plugin — This plugin allows you to use CA Harvest as a SCM.
-
Ironmq Notifier — This plugin uses the IronMQ messaging service to send status updates of build information into an enterprise level cloud based message queue.
-
IvyTrigger Plugin — IvyTrigger provides polling mechanisms to poll an Ivy file and triggers a build if an Ivy dependency version has changed.
-
JavaNCSS Plugin — This plugin allows you to use JavaNCSS build reporting tool.
-
Jenkins-Reviewbot — This plugin pulls a diff from reviewboard request, applies the patch, builds it and reports the build status as a review comment
-
JIRA Trigger Plugin — Triggers a build when a certain condition is matched in JIRA.
-
Job Restrictions Plugin — The plugin allows restricting job executions in order to change their behavior or to harden the security. With this plugin it is possible to configure nodes to accept only particular jobs. It is also possible to prevent job triggering by users and other jobs using various conditions.
-
jQuery UI Plugin — This plugin allows you to use jQuery UI on each view descriptions.
-
JUnit Attachments Plugin — This plugin can archive certain files (attachments) together with your JUnit results.
-
-
Locale Plugin — This plugin controls the language of Jenkins
-
Locks and Latches plugin — This plugin allows you to control the parallel execution of jobs.
-
Mask Passwords Plugin — This plugin allows masking passwords that may appear in the console
-
Nested View Plugin — View type to allow grouping job views into multiple levels instead of one big list of tabs.
-
Node Stalker Plugin — This plugin lets you configure jobs to run on the same node, and if desired the same workspace, as another job.
-
NUnit Plugin — This plugin allows you to publish NUnit test results.
-
OpenID plugin — This plugin lets your Jenkins users login to Jenkins through external OpenID providers, without using password.
-
-
Pathignore Plugin — This plugin allows SCM-triggered jobs to ignore build requests if only certain paths have changed, or to build if and only if certain paths are changed.
-
PerfPublisher Plugin — This plugin generates global and trend reports for tests results analysis. Based on an open XML tests results format, the plugin parses the generated files and publish statistics, reports and analysis on the current health of the project.
-
-
-
-
Poll Mailbox Trigger Plugin — A Jenkins plugin, to poll an email inbox, and trigger jobs based on new emails.
-
Port Allocator Plugin — Assigns unique TCP port addresses to jobs so that jobs executed concurrently won't collide with each other.
-
Priority Sorter Plugin — This plugin allows Jobs to be prioritised based on Queue Strategies and Priority Strategies.
-
-
Publish Over CIFS Plugin — Send build artifacts to a windows share (CIFS/SMB/samba)
-
Publish Over FTP Plugin — Publish files over FTP
-
Publish Over SSH Plugin — Publish files and/or execute commands over SSH (SCP using SFTP)
-
Release Plugin — This plugin adds the ability to wrap your job with pre- and post- build steps which are only executed when a manual release build is triggered.
-
Remote Terminal Access Plugin — This plugin enables users to open an interactive terminal session against on-going builds on Jenkins.
-
Repo Plugin — This plugin adds Repo as an SCM provider in Jenkins.
-
Ruby Runtime Plugin — Provides the Ruby runtime and bindings required to implement plugins in Ruby.
-
Run Condition Extras Plugin —
This plugin provides additional run conditions and integrations for Run Condition Plugin
-
Schedule Build Plugin — Adds capability to schedule a build for a later point in time. Asks the user for a date and time and adds the build to the build queue with the respective quiet period.
-
SCons Plugin — This plugin allows Hudson to invoke SCons build script as the main build step.
-
ScriptTrigger Plugin — ScriptTrigger makes it possible to monitor an environment with a script.
-
Secure Requester Whitelist Plugin — Allows an administrator to specify sites trusted to make JSONP or primitive-XPath REST API requests.
-
SharedObjects Plugin — This plugin makes it possible to share objects (script file, source file, tool installation, ...) from an environment in Jenkins and manage dynamically these objects through environment variables with the EnvInject Plugin during the job build.
-
Subversion Plugin — This plugin adds the Subversion support (via SVNKit) to Jenkins.
-
Tattletale Plugin —
This plugin generates Tattletale reports, mostly useful for jar file analysis.
-
Tcl Plugin — Plugin provides Tcl buildstep
-
TestLink Plugin — This plug-in integrates Jenkins and TestLink and generates reports on automated test execution. With this plug-in you can manage your tests in TestLink, schedule and control in Jenkins, and execute using your favorite test execution tool (TestPartner, Selenium, TestNG, Perl modules, PHPUnit, among others).
-
testng-plugin — This plugin allows you to publish TestNG results generated using
org.testng.reporters.XMLReporter
. -
Testopia Plugin —
This plug-in integrates Jenkins with Testopia and generates reports on automated test execution. With this plug-in you can manage your tests in Testopia, schedule and control in Jenkins, and execute using your favorite test execution tool (TestPartner, Selenium, TestNG, Perl modules, prove, PHPUnit, among others).
-
thinBackup — This plugin simply backs up the global and job specific configurations (not the archive or the workspace).
-
Throttle Concurrent Builds Plugin — This plugin allows for throttling the number of concurrent builds of a project running per node or globally.
-
Vault Plugin — This plugin integrates SourceGear Vault/Fortress™ version control with Jenkins.
Currently the plugin supports polling SCM for changes, triggering build if there is changes and keeping the changelog.
This is an unofficial plugin - neither the plugin or the developer are affiliated with SourceGear.
-
Version Number Plugin — This plugin creates a new version number and stores it in the environment variable whose name you specify in the configuration.
-
VirtualBox Plugin — This plugin integrates Jenkins with VirtualBox (version 3, 4.0, 4.1, 4.2 and 4.3) virtual machine.
-
VMware plugin — This plugin allows you to start a VMware Virtual Machine before a build and stop it again after the build completes.
-
vSphere Cloud Plugin — Add VMware vSphere support to Jenkins by making available multiple vSphere Build Steps and supporting the use of Virtual Machines as slaves.
-
WIX Toolset Plugin — With WIX Toolset Plugin you are able to build MSI packages from Windows Installer XML (WiX) files with Jenkins.
-
XTrigger Plugin — The XTrigger plugin makes it possible to monitor different environments (filesystem, jobs result, url response, binary repository and so on) and triggers a build if there is at least one change between two checks.
-
ZenTimestamp Plugin — This plugin export a
BUILD_TIMESTAMP
variable.
Hacksgiving Notes
Day One
These are the raw notes lifted from etherpad after day one:
day one participation link https://hangouts.google.com/call/ff6n4um5mncejfehwmbute5jkaa
Intro to Contributing to Jenkins
Useful Resources:
- wiki.jenkins-ci.org
- issues.jenkins-ci.org
- Beginners Guide to Contributing
- Plugin tutorial
Hacksgiving links:
- plugins using @Deprecated APIs: https://ci.jenkins-ci.org/view/Infrastructure/job/infra_deprecated-usage-in-plugins/lastSuccessfulBuild/artifact/target/output.html
- List of plugins up for adoption: Adopt a Plugin
- new statically generated website source code: https://github.com/jenkinsci/jenkins.io
- demo version of statically generated website: http://jenkins.lasagna.io/
- Asking about JUnit vs. Spock for plugin unit testing, daspilker linked to the Job DSL plugins spock tests: https://github.com/jenkinsci/job-dsl-plugin/tree/master/job-dsl-plugin/src/test/groovy/javaposse/jobdsl/plugin
Workflow session
- plugin documentation: https://github.com/jenkinsci/workflow-plugin
- tutorial: https://github.com/jenkinsci/workflow-plugin/blob/master/TUTORIAL.md
- workflow compatibility with other plugins: https://github.com/jenkinsci/workflow-plugin/blob/master/COMPATIBILITY.md
- workflow demo repository: https://github.com/jenkinsci/workflow-plugin/tree/master/demo/repo
- workflow remote loader plugin https://github.com/jenkinsci/workflow-remote-loader-plugin
All state and data inside of a Workflow script must be serializable which will allow Jenkins to serialize the Workflow to disk if Jenkins needs to restart, the workflows can be restarted.
rtyler to update docs to mention need for serializable interfaces on embedded classes
When using multibranch workflows you can specify branches to match against, otherwies the workflow will use all available branches which have a "Jenkinsfile" in them so it's expected that the "stale" (i.e. merged) branches
Ticket capturing the open sourcing of the workflow stage view plugin: https://issues.jenkins-ci.org/browse/JENKINS-31154
Tickets about stage pre-emption: https://issues.jenkins-ci.org/browse/JENKINS-30269https://issues.jenkins-ci.org/browse/JENKINS-27039
Plugin development workshop
- List of automatically generated extension points: Extension points
- pre-requirsites and materials for the workfshop: Intro to Jenkins Plugin Development Workshop
- plugin tutorial: Plugin tutorial
- `mvn hpi:run` spins up a local test Jenkins server with your plugin on port 8080
- Jelly files are executable XML templates (from: https://commons.apache.org/proper/commons-jelly/)
- Jenkins includes a lot of custom Jelly extensions called "taglib": https://jenkins-ci.org/maven-site/jenkins-core/jelly-taglib-ref.html
- wrapping your page content inside of a <l:layout> tag in the jelly file will use the Jenkins layout, etc (see also: <l:main-panel/>
- Descriptor javadoc: http://javadoc.jenkins-ci.org/hudson/model/Descriptor.html
- For the maven averse, there is a Gradle plugin available for building Jenkins plugins: https://github.com/jenkinsci/gradle-jpi-plugin (see also: Gradle JPI Plugin)
- testing uses the JUnit rule "JenkinsRule"
- acceptance-test-harness allows for acceptance tests via Selenium testing of the UI
- The real world example of some of the stuff in the demo can be found in the ant plugin: https://github.com/jenkinsci/ant-plugin
Localization/Internationalization
- Internationalization
- repository for where daniel was localizing the plugin: https://github.com/daniel-beck/changelog-environment-plugin
Day Two
Static site session
- Repository: https://github.com/jenkinsci/jenkins.io
- Current demo site: http://jenkins.lasagna.io/
- New design/layout demo: http://jenkins.lasagna.io/new/
Plugin development workshop
- Pre-requisites/background for the session: Intro to Jenkins Plugin Development Workshop
- List of extension points available in Jenkins: Extension points
- day one notes for this session: Hacksgiving 2015
- ant-plugin: https://github.com/jenkinsci/ant-plugin
Plugin developer open Q&A
- https://ci.jenkins-ci.org/view/Infrastructure/job/infra_deprecated-usage-in-plugins/lastSuccessfulBuild/artifact/target/output.html
- Unit Test
- https://github.com/jenkinsci/acceptance-test-harness
- plugin developers are encouraged to add tests into this repository which runs to ensure that things work on LTS and the latest release
- some tips/tricks for searching through Jenkins source/extension points Grepping all sources
- plugin developer guide for supporting workflow: https://github.com/jenkinsci/workflow-plugin/blob/master/COMPATIBILITY.md#plugin-developer-guide
- https://issues.jenkins-ci.org/browse/JENKINS-29922 should make it possible for plugins to not need to explicitly support workflow


efunct borewell converted into RWH system
by Special CorrespondentA defunct deep borewell at the Panchayat Union Primary School, Pulavarnatham in Ammapet Panchayat Union, has been converted into a rainwater harvesting system.
Construction of two classrooms was taken up at the primary school at a cost of ₹ 16 lakhs with Panchayat General Fund. While constructing the new building, it was decided to convert the defunct deep borewell, situated near the construction site, into a rainwater harvesting system as directed by the State government.
A sum of around ₹20,000 was spent for conversion of deep borewell into RWH structure where pipes were laid to drain rainwater collected on the roof of the new building into soak pit dug around the defunct bore well, sources said.
After inspecting the conversion work, Collector Mantri Govinda Rao enquired about the progress of conversion of defunct deep borewells into RWH structures in the district.
He inspected various other work such as construction of a high-level bridge across the Vennar at a cost of ₹3 crore connecting Neigunnam and Iveli hamlets under NABARD funding and other works in Ammapet Panchayat Union.