|
Frequently Asked Questions / Troubleshootings / HOWTOs
|
General Questions
How to install OpenCV properly?
Read installation guide
How can I get acquainted with OpenCV fast?
- Look at samples.
- Within Visual Studio you may load OpenCV workspace:
- opencv.dsw for Microsoft Visual Studio 6.0
- opencv.sln for Miscrosoft Visual Studio .NET 2003
- cbuilderx/opencv.bpgr for Borland C++ BuilderX
select cvsample
project, build it and run. Look into the code
and modify it as you wish.
- Also, scan through reference manuals - they contain some example code as well.
- Search OpenCV archives at http://groups.yahoo.com/group/OpenCV
for the topic you are interesting in.
- Create a new project from scratch
or modify existing
cvsample
.
There are application wizards for Microsoft Visual Studio that create OpenCV-aware projects;
look for them at http://groups.yahoo.com/group/OpenCV
(Files section - you have to be registered<EMAIL_ADDRESS>user)
Where do I submit Bug reports for the computer vision library?
Send email to<EMAIL_ADDRESS>Subject: BUG <....your title...>
How do I send bug reports on the Intel® Ingegrated Performance Primitives
Send email to<EMAIL_ADDRESS>How do I join the OpenCV forum?
Send email to<EMAIL_ADDRESS>after you are a member and select your logon, you can read the web group at
http://groups.yahoo.com/group/OpenCV
How do I modify the web group so that I don't receive tons of email's?
To get the messages real time, or once a day as a daily digest,
you can go to http://groups.yahoo.com/mygroups
and choose your setting from the pull down list to the right of OpenCV.;
Ok, I found the group completely useless for me. How can I unsubscribe?
Mail to<EMAIL_ADDRESS>with subject [OpenCV] and arbitrary message contents.
When using OpenCV and IPL simultaneously, I get compiler errors. How to resolve this problem?
To be completely independent from IPL, OpenCV duplicates declarations of IplImage
and few other structures and constants if it is not told explicitly that IPL is present.
Defining HAVE_IPL before including OpenCV headers or putting "#include <ipl.h>"
before OpenCV headers resolves the conflict.
Does OpenCV work on other processors?
Yes, OpenCV itself is open source and it is quite portable, especially across
32-bit platforms. On the other hand, OpenCV can run much faster on Intel processors
because of IPP.
Windows® OS related Qs:
When I try to build one of the
apps, I get an error, streams.h not found.
You need install and setup DirectShow SDK that is now a part of Platform SDK
(Windows Server 2003 SP1 SDK or later).
Here is the procedure:
- Download the Platform SDK from
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
and DirectX SDK from
http://msdn.microsoft.com/directx/
(They are huge, but you can download and install them by parts).
If it doesn't work for you, consider HighGUI that can capture video via VFW or MIL
- Install Platform SDK together with DirectShow SDK.
Install DirectX SDK (with or without sample code).
- Build baseclasses.
See <PlatformSDKInstallFolder>\samples\multimedia\directshow\readme.txt.
- Copy the built libraries (called strmbase.lib and strmbasd.lib
in Release and Debug versions, respectively) to
<PlatformSDKInstallFolder>\lib.
- In Developer Studio add the following paths:
<DirectXSDKInstallFolder>\include
<PlatformSDKInstallFolder>\include
<PlatformSDKInstallFolder>\samples\multimedia\directshow\baseclasses
to the includes' search path
(at Tools->Options->Directories->Include files in case of Visual Studio 6.0,
at Tools->Options->Projects and Solutions->VC++ Directories->Include files in case
of Visual Studio 2005)
Add
<DirectXSDKInstallFolder>\lib
<PlatformSDKInstallFolder>\lib
to the libraries' search path (in the same dialog, ...->"Library files" page)
NOTE: PUT THE ADDED LINES ON THE VERY TOP OF THE LISTS, OTHERWISE YOU MAY STILL GET
COMPILER OR LINKER ERRORS. This is necessary, because Visual Studio
may include older versions of the same headers and libraries.
- Now you can build OpenCV DirectShow filters.
After installing DirectX SDK I'm still getting linker error about undefined
or redefined "TransInPlace" filter class constructors etc.
Put the paths to the SDKs' include and lib folders on the top of the search lists.
When I use try to use cvcam, it just crashes
Make sure, you registered ProxyTrans.ax and SyncFilter.ax
How to register *.ax (DirectShow filter)?
Open the file (within explorer) using regsvr32.exe (under Win2000 it is done by
Open with->Choose Program...->Browse...->c:\windows\system32\regsvr32.exe (path may be different).
You may remember association to save clicks later.
Filter couldn't be registered (regsvr32 reports an error)
The most probable reason is that the filter requires some DLLs that are not in the path.
In case of OpenCV make sure <OpenInstallFolder>\bin is in the path
cxcore096d.dll or cxcored.lib seem to be missing
cxcore096d.dll means debug version of cxcore DLL and cxcored.lib is the import library for cxcore096d.dll.
Open OpenCV workspace, select "cxcore" as active project and
select "Win32 Debug" configuration. Build the library and you will get bin\cxcore096d.dll and
lib\cxcored.lib files. The same should be repeat for all the other OpenCV components
- name of binary, ending with d means Debug version that are not shipped.
When compiling HighGUI I get the error message "mil.h is not found"
mil.h is a part of Matrox Imaging Library (MIL) that is usually supplied with
Matrox (or compatible) framegrabbers, such as Meteor, Meteor II etc.
- If you have such
a framegrabber and MIL installed, add mil\include and mil\lib to the search paths
within Developer Studio (submenu Tools->Options->Directories).
- If you do not have MIL, just ignore the error. The file mil.h is only required
to build MIL-aware version of Highgui "Win32 MIL Debug" or "Win32 MIL Release".
Select "Win32 Debug" or "Win32 Release" configuration of highgui
(submenu Build->Set Active Configuration...) instead - these versions of highgui
can still be used to grab video via VFW interface, work with AVIs and still images.
How can I debug DirectShow filter?
- Open workspace with the filter (e.g. opencv.dsw),
- select the filter as active project and build it in debug configuration,
- switch to explorer for a minute to register debug version of the filter
(e.g. regsvr32 camshiftd.ax) (it needs to be done only when debug/release version are switched - not
every time when filter is recompiled, because registry stores only the filter name),
- get back to Developer Studio and start debugging session (F5).
It will ask, what application do you want to run to debug the module.
You may choose camshiftdemo to debug camshift.ax and
DirectX SDK tool graphedit to debug arbitrary DirectShow filter.
- Within graphedit build filter graph (e.g. camera->camshift->renderer)
- Save the graph (you may just load it next time)
- Set the breakpoint inside ::Transform method of the filter or in other location.
- Run the filter and ... have fun
(note: this is a lengthy answer)
To create your own OpenCV-based project in Developer Studio
from scratch do the following:
- Within Developer Studio create new application:
- select from menu "File"->"New..."->"Projects" tab.
Choose "Win32 Application" or "Win32 console application" - the latter is
the easier variant and the both sample projects have this type.
- type the project name and choose location
- you may create own workspace for the project ("Create new workspace")
or include the new project into the currently loaded workspace
("Add to current workspace").
- click "next" button
- choose "An empty project", click "Finish", "OK".
After the above steps done Developer Studio will create the project
folder (by default it has the same name as the project),
<project name>.dsp file and, optionally, <project name>.dsw,.ncb ... files
if you create own workspace.
- Add a file to the project:
- Customize project settings:
- Activate project setting dialog by choosing menu item
"Project"->"Settings...".
- Select your project in the right pane.
- Tune settings, common to both Release and Debug configurations:
- Select "Settings For:"->"All Configurations"
- Choose "C/C++" tab -> "Preprocessor" category -> "Additional Include Directories:".
Add comma-separated relative (to the .dsp file) or absolute paths
to opencv\cxcore\include, opencv\cv\include, opencv\otherlibs\highgui and, optionally,
opencv\cvaux\include.
- Choose "Link" tab -> "Input" category -> "Additional library path:".
Add the paths to all neccessary import libraries (cxcore[d].lib cv[d].lib hihghui[d].lib cvaux[d].lib)
- Tune settings for "Debug" configuration
- Select "Settings For:"->"Win32 Debug".
- Choose "Link" tab -> "General" category -> "Object/library modules".
Add space-separated cvd.lib, highguid.lib, cvauxd.lib (optionally)
- You may also want to change location and name of output file. For example,
if you want the output .exe file to be put into the project folder, rather
than Debug/ subfolder, you may type ./<exe-name>d.exe in
"Link" tab -> "General" category -> "Output file name:".
- Tune settings for "Release" configuration
- Select "Settings For:"->"Win32 Release".
- Choose "Link" tab -> "General" category -> "Object/library modules".
Add space-separated cv.lib, highgui.lib, cvaux.lib (optionally)
- Optionally, you may change name of the .exe file:
type ./<exe-name>.exe in "Link" tab -> "General" category -> "Output file name:".
- Add dependency projects into workspace:
- Choose from menu: "Project" -> "Insert project into workspace".
- Select opencv\cv\make\cv.dsp.
- Do the same for opencv\cvaux\make\cvaux.dsp, opencv\otherlibs\highgui\highgui.dsp.
- Set dependencies:
- Choose from menu: "Project" -> "Dependencies..."
- For "cv" choose "cxcore",
- For "cvaux" choose "cv", "cxcore",
- for "highgui" choose "cxcore",
- for your project choose all: "cxcore", "cv", "cvaux", "highgui".
The dependencies customization allows to automatically build debug versions
of opencv libraries and rebuild the binaries if the sources are changed somehow.
- That's it. Now compile and run everything.
Linux Related Qs:
TODO
Technical Questions on Library use:
How to access image pixels
(The coordinates are 0-based and counted from image origin, either top-left
(img->origin=IPL_ORIGIN_TL) or bottom-left (img->origin=IPL_ORIGIN_BL)
- Suppose, we have 8-bit 1-channel image I (IplImage* img):
I(x,y) ~ ((uchar*)(img->imageData + img->widthStep*y))[x]
- Suppose, we have 8-bit 3-channel image I (IplImage* img):
I(x,y)blue ~ ((uchar*)(img->imageData + img->widthStep*y))[x*3]
I(x,y)green ~ ((uchar*)(img->imageData + img->widthStep*y))[x*3+1]
I(x,y)red ~ ((uchar*)(img->imageData + img->widthStep*y))[x*3+2]
e.g. increasing brightness of point (100,100) by 30 can be done this way:
CvPoint pt = {100,100};
((uchar*)(img->imageData + img->widthStep*pt.y))[pt.x*3] += 30;
((uchar*)(img->imageData + img->widthStep*pt.y))[pt.x*3+1] += 30;
((uchar*)(img->imageData + img->widthStep*pt.y))[pt.x*3+2] += 30;
or more efficiently
CvPoint pt = {100,100};
uchar* temp_ptr = &((uchar*)(img->imageData + img->widthStep*pt.y))[x*3];
temp_ptr[0] += 30;
temp_ptr[1] += 30;
temp_ptr[2] += 30;
- Suppose, we have 32-bit floating point, 1-channel image I (IplImage* img):
I(x,y) ~ ((float*)(img->imageData + img->widthStep*y))[x]
- Now, the general case: suppose, we have N-channel image of type T:
I(x,y)c ~ ((T*)(img->imageData + img->widthStep*y))[x*N + c]
or you may use macro CV_IMAGE_ELEM( image_header, elemtype, y, x_Nc )
I(x,y)c ~ CV_IMAGE_ELEM( img, T, y, x*N + c )
There are functions that work with arbitrary (up to 4-channel) images and matrices
(cvGet2D, cvSet2D), but they are pretty slow.
How to access matrix elements?
The technique is very similar.
(In the samples below i - 0-based row index, j - 0-based column index)
- Suppose, we have 32-bit floating point real matrix M (CvMat* mat):
M(i,j) ~ ((float*)(mat->data.ptr + mat->step*i))[j]
- Suppose, we have 64-bit floating point complex matrix M (CvMat* mat):
Re M(i,j) ~ ((double*)(mat->data.ptr + mat->step*i))[j*2]
Im M(i,j) ~ ((double*)(mat->data.ptr + mat->step*i))[j*2+1]
- For single-channel matrices there is a macro CV_MAT_ELEM( matrix, elemtype, row, col ),
i.e. for 32-bit floating point real matrix
M(i,j) ~ CV_MAT_ELEM( mat, float, i, j ),
e.g. here is
initialization of 3x3 identity matrix:
CV_MAT_ELEM( mat, float, 0, 0 ) = 1.f;
CV_MAT_ELEM( mat, float, 0, 1 ) = 0.f;
CV_MAT_ELEM( mat, float, 0, 2 ) = 0.f;
CV_MAT_ELEM( mat, float, 1, 0 ) = 0.f;
CV_MAT_ELEM( mat, float, 1, 1 ) = 1.f;
CV_MAT_ELEM( mat, float, 1, 2 ) = 0.f;
CV_MAT_ELEM( mat, float, 2, 0 ) = 0.f;
CV_MAT_ELEM( mat, float, 2, 1 ) = 0.f;
CV_MAT_ELEM( mat, float, 2, 2 ) = 1.f;
How to process my data with OpenCV
Suppose, you have 300x200 32-bit floating point image/array, that
resides in 60000-element array.
int cols = 300, rows = 200;
float* myarr = new float[rows*cols];
// step 1) initializing CvMat header
CvMat mat = cvMat( rows, cols,
CV_32FC1, // 32-bit floating-point, single channel type
myarr // user data pointer (no data is copied)
);
// step 2) using cv functions, e.g. calculating l2 (Frobenius) norm
double norm = cvNorm( &mat, 0, CV_L2 );
...
delete myarr;
Other scenaria are described in the reference manual.
See cvCreateMatHeader, cvInitMatHeader, cvCreateImageHeader, cvSetData etc.
How to load and display image
/* usage: prog <image_name> */
#include "cv.h"
#include "highgui.h"
int main( int argc, char** argv )
{
IplImage* img;
if( argc == 2 && (img = cvLoadImage( argv[1], 1)) != 0 )
{
cvNamedWindow( "Image view", 1 );
cvShowImage( "Image view", img );
cvWaitKey(0); // very important, contains event processing loop inside
cvDestroyWindow( "Image view" );
cvReleaseImage( &img );
return 0;
}
return -1;
}
How to find and process contours
Look at squares demo
How to calibrate camera using OpenCV
TODO


Files CCore/inc/crypton/BlockCipher.h CCore/src/crypton/BlockCipher.cpp
BlockCipher is an abstract block cipher algorithm. It is a template and the template parameter provides all necessary parts to implement the required functionality. An abstract block cipher algorithm is an invertible function, which maps an input block of bytes of the defined length (the cipher block length) to another such block. The function has a parameter — the key, which is a block of bytes of the defined length (the cipher key length).
template <CipherFuncType T>
class BlockCipher : NoCopy
{
....
public:
// length in octets
static constexpr ulen BlockLen = T::BlockLen ;
static constexpr ulen KeyLen = T::KeyLen ;
static const char * GetName() { return T::GetName(); }
// constructors
BlockCipher();
~BlockCipher();
explicit BlockCipher(const uint8 key[KeyLen]);
// methods
void key(const uint8 key[KeyLen]);
void unkey();
void apply(const uint8 src[BlockLen],uint8 *restrict dst/* [BlockLen] */) const;
void apply(uint8 src_dst[BlockLen]) const;
};
BlockLen is the cipher block length.
KeyLen is the key length.
GetName() is the cipher common name, like "AES128".
Default constructor creates a null object. It cannot be used to cipher.
The second constructor creates the object and assigns the given key to it. This object can be used to cipher data.
Destructor performs the unkey cipher operation. This operation cleans all internal buffers with sensitive data. If the cipher implementation uses some hardware support, the correspondent hardware entities also must be cleaned.
key() assigns a key to the object. After call of this method the object can be used to cipher data with the given key.
unkey() erases the key information from the object.
apply() performs the cipher operation on the given block of data in-place or out-of-place. The first variant operates on two distinct data buffers. The second ciphers data in-place in the single data buffer.
An attempt to use the method apply() without a previously assigned key cause an exception. This exception is thrown with the following guard function:
void GuardNoCipherKey();
The real job is performed by the class T. This class must comply with the following pattern:
struct CipherAlgo { // global properties static constexpr ulen KeyLen = .... ; static constexpr ulen BlockLen = .... ; static const char * GetName() { return "...."; } // internal state .... // methods void key(const uint8 src[KeyLen]); void unkey() noexcept; void apply(const uint8 src[BlockLen],uint8 *restrict dst/* [BlockLen] */); void apply(uint8 src_dst[BlockLen]); };
Concept CipherType covers cipher classes like BlockCipher<...>.
template <class T>
concept bool CipherType = .... ;


Well firts I would like to thank the creators of OEM! :D
Second... to my issue... After a succesful install of emoncms3 on my local system I am unable to create a user. When I try to create a user I get a blank page.... Any ideas what is goin on?
Using raspbian (Raspberry Pi)
TIA!
Re: emoncms3 Issue
Hi, Completed emoncms installation on Raspberry Pi last night working great.
Had a similar issue not saying its the same. Assuming setup.php ran ok for you. Check step 4 Enable mod rewrite http://openenergymonitor.org/emon/emoncms/installing-ubuntu-debian-pi I had a typo here and it caused similar issue. Note my setup goes via home router so I'm using a static IP address see pic at http://openenergymonitor.org/emon/node/1004 this means I can access EMONCMS from any computer on LAN and on Raspberry Pi itself using http://<IP_ADDRESS>/emoncms
Next step is to try localhost e.g. remove home router and connect Raspberry Pi directly to emonbase with ethernet and using http://localhost/emoncms .
Good Luck
Peter
Re: emoncms3 Issue
Thanks for your reply Peter.
I do have rewrite enabled and setup.php ran perfectly fine.
No matter what I do when I click register I get a blank page. Not sure what to do at this point. I get no errors or anything just a blank page with a blue bar on top saying "Message: Please enter a username that is 4 to 30 characters long"
TIA.
Re: emoncms3 Issue
May be worth reinstalling appache2 fairly straight forward and fixed similar symtoms for me.
Best of luck.
Peter
sudo apt-get --purge remove apache2 sudo apt-get autoremove
Then installing apache2 again:
sudo apt-get install apache2 sudo /etc/init.d/apache2 restart
Re: emoncms3 Issue
Peter,
Ouch... I am afraid I cant do that. I have 3 other sites working just fine in the same server.
... :(


Atomic Formulas
Binary Operation
Binary relation
Formulas built Conjunctions
Logical constants
Constants given by name
Equality formula; equality may also be given by conjunction formula
Exists(x) Formula
Logical expressions
Logical Formulas
Formula valued variable
Logical Functions
Functions determined by their name
Integer constant
Parameters for a First-Order Language
Logical Interpretation (data for Model, but no axioms)
Formulas built by Negation
Logical Predicates
Predicate determined by its name
Primary maps for an interpretation
Formulas built by Conjunctions and Negations
Recursive term
Formula with an explicit list of Formula variables
Logical terms
Unparsed term formally wrapped
Unary Operation
ForAll(x) Formula
Logical Variable
Logical Variable determined by Name
Boolean False as Formula
Boolean True as Formula
And over a stream, stops with first false
Or over a stream, stops with first true
Builds expressions by: 1 Quantifying over free variables in a formula 2 Substituting terms for all free variables in a formula 3 Substituting terms for free variables in terms.
Builds expressions by: 1 Quantifying over free variables in a formula 2 Substituting terms for all free variables in a formula 3 Substituting terms for free variables in terms. 4 Combining formulas by conjunction and negation.
Zips together a list of Formula => Formula variables and a base Formula.
Offsping of Recursive formulas
Given a map on base formulas, recursively extends to Conjunctions and Negations and default to Identity
Given a map on base formulas (eg Formula variables), recursively extends to Conjunctions and Negations.
Given Boolean values for base formulas, recursively deduces for Conjunctions and Negations.
Given Boolean values for base formulas, recursively deduces for Conjunctions and Negations. Typically base cases are: 1. Atomic Formulas in interpretations, 2. Formula Variables for verifying tautologies.
Builds terms by substituting other terms for free variables
Treat Boolean as Formula
stream of Variables starting with Var("a")
Substitutes variables in (Var, Formula)=> Formula to get Formula=> Formula, and then zips with base.
(Since version 8/2/2012) Use instead formal relations
Defines predicate calculus and several associated methods, including:
$ - interpretations;
$ - substitutions to be used by an evolver


This guy does not seem to exist in the database at the moment. Please make sure the name is complete and correct, and click the button when the data is successfully loaded.


Linda is arrested after a crash at Ollie's school in EastEnders
This is the moment that Linda Carter (Kellie Bright) is left moritifed in front of the other mums after she is breathalysed and then arrested for drink driving in EastEnders. The stressed out landlady has been hitting the booze more and more and it is becoming a crutch, something which husband Mick (Danny Dyer) remains unaware of currently.
She has been desperate to fit in with the other judgemental mums at Ollie’s school while also trying to get her head around Ollie’s autism diagnosis. And when she bumps into a car at Ollie’s school and then makes off, hoping that no-one has seen, she is in hot water.
She is soon confronted by the police and she is gutted when she fails a breathalyser test before being bundled into a police car. Ashamed, she determines to keep the truth from Mick about what has happened – but how long until he discovers the truth?
Linda’s battle with drink will become more and more damaging as the months go on, with show boss Jon Sen recently announcing a long running alcoholism story for the character.
Advertisement Advertisement
He said: ‘This autumn the Carters will face one of their biggest crises to date when Linda turns to alcohol to escape the increasing pressures of her family life. Linda’s descent into alcoholism will be instantly recognisable to many – a journey that begins with a single drink to cope with the everyday ups and downs but quickly escalates to a point which wreaks devastation on their life and the lives of those around them.
‘In telling Linda’s story we hope that anyone in Linda’s situation or those around them notice the signs of alcoholism and seek the help needed.’
In order to depict Linda’s struggle as accurately and effectively as possible, the BBC has partnered up with awareness charity DrinkAware to help shape the storyline.
Elaine Hindal, Drinkaware Chief Executive, said of their involvement with the plot: ‘Working with EastEnders on this storyline will help us put a spotlight on the potentially harmful result of getting into the habit of drinking regularly.
‘Credit to the script writers who are sensitively showing the journey of how easy it can be for someone to develop risky drinking habits.
‘Linda’s experiences with alcohol demonstrate why it’s important to be able to recognise signs that you, or someone you care about, could be developing drinking habits that could cause harm to themselves or others.’
EastEnders airs Linda’s arrest on Monday 25 November at 8pm on BBC One.


Appointments
Date: {{appointment.date}}
{{appointment.serviceName}} with {{appointment.employeeName}}
Reschedule
Cancel
Show Past Appointments


404 - Page Not Found
Page or resource could not be found. Use your browsers
Back
button to go back to where you came from


Photo App
Home
Post
Login
File Submission
Title
Post description
Upload Image
Accept
Use of Policy
submit


I would like to invite you to take part in our research study. Before you decide it is important to understand why the research is being done and what it would involve you. Please take the time to read the following information carefully and please do not hesitate to contact<EMAIL_ADDRESS>if there is anything that you do not understand or if you would like more information.
Nowadays, people - who tend to plan their travel beforehand - have access to a massive volume of information on the internet. Hence, they often spend a lot of time to arrange a satisfactory travel plan by searching through various online travel services. It encouraged me to investigate how the barrier of online self-booking might be removed by reversing the travel booking procedure. For this purpose, a web application was developed based on a process as follows:
This research is being conducted by Nima Naraghi and supervised by Dr. Graeme McRobbie (Senior Lecturer at School of Engineering and Computing) as part of a qualification towards a Masters in Web and Mobile Development.
It is likely that you have experience of travel planning using online services or you may tend to plan your travels via online travel services in the future.
It is completely your choice as to whether you take part in this study, your participation is completely voluntary. You are free to withdraw from the study up until the survey has been completed and submitted online (after which you cannot withdraw). You will not be penalized in any way if you do not decide to take part.
I hope that participating in the study will be beneficial for you, as it is likely to help us to realize that whether our proposed approach opens a new window to the future of travel planning which is more efficient and less burdensome. However, this is your choice. Please be assured that the research is anonymous, confidential and voluntary.
The survey will take about 10 - 15 minutes to complete.
All collected data will be stored on NimaTravel.co.uk server, SurveyPlanet.com, and a password-protected laptop computer to which only the research team will have access. Collected data will be confidential and anonymous (each participant will be assigned an ID number), therefore it is not possible to associate you to any of the data or any reports on the project. Your email will be kept separately from any of the collected survey data. Besides, your email will be used only in this project. However, the results may be presented at conferences and in subject-appropriate media. In all instances, no names or any identifiable features of participants will appear. In addition, the offers that you will receive during your experience are fiction and inaccurate which are arranged only for experimental purposes. Hence, they do not reserve you any right.
If you have a concern about any aspect of this study, you should ask to speak to the researchers who will do their best to answer your questions. If they are unable to resolve your concern or you wish to make a complaint regarding the study, please contact Dr. Graeme McRobbie (Graeme.McRobbie@uws.ac.uk).
The study has been reviewed by experts in the field with ethical approval granted by the UWS Ethics Committee.
Thank you for considering taking part in this study and if you have any
further questions please contact:
Nima Naraghi
MSc Student in Web and Mobile Development
University of the West of Scotland


Unity supports different Rendering Paths. You should choose which one you use depending on your game content and target platform / hardware. Different rendering paths have different performance characteristics that mostly affect Lights and Shadows. See render pipeline for technical details.
The rendering path used by your project is chosen in Graphics Settings. Additionally, you can override it for each Camera.
If the graphics card can’t handle a selected rendering path, Unity will automatically use a lower fidelity one. For example, on a GPU that can’t handle Deferred Shading, Forward Rendering will be used.
Deferred Shading is the rendering path with the most lighting and shadow fidelity, and is best suited if you have many realtime lights. It requires a certain level of hardware support.
For more details see the Deferred Shading page.
Forward is the traditional rendering path. It supports all the typical Unity graphics features (normal maps, per-pixel lights, shadows etc.). However under default settings, only a small number of the brightest lights are rendered in per-pixel lighting mode. The rest of the lights are calculated at object vertices or per-object.
For more details see the Forward Rendering page.
Legacy Deferred (light prepass) is similar to Deferred Shading, just using a different technique with different trade-offs. It does not support the Unity 5 physically based standard shader.
For more details see the Deferred Lighting page.
Legacy Vertex Lit is the rendering path with the lowest lighting fidelity and no support for realtime shadows. It is a subset of Forward rendering path.
For more details see the Vertex Lit page.
NOTE: Deferred rendering is not supported when using Orthographic projection. If the camera’s projection mode is set to Orthographic, these values are overridden, and the camera will always use Forward rendering.
| Deferred | Forward | Legacy Deferred | Vertex Lit | |
|---|---|---|---|---|
| Features | ||||
| Per-pixel lighting (normal maps, light cookies) | Yes | Yes | Yes | - |
| Realtime shadows | Yes | With caveats | Yes | - |
| Reflection Probes | Yes | Yes | - | - |
| Depth&Normals Buffers | Yes | Additional render passes | Yes | - |
| Soft Particles | Yes | - | Yes | - |
| Semitransparent objects | - | Yes | - | Yes |
| Anti-Aliasing | - | Yes | - | Yes |
| Light Culling Masks | Limited | Yes | Limited | Yes |
| Lighting Fidelity | All per-pixel | Some per-pixel | All per-pixel | All per-vertex |
| Performance | ||||
| Cost of a per-pixel Light | Number of pixels it illuminates | Number of pixels * Number of objects it illuminates | Number of pixels it illuminates | - |
| Number of times objects are normally rendered | 1 | Number of per-pixel lights | 2 | 1 |
| Overhead for simple scenes | High | None | Medium | None |
| Platform Support | ||||
| PC (Windows/Mac) | Shader Model 3.0+ & MRT | All | Shader Model 3.0+ | All |
| Mobile (iOS/Android) | OpenGL ES 3.0 & MRT | All | OpenGL ES 2.0 | All |
| Consoles | XB1, PS4 | All | XB1, PS4, 360 | - |


|
My Project
|
Description of logical lanes within a big Varnode. More...
#include <transform.hh>
Public Member Functions | |
| LaneDescription (const LaneDescription &op2) | |
| Copy constructor. More... | |
| LaneDescription (int4 origSize, int4 sz) | |
| Construct uniform lanes.  More... | |
| int4 | getNumLanes (void) const |
| Get the total number of lanes. | |
| int4 | getWholeSize (void) const |
| Get the size of the region being split. | |
| int4 | getSize (int4 i) const |
| Get the size of the i-th lane. | |
| int4 | getPosition (int4 i) const |
| Get the significance offset of the i-th lane. | |
| int4 | getBoundary (int4 bytePos) const |
| Get index of lane that starts at the given byte position. More... | |
| bool | restriction (int4 numLanes, int4 skipLanes, int4 bytePos, int4 size, int4 &resNumLanes, int4 &resSkipLanes) const |
| Decide if a given truncation is natural for this description. More... | |
| bool | extension (int4 numLanes, int4 skipLanes, int4 bytePos, int4 size, int4 &resNumLanes, int4 &resSkipLanes) const |
| Decide if a given subset of lanes can be extended naturally for this description. More... | |
Description of logical lanes within a big Varnode.
A lane is a byte offset and size within a Varnode. Lanes within a Varnode are disjoint. In general, we expect a Varnode to be tiled with lanes all of the same size, but the API allows for possibly non-uniform lanes.
| LaneDescription::LaneDescription | ( | const LaneDescription & | op2 | ) |
Copy constructor.
| op2 | is the lane description to copy from |
| LaneDescription::LaneDescription | ( | int4 | origSize, |
| int4 | sz | ||
| ) |
Construct uniform lanes.
Create lanes that are all the same size
| origSize | is the size of the whole in bytes |
| sz | is the size of a lane in bytes |
| LaneDescription::LaneDescription | ( | int4 | origSize, |
| int4 | lo, | ||
| int4 | hi | ||
| ) |
Construct two lanes of arbitrary size.
| origSize | is the size of the whole in bytes |
| lo | is the size of the least significant lane in bytes |
| hi | is the size of the most significant lane in bytes |
| bool LaneDescription::extension | ( | int4 | numLanes, |
| int4 | skipLanes, | ||
| int4 | bytePos, | ||
| int4 | size, | ||
| int4 & | resNumLanes, | ||
| int4 & | resSkipLanes | ||
| ) | const |
Decide if a given subset of lanes can be extended naturally for this description.
A subset of lanes are specified and their position within an extension (given by a byte position). The size in bytes of the extension is also given. If the extension is contained within this description, and the boundaries of the extension don't split any lanes, then return true and pass back the number of lanes and starting lane of the extension.
| numLanes | is the number of lanes in the original subset |
| skipLanes | is the starting (least significant) lane index of the original subset |
| bytePos | is the number of bytes to truncate from the front (least significant portion) of the extension |
| size | is the number of bytes in the extension |
| resNumLanes | will hold the number of lanes in the extension |
| resSkipLanes | will hold the starting lane in the extension |
| int4 LaneDescription::getBoundary | ( | int4 | bytePos | ) | const |
Get index of lane that starts at the given byte position.
Position 0 will map to index 0 and a position equal to whole size will map to the number of lanes. Positions that are out of bounds or that do not fall on a lane boundary will return -1.
| bytePos | is the given byte position to test |
| bool LaneDescription::restriction | ( | int4 | numLanes, |
| int4 | skipLanes, | ||
| int4 | bytePos, | ||
| int4 | size, | ||
| int4 & | resNumLanes, | ||
| int4 & | resSkipLanes | ||
| ) | const |
Decide if a given truncation is natural for this description.
A subset of lanes are specified and a truncation (given by a byte position and byte size). If the truncation, relative to the subset, contains at least 1 lane and does not split any lanes, then return true and pass back the number of lanes and starting lane of the truncation.
| numLanes | is the number of lanes in the original subset |
| skipLanes | is the starting (least significant) lane index of the original subset |
| bytePos | is the number of bytes to truncate from the front (least significant portion) of the subset |
| size | is the number of bytes to include in the truncation |
| resNumLanes | will hold the number of lanes in the truncation |
| resSkipLanes | will hold the starting lane in the truncation |
| bool LaneDescription::subset | ( | int4 | lsbOffset, |
| int4 | size | ||
| ) |
Trim this to a subset of the original lanes.
Given a subrange, specified as an offset into the whole and size, throw out any lanes in this that aren't in the subrange, so that the size of whole is the size of the subrange. If the subrange intersects partially with any of the lanes, return false.
| lsbOffset | is the number of bytes to remove from the front of the description |
| size | is the number of bytes in the subrange |


I was hired by a company called Montage Furniture Services. They provide protection plans for furniture companies. I am a Web Developer in their IT department and I love every minute of it. I've never had a boss as respectful as the one I have now. The group, as a whole, is cool and great to work with. I got lucky falling into a job like this. I enjoy going to work, I look forward to it. I worked so very hard to get to this point and I'm blessed that I was able to land this spot.


Cortex M3 DSP/BIOS Register Usage
This document provides a table describing the various Cortex M3 targets register conventions in terms of preservation across multi-threaded context switching and preconditions.
Overview
In a multi-threaded application using DSP/BIOS, it is necessary to know which registers can or cannot be modified. Furthermore, users need to understand which registers need to be saved/restored across a function call or an interrupt.
The following definitions describe the various possible register handling behaviors:
- Scratch register. These registers are saved/restored by the Hwi dispatcher with temporary register bit masks.
- Preserved register. These registers are saved/restored during a Task context switch.
- Initialized register. These registers are set to a particular value during Hwi processing and restored to their incoming value upon exiting from the interrupt routine.
- Read-Only register. These registers may be read but must not be modified.
- Global register. These registers are shared across all threads in the system. To make a temporary change, save the register, make the change, and then restore it.
- Other. These registers do not fit into one of the categories above.
Register Conventions


{% extends './layout_index.html' %} {% block page_title %} Chlamydia - NHS.UK {% endblock %} {% block pageTitle %} Chlamydia {% endblock %} {% block pageSubTitle %} About {% endblock %} {% block navContent %}
Chlamydia is the most common sexually transmitted infection (STI).

Chlamydia is easy to treat with medical help.
If you don't treat it, chlamydia can lead to serious health problems such as pelvic inflammatory disease, lower fertility or infertility.
The only way to know if you have chlamydia is to get tested.
{% endblock %}


Quadratic equations have expression in the power of 2s or squares. Solving quadratic equations involves collecting of like terms, simplification and substitution. The videos explain the processes involved in solving quadratic equations, with examples.
2.Simultaneous Linear and Quadratic Equations
This involves solving algebraic equations with two or more different algebraic terms. Expressions like 2x+4y have terms in x and y. The videos explain, with examples, how to solve such mathematical problems.
3.Linear Inequalities
Solving equations in which the terms are not exactly equal to each other, certain much be adhered to. The video below explain linear inequalities extensively
4.Gradients of Straight lines and Curves
The gradient of a straight line is a measure of how steep it is. The gradient of a straight line is constant at any point on the line. The gradient of a curve at any point is the gradient of the tangent at that point. The video shows the processes involved in finding gradients.
5.Algebraic Fractions
In algebra, an algebraic fraction is a fraction is a fraction whose numerator and denominator are algebraic expressions. The video gives different ways algebraic fractions can be put in math questions and how they can be solved.


|
averageReps()
|
Handles Sample Replicates in Single Time-Series |
|
buildTakens_ndim()
|
Generates Takens' Embedding For a Time-Series |
|
computeLaplacianEmbedding()
|
Computes the Laplacian Eigenmap For Dimension Reduction |
|
computePersistence()
|
Computes Persistence Scores For a Data.Frame of Time-Series Across Multiple Lags |
|
detrend()
|
Linearly Detrends a data.frame of Gene Expression Time-Series |
|
getFFT()
|
Computes the Fast Fourier Transform of a Time-Series |
|
getPersistence()
|
Computes Persistence Scores For a Single Time-Series Across a Single Lag |
|
getRepAvgedDataFrame()
|
Handles Sample Replicates in a data.frame of Time-Series |
|
getTimeSpan()
|
Computes Algorithm Run Time |
|
imputeMissingData()
|
Imputates Missing Time-Points in Data |
|
matrixLaplacian()
|
Computes Laplacian Eigenmaping |
|
meanCenter()
|
Mean Centers a data.frame |
|
movingAverage()
|
Computes the Moving Average of a Single Time-Series |
|
movingAverageDF()
|
Computes the Moving Average By Row in a data.frame of Time-Series |
|
nullResampling()
|
Generates a data.frame of Resampled Time-Series for Computing the Null Distribution |
|
periodFinder()
|
Estimates the period, amp, and phase of a data.frame of time-series |
|
preprocess_acf()
|
Computes Time-Series Autocovariance Function |
|
resampleTimeSeries()
|
Generates a data.frame of Resampled Time-Series |
|
scaleTimeSeries()
|
Scales a Time-Series |


KTLA reports:
Passengers and people on the ground videotaped repeated blasts of flame coming from the right engine of the Boeing 777 minutes after takeoff.
“I could see, like, flashes of light. I thought it was ... just from the sunlight and then I just started hearing, like ‘boom, boom, boom,’” passenger Walter Baumann told KABC-TV.
Andrew Ames was a passenger in a car speeding down a freeway near the airport when he got a video of the plane.
“The back was spewing fire bolts,” he said. “It looked like when you see a backfire from a motorcycle. Then I thought, ‘I don’t think a plane is supposed to do that.’”


U.S. officials tell impeachment probe of concerns over Trump-Ukraine call
'It is improper for the president of the United States to demand a foreign government investigate a US citizen and a political opponent,' says Lieutenant Colonel Alexander Vindman, one of the witnesses


4.2 Semantics
ref-sem-pro
: Programs
ref-sem-typ
: Types of Predicates Supplied with SICStus Prolog
ref-sem-ctr
: Control Structures
ref-sem-sec
: Declarative and Procedural Semantics
ref-sem-cal
: Meta-Calls
ref-sem-exc
: Exceptions Related to Procedure Calls
ref-sem-occ
: Occurs-Check
ref-sem-con
: Summary of Control Predicates
This section gives an informal description of the semantics of SICStus Prolog.
User's Manual
Table of Contents
Next
Previous
Up
Node Menu
Send feedback on this subject.


--- title: Recursion excerpt: Recursion can be an intimidating topic to tackle, and it certainly does get complex and takes some thinking, but the basics of it are actually pretty simple, and it's easy to get going with. date: 2021-05-19 slug: recursion ---
Recursion can be an intimidating topic to tackle, and it certainly does get complex and takes some thinking, but actually the basics of it are pretty simple and it's easy to get going with. The basic idea is, you take a problem, do it over and over again on a smaller or changing piece until you hit an endpoint. In our case, that means it's a function that calls itself itself.
In order to get started with recursion we need to have an understanding of and visualize the call stack, and we need to understand the two essential components of a recursive function.


Methods
(static) detectMultidimensional(source) → {Boolean}
- Source:
Detects if the dataset is multi-dimentional and sets classes on items: a rowspanning cell gets a .blockCell
and the row containing it a .firstInBlock
Doesn't work with Horizontal Percents
enabled!
Parameters:
| Name | Type | Description |
|---|---|---|
source |
HTMLTableElement | source table |
Returns:
Returns if the data in table is multi-dimentional
- Type
- Boolean
(static) getData(options) → {Array}
- Source:
A universal data-extraction function. It strips data from a table's body. Data can be stripped by rows (horizontally) or by columns (vertically) which is controlled by direction
. It accounts for a spanning block cell and may exclude it.
Parameters:
| Name | Type | Description | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object | options to configure the way data is stripped off the table Properties
|
Returns:
returns data array.
- Type
- Array
(static) prepareDataCell(cell, rowIndex, columnIndex) → {String|Number}
- Source:
Extracts data from a given cell. Override in an inherited class if you need to add any metadata to it.
Parameters:
| Name | Type | Description |
|---|---|---|
cell |
HTMLTableCellElement | cell element to have data stripped off it |
rowIndex |
HTMLTableCellElement | index of the row it's in |
columnIndex |
HTMLTableCellElement | index of the column it's in |
Returns:
Returns a String
, a Number
or a null
(if data is absent in the cell or its text content boils down to an empty string - i.e. there are no characters in the cell, only HTML tags)
- Type
- String | Number


The outline-offset property adds space between an outline and the edge/border of an element. The space between an element and its outline is transparent. Outline Offset has the same background as body.


{% extends 'base-main.html' %} {% block content %}
To get started, you'll want to add a github repository that contains the notes and topics you want to review. To add it, you'll need to know the username/repository
. For example, if you wanted to add this repo, you would need to enter jessicarush/javacript-notes
into the field below. Go ahead and give it a try.
Keep in mind, only files located in the outermost directory will be added as study topics. Directories, README.md files and hidden files (.dot-files), will be ignored.
Looks like the repository {{ selected_repo.repository }} has no topics. Remember, directories, hidden files (.dot-files) and README.md files are ignored. This was a design decision on my part because that's just how I organize my study notes. If any new files are added to the github repository, you'll be prompted to add them here the next time you login.


School work finally caught up with me
Posted: Fri Apr 10, 2009 5:31 pm
So you may have noticed that I haven't been around for the last week or so. All the time I'd put into getting Evidyon ready for the big release (and fixing bugs afterward for the next one) finally caught up with me. I haven't really slept more than 5 hours a night since last Saturday...but this weekend I've managed to clear up my schedule so that I can advance Evidyon and put out an update on Sunday.


Network Layout
Cytoscape includes many automatic layout algorithms, for organizing the network visually. All available layout algorithms are listed in the Layout menu, including any layout aglorithms loaded by apps. This tutorial will describe how to apply a layout to your network, give a few examples of commonly used layout algorithms, and describe how layout algorithm parameters can be adjusted.
Applying a Layout Algorithm
- Load the Yeast Perturbation.cys session file from the Starter Panel.
- To see the whole network, select View → Fit Content.
The network layout used in this session file is the Prefuse Force Directed Layout. This layout is based on the algorithm implemented as part of the prefuse toolkit. The algorithm is very fast and with the right parameters can provide a very visually pleasing layout. The Force Directed Layout can also use a numeric edge attribute as a weight for the length of the spring.
Layout Menu
Layouts are available from the Layout menu.
Some Cytoscape apps may add additional layout algorithms to the Layout menu.
The yFiles layouts are not immidiately available after installing Cytoscape, but can be installed via Apps → App Store → Show App Store. Installation requires a license agreement.
Tool Panel
For manual manipulation of the network layout, a set of Node Layout Tools are available in the Layout Tools tab of the Control Panel or via Layout → Layout Tools. These tools include a set of tools for scaling, aligning, distributing, stacking and rotating the network and nodes. Checking the Selected Only checkbox will restrict the actions to selected nodes.
Examples of Layout Algorithms
Similarly to Prefuse Force Directed, the Edge-weighted spring-embedded layout is also based on a “force-directed” paradigm as implemented by Kamada and Kawai (1988). Network nodes are treated like physical objects that repel each other, such as electrons. The connections between nodes are treated like metal springs attached to the pair of nodes. These springs repel or attract their end points according to a force function. The layout algorithm sets the positions of the nodes in a way that minimizes the sum of forces in the network.
Examples of Layout Algorithms
The Circular algorithm produces layouts that emphasize group and tree structures within a network. It partitions the network by analyzing its connectivity structure, and arranges the partitions as separate circles. The circles themselves are arranged in a radial tree layout fashion.
Examples of Layout Algorithms
The Compound Spring Embedder (CoSE) layout is based on the traditional force-directed layout algorithm with extensions to handle multi-level nesting (compound nodes), edges between nodes of arbitrary nesting levels and varying node sizes. It is the suggested Cytoscape layout for compound graphs, although it also works very well with noncompound graphs.
Layout Settings
- Select Layout → Settings.... to open the Layout Settings dialog.
- To change the settings for a particular algorithm, select it from the Layout Algorithm: drop-down. The relevant set of parameters will be displayed.
- When changes are complete, click Apply Layout to apply to your network.


By Chen Hui Jing / @hj_chen
Image credit: Jyotika Sofia Lindqvist
float
Item A
Item B
Item C
inline-block
Item A
Item B
Item C
flex
Another flex item
All direct children of the flex container become flex children
flex
propertygrid
Item A
Item B
Item C
Item D
Item E
Item F
No, just kidding. It's just that alignment really ties it all together.
| Property | Axis | Aligns | Applies to |
|---|---|---|---|
justify-content |
main/inline | content within element |
block containers, flex containers and grid containers |
align-content |
cross/block | ||
justify-items |
inline | items inside box |
block containers and grid containers |
align-items |
cross/block | flex-containers and grid-containers |
|
justify-self |
inline | element within parent |
block-level boxes, absolutely-positioned boxes and grid items |
align-self |
cross/block | absolutely-positioned boxes, flex items and grid items |
Font is Fengardo Neue by Loïc Sander.


Unable to load ...
Please make sure the game is running and the network settings are correct and try again.
WT map requires the permission to load resource: Add Permission
Go to options


Blog post title
Chapter
A favorite copy set by writing teachers for their pupils is the following, because it contains every letter of the alphabet: „The quick brown fox jumps over the lazy dog.“
A favorite copy set by writing teachers for their pupils is the following, because it contains every letter of the alphabet: „The quick brown fox jumps over the lazy dog.“
A favorite copy set by writing teachers for their pupils is the following, because it contains every letter of the alphabet: „The quick brown fox jumps over the lazy dog.“
Another chapter
A favorite copy set by writing teachers for their pupils is the following, because it contains every letter of the alphabet: „The quick brown fox jumps over the lazy dog.“
A favorite copy set by writing teachers for their pupils is the following, because it contains every letter of the alphabet: „The quick brown fox jumps over the lazy dog.“
A favorite copy set by writing teachers for their pupils is the following, because it contains every letter of the alphabet: „The quick brown fox jumps over the lazy dog.“
Something else here
A favorite copy set by writing teachers for their pupils is the following, because it contains every letter of the alphabet: „The quick brown fox jumps over the lazy dog.“
A favorite copy set by writing teachers for their pupils is the following, because it contains every letter of the alphabet: „The quick brown fox jumps over the lazy dog.“
A favorite copy set by writing teachers for their pupils is the following, because it contains every letter of the alphabet: „The quick brown fox jumps over the lazy dog.“


Net Salary
Net Salary Calculation Details
Employee Name
Designation
Employee ID
Joining Date
Bank A/C No.
PF No
ARR Days
LOP Days
Earnings
Amount
Deductions
Amount
Basic Salary
Emp PF
HRA
ESI
Conveyance
Professional Tax
Medical Allowance
Income Taxs
Special Allowance
Salary In Advance
Performance Inc
Misc Deductions
Other Allowance
Telephone Allowance
Internet Allowance
Uniform Allowance
Total Earnings
Total Deductions
Net Salary
Re- Generate
Confirm


{% extends 'email/base.html' %} {% block content %}
Your have a new suggestion for a swap for your shift {{ shift }}.
Login To View Suggestions


This is a reddit clone built using Spring Boot 2, Spring Framework 5 & so many other great projects! If you would like to learn how to build this application you can check out my course, Getting Started with Spring Boot 2.
Github Repo Spring Boot 2 CourseThis is your main content


Xalan Project Charter
Xalan Project Charter
The following charter applies to all Xalan projects.
1 INTRODUCTION
1.1 Apache Xalan is a collaborative software development project dedicated to providing robust, full-featured, commercial-quality, and freely available XSLT support on a wide variety of platforms. This project is managed in cooperation with various individuals worldwide (both independent and company-affiliated experts), who use the Internet to communicate, plan, and develop XSLT software and related documentation.
1.2 This charter briefly describes the mission, history, organization and processes of the project.
2 MISSION
2.1 Apache Xalan exists to promote the use of XSLT. We view XSLT (Extensible Stylesheet Language Transformations) as a compelling paradigm that transforms XML documents, thereby facilitating the exchange, transformation, and presentation of knowledge. The ability to transform XML documents into usable information has great potential to improve the functionality and use of information systems. We intend to build freely available XSLT processing components in order to engender such improvements.
2.2 Apache Xalan consists of a set of components that transform XML documents. Where appropriate, these components plug into other XML components using standard APIs (formal, de facto, or proposed). The components must be high performance, reliable, and easy to use. Where inter-related, the components must be part of an underlying architectural orchestration that will allow them to work together without major negotiations or breakage.
2.3 We believe that the best way to define this XML transformation architecture is by having both individuals and corporations collaborate on the best possible infrastructure, APIs, code, testing, and release cycles. Components must be vendor neutral and usable as core components for all.
2.4 In order to achieve a coherent architecture between Apache Xalan components and other components and applications, standards (formal or de facto) will be used as much as possible for both protocols and APIs. Where appropriate, experiences and lessons learned will be fed back to standards bodies in an effort to assist in the development of those standards. We will also encourage the innovation of new protocols, APIs, and components in order to seed new concepts not yet defined by standards.
3 HISTORY
3.1 This project was established under the direction of the Apache Software Foundation in October 2004 to facilitate joint open-source development. Prior to October 2004 this project was a subproject of the Apache XML project.
4 TERMS
4.1 The ASF Board. The management board of the Apache Software Foundation.
4.2 The Project. The Apache Xalan project; intended to refer to the source code, website, subprojects, and community that are Apache Xalan.
4.3 Subproject. The Apache Xalan project may have subprojects; a subproject is responsible for a component or application whose scope is well defined.
4.4 Product. Some deliverable (usually a binary or source package) that a subproject makes available to the public. Subprojects may have multiple products.
4.5 Release. A specific version of a product. Subprojects may have multiple releases of a given product.
4.6 Contributor. Anyone who makes a contribution to the development of the Apache Xalan project.
4.7 Committer. The Apache Xalan project has a set of committers. Committers are contributors who have read/write access to the source code repository.
4.8 PMC. The PMC (Project Management Committee) is the group of people that form the entity that makes decisions and controls the project. Individual people or committers do not control the project.
5 THE PROJECT MANAGEMENT COMMITTEE
5.1 The Apache Xalan project is managed by a core group of committers known as the Project Management Committee [PMC]. Subprojects, if any, much each have at least one representative committer on the PMC.
5.2 The activities of the PMC are coordinated by the Chairperson, who is an officer of the corporation and reports to the Apache Board. The Chairperson will, on the request of the Apache Board, provide reports to the Board on issues related to the running of the Apache Xalan project.
5.3 The PMC has the following responsibilities:
a) Accepting new subproject proposals, formally submitting these proposals for Apache Xalan committer vote, and creating the subproject (see SUBPROJECTS below). This is done in collaboration with the Incubator (see http://incubator.apache.org).
b) Facilitating code or other donations by individuals or companies, in collaboration with the Incubator.
c) Resolving license issues and other legal issues in conjunction with the ASF board.
d) Ensuring that administrative and infrastructure work is completed.
e) Facilitating relationships among projects and subprojects.
f) Facilitating relationships between the Apache Xalan project and the external world.
g) Overseeing Apache Xalan to ensure that the mission defined in this document is being fulfilled.
h) Resolving conflicts within the project.
i) Reporting to the ASF board (through the Chair) on the progress of the project.
j) Propose new releases of projects or subprojects. Such proposals pass if 75% of the PMC members vote in agreement.
5.4 A contributor can, at any time, nominate a committer to be on the PMC, by calling for a vote. If two thirds, or more, of the active committers vote in agreement then the nomination is given to the PMC. The person becomes a new PMC member if 75% or more of the PMC members vote in agreement, with no dissenting votes among the PMC members. This individual should be elected based on merit for the evolution of the project and demonstration of commitment.
5.5 In cases where the subproject is unable to directly provide a representative on the PMC, another member of the PMC will be required to represent that subproject on the PMC. This will be strongly discouraged. It is preferable that all subprojects have direct representation on the PMC.
5.6 At least every twelve months, or more often if directed by the ASF board, the PMC members will elect a Chairperson from among themselves; the person with the most votes from the other PMC members is recommended to the ASF board for the position of Chairperson, and with the ASF board's approval, becomes the Chairperson for the new term.
5.7 Upon agreement by the Apache Board, the recommended Chairperson will, if they are not already, be appointed an officer of the corporation. See http://www.apache.org/foundation/bylaws.html for more information.
5.8 The PMC is responsible for maintaining and updating this charter. Development must follow the process outlined below, so any change to the development process necessitates a change to the charter. Proposed changes to this charter by the PMC are passed if 75% or more of the PMC members approve the proposal, with no dissenting votes. However, an active Apache Xalan committer may challenge the change.
5.9 An active Apache Xalan committer may challenge a change to this charter proposed by the PMC within two weeks of its proposal. When challenged the proposed change is passed if within two weeks of the challenge the active committers approve the change with a two-thirds majority vote.
5.10 The PMC ultimately makes the decisions for the project, not the individual people. At any time the PMC can reject patches or other contributions to the project if 75% or more of the PMC members vote to reject the contribution.
5.11 A PMC member may resign their membership at any time. However, in the unlikely event that a member of the PMC becomes disruptive to the process, such as ceasing to take part in PMC votes, the PMC member may be removed from the PMC by a vote among the other PMC members. The PMC member is removed if 75% or more of the other PMC members approve the removal, with no dissenting votes among the other PMC members.
5.12 A person remains a PMC member until he or she resigns, is removed by a vote from among the other PMC members, dies or is incapacitated.
6 SUBPROJECTS
6.1 A subproject of the Apache Xalan project is responsible for a component or application whose scope is well defined. Each subproject has its own set of developers, and is responsible for approving its own committers. Apache Xalan is composed of subprojects which fit into one of two categories:
(a) An XSLT processor implementation in some particular programming language. There may be multiple processors for a given language if the API's the processors support are sufficiently dissimilar. At the time of writing, there is one processor for C++ and two for Java.
(b) A set of components which are used in related applications and are tightly bound, usually through internal API's, to one (or more) of the processor subprojects.
6.2 A new subproject proposal is submitted to the PMC, and then accepted by a majority Apache Xalan project active committer vote within two weeks after the proposal.
6.3 Each subproject must have a set of requirements as well as an up-to-date release plan and design document on its dedicated web page.
6.4 It is recommended that each subproject have a smoke-test system that works at least as a basic integration test.
6.5 A subproject may be removed if 75% or more of the PMC members approve the proposal, there are no dissenting votes among the PMC members, and no challenges by active Apache Xalan project committers within two weeks after the proposal. A contributor may challenge the proposed removal of a subproject within two weeks of the proposal. In this case the proposed removal is passed if within two weeks of the challenge the active committers approve the removal with a two-thirds majority vote. Any subproject removal is subject to the approval of the ASF board.
7 CONTRIBUTORS
7.1 Like all Apache projects, the Apache Xalan project is a meritocracy -- the more work you do, the more you are allowed to do.
7.2 People who make regular and substantial contributions may become committers as described below. Contributions include: participating in mailing lists, reporting issues or bugs in issue-records in the Issue Database, providing patches, and proposing changes to a product.
7.3 In order to ensure that all code contained in the Apache Xalan project's code repository is free of licensing, intellectual property and patent issues, any person wishing to contribute a new feature to Apache Xalan must either sign:
a) If contributing as an individual, sign the "Individual Contributor License Agreement (CLA)" (http://www.apache.org/licenses/icla.txt) and file a copy with the Secretary of the Corporation; or
b) If making the contribution as part of their employment responsibilities, sign the "Corporate CLA (CCLA)", (http://www.apache.org/licenses/cla-corporate.txt) and file a copy with the Secretary of the Corporation.
7.4 If the contribution in question is a small bugfix, the contributor need not sign a CLA, but need only provide the following information, attaching it to the communication containing the patch:
a) Name and employer
b) Are you the author of the code being contributed?
c) Do you have the right to grant the copyright and patent licenses for the contribution that are set forth in the ASF v.2.0 license (http://www.apache.org/licenses/LICENSE-2.0)?
d) Does your employer have any rights to code that you have written, for example, through your contract for employment? If so, has your employer given you permission to contribute the code on its behalf or waived its rights in the code?
e) Are you aware of any third-party licenses or other restrictions (such as related patents or trademarks) that could apply to your contribution? If so, what are they?
8 COMMITTERS
8.1 The Apache Xalan project has a set of committers. If there are subprojects, each subproject will also have a set of committers. Committers are contributors who have read/write access to the source code repository. New committers are added when a contributor is nominated by a committer and approved by at least 50 percent of the active committers for that subproject with no opposing votes. In most cases, new committers will already be participating in the development process by submitting suggestions and/or fixes via issue-records in the Issue Database or mailing lists.
8.2 For the purposes of voting, committers will be classed as "active" or "inactive". Only active committers will be included in the totals used to determine the success or failure of a particular vote.
8.3 Committers remain active as long as they are contributing code or posting to the project or subproject mailing lists. If a committers has neither contributed code nor posted to the mailing lists in 3 months, a member of the PMC will e-mail the committer, the project or subproject development list, and the PMC mailing list notifying the committer that they are now in inactive status.
8.4 An inactive status will not prevent a committer committing new code changes or posting to the mailing lists. Either of these activities will automatically re-activate the committer for the purposes of voting.
9 INFRASTRUCTURE
9.1 The Apache Xalan project relies on the Apache XML project and the Apache Infrastructure project for the following:
a) Issue Database -- This is a system with issue-records, for tracking bugs, issues, features and requests.
b) Repository -- The xalan.apache.org project has its set of parts that make up the software, and these parts are managed in a repository. Committers make changes to the source code, documentation and other associated parts that are stored in the repository. Any subproject will have its set of committers for its repository.
c) Website -- The website xalan.apache.org will contain information about the Apache Xalan project and its subprojects, including documentation, downloads of releases, and this charter.
d) Mailing Lists -- appropriate mailing lists will be created at the discretion of the PMC. Such mailing lists could for example include: a PMC mailing list, a general mailing list, project or subproject public developer mailing lists, project or subproject public user mailing lists.
10 LICENSING
10.1 All contributions to the Apache Xalan project adhere to the "Apache Software Foundation License, Version 2.0" (http://www.apache.org/licenses/LICENSE-2.0). All further contributions, including patches, must be made under the same terms.
10.2 When a committer is considering integrating a contribution from a contributor who has no CLA on file with the Corporation, it is the responsibility of the committer, in consultation with the PMC, to conduct due diligence on the pedigree of the contribution under consideration; see sections 7.3 and 7.4.
11 THE DEVELOPMENT PROCESS
11.1 For a committer to commit a change to the MAIN branch of the repository an issue-record must be opened in the "Issue Database" to track the change. The status of the issue must be kept up to date.
11.2 No voting is required to commit changes, but one other active committer must review the changes. Before the changes are committed, the reviewer must add a comment in the corresponding issue-record indicating that they have reviewed and approve the changes.
11.3 Issue-records and reviews are not required for committing changes to other experimental branches (not the MAIN branch) in a repository.
12 VOTING
12.1 Unless otherwise stated in this mission, votes cast on Apache Xalan proposals must be made within two weeks of the proposal. A challenge to a proposal must also be made within two weeks of the proposal. Likewise, votes cast on challenges must be cast within two weeks of the challenge.
13 RELATIONSHIP TO OTHER APACHE PROJECTS
13.1 The Apache Xalan project should work closely with other Apache projects, such as Xerces and XML, to avoid redundancy and achieve a coherent architecture among Apache Xalan and these projects.


Match Play. Red leads 3-2 to 7. How should Red play 41?
pips Red=134 White=136
(CorrectAnswer= 0/0, ErrorScore= 0)
The ace is very clear, 6/5*. The question is how to play the four, 22/18 or 13/9*.
I thought 13/9, 6/5* would be very clear but the rollout has the two plays tied, thus showing how important it is to escape from behind a broken prime. A surprising result.
I thought 13/9, 6/5* would be very clear but the rollout has the two plays tied, thus showing how important it is to escape from behind a broken prime. A surprising result.
1. Cubeful 2-ply 22/18 6/5* Eq.: -0.369 0.398 0.138 0.003 - 0.602 0.211 0.014 2. Cubeful 2-ply 13/9 6/5* Eq.: -0.385 (-0.016) 0.378 0.136 0.003 - 0.622 0.145 0.006 3. Cubeful 2-ply 7/3 4/3 Eq.: -0.474 (-0.105) 0.335 0.065 0.001 - 0.665 0.073 0.002 4. Cubeful 2-ply 7/2 Eq.: -0.490 (-0.121) 0.332 0.062 0.001 - 0.668 0.075 0.002 5. Cubeful 2-ply 8/7 8/4 Eq.: -0.501 (-0.132) 0.330 0.058 0.001 - 0.670 0.075 0.002


U.S. says South Korea can do more on costs after talks break down
MANILA (Reuters) - U.S. Defense Secretary Mark Esper said on Tuesday he believed South Korea “can and should” contribute more on cost-sharing for hosting the U.S. military, after Seoul broke off the talks earlier in the day following a public backlash.
Asked if he was willing to withdraw any U.S. forces if an agreement is not reached, Esper declined to say what the United States might do, adding that the U.S. State Department was leading negotiations.
“I’m sure it’s in capable hands,” Esper said during a trip to the Philippines, referring to the negotiations.
“South Korea is a wealthy country. They can and should contribute more. And beyond that I will leave it to the State Department to work out the particulars.”