pam_krb5
Section: System Administrator's Manual (5)Updated: 2009/12/11
Index Return to Main Contents
NAME
pam_krb5 - Kerberos 5 authenticationDESCRIPTION
pam_krb5.so reads its configuration information from the appdefaults section of krb5.conf(5). You should read the krb5.conf(5) man page before continuing here. The module expects its configuration information to be in the pam subsection of the appdefaults section.DIRECTIVES
Directives which take a true, false, or a PAM service name can also be selectively disabled for specific PAM services using the related "no_" option (exceptions to "debug = true" can be made using "no_debug", for example).
- debug = true|false|service [...]
-
turns on debugging via syslog(3). Debug messages are logged with
priority LOG_DEBUG.
- debug_sensitive = true|false|service [...]
-
turns on debugging of sensitive information via syslog(3). Debug
messages are logged with priority LOG_DEBUG.
- addressless = true|false|service [...]
-
if set, requests a TGT with no address information. This can be necessary
if you are using Kerberos through a NAT, or on systems whose IP addresses change
regularly. This directive is deprecated in favor of the libdefaults
noaddresses directive.
- afs_cells = cell.example.com [...]
-
tells pam_krb5.so to obtain tokens for the listed cells,
in addition to the local cell and the cell which
contains the user's home directory, for the user.
The module will guess the principal name of the AFS
service for the listed cells, or it can be specified by listing cells
in the form cellname=principalname.
- banner = Kerberos 5
-
specifies what sort of password the module claims to be changing whenever it is
called upon to change passwords. The default is Kerberos 5.
- ccache_dir = /var/tmp
-
specifies the directory in which to place credential cache files. The default
is /tmp.
- ccname_template = KEYRING:krb5cc_%U_%P
- ccname_template = FILE:%d/krb5cc_%U_XXXXXX
-
specifies the location in which to place the user's session-specific
credential cache. This value is treated as a template, and these sequences
are substituted:
%u login name
%U login UID
%p principal name
%r realm name
%h home directory
%d the default ccache directory (as set with ccache_dir)
%P the current process ID
%% literal '%'
The default is FILE:%d/krb5cc_%U_XXXXXX".
- chpw_prompt = true|false|service [...]
-
tells pam_krb5.so to allow expired passwords to be changed during
authentication attempts. While this is the traditional behavior exhibited by
"kinit", it is inconsistent with the behavior expected by PAM, which expects
authentication to (appear to) succeed, only to have password expiration be
flagged by a subsequent call to the account management function. Some
applications which don't handle password expiration correctly will fail
unconditionally if the user's password is expired, and this flag can be used
to attempt to work around this bug in those applications.
The default is false.
- cred_session=true|false|service [...]
-
specifies that pam_krb5 should create and destroy credential caches, as it
does when the calling application opens and closes a PAM session, when the
calling application establishes and deletes PAM credentials. This is done
to compensate for applications which expect to create a credential cache but
which don't use PAM session management. It is usually a harmless redundancy
in applications which don't require it, so this option is enabled by default
except for this list of services: "sshd".
- existing_ticket = true|false|service [...]
- tells pam_krb5.so to accept the presence of pre-existing Kerberos credentials provided by the calling application in the default credential cache as sufficient to authenticate the user, and to skip any account management checks. The default is false.
-
DANGER! Unless validation is also in use, it is relatively easy to produce a
credential cache which looks "good enough" to fool pam_krb5.so.
- external = true|false|sshd ftp [...]
-
tells pam_krb5.so to use Kerberos credentials provided by the calling
application during session setup.
This is most often useful for obtaining AFS tokens.
The default is "sshd sshd-rekey".
- forwardable = true|false|service [...]
-
controls whether or not credentials are forwardable.
This directive is deprecated in favor of the libdefaults
forwardable directive.
- hosts = hostname [...]
-
specifies which other hosts credentials obtained by pam_krb5 will be good on.
If your host is behind a firewall, you should add the IP address or name that
the KDC sees it as to this list.
This directive is deprecated in favor of the libdefaults
extra_addresses directive.
- ignore_afs=true|false|service [...]
-
tells pam_krb5.so to completely ignore the presence of AFS, preventing
any attempts to obtain new tokens on behalf of the calling application.
- ignore_unknown_principals=true|false|service [...]
- ignore_unknown_spn=true|false|service [...]
- ignore_unknown_upn=true|false|service [...]
-
specifies which other not pam_krb5 should return a PAM_IGNORE code to libpam
instead of PAM_USER_UNKNOWN for users for whom the determined principal name
is expired or does not exist.
- initial_prompt=true|false|service [...]
-
tells pam_krb5.so whether or not to ask for a password before attempting
authentication. If one is needed and pam_krb5.so has not prompted for it, the
Kerberos library should trigger a request for a password.
- keytab = FILE:/etc/krb5.keytab
- keytab = FILE:/etc/krb5.keytab imap=FILE:/etc/imap.keytab
-
specifies the name of a keytab file to search for a service key for use
in validating TGTs. The location can be specified on a per-service basis
by specifying a list of locations in the form pam_service=location.
The default is FILE:/etc/krb5.keytab.
- mappings = regex1 regex2 [...]
-
specifies that pam_krb5 should derive the user's principal name from the Unix
user name by first checking if the user name matches regex1, and
formulating a principal name using regex2. For example,
"mappings = EXAMPLE\(.*<EMAIL_ADDRESS>would map any user with a name of the form "EXAMPLE\whatever" to a principal
name of<EMAIL_ADDRESS>This is primarily targeted at allowing
pam_krb5 to be used to authenticate users whose user information is provided by
winbindd(8). This will frequently require the reverse to be configured by
setting up an auth_to_local rule elsewhere in krb5.conf(5).
- minimum_uid = 0
-
specifies the minimum UID of users being authenticated. If a user with a UID
less than this value attempts authentication, the request will be ignored.
- multiple_ccaches=true|false|service [...]
-
specifies that pam_krb5 should maintain multiple credential caches for
applications that both set credentials and open a PAM session, but which set
the KRB5CCNAME variable after doing only one of the two. This option is
usually not necessary for most services.
- preauth_options =
-
controls the preauthentication options which pam_krb5 passes
to libkrb5, if the system-defaults need to be overridden.
The list is treated as a template, and these sequences are
substituted:
%u login name
%U login UID
%p principal name
%r realm name
%h home directory
%d the default ccache directory (as set with ccache_dir)
%P the current process ID
%% literal '%'
- proxiable = true|false|service [...]
-
controls whether or not credentials are proxiable. If not specified, they
are.
This directive is deprecated in favor of the libdefaults
proxiable directive.
- null_afs=true|false|service [...]
-
tells pam_krb5.so, when it attempts to set tokens, to try to get
credentials for services with names which resemble afs@REALM
before attempting to get credentials for services with names resembling
afs/cell@REALM. The default is to assume that the cell's
name is the instance in the AFS service's Kerberos principal name.
- pwhelp = filename
-
specifies the name of a text file whose contents will be displayed to
clients who attempt to change their passwords. There is no default.
- renew_lifetime = 36000
-
default renewable lifetime, in seconds. This specifies how much time you have
after getting credentials to renew them.
This directive is deprecated in favor of the libdefaults
renew_lifetime directive.
- subsequent_prompt = true|false|service [...]
-
controls whether or not pam_krb5.so will allow the Kerberos library to ask
the user for a password or other information, if the previously-entered
password is somehow insufficient for authenticating the user. This is
commonly needed to allow a user to log in when that user's password has
expired. The default is true.
If the calling application does not properly support PAM conversations (possibly due to limitations of a network protocol which it is serving), this may be need to be disabled for that application to prevent it from supplying the user's current password in a password-changing situations when a new password is called for.
- ticket_lifetime = 36000
-
default credential lifetime, in seconds.
- tokens = true|false|service [...]
-
signals that pam_krb5.so should create an AFS PAG and obtain tokens
during authentication in addition to session setup. This is primarily
useful in server applications which need to access a user's files but
which do not open PAM sessions before doing so. For correctly-written
applications, this flag is not necessary.
- token_strategy = rxk5,2b[,...]
-
controls how, and using which format, pam_krb5.so should attept to
set AFS tokens for the user's session.
By default, the module is configured with
"token_strategy = v4,524,2b,rxk5".
Recognized strategy names include:
rxk5 rxk5 (requires OpenAFS 1.6 or later)
2b rxkad "2b" (requires OpenAFS 1.2.8 or later) - use_shmem = true|false|service [...]
-
tells pam_krb5.so to pass credentials from the authentication service function
to the session management service function using shared memory for specific
services. By default, the module is configured with
"use_shmem = sshd".
- validate = true|false|service [...]
-
specifies whether or not to attempt validation of the TGT using the local
keytab. The default is true.
The libdefaults verify_ap_req_nofail setting can
affect whether or not errors reading the keytab which are encountered during
validation will be suppressed.
EXAMPLE
[appdefaults]
pam = {
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
validate = true
ccache_dir = /var/tmp
external = sshd
tokens = imap ftpd
TEST.EXAMPLE.COM = {
debug = true
afs_cells = testcell.example.com othercell.example.com
keytab = FILE:/etc/krb5.keytab httpd=FILE:/etc/httpd.keytab
}
}
FILES
/etc/krb5.confSEE ALSO
pam_krb5(8)BUGS
Probably, but let's hope not. If you find any, please file them in the bug database at http://bugzilla.redhat.com/ against the "pam_krb5" component.AUTHOR
Nalin Dahyabhai<EMAIL_ADDRESS>Index
This document was created by man2html, using the manual pages.
Time: 05:34:00 GMT, December 24, 2015


Users in your clan
- Cars: Prius 2001
- Pets: Boofy
- Security Cameras installed
- Available as a Guardian
- Home is listed as a "Safe Place"
- Cars: Camero
- Pets: Iguanas
- Security Cameras installed
- Available as a Guardian
- Home is listed as a "Safe Place"
- Cars: Prius 2001
- Pets: Boofy
- Security Cameras installed
- Available as a Guardian
- Home is listed as a "Safe Place"


We visualize infrastructure!
- aggregate cross-platform e-markets
- leverage granular schemas
- enhance distributed experiences
- target sexy channels
- empower end-to-end models
- e-enable bleeding-edge convergence
- incentivize intuitive action-items
- facilitate proactive web services
- enable one-to-one systems
- brand innovative convergence
- utilize value-added web services
- leverage impactful e-business
- target front-end paradigms
- integrate sexy models
- synergize proactive platforms


 Your total costs are higher than the eligible project costs.
Please review:
- subcontracting costs
All project spend profiles have been submitted to Innovate UK.
Your spend profile has been sent to the lead partner. They will review and submit to Innovate UK.
We have reviewed and confirmed your project costs. You should now develop a spend profile together with your project partners. This is so we can plan the allocation of the grant funding to your project.
- Project start date
- 1 May 2016
- Duration
- 21 months
- Finance contact
- Dave Normen<EMAIL_ADDRESS>Partner project costs
These are the project costs for your partners on the project.
| Partner | Project costs |
|---|---|
| Total | £525,000 |
|
Aptrans Ltd |
£175,000 |
|
Biotech Corp |
£175,000 |
|
University of Cardiff |
£175,000 |
Spend profile
Project spend profile
Your project costs have been profiled equally across the time periods. Please edit to show your planned expenditure across the life of your project. Please note that costs cannot be moved across cost categories.
This is the proposed spend profile for your project.


In this blog post I want to describe how I use JMockIt not only for stubs & mocks, but for easy generation of code coverage reports while developing. JMockIt is my favorite tool for unit testing, because of it's ease of use and the many options you get out of this framework. Only recently I decided to try the code coverage report that comes with JMockIt. I was searching for an easy way to monitor my test coverage while continuing development. I didn't want another tool or another VM running a fancy code review tool. I just wanted to see what my current test cases are covering.

My class & test
For all of you wanting to get working code I give you a code kata that I created earlier. It's the FizzBuzz kata, and it is already prepared to run with JMockIt. You can download a full eclipse project from my personal blog.
How to create reports
To create code coverage reports with JMockIt you don't have to go to hours and hours of tool setup before you get something done. Just drop these JAR in your classpath and you're setup to go:
- jmockit.jar
jmockit-coverage.jar- jmockit-coverage-html[basic|full].jar
JDK_HOME/lib/tools.jar
When you're working inside Eclipse I recommend adding the tools.jar as a user library. See the Eclipse documentation for some help with that.
Update: With Version 0.933+ you don't need the JDK tools.jar nor the jmockit-coverage.jar in your classpath anymore. That reduces the setup to 2 JAR files. Notice that you only need the jmockit-coverage-htmlbasic.jar if you intend to view the report only in Eclipse. The FULL report has additional information, that might be useful to you, but I prefer fast tests and simple reports while developing. Thanks for the tips, Rogério.
Now run your JUnit test and you get a directory coverage-report with an index.html file in it. Open it in your favorite browser (or with the Eclipse/Java EE internal web browser) and you see a report like this:
When you dig into the FizzBuzz.java you see the details:
Do you smell something? What is that red line about? Is there code that is redundant or maybe plain wrong? Is the testcase testing the wrong things or taking false results for true? If you stumble upon something like this, this is the point where you notice that quick coverage reports are worth the setup time.
There is also a way of creating the reports from your ant script. But I'll save that for a later blog post. If you want to try it yourself, go read the official documentation about JVM parameters.
What I think about it
This is as easy as code coverage gets: Covered lines are green, uncovered lines are red.  Searching for performance bottlenecks? Start looking on high line counters. A whole method appearing in red? Examine the preconditions and write a test that calls that method.
Best thing on JMockIt coverage reports is: They don't slow down your tests very much. You can just drop the JARs in your classpath and continue with your unit testing. If you want to check on your current coverage status, open the report and take a quick look. I think this is easy enough for every developer to integrate into his process. And you are already doing unit tests, right? So it shouldn't take you more than a few mouse clicks to get a first coverage report...


This was another large Joomla website upgrade including mobile device compatibility. The chalkboard images work well to communicate the educational context of the site. The project included an animated presentation to explain the activities of this organisation. Visit the site.


Floppy drives are block devices with major number 2. Typically they are owned by
root:floppy (i.e., user root, group floppy) and have either mode 0660 (access
checking via group membership) or mode 0666 (everybody has access). The minor
numbers encode the device type, drive number, and controller number. For each
device type (that is, combination of density and track count) there is a base
minor number. To this base number, add the drive's number on its controller
and 128 if the drive is on the secondary controller. In the following device
tables, n represents the drive number.
Warning: if you use formats with more tracks than
supported by your drive, you may cause it mechanical damage. Trying once
if more tracks than the usual 40/80 are supported should not damage it, but
no warranty is given for that. If you are not sure, don't create device
entries for those formats, so as to prevent their usage.
Drive-independent device files which automatically detect the
media format and capacity:
5.25 inch double-density device files:
| Name |
Capacity |
Cyl. |
Sect. |
Heads |
Base |
|
KiB |
|
|
|
minor # |
| fdnd360 |
360 |
40 |
9 |
2 |
4 |
5.25 inch high-density device files:
| Name |
Capacity |
Cyl. |
Sect. |
Heads |
Base |
|
KiB |
|
|
|
minor # |
| fdnh360 |
360 |
40 |
9 |
2 |
20 |
| fdnh410 |
410 |
41 |
10 |
2 |
48 |
| fdnh420 |
420 |
42 |
10 |
2 |
64 |
| fdnh720 |
720 |
80 |
9 |
2 |
24 |
| fdnh880 |
880 |
80 |
11 |
2 |
80 |
| fdnh1200 |
1200 |
80 |
15 |
2 |
8 |
| fdnh1440 |
1440 |
80 |
18 |
2 |
40 |
| fdnh1476 |
1476 |
82 |
18 |
2 |
56 |
| fdnh1494 |
1494 |
83 |
18 |
2 |
72 |
| fdnh1600 |
1600 |
80 |
20 |
2 |
92 |
3.5 inch double-density device files:
| Name |
Capacity |
Cyl. |
Sect. |
Heads |
Base |
|
KiB |
|
|
|
minor # |
| fdnu360 |
360 |
80 |
9 |
1 |
12 |
| fdnu720 |
720 |
80 |
9 |
2 |
16 |
| fdnu800 |
800 |
80 |
10 |
2 |
120 |
| fdnu1040 |
1040 |
80 |
13 |
2 |
84 |
| fdnu1120 |
1120 |
80 |
14 |
2 |
88 |
3.5 inch high-density device files:
| Name |
Capacity |
Cyl. |
Sect. |
Heads |
Base |
|
KiB |
|
|
|
minor # |
| fdnu360 |
360 |
40 |
9 |
2 |
12 |
| fdnu720 |
720 |
80 |
9 |
2 |
16 |
| fdnu820 |
820 |
82 |
10 |
2 |
52 |
| fdnu830 |
830 |
83 |
10 |
2 |
68 |
| fdnu1440 |
1440 |
80 |
18 |
2 |
28 |
| fdnu1600 |
1600 |
80 |
20 |
2 |
124 |
| fdnu1680 |
1680 |
80 |
21 |
2 |
44 |
| fdnu1722 |
1722 |
82 |
21 |
2 |
60 |
| fdnu1743 |
1743 |
83 |
21 |
2 |
76 |
| fdnu1760 |
1760 |
80 |
22 |
2 |
96 |
| fdnu1840 |
1840 |
80 |
23 |
2 |
116 |
| fdnu1920 |
1920 |
80 |
24 |
2 |
100 |
3.5 inch extra-density device files:
| Name |
Capacity |
Cyl. |
Sect. |
Heads |
Base |
|
KiB |
|
|
|
minor # |
| fdnu2880 |
2880 |
80 |
36 |
2 |
32 |
| fdnCompaQ |
2880 |
80 |
36 |
2 |
36 |
| fdnu3200 |
3200 |
80 |
40 |
2 |
104 |
| fdnu3520 |
3520 |
80 |
44 |
2 |
108 |
| fdnu3840 |
3840 |
80 |
48 |
2 |
112 |
fd special files access the floppy disk drives in raw mode. The following
ioctl(2) calls are supported by fd devices:
- FDCLRPRM
- clears the media information of a drive (geometry of disk in drive).
- FDSETPRM
- sets the media information of a drive. The media information will be lost
when the media is changed.
- FDDEFPRM
- sets the media information of a drive (geometry of disk in drive). The
media information will not be lost when the media is changed. This will
disable autodetection. In order to reenable autodetection, you have to
issue an FDCLRPRM.
- FDGETDRVTYP
- returns the type of a drive (name parameter). For formats which work in
several drive types, FDGETDRVTYP returns a name which is
appropriate for the oldest drive type which supports this format.
- FDFLUSH
- invalidates the buffer cache for the given drive.
- FDSETMAXERRS
- sets the error thresholds for reporting errors, aborting the operation,
recalibrating, resetting, and reading sector by sector.
- FDSETMAXERRS
- gets the current error thresholds.
- FDGETDRVTYP
- gets the internal name of the drive.
- FDWERRORCLR
- clears the write error statistics.
- FDWERRORGET
- reads the write error statistics. These include the total number of write
errors, the location and disk of the first write error, and the location
and disk of the last write error. Disks are identified by a generation
number which is incremented at (almost) each disk change.
- FDTWADDLE
- Switch the drive motor off for a few microseconds. This might be needed in
order to access a disk whose sectors are too close together.
- FDSETDRVPRM
- sets various drive parameters.
- FDGETDRVPRM
- reads these parameters back.
- FDGETDRVSTAT
- gets the cached drive state (disk changed, write protected et al.)
- FDPOLLDRVSTAT
- polls the drive and return its state.
- FDGETFDCSTAT
- gets the floppy controller state.
- FDRESET
- resets the floppy controller under certain conditions.
- FDRAWCMD
- sends a raw command to the floppy controller.
For more precise information, consult also the
<linux/fd.h> and <linux/fdreg.h> include files, as
well as the floppycontrol(1) manual page.
The various formats permit reading and writing many types of disks. However, if
a floppy is formatted with an inter-sector gap that is too small, performance
may drop, to the point of needing a few seconds to access an entire track. To
prevent this, use interleaved formats.
It is not possible to read floppies which are formatted using GCR
(group code recording), which is used by Apple II and Macintosh computers
(800k disks).
 This used to be
common with older 8-inch floppies.
chown(1), floppycontrol(1), getfdprm(1), mknod(1),
superformat(1), mount(8), setfdprm(8)
This page is part of release 5.05 of the Linux man-pages project. A
description of the project, information about reporting bugs, and the latest
version of this page, can be found at https://www.kernel.org/doc/man-pages/.


--- layout: default title: Story Map description: Our Final Results customjs: - https://d3js.org/d3.v3.min.js ---


According to historical evidence, Thousand Pillar Temple was constructed between 1175–1324 AD following the orders of Kakatiya king Rudra Deva. It is considered a masterpiece and had achieved magnificent glory for its architectural works by the Vishwakarmasthapathis of that era. The temple is dedicated to the Hindu gods of Vishnu, Shiva, and Surya. The Thousand Pillar Temple is located close to the Hanmakonda-Warangal Highway in Telangana. There are hundreds of Hindu temples built under the support of Kakatiya kings like Rudrama Devi, Ganapati Deva, and Prataparudra of the Kakatiya Dynasty. The Thousand PillarTemple or Rudreshwara Swamy Temple is a historic Hindu shrine which is located in the town of Hanmakonda. The Warangal region in Telangana was a place that was ruled by Kakatiyas for a long time. The region is dotted with several temples and other heritage monuments which is the influence of Kakatiyas.


{% set page = { title: '', dev: true, html_classes: [], nav: { section: 'Re-route', subsection: 'Re-route the case', hideSecondary: true }, layout: prototype.current.layoutPath + 'layout.html', primary: { col: "full" }, secondary: false } %} {% extends page.layout %} {% block primary %}
Where would you like to re-route your case to?


Determines where this credential can be used.
- System
-
This credential is only available to the object on which the credential is associated. Typically you would
use system-scoped credentials for things like email auth, slave connection, etc, i.e. where the
Jenkins instance itself is using the credential. Unlike the global scope, this significantly restricts
where the credential can be used, thereby providing a higher degree of confidentiality to the credential.
- Global
-
This credential is available to the object on which the credential is associated and all objects that are
children of that object. Typically you would use global-scoped credentials for things that are needed by
jobs.
In general, a credential is defined in one place (e.g., the credentials configuration page under "Manage Jenkins")
and then used in another place (e.g., when connecting to a new SSH slave).
The scope allows you to say "this credential is only used by these places" by looking at the relationship
between the two locations.


Green Turtle Cay is a good hurricane shelter with Black Sound being the best option.
Black Sound has a boatyard and 4 small marinas/docking facilities.
White Sound has two fair sized marinas (Bluff House and Green Turtle Club).
To get into the sounds is a bit tricky and certainly getting into Black Sound should best be done at HW. There are mooring balls available in both Black and White Sounds as holding is poor.
New Plymouth has no marina or yacht dockage, just a good anchorage that offers protection from Easterly Winds. There are several reasonable stores in the main street, for hardware and food.
Position 26° 45'54"N, 77° 19'50"W (entrance to Black Sound)
If clearing in, then New Plymouth has to be visited first. Go to New Plymouth Clearance for details.
Both Black Sound and White Sound provide good sheltered berths. Black Sound has 4 docking facilities. There are also mooring buoys available in Black Sound as holding is poor.
Deep draft boats may need to use the anchorage off New Plymouth. See comments below.
Last updated June 2014.


My name is Ananth.
Or more formally Anantha Natarajan S.
I'm a Software Engineer at Facebook. I graduated December 2017 from New York University with a Master's degree in Computer Science.
I did my undergrad at the National Institute of Technology - Trichy graduating with a B.Tech degree in Metallurgical & Materials Engineering, but I spent most of my time coding.
I participate in programming contests at Codechef and Codeforces , make small projects and open source contributions at Github, and hack on random stuff. I believe programs can have deep beauty and elegance, just like poems.
These are some things I'm working on now.
You can find details here.
Programming Languages: C++, C, Java, C#
Scripting Languages: Python, PHP, Hack, R
Web Technologies: Javascript, React, Git, SQL, Node, CSS, HTML
I've worked with
I open source and everything about it to its very nature. I have contributed to several open source projects and manage a few of my own.
I write about interviews, life and tech stuff at my blog. Here some some of my latest posts:
Whether you have an interesting project or just want to say hi, feel free to shoot me a message.
Say Hi!


|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object dxf2svg.util.SvgUtil
This class provides various utilities and conversions methods. It also provides controls sizing of Svg output files by determining screen size and optimum page sizing in the default view.
| Constructor Summary | |
SvgUtil(double minX,
double minY,
double maxX,
double maxY,
double scale)
The constructor calculates the target User Units (the default measure unit in Svg) by querying the current screen resolution (default) or, alternatively, by making the appropriate calculations based on the -s switch value. |
| Method Summary | |
double |
convertXToSvgSpace(double x)
This method converts an x value to Svg space. |
double |
convertYToDxfSpace(double yVal)
Converts SVG y value of a Point back to the equivelant DXF y value. |
double |
convertYToSvgSpace(double yVal)
Converts DXF 'y' values into SVG equivalents. |
double |
deltaDxfSvgLimitsX()
Returns the delta between the DXF origin which could be arbitrary and the SVG origin which is always 0,0. |
double |
deltaDxfSvgLimitsY()
Returns the delta between the DXF origin which could be arbitrary and the SVG origin which is always 0,0. |
void |
flipCoordinateSpace(Point p)
This method will flip a point from one space to another. |
LimitsFrame |
getLimits()
Returns the rectangular frame that outlines the frame that describes the Dxf's limits. |
double |
getLimitsMaxX()
Returns the maximum X value of the limits frame. |
double |
getLimitsMaxY()
Returns the maximum Y value of the limits frame. |
double |
getLimitsMinX()
Returns the minimum X value of the limits frame. |
double |
getLimitsMinY()
Returns the minimum Y value of the limits frame. |
double |
getLtScale()
Returns the line type scale state from the DXF being converted. |
int |
getMaximumHTMLViewportHeight()
Returns the maximum height of the viewport that will allow the drawing to viewed and the English / French button to appear properly when the browser is maximized. |
int |
getMaximumHTMLViewportWidth()
Returns the maximum width of the viewport that will allow the drawing to viewed and the English / French button to appear properly when the browser is maximized. |
boolean |
isWithinLimitsFrame(double x,
double y)
This method tests if the argument point is within the frame designated by the DXF's limits. |
static boolean |
isWithinTolerance(double test,
double norm,
double fuzz)
This function simply reports whether a supplied test value is within range of (+-) the supplied fuzz value. |
double |
pointsPerPixel()
Returns the points per pixel for the user defined screen resolution. |
static java.lang.String |
replaceCharacterEntities(java.lang.String s)
Replaces characters with their equivalent character entities. |
java.lang.String |
toString()
Reports the SvgUtil version and current User Units value. |
double |
trimDouble(double DNum)
Trims double values to user specified number of digit precision. |
double |
trimDouble(double DNum,
int P)
Used to trim numbers to an arbitrary precision despite what was set at runtime with the -p switch.
|
double |
Units()
Returns the value of USR_UNITS (pixels per inch). |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public SvgUtil(double minX, double minY, double maxX, double maxY, double scale)
-s
switch value. The end result
will size an 8.75 inch illustration to fit within a default Internet
Explorer window with a high degree of accuracy.
minX
- Minimum x value of the drawing's limits.minY
- Minimum y value of the drawing's limits.maxX
- Minimum x value of the drawing's limits.maxY
- Minimum y value of the drawing's limits.scale
- Line type scale.| Method Detail |
public boolean isWithinLimitsFrame(double x, double y)
public LimitsFrame getLimits()
public final int getMaximumHTMLViewportHeight()
attribute
of the <EMBED> tag in HTML.
public final int getMaximumHTMLViewportWidth()
attribute
of the <EMBED> tag in HTML.
public double trimDouble(double DNum)
DNum
- number you wish to trim.
public double trimDouble(double DNum, int P)
-p
switch.
Used for increasing precision of angles for trigonometric calculations.
DNum
- Number to trim as a doubleP
- as an integer of the number of digits precision.
P
digits.public final double Units()
public final double pointsPerPixel()
public double convertXToSvgSpace(double x)
public double convertYToSvgSpace(double yVal)
yVal
- value you want to flip on axis into SVG space.
public void flipCoordinateSpace(Point p)
SvgEllipse.getElementAsPath(boolean)
public double convertYToDxfSpace(double yVal)
convertYToSvgSpace(double)
with
the exception that the returned value remains in USR_UNITS (pixels)
not the original Inches or MM.
public double deltaDxfSvgLimitsX()
public double deltaDxfSvgLimitsY()
public static java.lang.String replaceCharacterEntities(java.lang.String s)
s
- the string input to replace characters in
public static boolean isWithinTolerance(double test, double norm, double fuzz)
test
- Value to be tested for tolerances.norm
- The value to be measured against.fuzz
- The acceptable tolerance as a percentage. 3.5 is 3 1/2 percent.
public double getLtScale()
public double getLimitsMaxX()
public double getLimitsMinX()
public double getLimitsMaxY()
public double getLimitsMinY()
public java.lang.String toString()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Identification and Estimation in Panel Models with Overspecified Number of Groups &
Ruiqi Liu, Zuofeng Shang, Qiankun Zhou and Yonghui Zhang
Journal of Econometrics, 215(2): 574-590, 2020
Statistical Inference on Panel Data Models: A Kernel Ridge Regression Method &
Shunan Zhao, Ruiqi Liu and Zuofeng Shang
Journal of Business & Economic Statistics, 39(1): 325-337, 2021
Testing Community Structure for Hypergraphs &
Mingao Yuan, Ruiqi Liu, Yang Feng and Zuofeng Shang
Annals of Statistics, 50(1): 147-169, 2022
A Consistent Test of Independence and Goodness-of-fit in Linear Regression Models
Qiqing Yu and Ruiqi Liu
Communications in Statistics - Simulation and Computation, 51(7): 3955-3974, 2022
Optimal Nonparametric Inference via Deep Neural Network &
Ruiqi Liu, Ben Boukai and Zuofeng Shang
Journal of Mathematical Analysis and Applications, 505(2): 125561, 2022
Online Statistical Inference for Parameters Estimation with Linear-Equality Constraints &
Ruiqi Liu, Mingao Yuan and Zuofeng Shang
Journal of Multivariate Analysis, 191: 105017, 2022
Deep Feature Screening: Feature Selection for Ultra High-Dimensional Data via Deep Neural Networks &
Kexuan Li, Fangfang Wang, Lingli Yang and Ruiqi Liu
Neurocomputing, 538: 126187, 2023
Distributed Adaptive Nearest Neighbor Classifier: Algorithm and Theory &
Ruiqi Liu, Ganggang Xu and Zuofeng Shang
Statistics and Computing, 33(96), 2023
Optimal Nonparametric Inference under Quantization
Kexuan Li, Ruiqi Liu, Ganggang Xu and Zuofeng Shang, 2019
3rd-round revision-resubmitted to Journal of Machine Learning Research
Statistical Inference with Stochastic Gradient Methods under $\phi$-mixing Data
Ruiqi Liu, Xi Chen and Zuofeng Shang, 2023
Revision requested at Journal of the American Statistical Association
Inverse Regression for Spatially Distributed Functional Data
Suneel Babu Chatla and Ruiqi Liu, 2023
Revision requested at Bernoulli
Statistical Inference on Partially Linear Panel Model under Unobserved Linearity
Ruiqi Liu, Ben Boukai and Zuofeng Shang, 2019
On Deep Instrument Variables Estimate
Ruiqi Liu, Zuofeng Shang and Guang Cheng, 2020
A Computationally Efficient Classification Algorithm in Posterior Drift Model: Phase Transition and Minimax Adaptivity
Ruiqi Liu, Kexuan Li and Zuofeng Shang, 2020
Calibrating Multi-dimensional Complex ODE from Noisy Data via Deep Neural Networks
Kexuan Li, Fangfang Wang, Ruiqi Liu, Fan Yang and Zuofeng Shang, 2021
Minimax Optimal Deep Neural Network Classifiers under Smooth Decision Boundary
Tianyang Hu, Ruiqi Liu, Zuofeng Shang and Guang Cheng, 2022
Identification and Estimation of Parameter Instability in High Dimensional Approximate Factor Models
Ruiqi Liu and Yiru Wang, 2023
Estimation and Hypothesis Testing of Derivatives in Smoothing Spline ANOVA Models
Ruiqi Liu, Kexuan Li and Meng Li, 2023


ColorSlider
ColorSlider is a Swift color picker with a live preview.
Inspired by Snapchat, ColorSlider lets you drag vertically to pick a range of colors and drag to the edges of the superview to select black and white. You can configure and customize ColorSlider
via a simple API, and receive callbacks via UIControlEvents
.
Version Compatibility
Current Swift compatibility breakdown:
| Swift Version | Framework Version |
|---|---|
| 3.0 | master |
| 2.3 | 2.5.1 |
Usage
Create and add an instance of ColorSlider to your view hierarchy.
let colorSlider = ColorSlider()
colorSlider.frame = CGRectMake(0, 0, 12, 150)
view.addSubview(colorSlider)
ColorSlider is a subclass of UIControl
and supports the following UIControlEvents
:
.touchDown
.valueChanged
.touchUpInside
.touchUpOutside
.touchCancel
You can get the currently selected color with the color
property.
colorSlider.addTarget(self, action: #selector(ViewController.changedColor(_:)), forControlEvents: .valueChanged)
func changedColor(_ slider: ColorSlider) {
var color = slider.color
// ...
}
Enable live color preview:
colorSlider.previewEnabled = true
Use a horizontal slider:
colorSlider.orientation = .horizontal
Customize appearance attributes:
colorSlider.borderWidth = 2.0
colorSlider.borderColor = UIColor.white
Please see the documentation and check out the sample app (Sketchpad) for more details.
Installation
CocoaPods
ColorSlider is available for installation using CocoaPods. To integrate, add the following to your Podfile`:
platform :ios, '9.0'
use_frameworks!
pod 'ColorSlider', '~> 3.0.1'
Carthage
ColorSlider is also available for installation using Carthage. To integrate, add the following to your Cartfile
:
github "gizmosachin/ColorSlider" >= 3.0.1
Swift Package Manager
ColorSlider is also available for installation using the Swift Package Manager. Add the following to your Package.swift
:
import PackageDescription
let package = Package(
name: "MyProject",
dependencies: [
.Package(url: "https://github.com/gizmosachin/ColorSlider.git", majorVersion: 0),
]
)
Manual
You can also simply copy ColorSlider.swift
into your Xcode project.
Example Project
ColorSlider comes with an example project called Sketchpad, a simple drawing app. To try it, install CocoaPods and run pod install
under the Example
directory. Then, open Sketchpad.xcworkspace
.
How it Works
ColorSlider uses HSB and defaults to a saturation and brightness: 100%.
When the orientation
is set to .vertical
, dragging vertically adjusts the hue, and dragging outside adjusts the saturation and brightness as follows:
- Inside the frame, dragging vertically adjusts the hue
- Outside the frame, dragging horizontally adjusts the saturation
- Outside the frame, dragging vertically adjusts the brightness
Adjusting the brightness lets you select black and white by first dragging on the slider, then moving your finger outside the frame to the top left (to select white) or bottom left (to select black) of the superview.
License
ColorSlider is available under the MIT license, see the LICENSE file for more information.


In the Web site, The Best Bodybuilding Routine for Beginners, we gave you the best workout routines for aspiring bodybuilders. We know that you pro gym goers were feeling left out..
Shop Now »


MANDELA A film review by Steve Rhodes Copyright 1997 Steve Rhodes
RATING (0 TO ****): **
Having an extremely famous and revered subject who is willing to grant you extensive interviews can sometimes be a mixed blessing for filmmakers. First-time feature length documentarians Angus Gibson and Jo Menell received such an opportunity to speak with Nelson Mandela. The resulting film, MANDELA, is all too reverential and slow paced.
The heart of the film is a long interview with Mandela. A talking head can become monotonous, so editor Andy Keir cuts to some old film footage to illustrate some of the points Mandela makes. These clips are almost all teasers. Just when they start to get interesting, we return to the talking head.
The success of good documentarians is based mainly on the probing nature of their (usually offscreen and unheard) questions and on how resourceful they are in gathering exciting archival materials. Gibson and Menell do not seem particularly adept at either.
There are few opposing points of view in the picture, and the questions are all softballs for Mandela. The film makes his life seem too easy and preordained. The ANC fights with other black organizations, and Nelson's disagreements with Winnie over a host of issues are barely mentioned. The film's approach glosses over troubles with the result that Mandela's rise to power appears all too simple.
The autobiographical film starts with Mandela talking about the history of South Africa. The early settlers, the black Africans, moved south into what is now South Africa over a thousand years ago. In a parallel to the American colonization, the Europeans arrived in the middle of the seventeenth century and promptly seized the lands from the current inhabitants.
Mandela, we are told, is of "royal blood," and he speaks glowingly of his family and his people's lands. Dewald Aukema and Peter Tischhauser's cinematography of rich golds and browns illustrate the beauty of the land of which Mandela is so justifiably proud.
In a slow show with little contrast or tension, there is a brief excerpt of a speech by then South African President P. W. Botha. "I've been lenient and patient," he warns the ANC. "Don't push us too far! Don't push us too far!" The ludicrousness of his speech makes a good counterpoint to Mandela, but it is one of the few pieces of heightened emotions in the movie.
MANDELA was one of the 1996 nominees for an Academy Award for best documentary. An infinitely better picture was the winner, Leon Gast's WHEN WE WERE KINGS about Muhammed Ali, which shows how powerful and riveting a documentary can be. MANDELA starts with a great man, but its timid approach makes for a rarely compelling film. It is a shame that the Academy, year in and year out, ignores so many brilliant documentaries (HOOP DREAMS and PARADISE LOST: THE CHILD MURDERS AT ROBIN HOOD HILLS to name just a couple) while nominating high-minded, but bland ones like MANDELA.
MANDELA runs 1:57. It is rated PG for images of violence, brief nudity and some profanity. The show would be fine for kids around nine and up. MANDELA drags too much for me to be able to recommend it, but it does have its moments. I give it **.
**** = A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show. Don't waste your money. 0 = Totally and painfully unbearable picture.
REVIEW WRITTEN ON: June 22, 1997
Opinions expressed are mine and not meant to reflect my employer's.
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


Registration Form
First Name
Last Name
Address 1
Address 2
City
State
Please select your state
Alabama
Alaska
Arizona
Arkansas
California
Colorado
Connecticut
Delaware
District of Columbia
Florida
Georgia
Hawaii
Idaho
Illinois
Indiana
Iowa
Kansas
Kentucky
Louisiana
Maine
Maryland
Massachusetts
Michigan
Minnesota
Mississippi
Missouri
Montana
Nebraska
Nevada
New Hampshire
New Jersey
New Mexico
New York
North Carolina
North Dakota
Ohio
Oklahoma
Oregon
Pennsylvania
Rhode Island
South Carolina
South Dakota
Tennessee
Texas
Utah
Vermont
Virginia
Washington
West Virginia
Wisconsin
Wyoming
Zip Code
Country
Success
Your registration has been successfully submitted.
Submit