|
Class Summary |
| AutoUpdater |
An AutoUpdater is used to cause a set of editors to be told
to update themselves at a regular basis. |
| BaseEditor |
This is a base class that handles a lot of stuff for editors. |
| BaseFieldsEditor |
This class merely serves as an abstract class extending
BaseEditor and implementing (fully abstractly)
FieldsEditor . |
| BaseWrappedValueEditor |
This is a base class which implements ValueEditor to defer
to some other target editor. |
| CheckboxEditor |
This class is an editor which wraps around a
ValueEditor , only allowing for getting and setting as a
Boolean , intended to be presented as a checkbox. |
| DirectValueEditor |
This class is a ValueEditor whose managed value is directly
held in the object. |
| FieldValueEditor |
This is a ValueEditor which uses reflection to access
a particular public field of a target object. |
| FixedFieldsEditor |
This is an implementation of FieldsEditor which
keeps a fixed list of fields. |
| IntegerTextEditor |
This is an editor for integer values as text. |
| MethodValueEditor |
This is a ValueEditor which uses reflection to access
a getter and setter method which collectively act like a field on a
given target. |
| PublicFields |
This class merely holds a static helper method to make creating
Editor s for public objects easier. |
| StringTextEditor |
This is an editor for string values as text. |
| TextEditor |
This class is an editor which wraps around a
ValueEditor , only allowing for getting and setting as a
text string. |


Cure Muscle Soreness | Men's Health News
Feb 16, 2012 . Cold water immersion (CWI) can help reduce muscle soreness between 15 and 20 percent in the 24 to 96 hours after an intense sweat session, .
http://news.menshealth.com/soothe-sore-muscles-like-a-pro/2012/02/16/
Treatment for Herniated or Bulging Discs
Treating Sore Muscles and Tendons
Jun 12, 2006 . Exercise that leads to muscle soreness and pain causes increases in muscle . Muscle soreness occurs at the highest level about 24 to 48 hours after . emu oil continues to be touted as a remedy for sore muscles and is .
http://www.medscape.com/viewarticle/533674
Treatment of Sore Muscles - How to Treat Muscle Soreness
Dec 13, 2010 . Treatment of sore muscles after exercise is focused on reducing the inflammation and allowing the sore muscle to heal properly.
http://orthopedics.about.com/od/overuseinjuries/tp/Musclesoreness.htm
cure sore musles after fall Herniated or Bulging Discs
Post-Workout Muscle Soreness
Decode, Treat and Prevent 5 Common Types of Post-Workout Pain . This type of muscle soreness begins 24 to 48 hours after your workout and actually .
http://www.sparkpeople.com/resource/fitness_articles.asp?id=1568
Sore Muscle Remedies That Really Work
Feb 15, 2012 . Last week, a new study found that massage really does work to ease those sore muscles after a tough workout. Just 10 minutes can reduce.
http://www.huffingtonpost.com/2012/02/15/sore-muscle-remedies-that-work_n_1274780.html
Managing Muscle Pain, Soreness, and Aches
It's normal to have sore muscles after you work out, play sports, or even do housework. Here are tips to help ease sore muscles at home.
http://www.webmd.com/fitness-exercise/features/art-sore-muscles-joint-pain
Official Impairment Listing for Spinal Disorders
8 Ways to Relieve Muscle Soreness
This will allow your muscles time to adapt and prevent muscle soreness and injury. . Some seasoned exercisers will experience muscle soreness "the day after" a different type of . Hire a Spokane Personal Trainer to Speed Up Fat Loss .
http://www.streetdirectory.com/travel_guide/42958/fitness/8_ways_to_relieve_muscle_soreness.html
- journal of alergic rinitis (narrowing of the spine)
How Massage Heals Sore Muscles - NYTimes.com
Feb 6, 2012 . Immediately after the massage, they biopsied the thigh muscle in each leg again. After . Many people, for instance, pop an aspirin or Aleve at the first sign of muscle soreness. . For Weight Loss, Less Exercise May Be More .
http://well.blogs.nytimes.com/2012/02/06/how-massage-heals-sore-muscles/How To Treat Sore Muscles From Exercise | LIVESTRONG.COM
May 26, 2011 . How To Treat Sore Muscles From Exercise. Soreness and moderate pain in your muscles is normal after a vigorous workout. Strenuous .
http://www.livestrong.com/article/423491-how-to-treat-sore-muscles-from-exercise/
Muscle Soreness Recovery - Natural Remedies to Relieve Sore ...
How to Prevent and Reduce the Intensity of Muscle Soreness After Exercising. Natural Remedies to Relieve Sore Muscles and Improve Recovery Time. . Although range of motion is not limited, tightness and temporary loss of strength may .
http://www.nativeremedies.com/ailment/natural-treatments-for-muscle-soreness.html
Medical-Vocational Allowance for Herniated Disc
6 Remedies for Sore Muscles | 3FC
Jan 11, 2010 . Sore muscles can be caused by a number of actions. . Best weight loss support online! . The creams provide a deep penetrating heat that aides in massaging the area, as well as a cool feeling after that helps numb the pain.
http://www.3fatchicks.com/6-remedies-for-sore-muscles/
Delayed onset muscle soreness - Wikipedia, the free encyclopedia
The soreness disappears in about 72 hours after appearing. If treatment is desired, any measure that increases blood flow to the .
http://en.wikipedia.org/wiki/Delayed_onset_muscle_soreness
Appealing a Denial of Benefits
Recovering from a running "fall"... (sore, muscles, gym ...
Aug 7, 2009 . Anyhow, I'm going to take tomorrow off from running to help heal. . I hit is really hurting a lot both the abrasion and being sore from the hitting, .
http://www.city-data.com/forum/exercise-fitness/726879-recovering-running-fall-sore-muscles-gym.html


You choose one object that you must touch throughout the casting of the spell. If it is a magic item or some other magic-imbued object, you learn its properties and how to use them, whether it requires attunement to use, and how many charges it has, if any.  If the item w as created by a spell, you learn which spell created it.
If you instead touch a creature throughout the casting, you learn what spells, if any, are currently affecting it.


{% extends "base.html" %} {% block content %}
Rating
1
2
3
4
5
Changed your mind? click to return to the review page


Class FileUpload
One class to manage all PHP file upload needs
Methods summary
public
|
#
__construct( array $allowedTypes = [], integer $allowedFileSize = 0 )
Parameters
- $allowedTypes
- array of allowed mime types. The key must be the file extention
- $allowedFileSize
- maximum file size in megabytes
|
public
array
|
#
getAllowedTypes( )
Defines which file types are allowed
Defines which file types are allowed
Returns
array
|
public
|
#
setAllowedTypes( array $allowedTypes )
Defines which file types are allowed
Defines which file types are allowed
Parameters
- $allowedTypes
- expects an array with a file extention as the key and the value as the mime-type
Returns
$this
|
public
integer
|
#
getAllowedFileSize( )
Provides the maximum allowed file size in megabytes
Provides the maximum allowed file size in megabytes
Returns
integer returns the maximum file size allowed
|
public
|
#
setAllowedFileSize( integer $allowedFileSize )
Provide the maximum allowed file size in megabytes
Provide the maximum allowed file size in megabytes
Parameters
- $allowedFileSize
- File size in megabytes
Returns
$this
|
public
string
|
#
handleFile( type $fileHandle, string $targetFile )
Manages the aspects of the uploading of a file to a server
Manages the aspects of the uploading of a file to a server
Parameters
- $fileHandle
- key of the file that will be found in the $_FILES array
- $targetFile
- path and file name of the file. Extention of original file will be applied to this.
Returns
string computed path of uploaded file
Throws
|


Possible Duplicate:
How to show google.com in an iframe?
I am researching possible methods of running a proxy server for a school project.
I thought about using iframes to load a web page inside another web page, so I made a test.
Here is my HTML:
<html>
<body>
<IFRAME SRC="http://google.com" WIDTH=1024 HEIGHT=768>
Not loaded
</IFRAME>
</body>
</html>
However, http://google.com doesn't load, and instead the iframe remains white.
On further inspection, Google Chrome's GET request to load google.com has been cancelled.
I suspect that google stop people from loading their site in iframes, but why is this, and what are the effects of it?
Edit: I forgot to mention, other websites (like my own) work fine.


Ethychat.
A blockchain messenger
Ethychat lets you exchange messages between any addresses on the Ethereum blockchain. Ethychat is free to use, only transaction costs incur and only for sending messages. All chats on Ethychat are public.
Login with your Ethereum account
Login
Source code on
https://github.com/philippphb/Ethychat
Ethychat.
Log out
Show the last
24 hours
3 days
week
month
You are connected to
Select or add contact
Use
Rinkeby
Main
Network
Connect
Communicate
Send Ether
Add contact
Send
ETH
Send
Source code on
https://github.com/philippphb/Ethychat
Error
tx error
Close
Transaction Authentication
How do you want to authenticate the transaction?
With keyfile and password. Keyfile and password will not leave the browser.
Select keyfile
Password:
With my private key. The private key will not leave the browser.
Private key:
How long shall the authentication be valid?
For this transaction only
For 10 minutes
For 1 hour
Cancel
Continue
Transaction Confirmation
You are about to send
X Eth
to
account
Cancel
Confirm
Add Message
Your transaction of
X Eth
to
account
was successful.
You can add a message to your transaction:
Proceed without message
Add message


×
WELCOME:-
Technical Services
Non-Technical Services
Logout
☰
Select Site:-
Select Problem Area
Enter Remarks
© All Rights Reserved, APS Group


For each of these samples, view the HTML page in a browser, and study the HTML, CSS, and Javascript to make sure you understand everything. You can also open the sampleX.html, sampleX.css, and sampleX.js files in a text editor and play around with the code to try stuff. Don't forget to force-reload in the browser after you make CSS or Javascript changes.
Here are a few debugging exercises. For each one, load the HTML file into a browser, try the form, and use the browser's developer tools to find the bug.


If you want to write to me: mail [at] matysanchez.com
I talk via Skype with the username: maty_sanchez.
I submit code to GitHub under the account: matysanchez.
Professionally for LinkedIn I am: Matías Sanchez Moises.
My little used Twitter username is: @_matys.
Finally, if you want to see more about my personal life, I am matysanchez at Instagram.


XML Serialization in the .NET Compact Framework seems to be buggy enough that it is generally not useful if you need to serialize a class that conforms to a schema of some sort. If all you need to do is serialize and deserialize representations of a class you are probably fine. But if you need to use the serialized data to interoperate with a service (for example) it likely will not work.
The problem is that the XmlEnum under the .NET Compact Framework truncates the value at the first space. So, in the example below your Enums would serialize to "Some" and "Another" instead of the correct "Some Value" and "Another Value".
int
and double
are value
types but so is DateTime
. string
is a reference type though.
The serialization code is smart enough to not serialize null values. But what about those value types? They can not be null, so how do you determine if they should be serialized or not? There are two ways you can do it.
Example:
I have not found any problem with this on the .NET Compact Framework, but I haven't used it extensively. DefaultValue really does not make sense for every case. What about a value where negative, positive and zero all make sense? What about a boolean value where true and false are both meaningful and different from null? Valid values are really a business concept and many business concepts will not constrain them in such a way that you can specify a DefaultValue to control serialization, so this is not always useful.
See: more information on DefaultValue.
Example:
This is fine in the full framework. The problem is with the .NET Compact Framework. When the serializer comes across a propertynameSpecified value that is false, the serialization of that class stops. This means if you have 5 properties and the second property has a control value set to false, only the first value will be serialized!
Update: follow-up post on Writing a Custom XML Serializer has been posted.


Documentation for the Lua string standard library.
From Lua 5.1 Reference Manual by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes.
Copyright © 2006-2012 Lua.org, PUC-Rio.
Freely available under the terms of the Lua license.
Character Class:
A character class is used to represent a set of characters. The following combinations are allowed in describing a character class:
^$()%.[]*+-?
)
represents the character x itself..
%a
%c
%d
%l
%p
%s
%u
%w
%x
%z
%x
[set]
%
x described above can also be used as components in set.
All other characters in set represent themselves.
For example, [%w_]
(or [_%w]
) represents all alphanumeric characters
plus the underscore, [0-7]
represents the octal digits,
and [0-7%l%-]
represents the octal digits plus the lowercase letters
plus the '-' character.The interaction between ranges and classes is not defined.
Therefore, patterns like [%a-z]
or [a-%%]
have no meaning.
[^set]
For all classes represented by single letters (%a
, %c
, etc.),
the corresponding uppercase letter represents the complement of the class.
For instance, %S
represents all non-space characters.
The definitions of letter, space, and other character groups
depend on the current locale. In particular, the class [a-z]
may not be
equivalent to %l
.
Pattern Item:
A pattern item can be
a single character class, which matches any single character in the class;
a single character class followed by '*', which matches 0 or more repetitions of characters in the class. These repetition items will always match the longest possible sequence;
a single character class followed by '+', which matches 1 or more repetitions of characters in the class. These repetition items will always match the longest possible sequence;
a single character class followed by '-', which also matches 0 or more repetitions of characters in the class. Unlike '*', these repetition items will always match the shortest possible sequence;
a single character class followed by '?', which matches 0 or 1 occurrence of a character in the class;
%n
, for n between 1 and 9; such item matches a substring equal to the
n-th captured string (see below);
%bxy
, where x and y are two distinct characters;
such item matches strings that start with x, end with y,
and where the x and y are balanced.
This means that, if one reads the string from left to right,
counting +1 for an x and -1 for a y,
the ending y is the first y where the count reaches 0.
For instance, the item %b()
matches expressions with balanced parentheses.
Pattern:
A pattern is a sequence of pattern items. A '^' at the beginning of a pattern anchors the match at the beginning of the subject string. A '$' at the end of a pattern anchors the match at the end of the subject string. At other positions, '^' and '$' have no special meaning and represent themselves.
Captures:
A pattern can contain sub-patterns enclosed in parentheses;
they describe captures.
When a match succeeds, the substrings of the subject string
that match captures are stored (captured) for future use.
Captures are numbered according to their left parentheses.
For instance, in the pattern "(a*(.)%w(%s*))"
,
the part of the string matching "a*(.)%w(%s*)"
is
stored as the first capture (and therefore has number 1);
the character matching "." is captured with number 2,
and the part matching "%s*" has number 3.
As a special case, the empty capture ()
captures
the current string position (a number).
For instance, if we apply the pattern "()aa()"
on the
string "flaaap"
, there will be two captures: 3 and 5.
A pattern cannot contain embedded zeros. Use %z
instead.
converts a character into its ASCII (decimal) equivalent
Returns the internal numerical codes of the characters s[i]
,
s[i+1]
, ..., s[j]
.
The default value for i is 1;
the default value for j is i.
Note that numerical codes are not necessarily portable across platforms.
s
[i]
[j]
converts ASCII codes into their equivalent characters
Receives zero or more integers. Returns a string with length equal to the number of arguments, in which each character has the internal numerical code equal to its corresponding argument.
Note that numerical codes are not necessarily portable across platforms.
...
converts a function into binary
Returns a string containing a binary representation of the given function, so that a later loadstring on this string returns a copy of the function. function must be a Lua function without upvalues.
function
searches a string for a pattern
Looks for the first match of
pattern in the string s.
If it finds a match, then find returns the indices of s
where this occurrence starts and ends;
otherwise, it returns nil.
A third, optional numerical argument init specifies
where to start the search;
its default value is 1 and can be negative.
A value of true as a fourth, optional argument plain
turns off the pattern matching facilities,
so the function does a plain "find substring" operation,
with no characters in pattern being considered "magic".
Note that if plain is given, then init must be given as well.
If the pattern has captures, then in a successful match the captured values are also returned, after the two indices.
s
pattern
[init]
[plain]
formats a string
Returns a formatted version of its variable number of arguments
following the description given in its first argument (which must be a string).
The format string follows the same rules as the printf family of
standard C functions.
The only differences are that the options/modifiers
*
, l, L, n, p,
and h are not supported
and that there is an extra option, q.
The q option formats a string in a form suitable to be safely read
back by the Lua interpreter:
the string is written between double quotes,
and all double quotes, newlines, embedded zeros,
and backslashes in the string
are correctly escaped when written.
For instance, the call
string.format('%q', 'a string with "quotes" and \n new line')
will produce the string:
"a string with \"quotes\" and \ new line"
The options c, d, E, e, f, g, G, i, o, u, X, and x all expect a number as argument, whereas q and s expect a string.
This function does not accept string values containing embedded zeros, except as arguments to the q option.
formatstring
...
iterate over a string
Returns an iterator function that, each time it is called, returns the next captures from pattern over string s. If pattern specifies no captures, then the whole match is produced in each call.
As an example, the following loop
s = "hello world from Lua" for w in string.gmatch(s, "%a+") do print(w) end
will iterate over all the words from string s,
printing one per line.
The next example collects all pairs key=value
from the
given string into a table:
t = {} s = "from=world, to=Lua" for k, v in string.gmatch(s, "(%w+)=(%w+)") do t[k] = v end
For this function, a '^' at the start of a pattern does not work as an anchor, as this would prevent the iteration.
s
pattern
substitute strings inside another string
Returns a copy of s in which all (or the first n, if given) occurrences of the pattern have been replaced by a replacement string specified by repl, which can be a string, a table, or a function. gsub also returns, as its second value, the total number of matches that occurred.
If repl is a string, then its value is used for replacement.
The character %
works as an escape character:
any sequence in repl of the form %n
,
with n between 1 and 9,
stands for the value of the n-th captured substring (see below).
The sequence %0
stands for the whole match.
The sequence %%
stands for a single %
.
If repl is a table, then the table is queried for every match, using the first capture as the key; if the pattern specifies no captures, then the whole match is used as the key.
If repl is a function, then this function is called every time a match occurs, with all captured substrings passed as arguments, in order; if the pattern specifies no captures, then the whole match is passed as a sole argument.
If the value returned by the table query or by the function call is a string or a number, then it is used as the replacement string; otherwise, if it is false or nil, then there is no replacement (that is, the original match is kept in the string).
Here are some examples:
x = string.gsub("hello world", "(%w+)", "%1 %1") --> x="hello hello world world" x = string.gsub("hello world", "%w+", "%0 %0", 1) --> x="hello hello world" x = string.gsub("hello world from Lua", "(%w+)%s*(%w+)", "%2 %1") --> x="world hello Lua from" x = string.gsub("home = $HOME, user = $USER", "%$(%w+)", os.getenv) --> x="home = /home/roberto, user = roberto" x = string.gsub("4+5 = $return 4+5$", "%$(.-)%$", function (s) return loadstring(s)() end) --> x="4+5 = 9" local t = {name="lua", version="5.1"} x = string.gsub("$name-$version.tar.gz", "%$(%w+)", t) --> x="lua-5.1.tar.gz"
s
pattern
repl
[n]
return the length of a string
Receives a string and returns its length.
The empty string ""
has length 0.
Embedded zeros are counted,
so "a\000bc\000"
has length 5.
s
converts a string to lower-case
Receives a string and returns a copy of this string with all uppercase letters changed to lowercase. All other characters are left unchanged. The definition of what an uppercase letter is depends on the current locale.
s
searches a string for a pattern
Looks for the first match of pattern in the string s. If it finds one, then match returns the captures from the pattern; otherwise it returns nil. If pattern specifies no captures, then the whole match is returned. A third, optional numerical argument init specifies where to start the search; its default value is 1 and can be negative.
s
pattern
[init]
returns repeated copies of a string
Returns a string that is the concatenation of n copies of the string s.
s
n
reverses the order of characters in a string
Returns a string that is the string s reversed.
s
returns a substring of a string
Returns the substring of s that
starts at i and continues until j;
i and j can be negative.
If j is absent, then it is assumed to be equal to -1
(which is the same as the string length).
In particular,
the call string.sub(s,1,j)
returns a prefix of s
with length j,
and string.sub(s, -i)
returns a suffix of s
with length i.
s
i
[j]
converts a string to upper-case
Receives a string and returns a copy of this string with all lowercase letters changed to uppercase. All other characters are left unchanged. The definition of what a lowercase letter is depends on the current locale.
s


Bank of Hawaii warns customers of phishing scam | Honolulu Star-Advertiser
Bank of Hawaii issued a warning today of fraudulent telephone calls being made to customers and nonbank customers. The scammers are spoofing the bank’s real Bank of Hawaii Call Center number (1-888-643-3888), which appears on recipients’ Caller ID.
The caller states that he/she is from the Bank of Hawaii Fraud Center, and asks for the recipient to verify certain personal information, such as their date of birth and Social Security number, and requests their debit card PIN.
Bank of Hawaii wants customers to know that the bank does not call, email or text message customers requesting personal ID information (name, Social Security numbers, PIN, account numbers and passwords) and that recipients should hang up.
The bank said if a Bankoh customer mistakenly provided personal information, he or she should immediately contact Bank of Hawaii at 1-888-643-3888 and press “0.” For more information on how to protect against identity theft and phishing, visit the Bank of Hawaii website at ww.boh.com/idtheft.


--- layout: post date: 2010-10-28 time: "10:00:00" authors: ["Greg Wilson"] title: How We've Helped tags: ["Assessment"] ---
We have started to collect testimonials from former students; if you have a story to share, please send it in.


Emotion Identification
😡 😔 😊 😖 😁 🧐
Take your selfie to generate emoji
Are you happy ?
Are you sad ?
Are you angry ?
Webcam View :--
Capture Image
Prediction1
Prediction2
SnapShot
Identify Emotion


Heading
Intro
Intro 2
Personal identity number
QR code
Enter personal identity number
Logga in
Cancel


Spawns groups of worker processes, sharing all network ports between them with automatic load distribution.
Additional Documentation Pages
Events
Static Properties
class
Worker
Member Properties
|
Object
<
Cluster.Worker
,
>
workers
Methods
disconnect
(
) {
fork
(
) {
setupMaster
(
) {


| 1 | package com.fasterxml.jackson.dataformat.yaml; | |
| 2 | ||
| 3 | import java.io.*; | |
| 4 | import java.lang.ref.SoftReference; | |
| 5 | ||
| 6 | /** | |
| 7 | * Optimized Reader that reads UTF-8 encoded content from an input stream. | |
| 8 | * In addition to doing (hopefully) optimal conversion, it can also take | |
| 9 | * array of "pre-read" (leftover) bytes; this is necessary when preliminary | |
| 10 | * stream/reader is trying to figure out underlying character encoding. | |
| 11 | */ | |
| 12 | public final class UTF8Reader | |
| 13 | extends Reader | |
| 14 | { | |
| 15 | private final static int DEFAULT_BUFFER_SIZE = 8000; | |
| 16 | | |
| 17 | /** | |
| 18 | * This ThreadLocal contains a {@link java.lang.ref.SoftReference} | |
| 19 | * to a byte array used for holding content to decode | |
| 20 | */ | |
| 21 | final protected static ThreadLocal<SoftReference<byte[][]>> _bufferRecycler | |
| 22 | = new ThreadLocal<SoftReference<byte[][]>>(); | |
| 23 | ||
| 24 | protected final byte[][] _bufferHolder; | |
| 25 | | |
| 26 | private InputStream _inputSource; | |
| 27 | ||
| 28 | private final boolean _autoClose; | |
| 29 | | |
| 30 | protected byte[] _inputBuffer; | |
| 31 | ||
| 32 | /** | |
| 33 | * Pointer to the next available byte (if any), iff less than | |
| 34 | * mByteBufferEnd | |
| 35 | */ | |
| 36 | protected int _inputPtr; | |
| 37 | ||
| 38 | /** | |
| 39 | * Pointed to the end marker, that is, position one after the last | |
| 40 | * valid available byte. | |
| 41 | */ | |
| 42 | protected int _inputEnd; | |
| 43 | ||
| 44 | /** | |
| 45 | * Decoded first character of a surrogate pair, if one needs to be buffered | |
| 46 | */ | |
| 47 | protected int _surrogate = -1; | |
| 48 | | |
| 49 | /** | |
| 50 | * Total read character count; used for error reporting purposes | |
| 51 | */ | |
| 52 | int _charCount = 0; | |
| 53 | ||
| 54 | /** | |
| 55 | * Total read byte count; used for error reporting purposes | |
| 56 | */ | |
| 57 | int _byteCount = 0; | |
| 58 | ||
| 59 | /* | |
| 60 | /********************************************************************** | |
| 61 | /* Life-cycle | |
| 62 | /********************************************************************** | |
| 63 | */ | |
| 64 | | |
| 65 | public UTF8Reader(InputStream in, boolean autoClose) | |
| 66 | { | |
| 67 |
1
1. |
super((in == null) ? new Object() : in); |
| 68 | _inputSource = in; | |
| 69 | _bufferHolder = _findBufferHolder(); | |
| 70 | byte[] buffer = _bufferHolder[0]; | |
| 71 |
1
1. |
if (buffer == null) { |
| 72 | buffer = new byte[DEFAULT_BUFFER_SIZE]; | |
| 73 | } else { | |
| 74 | _bufferHolder[0] = null; | |
| 75 | } | |
| 76 | _inputBuffer = buffer; | |
| 77 | _inputPtr = 0; | |
| 78 | _inputEnd = 0; | |
| 79 | _autoClose = autoClose; | |
| 80 | } | |
| 81 | ||
| 82 | public UTF8Reader(byte[] buf, int ptr, int len, boolean autoClose) | |
| 83 | { | |
| 84 | super(new Object()); | |
| 85 | _inputSource = null; | |
| 86 | _inputBuffer = buf; | |
| 87 | _inputPtr = ptr; | |
| 88 |
1
1. |
_inputEnd = ptr+len; |
| 89 | _autoClose = autoClose; | |
| 90 | _bufferHolder = null; | |
| 91 | } | |
| 92 | ||
| 93 | private static byte[][] _findBufferHolder() | |
| 94 | { | |
| 95 | byte[][] bufs = null; | |
| 96 | SoftReference<byte[][]> ref = _bufferRecycler.get(); | |
| 97 |
1
1. _findBufferHolder : negated conditional → NO_COVERAGE |
if (ref != null) { |
| 98 | bufs = ref.get(); | |
| 99 | } | |
| 100 |
1
1. _findBufferHolder : negated conditional → NO_COVERAGE |
if (bufs == null) { |
| 101 | bufs = new byte[1][]; | |
| 102 |
1
1. _findBufferHolder : removed call to java/lang/ThreadLocal::set → NO_COVERAGE |
_bufferRecycler.set(new SoftReference<byte[][]>(bufs)); |
| 103 | } | |
| 104 |
1
1. _findBufferHolder : mutated return of Object value for com/fasterxml/jackson/dataformat/yaml/UTF8Reader::_findBufferHolder to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return bufs; |
| 105 | } | |
| 106 | ||
| 107 | /* | |
| 108 | /********************************************************************** | |
| 109 | /* Reader API | |
| 110 | /********************************************************************** | |
| 111 | */ | |
| 112 | ||
| 113 | @Override | |
| 114 | public void close() throws IOException | |
| 115 | { | |
| 116 | InputStream in = _inputSource; | |
| 117 | ||
| 118 |
1
1. close : negated conditional → NO_COVERAGE |
if (in != null) { |
| 119 | _inputSource = null; | |
| 120 |
1
1. close : negated conditional → NO_COVERAGE |
if (_autoClose) { |
| 121 |
1
1. close : removed call to java/io/InputStream::close → NO_COVERAGE |
in.close(); |
| 122 | } | |
| 123 | } | |
| 124 |
1
1. close : removed call to com/fasterxml/jackson/dataformat/yaml/UTF8Reader::freeBuffers → NO_COVERAGE |
freeBuffers(); |
| 125 | } | |
| 126 | ||
| 127 | private char[] _tmpBuffer = null; | |
| 128 | ||
| 129 | /** | |
| 130 | * Although this method is implemented by the base class, AND it should | |
| 131 | * never be called by Woodstox code, let's still implement it bit more | |
| 132 | * efficiently just in case | |
| 133 | */ | |
| 134 | @Override | |
| 135 | public int read() throws IOException | |
| 136 | { | |
| 137 |
1
1. read : negated conditional → NO_COVERAGE |
if (_tmpBuffer == null) { |
| 138 | _tmpBuffer = new char[1]; | |
| 139 | } | |
| 140 |
2
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if (read(_tmpBuffer, 0, 1) < 1) { |
| 141 |
1
1. read : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return -1; |
| 142 | } | |
| 143 |
1
1. read : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return _tmpBuffer[0]; |
| 144 | } | |
| 145 | ||
| 146 | @Override | |
| 147 | public int read(char[] cbuf) throws IOException { | |
| 148 |
1
1. read : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return read(cbuf, 0, cbuf.length); |
| 149 | } | |
| 150 | | |
| 151 | @Override | |
| 152 | public int read(char[] cbuf, int start, int len) throws IOException | |
| 153 | { | |
| 154 | // Already EOF? | |
| 155 |
1
1. read : negated conditional → NO_COVERAGE |
if (_inputBuffer == null) { |
| 156 |
1
1. read : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return -1; |
| 157 | } | |
| 158 |
1
1. read : Replaced integer addition with subtraction → NO_COVERAGE |
len += start; |
| 159 | int outPtr = start; | |
| 160 | ||
| 161 | // Ok, first; do we have a surrogate from last round? | |
| 162 |
2
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if (_surrogate >= 0) { |
| 163 |
1
1. read : Changed increment from 1 to -1 → NO_COVERAGE |
cbuf[outPtr++] = (char) _surrogate; |
| 164 | _surrogate = -1; | |
| 165 | // No need to load more, already got one char | |
| 166 | } else { | |
| 167 | /* To prevent unnecessary blocking (esp. with network streams), | |
| 168 | * we'll only require decoding of a single char | |
| 169 | */ | |
| 170 |
1
1. read : Replaced integer subtraction with addition → NO_COVERAGE |
int left = (_inputEnd - _inputPtr); |
| 171 | ||
| 172 | /* So; only need to load more if we can't provide at least | |
| 173 | * one more character. We need not do thorough check here, | |
| 174 | * but let's check the common cases here: either completely | |
| 175 | * empty buffer (left == 0), or one with less than max. byte | |
| 176 | * count for a single char, and starting of a multi-byte | |
| 177 | * encoding (this leaves possibility of a 2/3-byte char | |
| 178 | * that is still fully accessible... but that can be checked | |
| 179 | * by the load method) | |
| 180 | */ | |
| 181 | ||
| 182 |
2
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if (left < 4) { |
| 183 | // Need to load more? | |
| 184 |
4
1. read : changed conditional boundary → NO_COVERAGE 2. read : changed conditional boundary → NO_COVERAGE 3. read : negated conditional → NO_COVERAGE 4. read : negated conditional → NO_COVERAGE |
if (left < 1 || _inputBuffer[_inputPtr] < 0) { |
| 185 |
1
1. read : negated conditional → NO_COVERAGE |
if (!loadMore(left)) { // (legal) EOF? |
| 186 |
1
1. read : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return -1; |
| 187 | } | |
| 188 | } | |
| 189 | } | |
| 190 | } | |
| 191 | final byte[] buf = _inputBuffer; | |
| 192 | int inPtr = _inputPtr; | |
| 193 | final int inBufLen = _inputEnd; | |
| 194 | ||
| 195 | main_loop: | |
| 196 |
2
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
while (outPtr < len) { |
| 197 | // At this point we have at least one byte available | |
| 198 |
1
1. read : Changed increment from 1 to -1 → NO_COVERAGE |
int c = (int) buf[inPtr++]; |
| 199 | ||
| 200 | // Let's first do the quickie loop for common case; 7-bit ASCII | |
| 201 |
2
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if (c >= 0) { // ASCII? can probably loop, then |
| 202 |
1
1. read : Changed increment from 1 to -1 → NO_COVERAGE |
cbuf[outPtr++] = (char) c; // ok since MSB is never on |
| 203 | ||
| 204 | // Ok, how many such chars could we safely process without overruns? | |
| 205 | // (will combine 2 in-loop comparisons into just one) | |
| 206 |
1
1. read : Replaced integer subtraction with addition → NO_COVERAGE |
int outMax = (len - outPtr); // max output |
| 207 |
1
1. read : Replaced integer subtraction with addition → NO_COVERAGE |
int inMax = (inBufLen - inPtr); // max input |
| 208 |
3
1. read : changed conditional boundary → NO_COVERAGE 2. read : Replaced integer addition with subtraction → NO_COVERAGE 3. read : negated conditional → NO_COVERAGE |
int inEnd = inPtr + ((inMax < outMax) ? inMax : outMax); |
| 209 | ||
| 210 | ascii_loop: | |
| 211 | while (true) { | |
| 212 |
2
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if (inPtr >= inEnd) { |
| 213 | break main_loop; | |
| 214 | } | |
| 215 |
1
1. read : Changed increment from 1 to -1 → NO_COVERAGE |
c = buf[inPtr++]; |
| 216 |
2
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if (c < 0) { // or multi-byte |
| 217 | break ascii_loop; | |
| 218 | } | |
| 219 |
1
1. read : Changed increment from 1 to -1 → NO_COVERAGE |
cbuf[outPtr++] = (char) c; |
| 220 | } | |
| 221 | } | |
| 222 | ||
| 223 | int needed; | |
| 224 | ||
| 225 | // Ok; if we end here, we got multi-byte combination | |
| 226 |
2
1. read : Replaced bitwise AND with OR → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if ((c & 0xE0) == 0xC0) { // 2 bytes (0x0080 - 0x07FF) |
| 227 |
1
1. read : Replaced bitwise AND with OR → NO_COVERAGE |
c = (c & 0x1F); |
| 228 | needed = 1; | |
| 229 |
2
1. read : Replaced bitwise AND with OR → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
} else if ((c & 0xF0) == 0xE0) { // 3 bytes (0x0800 - 0xFFFF) |
| 230 |
1
1. read : Replaced bitwise AND with OR → NO_COVERAGE |
c = (c & 0x0F); |
| 231 | needed = 2; | |
| 232 |
2
1. read : Replaced bitwise AND with OR → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
} else if ((c & 0xF8) == 0xF0) { |
| 233 | // 4 bytes; double-char BS, with surrogates and all... | |
| 234 |
1
1. read : Replaced bitwise AND with OR → NO_COVERAGE |
c = (c & 0x0F); |
| 235 | needed = 3; | |
| 236 | } else { | |
| 237 |
3
1. read : Replaced bitwise AND with OR → NO_COVERAGE 2. read : Replaced integer subtraction with addition → NO_COVERAGE 3. read : removed call to com/fasterxml/jackson/dataformat/yaml/UTF8Reader::reportInvalidInitial → NO_COVERAGE |
reportInvalidInitial(c & 0xFF, outPtr-start); |
| 238 | // never gets here... | |
| 239 | needed = 1; | |
| 240 | } | |
| 241 | /* Do we have enough bytes? If not, let's just push back the | |
| 242 | * byte and leave, since we have already gotten at least one | |
| 243 | * char decoded. This way we will only block (with read from | |
| 244 | * input stream) when absolutely necessary. | |
| 245 | */ | |
| 246 |
3
1. read : changed conditional boundary → NO_COVERAGE 2. read : Replaced integer subtraction with addition → NO_COVERAGE 3. read : negated conditional → NO_COVERAGE |
if ((inBufLen - inPtr) < needed) { |
| 247 |
1
1. read : Changed increment from -1 to 1 → NO_COVERAGE |
--inPtr; |
| 248 | break main_loop; | |
| 249 | } | |
| 250 | ||
| 251 |
1
1. read : Changed increment from 1 to -1 → NO_COVERAGE |
int d = (int) buf[inPtr++]; |
| 252 |
2
1. read : Replaced bitwise AND with OR → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if ((d & 0xC0) != 0x080) { |
| 253 |
3
1. read : Replaced bitwise AND with OR → NO_COVERAGE 2. read : Replaced integer subtraction with addition → NO_COVERAGE 3. read : removed call to com/fasterxml/jackson/dataformat/yaml/UTF8Reader::reportInvalidOther → NO_COVERAGE |
reportInvalidOther(d & 0xFF, outPtr-start); |
| 254 | } | |
| 255 |
3
1. read : Replaced Shift Left with Shift Right → NO_COVERAGE 2. read : Replaced bitwise AND with OR → NO_COVERAGE 3. read : Replaced bitwise OR with AND → NO_COVERAGE |
c = (c << 6) | (d & 0x3F); |
| 256 | ||
| 257 |
2
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if (needed > 1) { // needed == 1 means 2 bytes total |
| 258 |
1
1. read : Changed increment from 1 to -1 → NO_COVERAGE |
d = buf[inPtr++]; // 3rd byte |
| 259 |
2
1. read : Replaced bitwise AND with OR → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if ((d & 0xC0) != 0x080) { |
| 260 |
3
1. read : Replaced bitwise AND with OR → NO_COVERAGE 2. read : Replaced integer subtraction with addition → NO_COVERAGE 3. read : removed call to com/fasterxml/jackson/dataformat/yaml/UTF8Reader::reportInvalidOther → NO_COVERAGE |
reportInvalidOther(d & 0xFF, outPtr-start); |
| 261 | } | |
| 262 |
3
1. read : Replaced Shift Left with Shift Right → NO_COVERAGE 2. read : Replaced bitwise AND with OR → NO_COVERAGE 3. read : Replaced bitwise OR with AND → NO_COVERAGE |
c = (c << 6) | (d & 0x3F); |
| 263 |
2
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if (needed > 2) { // 4 bytes? (need surrogates) |
| 264 |
1
1. read : Changed increment from 1 to -1 → NO_COVERAGE |
d = buf[inPtr++]; |
| 265 |
2
1. read : Replaced bitwise AND with OR → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if ((d & 0xC0) != 0x080) { |
| 266 |
3
1. read : Replaced bitwise AND with OR → NO_COVERAGE 2. read : Replaced integer subtraction with addition → NO_COVERAGE 3. read : removed call to com/fasterxml/jackson/dataformat/yaml/UTF8Reader::reportInvalidOther → NO_COVERAGE |
reportInvalidOther(d & 0xFF, outPtr-start); |
| 267 | } | |
| 268 |
3
1. read : Replaced Shift Left with Shift Right → NO_COVERAGE 2. read : Replaced bitwise AND with OR → NO_COVERAGE 3. read : Replaced bitwise OR with AND → NO_COVERAGE |
c = (c << 6) | (d & 0x3F); |
| 269 | /* Ugh. Need to mess with surrogates. Ok; let's inline them | |
| 270 | * there, then, if there's room: if only room for one, | |
| 271 | * need to save the surrogate for the rainy day... | |
| 272 | */ | |
| 273 |
1
1. read : Replaced integer subtraction with addition → NO_COVERAGE |
c -= 0x10000; // to normalize it starting with 0x0 |
| 274 |
3
1. read : Changed increment from 1 to -1 → NO_COVERAGE 2. read : Replaced Shift Right with Shift Left → NO_COVERAGE 3. read : Replaced integer addition with subtraction → NO_COVERAGE |
cbuf[outPtr++] = (char) (0xD800 + (c >> 10)); |
| 275 | // hmmh. can this ever be 0? (not legal, at least?) | |
| 276 |
2
1. read : Replaced bitwise AND with OR → NO_COVERAGE 2. read : Replaced bitwise OR with AND → NO_COVERAGE |
c = (0xDC00 | (c & 0x03FF)); |
| 277 | ||
| 278 | // Room for second part? | |
| 279 |
2
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if (outPtr >= len) { // nope |
| 280 | _surrogate = c; | |
| 281 | break main_loop; | |
| 282 | } | |
| 283 | // sure, let's fall back to normal processing: | |
| 284 | } | |
| 285 | // Otherwise, should we check that 3-byte chars are | |
| 286 | // legal ones (should not expand to surrogates? | |
| 287 | // For now, let's not... | |
| 288 | /* | |
| 289 | else { | |
| 290 | if (c >= 0xD800 && c < 0xE000) { | |
| 291 | reportInvalid(c, outPtr-start, "(a surrogate character) "); | |
| 292 | } | |
| 293 | } | |
| 294 | */ | |
| 295 | } | |
| 296 |
1
1. read : Changed increment from 1 to -1 → NO_COVERAGE |
cbuf[outPtr++] = (char) c; |
| 297 |
2
1. read : changed conditional boundary → NO_COVERAGE 2. read : negated conditional → NO_COVERAGE |
if (inPtr >= inBufLen) { |
| 298 | break main_loop; | |
| 299 | } | |
| 300 | } | |
| 301 | ||
| 302 | _inputPtr = inPtr; | |
| 303 |
1
1. read : Replaced integer subtraction with addition → NO_COVERAGE |
len = outPtr - start; |
| 304 |
1
1. read : Replaced integer addition with subtraction → NO_COVERAGE |
_charCount += len; |
| 305 |
1
1. read : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return len; |
| 306 | } | |
| 307 | | |
| 308 | /* | |
| 309 | /********************************************************************** | |
| 310 | /* Internal/package methods: | |
| 311 | /********************************************************************** | |
| 312 | */ | |
| 313 | ||
| 314 |
1
1. getStream : mutated return of Object value for com/fasterxml/jackson/dataformat/yaml/UTF8Reader::getStream to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
protected final InputStream getStream() { return _inputSource; } |
| 315 | ||
| 316 | /** | |
| 317 | * Method for reading as many bytes from the underlying stream as possible | |
| 318 | * (that fit in the buffer), to the beginning of the buffer. | |
| 319 | * | |
| 320 | * @return Number of bytes read, if any; -1 for end-of-input. | |
| 321 | */ | |
| 322 | protected final int readBytes() throws IOException | |
| 323 | { | |
| 324 | _inputPtr = 0; | |
| 325 | _inputEnd = 0; | |
| 326 |
1
1. readBytes : negated conditional → NO_COVERAGE |
if (_inputSource != null) { |
| 327 | int count = _inputSource.read(_inputBuffer, 0, _inputBuffer.length); | |
| 328 |
2
1. readBytes : changed conditional boundary → NO_COVERAGE 2. readBytes : negated conditional → NO_COVERAGE |
if (count > 0) { |
| 329 | _inputEnd = count; | |
| 330 | } | |
| 331 |
1
1. readBytes : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return count; |
| 332 | } | |
| 333 |
1
1. readBytes : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return -1; |
| 334 | } | |
| 335 | ||
| 336 | /** | |
| 337 | * Method for reading as many bytes from the underlying stream as possible | |
| 338 | * (that fit in the buffer considering offset), to the specified offset. | |
| 339 | * | |
| 340 | * @return Number of bytes read, if any; -1 to indicate none available | |
| 341 | * (that is, end of input) | |
| 342 | */ | |
| 343 | protected final int readBytesAt(int offset) throws IOException | |
| 344 | { | |
| 345 | // shouldn't modify mBytePtr, assumed to be 'offset' | |
| 346 |
1
1. readBytesAt : negated conditional → NO_COVERAGE |
if (_inputSource != null) { |
| 347 |
1
1. readBytesAt : Replaced integer subtraction with addition → NO_COVERAGE |
int count = _inputSource.read(_inputBuffer, offset, _inputBuffer.length - offset); |
| 348 |
2
1. readBytesAt : changed conditional boundary → NO_COVERAGE 2. readBytesAt : negated conditional → NO_COVERAGE |
if (count > 0) { |
| 349 |
1
1. readBytesAt : Replaced integer addition with subtraction → NO_COVERAGE |
_inputEnd += count; |
| 350 | } | |
| 351 |
1
1. readBytesAt : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return count; |
| 352 | } | |
| 353 |
1
1. readBytesAt : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return -1; |
| 354 | } | |
| 355 | ||
| 356 | /** | |
| 357 | * This method should be called along with (or instead of) normal | |
| 358 | * close. After calling this method, no further reads should be tried. | |
| 359 | * Method will try to recycle read buffers (if any). | |
| 360 | */ | |
| 361 | public final void freeBuffers() | |
| 362 | { | |
| 363 |
1
1. freeBuffers : negated conditional → NO_COVERAGE |
if (_bufferHolder != null) { |
| 364 | byte[] buf = _inputBuffer; | |
| 365 |
1
1. freeBuffers : negated conditional → NO_COVERAGE |
if (buf != null) { |
| 366 | _inputBuffer = null; | |
| 367 | _bufferHolder[0] = buf; | |
| 368 | } | |
| 369 | } | |
| 370 | } | |
| 371 | ||
| 372 | /* | |
| 373 | /********************************************************************** | |
| 374 | /* Internal methods | |
| 375 | /********************************************************************** | |
| 376 | */ | |
| 377 | ||
| 378 | private void reportInvalidInitial(int mask, int offset) throws IOException | |
| 379 | { | |
| 380 | // input (byte) ptr has been advanced by one, by now: | |
| 381 |
2
1. reportInvalidInitial : Replaced integer addition with subtraction → NO_COVERAGE 2. reportInvalidInitial : Replaced integer subtraction with addition → NO_COVERAGE |
int bytePos = _byteCount + _inputPtr - 1; |
| 382 |
2
1. reportInvalidInitial : Replaced integer addition with subtraction → NO_COVERAGE 2. reportInvalidInitial : Replaced integer addition with subtraction → NO_COVERAGE |
int charPos = _charCount + offset + 1; |
| 383 | ||
| 384 | throw new CharConversionException("Invalid UTF-8 start byte 0x"+Integer.toHexString(mask) | |
| 385 | +" (at char #"+charPos+", byte #"+bytePos+")"); | |
| 386 | } | |
| 387 | ||
| 388 | private void reportInvalidOther(int mask, int offset) | |
| 389 | throws IOException | |
| 390 | { | |
| 391 |
2
1. reportInvalidOther : Replaced integer addition with subtraction → NO_COVERAGE 2. reportInvalidOther : Replaced integer subtraction with addition → NO_COVERAGE |
int bytePos = _byteCount + _inputPtr - 1; |
| 392 |
1
1. reportInvalidOther : Replaced integer addition with subtraction → NO_COVERAGE |
int charPos = _charCount + offset; |
| 393 | ||
| 394 | throw new CharConversionException("Invalid UTF-8 middle byte 0x"+Integer.toHexString(mask) | |
| 395 | +" (at char #"+charPos+", byte #"+bytePos+")"); | |
| 396 | } | |
| 397 | ||
| 398 | private void reportUnexpectedEOF(int gotBytes, int needed) | |
| 399 | throws IOException | |
| 400 | { | |
| 401 |
1
1. reportUnexpectedEOF : Replaced integer addition with subtraction → NO_COVERAGE |
int bytePos = _byteCount + gotBytes; |
| 402 | int charPos = _charCount; | |
| 403 | ||
| 404 | throw new CharConversionException("Unexpected EOF in the middle of a multi-byte char: got " | |
| 405 | +gotBytes+", needed "+needed +", at char #"+charPos+", byte #"+bytePos+")"); | |
| 406 | } | |
| 407 | ||
| 408 | /* | |
| 409 | private void reportInvalid(int value, int offset, String msg) throws IOException | |
| 410 | { | |
| 411 | int bytePos = _byteCount + _inputPtr - 1; | |
| 412 | int charPos = _charCount + offset; | |
| 413 | ||
| 414 | throw new CharConversionException("Invalid UTF-8 character 0x"+Integer.toHexString(value)+msg | |
| 415 | +" at char #"+charPos+", byte #"+bytePos+")"); | |
| 416 | } | |
| 417 | */ | |
| 418 | ||
| 419 | /** | |
| 420 | * @param available Number of "unused" bytes in the input buffer | |
| 421 | * | |
| 422 | * @return True, if enough bytes were read to allow decoding of at least | |
| 423 | * one full character; false if EOF was encountered instead. | |
| 424 | */ | |
| 425 | private boolean loadMore(int available) throws IOException | |
| 426 | { | |
| 427 |
2
1. loadMore : Replaced integer subtraction with addition → NO_COVERAGE 2. loadMore : Replaced integer addition with subtraction → NO_COVERAGE |
_byteCount += (_inputEnd - available); |
| 428 | ||
| 429 | // Bytes that need to be moved to the beginning of buffer? | |
| 430 |
2
1. loadMore : changed conditional boundary → NO_COVERAGE 2. loadMore : negated conditional → NO_COVERAGE |
if (available > 0) { |
| 431 |
2
1. loadMore : changed conditional boundary → NO_COVERAGE 2. loadMore : negated conditional → NO_COVERAGE |
if (_inputPtr > 0) { |
| 432 | // sanity check: can only move if we "own" buffers | |
| 433 |
1
1. loadMore : negated conditional → NO_COVERAGE |
if (_bufferHolder == null) { |
| 434 | throw new IllegalStateException("Internal error: need to move partially decoded character; buffer not modifiable"); | |
| 435 | } | |
| 436 | ||
| 437 |
3
1. loadMore : changed conditional boundary → NO_COVERAGE 2. loadMore : Changed increment from 1 to -1 → NO_COVERAGE 3. loadMore : negated conditional → NO_COVERAGE |
for (int i = 0; i < available; ++i) { |
| 438 |
1
1. loadMore : Replaced integer addition with subtraction → NO_COVERAGE |
_inputBuffer[i] = _inputBuffer[_inputPtr+i]; |
| 439 | } | |
| 440 | _inputPtr = 0; | |
| 441 | _inputEnd = available; | |
| 442 | } | |
| 443 | } else { | |
| 444 | /* Ok; here we can actually reasonably expect an EOF, | |
| 445 | * so let's do a separate read right away: | |
| 446 | */ | |
| 447 | int count = readBytes(); | |
| 448 |
2
1. loadMore : changed conditional boundary → NO_COVERAGE 2. loadMore : negated conditional → NO_COVERAGE |
if (count < 1) { |
| 449 |
1
1. loadMore : removed call to com/fasterxml/jackson/dataformat/yaml/UTF8Reader::freeBuffers → NO_COVERAGE |
freeBuffers(); // to help GC? |
| 450 |
2
1. loadMore : changed conditional boundary → NO_COVERAGE 2. loadMore : negated conditional → NO_COVERAGE |
if (count < 0) { // -1 |
| 451 |
1
1. loadMore : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return false; |
| 452 | } | |
| 453 | // 0 count is no good; let's err out | |
| 454 |
1
1. loadMore : removed call to com/fasterxml/jackson/dataformat/yaml/UTF8Reader::reportStrangeStream → NO_COVERAGE |
reportStrangeStream(); |
| 455 | } | |
| 456 | } | |
| 457 | ||
| 458 | /* We now have at least one byte... and that allows us to | |
| 459 | * calculate exactly how many bytes we need! | |
| 460 | */ | |
| 461 | @SuppressWarnings("cast") | |
| 462 | int c = (int) _inputBuffer[_inputPtr]; | |
| 463 |
2
1. loadMore : changed conditional boundary → NO_COVERAGE 2. loadMore : negated conditional → NO_COVERAGE |
if (c >= 0) { // single byte (ascii) char... cool, can return |
| 464 |
1
1. loadMore : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
| 465 | } | |
| 466 | ||
| 467 | // Ok, a multi-byte char, let's check how many bytes we'll need: | |
| 468 | int needed; | |
| 469 |
2
1. loadMore : Replaced bitwise AND with OR → NO_COVERAGE 2. loadMore : negated conditional → NO_COVERAGE |
if ((c & 0xE0) == 0xC0) { // 2 bytes (0x0080 - 0x07FF) |
| 470 | needed = 2; | |
| 471 |
2
1. loadMore : Replaced bitwise AND with OR → NO_COVERAGE 2. loadMore : negated conditional → NO_COVERAGE |
} else if ((c & 0xF0) == 0xE0) { // 3 bytes (0x0800 - 0xFFFF) |
| 472 | needed = 3; | |
| 473 |
2
1. loadMore : Replaced bitwise AND with OR → NO_COVERAGE 2. loadMore : negated conditional → NO_COVERAGE |
} else if ((c & 0xF8) == 0xF0) { |
| 474 | // 4 bytes; double-char BS, with surrogates and all... | |
| 475 | needed = 4; | |
| 476 | } else { | |
| 477 |
2
1. loadMore : Replaced bitwise AND with OR → NO_COVERAGE 2. loadMore : removed call to com/fasterxml/jackson/dataformat/yaml/UTF8Reader::reportInvalidInitial → NO_COVERAGE |
reportInvalidInitial(c & 0xFF, 0); |
| 478 | // never gets here... but compiler whines without this: | |
| 479 | needed = 1; | |
| 480 | } | |
| 481 | ||
| 482 | /* And then we'll just need to load up to that many bytes; | |
| 483 | * if an EOF is hit, that'll be an error. But we need not do | |
| 484 | * actual decoding here, just load enough bytes. | |
| 485 | */ | |
| 486 |
3
1. loadMore : changed conditional boundary → NO_COVERAGE 2. loadMore : Replaced integer addition with subtraction → NO_COVERAGE 3. loadMore : negated conditional → NO_COVERAGE |
while ((_inputPtr + needed) > _inputEnd) { |
| 487 | int count = readBytesAt(_inputEnd); | |
| 488 |
2
1. loadMore : changed conditional boundary → NO_COVERAGE 2. loadMore : negated conditional → NO_COVERAGE |
if (count < 1) { |
| 489 |
2
1. loadMore : changed conditional boundary → NO_COVERAGE 2. loadMore : negated conditional → NO_COVERAGE |
if (count < 0) { // -1, EOF... no good! |
| 490 |
1
1. loadMore : removed call to com/fasterxml/jackson/dataformat/yaml/UTF8Reader::freeBuffers → NO_COVERAGE |
freeBuffers(); |
| 491 |
1
1. loadMore : removed call to com/fasterxml/jackson/dataformat/yaml/UTF8Reader::reportUnexpectedEOF → NO_COVERAGE |
reportUnexpectedEOF(_inputEnd, needed); |
| 492 | } | |
| 493 | // 0 count is no good; let's err out | |
| 494 |
1
1. loadMore : removed call to com/fasterxml/jackson/dataformat/yaml/UTF8Reader::reportStrangeStream → NO_COVERAGE |
reportStrangeStream(); |
| 495 | } | |
| 496 | } | |
| 497 |
1
1. loadMore : replaced return of integer sized value with (x == 0 ? 1 : 0) → NO_COVERAGE |
return true; |
| 498 | } | |
| 499 | ||
| 500 | protected void reportBounds(char[] cbuf, int start, int len) throws IOException { | |
| 501 | throw new ArrayIndexOutOfBoundsException("read(buf,"+start+","+len+"), cbuf["+cbuf.length+"]"); | |
| 502 | } | |
| 503 | ||
| 504 | protected void reportStrangeStream() throws IOException { | |
| 505 | throw new IOException("Strange I/O stream, returned 0 bytes on read"); | |
| 506 | } | |
| 507 | } | |
| 508 | ||
Mutations | ||
| 67 |
1.1 |
|
| 71 |
1.1 |
|
| 88 |
1.1 |
|
| 97 |
1.1 |
|
| 100 |
1.1 |
|
| 102 |
1.1 |
|
| 104 |
1.1 |
|
| 118 |
1.1 |
|
| 120 |
1.1 |
|
| 121 |
1.1 |
|
| 124 |
1.1 |
|
| 137 |
1.1 |
|
| 140 |
1.1 2.2 |
|
| 141 |
1.1 |
|
| 143 |
1.1 |
|
| 148 |
1.1 |
|
| 155 |
1.1 |
|
| 156 |
1.1 |
|
| 158 |
1.1 |
|
| 162 |
1.1 2.2 |
|
| 163 |
1.1 |
|
| 170 |
1.1 |
|
| 182 |
1.1 2.2 |
|
| 184 |
1.1 2.2 3.3 4.4 |
|
| 185 |
1.1 |
|
| 186 |
1.1 |
|
| 196 |
1.1 2.2 |
|
| 198 |
1.1 |
|
| 201 |
1.1 2.2 |
|
| 202 |
1.1 |
|
| 206 |
1.1 |
|
| 207 |
1.1 |
|
| 208 |
1.1 2.2 3.3 |
|
| 212 |
1.1 2.2 |
|
| 215 |
1.1 |
|
| 216 |
1.1 2.2 |
|
| 219 |
1.1 |
|
| 226 |
1.1 2.2 |
|
| 227 |
1.1 |
|
| 229 |
1.1 2.2 |
|
| 230 |
1.1 |
|
| 232 |
1.1 2.2 |
|
| 234 |
1.1 |
|
| 237 |
1.1 2.2 3.3 |
|
| 246 |
1.1 2.2 3.3 |
|
| 247 |
1.1 |
|
| 251 |
1.1 |
|
| 252 |
1.1 2.2 |
|
| 253 |
1.1 2.2 3.3 |
|
| 255 |
1.1 2.2 3.3 |
|
| 257 |
1.1 2.2 |
|
| 258 |
1.1 |
|
| 259 |
1.1 2.2 |
|
| 260 |
1.1 2.2 3.3 |
|
| 262 |
1.1 2.2 3.3 |
|
| 263 |
1.1 2.2 |
|
| 264 |
1.1 |
|
| 265 |
1.1 2.2 |
|
| 266 |
1.1 2.2 3.3 |
|
| 268 |
1.1 2.2 3.3 |
|
| 273 |
1.1 |
|
| 274 |
1.1 2.2 3.3 |
|
| 276 |
1.1 2.2 |
|
| 279 |
1.1 2.2 |
|
| 296 |
1.1 |
|
| 297 |
1.1 2.2 |
|
| 303 |
1.1 |
|
| 304 |
1.1 |
|
| 305 |
1.1 |
|
| 314 |
1.1 |
|
| 326 |
1.1 |
|
| 328 |
1.1 2.2 |
|
| 331 |
1.1 |
|
| 333 |
1.1 |
|
| 346 |
1.1 |
|
| 347 |
1.1 |
|
| 348 |
1.1 2.2 |
|
| 349 |
1.1 |
|
| 351 |
1.1 |
|
| 353 |
1.1 |
|
| 363 |
1.1 |
|
| 365 |
1.1 |
|
| 381 |
1.1 2.2 |
|
| 382 |
1.1 2.2 |
|
| 391 |
1.1 2.2 |
|
| 392 |
1.1 |
|
| 401 |
1.1 |
|
| 427 |
1.1 2.2 |
|
| 430 |
1.1 2.2 |
|
| 431 |
1.1 2.2 |
|
| 433 |
1.1 |
|
| 437 |
1.1 2.2 3.3 |
|
| 438 |
1.1 |
|
| 448 |
1.1 2.2 |
|
| 449 |
1.1 |
|
| 450 |
1.1 2.2 |
|
| 451 |
1.1 |
|
| 454 |
1.1 |
|
| 463 |
1.1 2.2 |
|
| 464 |
1.1 |
|
| 469 |
1.1 2.2 |
|
| 471 |
1.1 2.2 |
|
| 473 |
1.1 2.2 |
|
| 477 |
1.1 2.2 |
|
| 486 |
1.1 2.2 3.3 |
|
| 488 |
1.1 2.2 |
|
| 489 |
1.1 2.2 |
|
| 490 |
1.1 |
|
| 491 |
1.1 |
|
| 494 |
1.1 |
|
| 497 |
1.1 |


JaCoCo - Java Code Coverage Library
JaCoCo is a free Java code coverage library distributed under the Eclipse Public License. Check http://www.eclemma.org/jacoco for updates and feedback.
This is the distribution of version <IP_ADDRESS>10519202509 created on 2011/05/19.
Implementation Status
This release of JaCoCo is a fully functional prototype to verify the concepts and implementation strategies. It already produces neat coverage reports and has been successfully tested with comprehensive JUnit test suites as well as huge Eclipse RCP applications and J2EE projects. JaCoCo is integrated with several tools.
Due to the prototype status future versions will come with additional or modified features and may show different behavior in various situations. The Java API is certainly not frozen yet.
Contents
- Documentation
- JUnit Test Results
- Performance Test Results
- Code Coverage Report (CSV, XML)
- Change History
- License
The JaCoCo distribution contains the following libraries in the
./lib
folder:
| File | OSGi Bundle | Description | Dependencies |
| jacocoagent.jar | no | Java agent for execution data recording | - (all dependencies included) |
| jacocoant.jar | no | JaCoCo Ant tasks | Ant (all other dependencies included) |
| org.jacoco.agent_<IP_ADDRESS>10519202509.jar | yes | JaCoCo agent | - |
| org.jacoco.core_<IP_ADDRESS>10519202509.jar | yes | JaCoCo core | ASM |
| org.jacoco.report_<IP_ADDRESS>10519202509.jar | yes | JaCoCo reporting | org.jacoco.core, ASM |
| org.jacoco.ant_<IP_ADDRESS>10519202509.jar | yes | JaCoCo Ant tasks | org.jacoco.core, org.jacoco.agent, org.jacoco.report, ASM, Ant |
Java Versions and 3rd Party Dependencies
JaCoCo requires a Java runtime environment in version 1.5 or higher. Java class files under test can be of any Java version ranging from 1.0 to 1.7.
3rd party dependencies listed above refer to the following libraries:
| Library | Version Range | Vendor | License |
| ASM | [3.2.0, 4.0.0) | INRIA, France Telecom | BSD License |
| Ant | [1.7.0, 2.0.0) | Apache Software Foundation | Apache License, Version 2.0 |


CouchUITableSource Class Reference
| Inherits from | NSObject |
| Conforms to | UITableViewDataSource |
| Declared in | CouchUITableSource.h |
Tasks
-
tableView
property -
query
property -
– reloadFromQuery
Rebuilds the table from the query’s current .rows property.
-
rows
The current array of CouchQueryRows being used as the data source for the table.
property -
– rowAtIndex:
Convenience accessor to get the row object for a given table row index.
-
– indexPathForDocument:
Convenience accessor to find the index path of the row with a given document.
-
– documentAtIndexPath:
Convenience accessor to return the document at a given index path.
-
labelProperty
If non-nil, specifies the property name of the query row’s value that will be used for the table row’s visible label.
propertyIf the row's value is not a dictionary, or if the property doesn't exist, the property will next be looked up in the document's properties. If this doesn't meet your needs for labeling rows, you should implement -couchTableSource:willUseCell:forRow: in the table's delegate.
-
deletionAllowed
Is the user allowed to delete rows by UI gestures? (Defaults to YES.)
property -
– deleteDocumentsAtIndexes:
Asynchronously deletes the documents at the given row indexes, animating the removal from the table.
-
– deleteDocuments:
Asynchronously deletes the given documents, animating the removal from the table.
Properties
deletionAllowed
Is the user allowed to delete rows by UI gestures? (Defaults to YES.)
@property (nonatomic) BOOL deletionAllowed
Discussion
Is the user allowed to delete rows by UI gestures? (Defaults to YES.)
Declared In
CouchUITableSource.h
labelProperty
If non-nil, specifies the property name of the query row’s value that will be used for the table row’s visible label.
If the row's value is not a dictionary, or if the property doesn't exist, the property will next be looked up in the document's properties.
If this doesn't meet your needs for labeling rows, you should implement -couchTableSource:willUseCell:forRow: in the table's delegate.
@property (copy) NSString *labelProperty
Discussion
If non-nil, specifies the property name of the query row’s value that will be used for the table row’s visible label.
If the row's value is not a dictionary, or if the property doesn't exist, the property will next be looked up in the document's properties.
If this doesn't meet your needs for labeling rows, you should implement -couchTableSource:willUseCell:forRow: in the table's delegate.
Declared In
CouchUITableSource.h
Instance Methods
deleteDocuments:
Asynchronously deletes the given documents, animating the removal from the table.
- (void)deleteDocuments:(NSArray *)documents
Discussion
Asynchronously deletes the given documents, animating the removal from the table.
Declared In
CouchUITableSource.h
deleteDocumentsAtIndexes:
Asynchronously deletes the documents at the given row indexes, animating the removal from the table.
- (void)deleteDocumentsAtIndexes:(NSArray *)indexPaths
Discussion
Asynchronously deletes the documents at the given row indexes, animating the removal from the table.
Declared In
CouchUITableSource.h
documentAtIndexPath:
Convenience accessor to return the document at a given index path.
- (CouchDocument *)documentAtIndexPath:(NSIndexPath *)path
Discussion
Convenience accessor to return the document at a given index path.
Declared In
CouchUITableSource.h
indexPathForDocument:
Convenience accessor to find the index path of the row with a given document.
- (NSIndexPath *)indexPathForDocument:(CouchDocument *)document
Discussion
Convenience accessor to find the index path of the row with a given document.
Declared In
CouchUITableSource.h


Solidarity
an open source, public-use design langauge system for the struggle ahead
Developer First
Solidarity Design System is a "Developer First" effort, with a lot of variables for colors, fonts, sizes and other elements.
High quality before everything
We are following the latest code standards provided by the guys from Bootstrap, so you will love working with this design system.
Community helpers
Since all our products are built on top of Open Source, the Solidarity Design System is available to all committed to the struggle ahead
This Design System is fully coded and built on top of Open Source, more details here:
- Bootstrap 4 - Open source front end framework
- jQuery - Fast, small, and feature-rich JavaScript library
- noUISlider - JavaScript Range Slider
- Open Sans Font - Google’s Open Source typefaces
- Stripe Elements - Forms, Buttons and Elements
- Popper.js - Kickass library used to manage poppers
- WebGradients - A curated collection of splendid gradients made in CSS3
Solidarity is built to benefit members of the Democratic Socilaists of America (DSA).
The Democratic Socialists of America (DSA) is the largest socialist organization in the United States. DSA’s members are building progressive movements for social change while establishing an openly democratic socialist presence in American communities and politics.
At the root of our socialism is a profound commitment to democracy, as means and end. As we are unlikely to see an immediate end to capitalism tomorrow, DSA fights for reforms today that will weaken the power of corporations and increase the power of working people. For example, we support reforms that:
decrease the influence of money in politics
empower ordinary people in workplaces and the economy
restructure gender and cultural relationships to be more equitable.
We are activists committed to democracy as not simply one of our political values but our means of restructuring society. Our vision is of a society in which people have a real voice in the choices and relationships that affect the entirety of our lives. We call this vision democratic socialism — a vision of a more free, democratic and humane society.


Samuel Green
Available to Walk
That sounds great. I’d be happy to discuss more.
Could you send over some pictures of your dog, please?
Here are a few pictures. She’s a happy girl!
Can you make it?
She looks so happy! The time we discussed works. How long shall I take her out for?
30 minute walk
$291 hour walk
$49Simple booking
Stay in touch with our dog walkers through the chat interface. This makes it easy to discuss arrangements and make bookings. Once the walk has been completed you can rate your walker and book again all through the chat.


Hello, Code School!
HTML
CSS
jQuery
Git
How to Build and Deploy an Interactive Website
The Fundamentals of Design
The Elements of Web Design
Web Animations
Mobile Optimization
Golang
SQL


@* * Copyright 2019 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import uk.gov.hmrc.gform.sharedmodel.formtemplate.Group @import uk.gov.hmrc.gform.sharedmodel.formtemplate.Orientation @import uk.gov.hmrc.gform.sharedmodel.formtemplate.FormComponent @import uk.gov.hmrc.gform.models.GroupHelper @import uk.gov.hmrc.gform.sharedmodel.LangADT @(fieldValue: FormComponent, groupField: Group, snippets: List[Html], orientation: Orientation, instance: Int, disableRemoveButton: Boolean)(implicit messages: Messages, l: LangADT) @label = @{ if(groupField.repeatLabel.isDefined) GroupHelper.buildRepeatLabel(groupField, instance).value else "" }


| Left hip: | waiting... |
/
|
| Left twist: | waiting... |
/
|
| Left knee: | waiting... |
/
|
| Right hip: | waiting... |
/
|
| Right twist: | waiting... |
/
|
| Right knee: | waiting... |
/
|
| Left arm: | waiting... |
/
|
| Right arm: | waiting... | / |
| DO NOT MOVE EYES BY HAND Eyes: |
waiting... |
/
|
Chatter: waiting...
Marty's eyebrows should be flat when you click "Save Calibration". They will then default to a slightly wider position


1.Used to control the order of an execution and to contain a list of parameters. eg.
Execute a function var result = doSomething()
Brackets []
2. For an array of values: var names = [ 'Pauline', 'Jason', 'Christine'];
Braces {}
3. Braces or curly braces are the "{" and the "}" signs, they are required when building your own functions and "if" statements. Every opening brace, must have a closing brace so it is executed together.
For example: if (age> 31) {
console.log("You are old");
}
Single Quotes ''
4. Is the same as "Double Quotes", it is used to contain the same string:
For example: var name = 'Pauline';
Double quotes ""
5. Is the same as 'Single Quotes', and is used to contain a string which is text inside quotes.


Trump kicks off centennial NYC Veterans Day Parade
by XinhuaNew York: U.S. President Donald Trump paid tribute to American veterans in New York on Monday, kicking off the city's 100th Veterans Day Parade.
"Our veterans risked everything for us, now it is our duty to serve and protect them every single day of our lives," said the president in his remarks at the Madison Square Park at the opening ceremony of the parade.
Trump is the first sitting U.S. president to attend the Parade in his hometown, which he said was "truly an honor."
The New York City Veterans Day Parade is an annual event produced by the United War Veterans Council as the country's largest one in scale.
The president also touted the strength of the U.S. Special Operations Forces, who conducted a raid last month in Syria that led to the death of the Islamic State (IS) leader Abu Bakr al-Baghdadi.
"Thanks to American warriors -- al-Baghdadi is dead. His second in charge is dead. We have our eyes on number 3," he said.
Trump, along with First Lady Melania Trump, then attended a wreath-laying ceremony and observed a moment of silence before they went back to their New York residence at the Trump Tower.
The Veterans Day in the United States is a federal holiday to honor those who have served in the country's military. It falls on Nov. 11 when World War I came to an end in 1918.


Getting started with Puppet on OS X (part 1)
25 Jan 2013When I was first getting started, the first hurdle I had to get over was trying to work out how it would apply to what I do - manage Macs. There are plenty of resources on managing servers with Puppet, but precious little on using Puppet with OS X - so, here’s how to get started with Puppet.
You will also need either a Mac running OS X 10.8 you don’t mind (possibly) nuking, or preferably a virtual machine, so you can reset it easily.
I’m using VMWare Fusion here - please translate the commands to whatever virtualisation app you’re using.
Some setup on the Puppet Master
There are a couple of things we need to do to the Puppet Master before we get stuck in with configuring our Mac client. First, change the networking settings so that it appears directly on your network. The default for the VMWare VM is NAT - this won’t work for us. Now you can boot it up and SSH into it - if you wait for a minute or two, the IP address of the VM will be displayed on the screen.
The VM you’ve downloaded is Puppet Enterprise - this is the paid for version of Puppet, that ships pre-configured. We use the open source version, which requires some assembly on the server end (which I will hopefully cover one day). As it’s Puppet Enterprise, it comes with the Dashboard all ready to use - we won’t be using it here, so don’t worry about it. All we want is the IP address.
So, let’s get into the box:
ssh<EMAIL_ADDRESS>The password will be puppet
As I mentioned above, being Puppet Enterprise, there are a few differences - the biggest one as far as we’re concerned is that the actual Puppet files are in a different location - we’ll create a symlink to the “normal” place for Puppet Open Source:
ln -s /etc/puppetlabs/puppet /etc/puppet
This is optional, but I recommend it, as I will be referring to all paths on the Puppet Master based in this symlink being in place.
Now, onto the Mac - first things first, get SSH turned on - open System Preferences -> Sharing and check Remote Login. Once again, not essential, but it will make your life much easier.
In the real world, you would set up a DNS entry for your Puppet Master - it’s likely you won’t want to do this when you’re just testing out, so let’s fake it. Either SSH into your Mac, or just open terminal and issue:
sudo nano /etc/hosts
You can of course, use whatever text editor you want to - if you’ve not used nano before, here’s a one line crash course: ctrl + O writes the file (you can change the name or just press return and confirm you want to overwrite the file) and ctrl + x to exit. There are more functions of course, but this will get you started enough for this article.
Scroll down to the bottom and put in an entry for your Puppet server’s IP address:
Still with me? Good, it’s time to install Puppet and Facter. Head on over to the Puppet Labs download page and get the latest versions of Puppet and Facter (3.0.2 and 1.6.17 respectively) and install them on your test Mac. Or if you’re still SSH’ed into the Mac, you can run this command (which will download and install both Puppet and Facter).
curl -s https://raw.github.com/grahamgilbert/macscripts/master/Puppet-Install/install_puppet.py | sudo python
Cushty, Puppet and Facter are installed. Puppet won’t do much though until we write it’s configuration file. I’m going to call the Mac puppetclient here. Pop sudo nano /etc/puppet/puppet.conf
in the Mac’s terminal window and paste in the following and save it:
We’re now ready to get our client talking to the server. Make sure you’ve got SSH sessions open to both the client and server, as we’ll need to work on both.
On the Mac:
sudo puppet agent --server puppet --waitforcert 60 --test --group 0
And on the Puppet Master we want to list all of the certificates waiting to be signed:
puppet cert --list
Once you see your puppetclient’s certificate waiting to be signed, sign it on the Master with:
puppet cert --sign puppetclient
After a few seconds you will then see loads of output scrolling along. This is Puppet starting to work it’s magic - although Puppet won’t do anything yet, as you’ve not described any configuration for the client - yet. We’ll do that next time.
Apologies for the slightly boring post, but you’ve done the hard part now, it’s all good from here!


Donald Barthelme Quote Generator
Donald Barthelme is an American short story writer. A master of the form. RIP.
Tweet


|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
| Class Summary | |
|---|---|
| BigDecimalAdaptor | Adaptor for managing translations for values of type double. |
| BooleanAdaptor | Adaptor for managing translations for values of type boolean. |
| ByteAdaptor | Adaptor for managing Java to JDBC for a Byte value. |
| CharAdaptor | Adaptor for managing Java to JDBC for a Character value. |
| DateTimeSqlAdaptor | Adaptor for managing Java to JDBC for a Timestamp or Date value mapped to a DateTime value. |
| DoubleAdaptor | Adaptor for managing translations for values of type double. |
| FloatAdaptor | Adaptor for managing translations for values of type float. |
| IntegerAdaptor | Adaptor for managing translations for values of type integer. |
| LongAdaptor | Adaptor for managing translations for values of type long. |
| PassthroughAdaptor<I,O> | Adaptor for values where no conversion is necessary. |
| TimeAdaptor | Process a Time value from a ResultSet. |
| UtilDateSqlAdaptor | Adaptor for managing Java to JDBC for a Timestamp or Date value mapped to a DateTime value. |
Adaptors tranform data, or more specifically, data held in Bindings, where a Binding specifies both a Type (a Java Class) and a Value (which may be null, hence the necessity of the Type field).
POJava uses Bindings extensively, both in the Adaptors and in the BoundString object. Understanding Bindings is key to understanding how to get the most out of using POJava. In this case, an Adaptor performs data transformation on a Binding, returning either a new Binding or the same Binding as a result if no transformation is needed.
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


An introduction to A/B Testing
### What is A/B Testing?
Using statistics to confirm a positive bias towards one of two prestented versions of content with a single variation.
Using data to tell us how to convert better.
Deliberately simple.
Focused on a single change.
Does not have to be a small change.
Isolated to a single test.
### What _is not_ A/B Testing?
Making changes based off feelings.
Voting on changes.
Testing more than one change on the same page at a time.
### A/B Testing is _not_ about A vs B
#### The goal is to use results to predict future impacts.
#### We're using the visitors included in the tests, to help determine what will make future visitors convert.
#### Those statistics can take a long time.
### Statistical "Winners"
#### Looking purely at numbers can lead you to false positives.
Variation A
12,066 Visitors
$27,632 Revenue
376 Transactions
3.1% Converstion Rate
$2.64 Per Session
Variation B
11,652 Visitors
$26,336 Revenue
326 Transactions
2.8% Converstion Rate
$2.98 Per Session
### No Clear Winner Was Found
Variation A
12,066 Visitors
$27,632 Revenue
376 Transactions
3.1% Converstion Rate
$2.64 Per Session
Variation B
11,652 Visitors
$26,336 Revenue
326 Transactions
2.8% Converstion Rate
$2.98 Per Session
Running sales while testing
Traffic anomalies
Product prices
Other running tests in the funnel
### So let's look at a good test...
#### Our Menu
![Control](images/ab-testing/menu-control.png)
#### The Variation
![Variation](images/ab-testing/menu-variation-a.png)
3 Goals for this test
Visited the target URL
Number of Transactions
Revenue
Visited target URL
Original
95th: 8.9% - 12%
50th: 9.9% - 10.9%
Median: 10.4%
Variation
95th: 10.4% - 13.5%
50th: 11.4% - 12.4%
Median: 11.9%
Transactions (Conversion Rate)
Original
95th: 1.8% - 2.4%
50th: 2.0% - 2.2%
Median: 2.1%
Variation
95th: 2.3% - 3.1%
50th: 2.6% - 2.8%
Median: 2.7%
Revenue (Per Session)
Original
95th: $0.35 - $0.65
50th: $0.43 - $0.53
Median: $0.48
Variation
95th: $0.72 - $1.20
50th: $0.85 - $1.02
Median: $0.93
Revenue (Total)
Original
$5,750.70
Variation
$11,196.82
### 14 Days...
### A clear winner _was_ found this time...
## 💰💰💰💰💰💰💰💰
### ...so we added a test including "Popular"
### 6 weeks later...
### No Clear Winner Was Found
### How about another test...
#### EA Games
![Control](images/ab-testing/ea-games-control.png)
### They wanted to offer $20 off any other purchase with EA Games, if you pre-order SimCity.
Makes sense right?
#### The Variation
![Variation](images/ab-testing/ea-games-variation.png)
### As it turns out, the variation performed more than 40 percent better than the control. Avid fans of SimCity 5 weren’t interested in an incentive.
## 💰💰💰💰💰💰💰💰
### If you make assumptions about your target audience, you’ll eventually get it wrong.
### 95th, 50th, median?
![Confidence Interval](images/ab-testing/confidence-example.png)
### What is a null hypothesis?
Automatically assume that your variation is NOT a meaningful improvement. We either:
- Disprove it by the variation winning
- Or fail to disprove it
### “innocent until proven guilty”
A defendant’s innocence is legally supposed to be the underlying assumption unless proven otherwise.
### Your control is the best
Assume your control will out-preform your variation, until your variation achieves statistical significance
### Statistical _what_?
### Statistical Significance
### Imagine running an A/A test
You would expect that, as with any test sample, you'd have variation between two groups with the same results.
Essentially, the significance level is a value we set based on the level of accuracy we deem acceptable. The industry standard significance level is 5%, which means we are seeking results with 95% accuracy.
### 95th, 50th, median?
![Confidence Interval](images/ab-testing/confidence-example.png)
### So what should _you_ test?
![All the things](images/ab-testing/all-the-things.jpg)
#### ...but not really _all_ the things.
#### Focus on the following
#### High Traffic Pages
To acheive a statistical winner, you need lots of traffic.
#### Test "Up Funnel"
Compare traffic on your funnel steps before you start making tests on your last step of the funnel.
#### Test Shared Elements
Elements shared on many pages will get lots of sessions, and can help you find easy wins.
#### Use Heat Maps
Services like Crazy Egg and Hot Jar can give you information on where people interact with your content the most.


[Erowid Note: This report describes the same events as
Experience ID 37418 - Do Not Combine!]
The combination use of Effexor XR (generic name: venlafaxine) and marijuana has proven to be a seriously bad mixture for myself and a few others I've spoken with who have combined the two.
This combination has caused severe tachycardia (increased heart rate) and arrythmias along with other cardiac/respiratory problems.
I had taken my regular dose of Effexor XR (75mg) at about 2100h, and then smoked half a joint with my girlfriend at about 2200h. About 10 minutes after smoking, I found that I was having a hard time breathing, along with severe dizziness, sweating and tremors through the entire body. I decided to lay down in bed to try and let the feeling pass, and ended up slipping into a deep catatonic state, although my mind was completely conscious.
The next thing I felt was my heart pounding so hard and so fast that it actually caused pain. My girlfriend, who was stoned as well, was alarmed to the fact that she could literally hear my heart beating hard and fast from the other side of the bed.
She is a nurse and took my pulse- it was strong and fast- (normal heart rate is 80 per minute; mine was 196). She had originally thought it was cannabis induced anxiety and panic symptoms, however the symptoms worsened to the point where all my lower body muscles began to contract and the fine tremor that originally was displayed, now turned into lower extremity convulsions. At this point, my breathing had become more shallow and laboured- and a call was made to 911.
Ambulance arrived and put me on the heart monitor- it showed a dangerously prolonged QT Interval in the heart rhythm, and tachycardia at a dangerous level- now 216. I was rushed to the Emergency Room and immediately given Narcan (naloxone) (an anti-narcotic) along with an IV of valium to slow the heart rate. Full status seizures occured while in the ambulance en route the hospital.
After being admitted to the hospital and a series of test run, it was shown that the mixture of marijuana and venlafaxine caused a severe seretonin block and reuptake in my brain; that triggered the fast heart rate and lead to the full epileptic-like seizures.
Later testing in the hospital with the assistance of an outside laboratory showed that the combination of venlafaxine and marijuana triggers too many 'mixed messages' in the brains neurotransmitters that control and regulate the amount of seretonin. The final diagnosis was serotonin toxicity directly caused by the combination of these two drugs.
Serotonin toxicity can be a fatal medical emergency for a number of reasons. The heart looses its effectiveness when pumping at more than 120 beats per minute. This combination shoved me up to 216. As a result, the blood is not circulating properly, which in turn displaces the ratio of oxygen:carbon dioxide in the blood, in turn can cause a pulmonary embolism in the heart and lungs- that is where the possibility of it becoming a fatal mixture occurs.
Doseage was 75mg of Effexor, and basically 3 tokes from a medium sized joint.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


{% extends "layout.html" %} {% block article_body %} {% markdown %} {{ annotations | dump }}
U.S. Department of Justice Office of the Deputy Attorney General
The Deputy Attorney General
Washington, D.C. 20530


x^2-y+0.3
A Kempe linkage simulation - based on Abbot's
Generalizations of Kempe's universality theorem


Virtual Machines
Dashboard
Basic - 8 virtual processor cores, 16 GB of virtual RAM, 20 GB of storage space in the root file system - 5 cents/minute
Large - 32 virtual processor cores, 64 GB of virtual RAM, 20 GB of storage space in the root file system - 10 cents/minute
Ultra-Large - 128 virtual processor cores, 512 GB of virtual RAM, 40 GB of storage space in the root file system - 15 cents /minute
Create VM
Created VMs
Deleted VMs
Get Usage per VM with timestamp
Virtual Machine ID:
From:
To:
Get VM Usage Timestamp
Get Cost per VM with timestamp
Virtual Machine ID:
From:
To:
Get VM Cost Timestamp
Get Total Usage


Open vSwitch is a multilayer software switch licensed under the open source Apache 2 license. Our goal is to implement a production quality switch platform that supports standard management interfaces and opens the forwarding functions to programmatic extension and control.
Open vSwitch is well suited to function as a virtual switch in VM environments. In addition to exposing standard control and visibility interfaces to the virtual networking layer, it was designed to support distribution across multiple physical servers. Open vSwitch supports multiple Linux-based virtualization technologies including Xen/XenServer, KVM, and VirtualBox.
The bulk of the code is written in platform-independent C and is easily ported to other environments. The current release of Open vSwitch supports the following features:
The included Linux kernel module supports Linux 2.6.32 and up, with testing focused on 2.6.32 with Centos and Xen patches. Open vSwitch also has special support for Citrix XenServer and Red Hat Enterprise Linux hosts.
Open vSwitch can also operate, at a cost in performance, entirely in userspace, without assistance from a kernel module. This userspace implementation should be easier to port than the kernel-based switch. It is considered experimental.
The main components of this distribution are:
Open vSwitch also provides some tools:
To install Open vSwitch on a regular Linux or FreeBSD host, please read [INSTALL.md]. For specifics around installation on a specific platform, please see one of these files:
To use Open vSwitch...
...with Docker on Linux, read [INSTALL.Docker.md]
...with KVM on Linux, read [INSTALL.md], read [INSTALL.KVM.md]
...with Libvirt, read [INSTALL.Libvirt.md].
...without using a kernel module, read [INSTALL.userspace.md].
...with SELinux, read [INSTALL.SELinux.md].
For answers to common questions, read [FAQ.md].
To learn how to set up SSL support for Open vSwitch, read [INSTALL.SSL.md].
To learn about some advanced features of the Open vSwitch software switch, read the [tutorial/Tutorial.md].
Each Open vSwitch userspace program is accompanied by a manpage. Many of the manpages are customized to your configuration as part of the build process, so we recommend building Open vSwitch before reading the manpages.
bugs@openvswitch.org


@{view('partials/header')}
Home
Cart Preview
Choose your delivery options
Continue
Delivery Options
Regular
No-Rush (you get an extra
% cashback. Applicable for shopsasta products only)
Continue
@{if false}
GO TO HOME PAGE
@{fi}
Do you want to review your cart for the price/stock changes or confirm the order with the current price(s)?
Review Your Cart
Cancel


A KNIGHT'S TALE (2001) 2 stars out of 4. Starring Heath Ledger, Mark Addy, Rufus Sewell, Paul Bettany, Shannyn Sossamon, Alan Tudyk and Laura Fraser. Music by Carter Burwell. Written, produced and directed by Brian Helgeland. PG-13.
You are immediately jarred at the outset of A Knightís Tale when a contestant in a jousting tournament rides onto the field, the soundtrack begins blaring ìWe Will Rock Youî and the audience claps along to the beat.  Perhaps the filmís writer-producer-director, Brian Helgeland (an Oscar-winner for his L.A. Confidential script), can explain: ìWe wanted to create a period piece that stayed fair to the period but felt contemporary. ... For a movie to work, the audience has to be invited in. They can get pushed away if overwhelmed by period costumes, obscure speech and antique music. ... Our goal was to create a seamless bridge between then and now.î
Nice sentiments, noble proposal. Unfortunately, the concept for A Knightís Tale is more distracting than beneficial.
The movieís central plot is about jousting, painted by Helgeland as sort of the XFL of the middle ages. Knights would travel from tournament to tournament, battling each other for prizes and glory; standings were kept; peasants would paint themselves in the colors of their favorite knights; heralds would introduce their knights, in a manner reminiscent of Vince McMahon revving up the crowd at a WWF match; and their would be a tournament of tournament at which the grand champion would be crowned.
All this, of course, makes it difficult as to how to view A Knightís Tale: a comedy, a spoof, a period action-adventure, a drama. Helgeland has made it a hodge-podge of all of the aforementioned genres.
His story revolves around William Thatcher (Heath Ledger), squire to a veteran knight. When his employer is found sitting under a tree dead, William, with the help of his friends. Roland (Mark Addy) and Wat (Alan Tudyk), puts on the knightís armor, takes his place at the joust and wins the tournament.
William then decides to use the prize money to fulfill his dream of becoming a championship jouster. Unfortunately, only knights are permitted to joust, so William ó with the help of an unemployed writer named Geoff Chaucer (Paul Bettany) ó reinvents himself as Sir Ulrich von Lichtenstein of Gelderland and begins his climb up the tournament ladder.
A Knightís Tale is a corny, fairy tale, yet somehow it exudes an innocent and winning charm.
For example, you laugh when William ó along with the other knights ó marches triumphantly into the London he left as a child and the soundtrack blasts out Tin Lizzyís ìThe Boys Are Back in Town.î
This is definitely a movie not to be taken seriously. if it is anything, A Knightís Tale is a showcase for the charisma of up-and-comer Heath L:edger, best known for portraying Mel Gibsonís son in The Patriot as well as for wooing Julia Stiles in Ten Things I Hate About You.
He has a wonderful screen presence and a very nonchalant manner. He acts as the various occasions demands ó serious whe needed, tongue planted in cheek when called for.
He is a looker who carries a fluff piece such as this with ease. It will be interesting to see him in more demanding roles.
A Knightís Tale will more likely appeal to a younger audience. Medieval scholars might as well stay home as you will wind up shouting at the screen in frustration or rage at the historical liberties the film takes.
But this is not meant as a documentary about the middle ages. A Knightís Tale is an uneven parable about heroes, fame and self-worth. That Helgeland tried to give it a contemporary spin is commendable. It is too bad he was not totally successful.
Bob Bloom is the film critic at the Journal and Courier in Lafayette, IN.. He can be reached by e-mail at<EMAIL_ADDRESS>or at<EMAIL_ADDRESS>Other reviews by Bloom can be found at www.jconline.com by clicking on golafayette. Bloom's reviews also can be found on the Web at the Internet Movie Database site: http://www.imdb.com/M/reviews_by?Bob+Bloom
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


A game object pool that can dynamically instantiate Unity game objects from a given prefab
More...
|
| | DynamicGameObjectPool (GameObject prefab, int maxSize, Transform parent) |
| | Create a new DynamicGameObjectPool More...
|
| |
| T | Borrow< T > (Transform parent=null, bool worldPositionStays=true) |
| | Borrow an instance from the pool and get its component of type T If the object does not have a component of type T - then null will be returned and no object will be borrowed More...
|
| |
| GameObject | Borrow (Transform parent) |
| | Borrow an instance from the pool, places it under a parent transform and get its GameObject More...
|
| |
| | DynamicPool (int maxSize) |
| | Initialize the instance of the pool with the maximum size More...
|
| |
| void | DepopulateAll () |
| | Immediately revert and destroy all instances, borrowed or not More...
|
| |
| void | PreCache (int amount) |
| | Pre-cache the pool with a given amount of instances More...
|
| |
| T | Borrow () |
| | Borrow an instance from the pool More...
|
| |
| void | Revert (T obj) |
| | Revert a borrowed instance More...
|
| |
|
| override void | OnBorrow (GameObject gameObject) |
| | Override for the OnBorrow of the base class More...
|
| |
| override GameObject | CreateNew () |
| | Override for the CreateNew of the base class. Creates a new GameObject instance from the prefab of the pool More...
|
| |
| override void | OnRevert (GameObject obj) |
| | Override for the OnRevert of the base class. Resets the parent of the returned instance to the pool container transform More...
|
| |
| override void | DestroyExisting (GameObject instance) |
| | Override for the DestroyExisting of the base class. Performs Object.Destroy on the GameObject More...
|
| |
| abstract void | DestroyExisting (T instance) |
| | Override this to destroy an existing instance that was returned, but is no longer needed because the pool is at over capacity (If for example at run-time someone reduced the pool size) More...
|
| |
| virtual void | OnBorrow (T obj) |
| | Optionally override this to perform manipulations on the borrowed instance on borrow More...
|
| |
| virtual void | OnRevert (T obj) |
| | Optionally override this to perform manipulations on the returned instance More...
|
| |
|
| int | BorrowedCount |
| | Amount of instances currently borrowed from the pool More...
|
| |
| int | Size |
| | Returns the total count of instances managed by this pool, borrowed and cached More...
|
| |
| int | MaxSize [get, set] |
| | Maximum size of the pool, can also be set at runtime More...
|
| |
A game object pool that can dynamically instantiate Unity game objects from a given prefab
This class describes a Pool of a single GameObject prefab type
Definition at line 10 of file DynamicGameObjectPool.cs.
◆ DynamicGameObjectPool()
| DeBox.ObjectPool.DynamicGameObjectPool.DynamicGameObjectPool |
( |
GameObject |
prefab, |
|
|
int |
maxSize, |
|
|
Transform |
parent |
|
) |
| |
◆ Borrow()
| GameObject DeBox.ObjectPool.DynamicGameObjectPool.Borrow |
( |
Transform |
parent | ) |
|
Borrow an instance from the pool, places it under a parent transform and get its GameObject
- Parameters
-
| parent | Target parent to place the instance under after borrowing, can be null |
- Returns
- GameObject of the borrowed object
Definition at line 55 of file DynamicGameObjectPool.cs.
◆ Borrow< T >()
Borrow an instance from the pool and get its component of type T If the object does not have a component of type T - then null will be returned and no object will be borrowed
- Parameters
-
| parent | The target parent to place the instance under when borrowed |
| worldPositionStays | Acts like worldPositionStays of Transform.SetParent |
- Template Parameters
-
| T | Component type of the pooled object |
- Returns
- The component of the borrowed object
Definition at line 37 of file DynamicGameObjectPool.cs.
◆ CreateNew()
| override GameObject DeBox.ObjectPool.DynamicGameObjectPool.CreateNew |
( |
| ) |
|
|
protectedvirtual |
◆ DestroyExisting()
| override void DeBox.ObjectPool.DynamicGameObjectPool.DestroyExisting |
( |
GameObject |
instance | ) |
|
|
protected |
Override for the DestroyExisting of the base class. Performs Object.Destroy on the GameObject
- Parameters
-
Definition at line 103 of file DynamicGameObjectPool.cs.
◆ OnBorrow()
| override void DeBox.ObjectPool.DynamicGameObjectPool.OnBorrow |
( |
GameObject |
gameObject | ) |
|
|
protected |
Override for the OnBorrow of the base class
- Parameters
-
| gameObject | Borrowed GameObject |
Definition at line 66 of file DynamicGameObjectPool.cs.
◆ OnRevert()
| override void DeBox.ObjectPool.DynamicGameObjectPool.OnRevert |
( |
GameObject |
obj | ) |
|
|
protected |
Override for the OnRevert of the base class. Resets the parent of the returned instance to the pool container transform
- Parameters
-
| obj | Returned instance GameObject |
Definition at line 93 of file DynamicGameObjectPool.cs.
The documentation for this class was generated from the following file:


TABLE OF INTERACTIONS WITH
PRAZIQUANTEL
From the French ANSM drug interactions document of September 2016, p. 181
PRAZIQUANTEL RxNorm: 8628 ATC: P02BA01 |
ANTICONVULSANT ENZYMATIC INDUCERS CLASS CODE: N03A-001 |
Very large decrease of the plasma concentrations of the praziquantel, with risk of failure of the treatment due to increase of its hepatic metabolism by the inducer |
Not recommended |
PRAZIQUANTEL RxNorm: 8628 ATC: P02BA01 |
DEXAMETHASONE RxNorm: 3264 ATC: A01AC02 C05AA09 D07AB19 D07XB05 D10AA03 H02AB02 R01AD03 S01BA01 S01CB01 S02BA06 S03BA01 |
Decrease of the plasma concentrations of the praziquantel, with risk of failure of the treatment, due to increase of the hepatic metabolism of the praziquantel by the dexamethasone. |
Precaution for use Separate the administration of the two medications by at least a week. |
PRAZIQUANTEL RxNorm: 8628 ATC: P02BA01 |
RIFAMPICIN RxNorm: 9384 ATC: J04AB02 |
Very large decrease of the plasma concentrations of the praziquantal, with risk of failure of the treatment, due to increase of the hepatic metabolism of the praziquantel by the rifampicin |
CONTRAINDICATION |


{% include meta.html %}
{% capture share_url %}https://{{ site.url }}{{ page.url }}{% endcapture %}
{{ site.name }}
{{ page.header_content | default: '' | markdownify }}
{% include form.html action=site.action_network_form %}
It's been
since the pledge launched.
left.
Here's where companies stand:
Has not yet signed.
1B+ users
Has signed.
1B+ users
Here's where individuals stand:
Has not yet signed.
{% for person in site.data.people.unsigned %}
{{ person }}
{% endfor %}
Has signed.
{% for person in site.data.people.signed %}
{{ person }}
{% endfor %}
MORE
{{ content }}
Share this
Tweet this
Donate
Supporting organizations:
{% for org in site.data.orgs %}
{{ org }}
{% endfor %}
{% include footer.html %}
Tweet
Share
{% include scripts.html %}


--- layout: error_page title: Temporary Maintenance ---
Servers and websites need regular maintnance just like a car to keep them up and running smoothly.
If you're a site vistor
If you need immediate assistance, please send us an email instead. We apologize for any inconvenience.
If you're the site owner
The maintenance period will mostly likely be very brief, the best thing to do is to check back in a few minutes and everything will probably be working normal agian.


You can use the form below to set the default ingest profile for one or more accounts.
If you do not enter account information, a Brightcove sample account will be used.
Account ids (comma-delimited list):
Client id:
Client secret:
Profile to set as default:
Set the Selected Profile as Default for these Accounts
Waiting for input...
API request will appear here...
Response will appear here...