|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.brightcove.commons.catalog.objects.iosRendition
public class iosRendition
An iOS Rendition object (the metadata defining a rendition for iOS players).
This object is defined primarily by the Media API documentation for a Rendition object: http://support.brightcove.com/en/docs/media-api-objects-reference#iOSRendition.
This may be modified however from the Media API documentation so that it can also support other interfaces (e.g. batch provisioning).
The iosrendition object represents one of the multi-bitrate
streaming renditions of a video with container type M2TS, meaning
an HLS stream playable on iOS devices. A Video should have not
more than 10 total rendition and iosrendition objects. For more
information, see
Using multi-bitrate streaming
and
Creating videos for multi-bitrate streaming.
| Constructor Summary | |
|---|---|
iosRendition()
Default Constructor. |
|
iosRendition(org.w3c.dom.Element element)
Constructs a new iOS rendition from an XML representation (generated by Videos.toXml()). |
|
iosRendition(java.lang.String json)
Constructor using JSON string. |
| Method Summary | |
|---|---|
org.w3c.dom.Element |
appendXml(org.w3c.dom.Element root,
java.lang.String renditionName)
Uses the W3C libraries to generate an XML representation of this object. |
java.lang.Boolean |
getAudioOnly()
Gets whether or not this rendition is audio only. |
ControllerTypeEnum |
getControllerType()
Gets the Controller Type for this iOS Rendition. |
java.lang.String |
getDisplayName()
Gets the display name for this Rendition. |
java.lang.Integer |
getEncodingRate()
Gets the encoding rate for this Rendition. |
java.lang.Integer |
getFrameHeight()
Gets the frame height for this Rendition in pixels. |
java.lang.Integer |
getFrameWidth()
Gets the frame width for this Rendition in pixels. |
java.lang.Long |
getId()
Gets the unique id for this rendition |
java.lang.String |
getReferenceId()
Gets the user supplied reference id for this rendition |
java.lang.String |
getRemoteStreamName()
Gets the remote stream name attribute for this Rendition. |
java.lang.String |
getRemoteUrl()
Gets the remote URL attribute for this asset. |
java.lang.Long |
getSize()
Gets the file size of this Rendition in bytes. |
java.lang.Long |
getUploadTimestampMillis()
Gets the timestamp for when this rendition was uploaded |
java.lang.String |
getUrl()
Gets the URL for this iOS Rendition. |
VideoCodecEnum |
getVideoCodec()
Gets the video codec for this Rendition. |
java.lang.String |
getVideoContainer()
Gets the video container for this rendition |
java.lang.Long |
getVideoDuration()
Gets the length of the video asset. |
void |
initAll()
Sets all variables to null. |
void |
setAudioOnly(java.lang.Boolean audioOnly)
Sets whether or not this rendition is audio only. |
void |
setControllerType(ControllerTypeEnum controllerType)
Sets the Controller Type for this Rendition. |
void |
setDisplayName(java.lang.String displayName)
Sets the display name for this Rendition. |
void |
setEncodingRate(java.lang.Integer encodingRate)
Sets the encoding rate for this Rendition. |
void |
setFrameHeight(java.lang.Integer frameHeight)
Sets the frame height for this Rendition in pixels. |
void |
setFrameWidth(java.lang.Integer frameWidth)
Sets the frame width for this Rendition in pixels. |
void |
setId(java.lang.Long id)
Sets the unique id for this rendition |
void |
setReferenceId(java.lang.String referenceId)
Sets the user supplied reference id for this rendition |
void |
setRemoteStreamName(java.lang.String remoteStreamName)
Sets the remote stream name attribute for this Rendition. |
void |
setRemoteUrl(java.lang.String remoteUrl)
Sets the remote URL attribute for this asset. |
void |
setSize(java.lang.Long size)
Sets the file size of this Rendition in bytes. |
void |
setUploadTimestampMillis(java.lang.Long uploadTimestampMillis)
Sets the timestamp for when this rendition was uploaded |
void |
setUrl(java.lang.String url)
Sets the URL for this iOS Rendition. |
void |
setVideoCodec(VideoCodecEnum videoCodec)
Sets the video codec for this Rendition. |
void |
setVideoContainer(java.lang.String videoContainer)
Sets the video container for this rendition |
void |
setVideoDuration(java.lang.Long videoDuration)
Sets the length of the video asset. |
org.json.JSONObject |
toJson()
Converts the rendition into a JSON object suitable for use with the Media API |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public iosRendition()
Default Constructor.
All fields set to null to start - required fields must be set before calling Write Media API.
public iosRendition(java.lang.String json) throws org.json.JSONException
Constructor using JSON string.
Given a JSON string from the Media API, attempts to construct a new iOS Rendition object and fill out all of the fields defined. All other fields will be null.
org.json.JSONException
public iosRendition(org.w3c.dom.Element element)
Constructs a new iOS rendition from an XML representation (generated by Videos.toXml()).
element
- XML Element representing the rendition object| Method Detail |
|---|
public void initAll()
Sets all variables to null.
public java.lang.String getUrl()
Gets the URL for this iOS Rendition.
The url for the m3u8 stream. Note: URLs are subject to
change without notice. Do not hard-code them into your
applications, but rather use the Media API to pull them
dynamically.
public void setUrl(java.lang.String url)
Sets the URL for this iOS Rendition.
The url for the m3u8 stream. Note: URLs are subject to
change without notice. Do not hard-code them into your
applications, but rather use the Media API to pull them
dynamically.
url
- String representing the Rendition URLpublic ControllerTypeEnum getControllerType()
Gets the Controller Type for this iOS Rendition.
DEFAULT
public void setControllerType(ControllerTypeEnum controllerType)
Sets the Controller Type for this Rendition.
DEFAULT
controllerType
- Enumeration value for the controller typepublic java.lang.Integer getEncodingRate()
Gets the encoding rate for this Rendition.
The rendition's encoding rate, in bits per second.
public void setEncodingRate(java.lang.Integer encodingRate)
Sets the encoding rate for this Rendition.
The rendition's encoding rate, in bits per second.
encodingRate
- Encoding rate for this Rendition, in bits/secondpublic java.lang.String getDisplayName()
Gets the display name for this Rendition.
undocumented...
public void setDisplayName(java.lang.String displayName)
Sets the display name for this Rendition.
undocumented...
displayName
- public java.lang.Integer getFrameHeight()
Gets the frame height for this Rendition in pixels.
The rendition's display height, in pixels.
public void setFrameHeight(java.lang.Integer frameHeight)
Sets the frame height for this Rendition in pixels.
The rendition's display height, in pixels.
frameHeight
- Frame height for this Rendition in pixelspublic java.lang.Integer getFrameWidth()
Gets the frame width for this Rendition in pixels.
The rendition's display width, in pixels.
public void setFrameWidth(java.lang.Integer frameWidth)
Sets the frame width for this Rendition in pixels.
The rendition's display width, in pixels.
frameWidth
- Frame width for this Rendition in pixelspublic java.lang.Long getSize()
Gets the file size of this Rendition in bytes.
Required. The file size of the rendition, in bytes.
public void setSize(java.lang.Long size)
Sets the file size of this Rendition in bytes.
Required. The file size of the rendition, in bytes.
size
- File size in bytes for this Renditionpublic java.lang.String getRemoteUrl()
Gets the remote URL attribute for this asset.
Required, for remote assets. The complete path to the file
hosted on the remote server. If the file is served using
progressive download, then you must include the file name and
extension for the file. You can also use a URL that re-directs
to a URL that includes the file name and extension. If the file
is served using Flash streaming, use the remoteStreamName
attribute to provide the stream name.
public void setRemoteUrl(java.lang.String remoteUrl)
Sets the remote URL attribute for this asset.
Required, for remote assets. The complete path to the file
hosted on the remote server. If the file is served using
progressive download, then you must include the file name and
extension for the file. You can also use a URL that re-directs
to a URL that includes the file name and extension. If the file
is served using Flash streaming, use the remoteStreamName
attribute to provide the stream name.
remoteUrl
- Remote URL attribute for this asset as a Stringpublic java.lang.String getRemoteStreamName()
Gets the remote stream name attribute for this Rendition.
[Optional — required for streaming remote assets only] A stream
name for Flash streaming appended to the value of the remoteUrl
property.
public void setRemoteStreamName(java.lang.String remoteStreamName)
Sets the remote stream name attribute for this Rendition.
[Optional — required for streaming remote assets only] A stream
name for Flash streaming appended to the value of the remoteUrl
property.
remoteStreamName
- Remote stream namepublic java.lang.Long getVideoDuration()
Gets the length of the video asset.
Required. The length of the remote video asset in milliseconds.
public void setVideoDuration(java.lang.Long videoDuration)
Sets the length of the video asset.
Required. The length of the remote video asset in milliseconds.
videoDuration
- the length of the video asset in millisecondspublic VideoCodecEnum getVideoCodec()
Gets the video codec for this Rendition.
Required. Valid value is H264.
public void setVideoCodec(VideoCodecEnum videoCodec)
Sets the video codec for this Rendition.
Required. Valid value is H264.
videoCodec
- Video codec for this Renditionpublic java.lang.Boolean getAudioOnly()
Gets whether or not this rendition is audio only.
If true, this rendition is audio-only and has no video content.
Audio-only renditions can be used for mobile streaming over
low-bandwidth connections. It is recommended that videos in iOS
applications should include a 64 kbps audio-only rendition.
public void setAudioOnly(java.lang.Boolean audioOnly)
Sets whether or not this rendition is audio only.
If true, this rendition is audio-only and has no video content.
Audio-only renditions can be used for mobile streaming over
low-bandwidth connections. It is recommended that videos in iOS
applications should include a 64 kbps audio-only rendition.
audioOnly
- True if the rendition is audio only, else falsepublic java.lang.Long getId()
Gets the unique id for this rendition
The video ID.
public void setId(java.lang.Long id)
Sets the unique id for this rendition
The video ID.
id
- Unique id for this renditionpublic java.lang.String getReferenceId()
Gets the user supplied reference id for this rendition
The video reference ID.
public void setReferenceId(java.lang.String referenceId)
Sets the user supplied reference id for this rendition
The video reference ID.
referenceId
- Reference id for this renditionpublic java.lang.Long getUploadTimestampMillis()
Gets the timestamp for when this rendition was uploaded
The date/time that the video was uploaded to Video Cloud, in
Epoch milliseconds form.
public void setUploadTimestampMillis(java.lang.Long uploadTimestampMillis)
Sets the timestamp for when this rendition was uploaded
The date/time that the video was uploaded to Video Cloud, in
Epoch milliseconds form.
uploadTimestampMillis
- Timestamp in milliseconds since epoch this rendition was uploadedpublic java.lang.String getVideoContainer()
Gets the video container for this rendition
The format of the wrapper that provides metadata and describes
how the video and audio are stored in the file. Valid values
is M2TS. See
Supported Video Codecs and Containers
for more information.
public void setVideoContainer(java.lang.String videoContainer)
Sets the video container for this rendition
The format of the wrapper that provides metadata and describes
how the video and audio are stored in the file. Valid values
is M2TS. See
Supported Video Codecs and Containers
for more information.
videoContainer
- String value for video container for this renditionpublic org.json.JSONObject toJson() throws org.json.JSONException
Converts the rendition into a JSON object suitable for use with the Media API
org.json.JSONException
public org.w3c.dom.Element appendXml(org.w3c.dom.Element root, java.lang.String renditionName)
Uses the W3C libraries to generate an XML representation of this object.
root
- Element to append data torenditionName
- Name to assign element
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Line data Source code
1 : /* 2 : * Copyright (c) 2015 - 2022, Intel Corporation 3 : * SPDX-License-Identifier: BSD-3-Clause 4 : */ 5 : 6 : #ifndef ENDPOINT_HPP_INCLUDE 7 : #define ENDPOINT_HPP_INCLUDE 8 : 9 : #include <cstddef> 10 : 11 : #include <memory> 12 : #include <string> 13 : #include <vector> 14 : #include <set> 15 : 16 : namespace geopm 17 : { 18 : class Endpoint 19 : { 20 : public: 21 10 : virtual ~Endpoint() = default; 22 : /// @brief Create the shared memory regions belonging to 23 : /// the Endpoint. 24 : virtual void open(void) = 0; 25 : /// @brief Unlink the shared memory regions belonging to 26 : /// the Endpoint. 27 : virtual void close(void) = 0; 28 : /// @brief Write a set of policy values for the Agent. 29 : /// @param [in] policy The policy values. The order is 30 : /// specified by the Agent. 31 : virtual void write_policy(const std::vector<double> &policy) = 0; 32 : /// @brief Read a set of samples from the Agent. 33 : /// @param [out] sample The sample values. The order is 34 : /// specified by the Agent. 35 : /// @return The age of the sample in seconds. 36 : virtual double read_sample(std::vector<double> &sample) = 0; 37 : /// @brief Returns the Agent name, or empty string if no 38 : /// Agent is attached. 39 : virtual std::string get_agent(void) = 0; 40 : /// @brief Blocks until an agent attaches to the endpoint, 41 : /// a timeout is reached, or the operation is 42 : /// canceled with stop_wait_loop(). Throws an 43 : /// exception if the given timeout is reached 44 : /// before an agent attaches. The name of the 45 : /// attached agent can be read with get_agent(). 46 : virtual void wait_for_agent_attach(double timeout) = 0; 47 : /// @brief Blocks as long as the same agent is still 48 : /// attached to the endpoint, a timeout is reached, 49 : /// or the operation is canceled with 50 : /// stop_wait_loop(). The name of the attached 51 : /// agent can be read with get_agent(). 52 : virtual void wait_for_agent_detach(double timeout) = 0; 53 : /// @brief Cancels any current wait loops in this 54 : /// Endpoint. 55 : virtual void stop_wait_loop(void) = 0; 56 : /// @brief Re-enables wait loops occurring after this call. 57 : virtual void reset_wait_loop(void) = 0; 58 : /// @brief Returns the profile name associated with the 59 : /// attached application, or empty if no controller 60 : /// is attached. 61 : virtual std::string get_profile_name(void) = 0; 62 : /// @brief Returns the list of hostnames used by the 63 : /// attached application, or empty if no controller 64 : /// is attached. 65 : virtual std::set<std::string> get_hostnames(void) = 0; 66 : /// @brief Factory method for the Endpoint used to set the policy. 67 : static std::unique_ptr<Endpoint> make_unique(const std::string &data_path); 68 : }; 69 : } 70 : 71 : #endif


--- layout: pattern category: form name: select ---
Select unit type: Miner Puffer Snipey Max Firebot


{{demo | json}}
bm-static-location-on-map [coords]
bm-location-on-map [coords] [disabled] [readonly]
bm-confirm-location-on-map


Based on current
Follows JSON standards.
Library support for common scientific programming languages. Coming soon!
Supports any data structures, 3D grids to point data timeseries. Examples


Think PHP Boards
{$name}
My account
Change password
Log out
Log in
Sign up
{block name="main"}{/block}


GN Builds
Source
Binary downloads:
About
This is just a page I wrote to always publish the LATEST version of the GN binaries.


WITNESS LIST Appropriations Committee (Subcommittee on Health and Human Services) January 31, 2001-8:00A Budget For: Easley, Mike (self) Littlefield, Rita (self) Newhouse, Liz (self) On: Baum, Jack (Texas Department of Health) Bell, Charles (Texas Department of Health) Blount, Deborah (Texas Department of Health) Bushnell, Dennis (State Auditor) Delgado, Ben (Texas Department of Health) Garza, Rolando (TDH) Genco, Frank (Texas Council for Developmental Disabilities) Harriss, Robert (Texas Department of Health) Penfield, Susan (Texas Department of Health) Stabeno, Debra (Texas Department of Health) Stanley, Sharilyn (Texas Department of Health) Thompson, Wanda (Texas Department of Health)


DISSERTATION
ACCELERATING AGRICULTURAL PRODUCTION IN
SAUDI ARABIA
Submitted by
Mansoor I. Al Turki
In partial fulfillment of the requirements for the Degree of Doctor of Philosophy Colorado State University Fort Collins, Colorado
March, 1971


public interface ChronoPeriod extends TemporalAmount
This interface models a date-based amount of time in a calendar system.
While most calendar systems use years, months and days, some do not.
Therefore, this interface operates solely in terms of a set of supported
units that are defined by the Chronology
.
The set of supported units is fixed for a given chronology.
The amount of a supported unit may be set to zero.
The period is modeled as a directed amount of time, meaning that individual parts of the period may be negative.
| Modifier and Type | Method and Description |
|---|---|
Temporal |
addTo(Temporal temporal)
Adds this period to the specified temporal object.
|
static ChronoPeriod |
between(ChronoLocalDate startDateInclusive,
ChronoLocalDate endDateExclusive)
Obtains a
ChronoPeriod consisting of amount of time between two dates. |
boolean |
equals(Object obj)
Checks if this period is equal to another period, including the chronology.
|
long |
get(TemporalUnit unit)
Gets the value of the requested unit.
|
Chronology |
getChronology()
Gets the chronology that defines the meaning of the supported units.
|
List<TemporalUnit> |
getUnits()
Gets the set of units supported by this period.
|
int |
hashCode()
A hash code for this period.
|
default boolean |
isNegative()
Checks if any of the supported units of this period are negative.
|
default boolean |
isZero()
Checks if all the supported units of this period are zero.
|
ChronoPeriod |
minus(TemporalAmount amountToSubtract)
Returns a copy of this period with the specified period subtracted.
|
ChronoPeriod |
multipliedBy(int scalar)
Returns a new instance with each amount in this period in this period
multiplied by the specified scalar.
|
default ChronoPeriod |
negated()
Returns a new instance with each amount in this period negated.
|
ChronoPeriod |
normalized()
Returns a copy of this period with the amounts of each unit normalized.
|
ChronoPeriod |
plus(TemporalAmount amountToAdd)
Returns a copy of this period with the specified period added.
|
Temporal |
subtractFrom(Temporal temporal)
Subtracts this period from the specified temporal object.
|
String |
toString()
Outputs this period as a
String . |
static ChronoPeriod between(ChronoLocalDate startDateInclusive, ChronoLocalDate endDateExclusive)
ChronoPeriod
consisting of amount of time between two dates.
The start date is included, but the end date is not.
The period is calculated using ChronoLocalDate.until(ChronoLocalDate)
.
As such, the calculation is chronology specific.
The chronology of the first date is used. The chronology of the second date is ignored, with the date being converted to the target chronology system before the calculation starts.
The result of this method can be a negative period if the end is before the start. In most cases, the positive/negative sign will be the same in each of the supported fields.
startDateInclusive
- the start date, inclusive, specifying the chronology of the calculation, not nullendDateExclusive
- the end date, exclusive, in any chronology, not nullChronoLocalDate.until(ChronoLocalDate)
long get(TemporalUnit unit)
The supported units are chronology specific.
They will typically be YEARS
,
MONTHS
and DAYS
.
Requesting an unsupported unit will throw an exception.
get
in interface TemporalAmount
unit
- the TemporalUnit
for which to return the valueDateTimeException
- if the unit is not supportedUnsupportedTemporalTypeException
- if the unit is not supportedList<TemporalUnit> getUnits()
The supported units are chronology specific.
They will typically be YEARS
,
MONTHS
and DAYS
.
They are returned in order from largest to smallest.
This set can be used in conjunction with get(TemporalUnit)
to access the entire state of the period.
getUnits
in interface TemporalAmount
Chronology getChronology()
The period is defined by the chronology.
It controls the supported units and restricts addition/subtraction
to ChronoLocalDate
instances of the same chronology.
default boolean isZero()
default boolean isNegative()
ChronoPeriod plus(TemporalAmount amountToAdd)
If the specified amount is a ChronoPeriod
then it must have
the same chronology as this period. Implementations may choose to
accept or reject other TemporalAmount
implementations.
This instance is immutable and unaffected by this method call.
amountToAdd
- the period to add, not nullChronoPeriod
based on this period with the requested period added, not nullArithmeticException
- if numeric overflow occursChronoPeriod minus(TemporalAmount amountToSubtract)
If the specified amount is a ChronoPeriod
then it must have
the same chronology as this period. Implementations may choose to
accept or reject other TemporalAmount
implementations.
This instance is immutable and unaffected by this method call.
amountToSubtract
- the period to subtract, not nullChronoPeriod
based on this period with the requested period subtracted, not nullArithmeticException
- if numeric overflow occursChronoPeriod multipliedBy(int scalar)
This returns a period with each supported unit individually multiplied. For example, a period of "2 years, -3 months and 4 days" multiplied by 3 will return "6 years, -9 months and 12 days". No normalization is performed.
scalar
- the scalar to multiply by, not nullChronoPeriod
based on this period with the amounts multiplied
by the scalar, not nullArithmeticException
- if numeric overflow occursdefault ChronoPeriod negated()
This returns a period with each supported unit individually negated.  No normalization is performed.
ChronoPeriod
based on this period with the amounts negated, not nullArithmeticException
- if numeric overflow occurs, which only happens if
one of the units has the value Long.MIN_VALUE
ChronoPeriod normalized()
The process of normalization is specific to each calendar system. For example, in the ISO calendar system, the years and months are normalized but the days are not, such that "15 months" would be normalized to "1 year and 3 months".
This instance is immutable and unaffected by this method call.
ChronoPeriod
based on this period with the amounts of each
unit normalized, not nullArithmeticException
- if numeric overflow occursTemporal addTo(Temporal temporal)
This returns a temporal object of the same observable type as the input with this period added.
In most cases, it is clearer to reverse the calling pattern by using
Temporal.plus(TemporalAmount)
.
// these two lines are equivalent, but the second approach is recommended dateTime = thisPeriod.addTo(dateTime); dateTime = dateTime.plus(thisPeriod);
The specified temporal must have the same chronology as this period. This returns a temporal with the non-zero supported units added.
This instance is immutable and unaffected by this method call.
addTo
in interface TemporalAmount
temporal
- the temporal object to adjust, not nullDateTimeException
- if unable to addArithmeticException
- if numeric overflow occursTemporal subtractFrom(Temporal temporal)
This returns a temporal object of the same observable type as the input with this period subtracted.
In most cases, it is clearer to reverse the calling pattern by using
Temporal.minus(TemporalAmount)
.
// these two lines are equivalent, but the second approach is recommended dateTime = thisPeriod.subtractFrom(dateTime); dateTime = dateTime.minus(thisPeriod);
The specified temporal must have the same chronology as this period. This returns a temporal with the non-zero supported units subtracted.
This instance is immutable and unaffected by this method call.
subtractFrom
in interface TemporalAmount
temporal
- the temporal object to adjust, not nullDateTimeException
- if unable to subtractArithmeticException
- if numeric overflow occursboolean equals(Object obj)
Compares this period with another ensuring that the type, each amount and the chronology are the same. Note that this means that a period of "15 Months" is not equal to a period of "1 Year and 3 Months".
equals
in class Object
obj
- the object to check, null returns falseObject.hashCode()
,
HashMap
int hashCode()
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
Dracula Javadoc Sample, Made with Allan Im.


What is Agile?
Agile is a software development is a group of software development methods in which requirements and solutions evolve through collaboration between self-organizing cross-functional teams.
What are Sprints (Scrum)?
Agile Sprints (Scrum) is a style of agile software development that focuses on iteration or icremental construction through fixed period cycles of planning and review.
What is Kanban?
Agile Kanban is a continuous flow of work through a defined workflow controlled by Work In Progress (WIP) limits applied to each step.
In all cases the ultimate objetive is: Always provide the development team with the best* thing to work on next, no more and no less.
*Best = (Most valuable | important | impactful)
Kaban is well suited when:
- Work tends to switch context or priority rapidly and frequently
- Work is complicated by several systems, workflows, stakeholders
- Continous delivery mechanisms are in place to match the flow of work through the system
- Workflow tends to be serial and is well defined
- Team is capable of swarming when WIP is hit
US Content Team
- Scrum-ban
- Produt Roadmap + Technical Debt + Emergent Sales Requests + Maintenence
- Scrum failed to really achieve intended purpose. Sprints lacked focus and felt unsustainable
- Move to Kanban reduced time spent in long meetings, forced local ownership due to continuous planning
- Multiple swim lanes made work easy to visualize. WIP forced reality of throughput.
- Manage a responsive redesign and improved codebase while keeping highest sales throughput ever.
Moving to Kanban from Scrum
- Scrum-ban - handle tasks in scrum as kanban and use retros to adjust WIP
- Create any missing work agreements for workflow(s), Task WIP and Definitions of Done
- Invest in process improvement to improve flow (Traffic Jams and Air Bubbles)
- Board visualization is important. Its right in the name. Start analog if co-located.
- Get serious about cards and the board. Board tells an accurate story.
- Incrementally remove the need for time-boxes and meeting cadence.
- Stop estimating!
- Work with Product to manage the flow of cards into Kanbans.
Shared Services, Dependencies & Stakeholders
- Regular Dependencies = longer flow. Extend the board.
- Remove dependencies through advisory roles that empower teams with skills and automation (Invest)
- Stakeholders may still want planning to control decision making. Metrics and visible boards help make teams transparent.
- Roll-up teams and products into portfolio kanbans
- Stand-ups in front of the board are still public.
- Demos to pull in stakeholder feedback
Kanban Mistakes are Agile Mistakes
- Cards with bad definition or no definition of done
- "I did my job" = Waiting
- QA as the gate of all testing and quality = Flow imbalance
- Assigning work to specialists in the backlog = Artificial bottlenecks
- All waiting is bad waiting. Inventory your waiting.
- Planning too far ahead = wasted time. Roadmaps are as mythical as project plans.
- Lack of team metrics means endless churn and no visibility to improve
- Board is not up-to-date. Teams not motivated to kill cards.
Principles for Success
- Autonomy, Mastery & Purpose
- Understand and measure value.
- Teams depend on trust, respect and clear communication.
- Eliminate waiting while focusing on sustainable quality.
/


I'm usually not one to use pills recreationally, but having researched safe dosages and known plenty of regular users, I decided to give 'hydros' a try one night.
I decided to start off small and on an empty stomach to give me at least some idea of what to expect. At around 11:00 i took one 5mg hydrocodone tablet orally and proceeded to pluck out some favorite Cat Stevens songs on my guitar. Within 15 minutes I noticed a very slight buzz and maybe a little lapse in coordination. I decided then I was good to go and took 15mg of hydrocodone orally.
Around midnight I started to feel REALLY good. All the worry and tension that usually is with me started to fade away. I felt very fuzzy and dizzy but not at all paranoid or disoriented. But most of all happy and serene. If I had to compare it to something I would say it was close to cannabis when you're a little tired.
My stomach seemed somewhat tight so I ate a little bread and it went away.
I decided I needed some e-company and turned on AIM. One very interesting effect it had on me was making social interraction seem very easy. I talked to people about very meaningful things with no problem at all. Smiling also seemed easier and definitely more genuine. (it sometimes isn't for me) I felt genrally euphoric and VERY relaxed by 12:30. I did however notice that simple tasks seemed difficult and my concentration wandered CONSTANTLY. I WOULD DEFINITELY NOT DRIVE WHILE ON THIS.
Between 12:00 and 2:00 I felt very driven to create something beautiful. I drew, wrote, composed, and asked myself many simple philosophical questions. All the while smiling and content.
BUT therein lies the problem. Nothing in the world around me had changed, but I felt as though it would be completely okay if I just sat there and smiled for the rest of my life. True I enjoyed it VERY much, but afterwards I understood why it is so addictive.
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.


//= includes/head.html
//= ../blocks/header/header.html //= ../blocks/main/main.html //= ../blocks/footer/footer.html //= includes/scripts.html


Ferry Loading III
问题描述 :
Before bridges were common, ferries were used to transport cars across rivers. River ferries, unlike their larger cousins, run on a guide line and are powered by the river’s current. Cars drive onto the ferry from one end, the ferry crosses the river, and the cars exit from the other end of the ferry.
There is a ferry across the river that can take n cars across the river in t minutes and return in t minutes. A car may arrive at either river bank to be transported by the ferry to the opposite bank. The ferry travels continuously back and forth between the banks so long it is carrying a car or there is at least one car waiting at either bank. Whenever the ferry arrives at one of the banks, it unloads its cargo and loads up to n cars that are waiting to cross. If there are more than n, those that have been waiting the longest are loaded. If there are no cars waiting on either bank, the ferry waits until one arrives, loads it (if it arrives on the same bank of the ferry), and crosses the river. At what time does each car reach the other side of the river?
There is a ferry across the river that can take n cars across the river in t minutes and return in t minutes. A car may arrive at either river bank to be transported by the ferry to the opposite bank. The ferry travels continuously back and forth between the banks so long it is carrying a car or there is at least one car waiting at either bank. Whenever the ferry arrives at one of the banks, it unloads its cargo and loads up to n cars that are waiting to cross. If there are more than n, those that have been waiting the longest are loaded. If there are no cars waiting on either bank, the ferry waits until one arrives, loads it (if it arrives on the same bank of the ferry), and crosses the river. At what time does each car reach the other side of the river?
输入:
The first line of input contains c, the number of test cases. Each test case begins with n, t, m. m lines follow, each giving the arrival time for a car (in minutes since the beginning of the day), and the bank at which the car arrives (“left” or “right”). For each test case, output one line per car, in the same order as the input, giving the time at which that car is unloaded at the opposite bank. Output an empty line between cases.
输出:
You may assume that 0 < n, t, m ≤ 10000. The arrival times for each test case are strictly increasing. The ferry is initially on the left bank. Loading and unloading time may be considered to be 0.
样例输入:
2 2 10 10 0 left 10 left 20 left 30 left 40 left 50 left 60 left 70 left 80 left 90 left 2 10 3 10 right 25 left 40 left
样例输出:
10 30 30 50 50 70 70 90 90 110 30 40 60
#include<iostream> using namespace std; int main() { int t, c, n, m, i, time, ln[2], lt[2], ont, bt, temp, llt; bool bleft, tleft; char ch[10]; cin >> c; while (c--) { ln[0] = ln[1] = lt[0] = lt[1] = 0, bleft = 1, ont = 0, bt = 0; cin >> n >> t >> m; for (i = 0; i < m; i++) { scanf("%d%s", &time, ch); if (ch[0] == 'l') tleft = 1; else tleft = 0; if (bt + ont <= time) { bleft = (bleft + ont / t) % 2; bt = time; if (bleft == tleft) { ln[tleft] = 0; ont = t; } else { ln[tleft] = 1; ont = 2 * t; } ln[(tleft + 1) % 2] = 0; lt[0] = lt[1] = 0; printf("%d/n", bt + ont); } else { llt = 0; if (time >= bt + t) { temp = (time - bt) / t; bt += temp * t; ont -= temp * t; bleft = (bleft + temp) % 2; if (temp % 2) //难点 lt[bleft]--; lt[0] -= temp / 2; lt[1] -= temp / 2; lt[bleft] -= temp % 2; lt[bleft]++; //问题所在 if (lt[0] < 0) { ln[0] = 0; lt[0] = 0; } if (lt[1] < 0) { ln[1] = 0; lt[1] = 0; } } if (time > bt) llt = 2 * t; ln[tleft]++; if (bleft == tleft) { cout << bt + 2 * t * lt[tleft] + t + llt << endl; if (2 * t * lt[tleft] + t + llt > ont) ont = 2 * t * lt[tleft] + t + llt; } else { cout << bt + 2 * t + 2 * t * lt[tleft] << endl; if (2 * t * lt[tleft] + 2 * t > ont) ont = 2 * t * lt[tleft] + 2 * t; } if (ln[tleft] == n) { ln[tleft] = 0; lt[tleft]++; } } } if (c) printf("/n"); } return 0; }
(adsbygoogle = window.adsbygoogle || []).push({});
摸它一下算是袭警吗- -
摸它一下算是袭警吗- -
摸它一下算是袭警吗- -
摸它一下算是袭警吗- -
摸它一下算是袭警吗- -
摸它一下算是袭警吗- -
摸它一下算是袭警吗- -
摸它一下算是袭警吗- -
摸它一下算是袭警吗- -
好厉害～
有两个重复的话结果是正确的，但解法不够严谨，后面重复的覆盖掉前面的，由于题目数据限制也比较严，所以能提交通过。已更新算法
感谢分享 学习了`(*∩_∩*)′
正是我要找的，适合新手
第二个方法挺不错。NewHead代表新的头节点，通过递归找到最后一个节点之后，就把这个节点赋给NewHead，然后一直返回返回，中途这个值是没有变化的，一边返回一边把相应的指针方向颠倒，最后结束时返回新的头节点到主函数。
非常好，初学者就应该先理解递归
排版
正在学习搜索，很好
问题3中，GetRightPosition()和GetLeftPosition()与STL中的upper_bound()和lower_boune()的代码实现一样吗？
程序是对的。有些地方用了C++的写法
前排支持
不同的编译器，printf(),执行的顺序不同，所以结果也就不同，建议不要那么写
妈呀！这个模板好长OwQ！
楼主你能把scanf( "%d%*" ,&T );中%*的用法详细说明吗


 Where a Local handle only lives as long as the HandleScope in which it was allocated, a Persistent handle remains valid until it is explicitly disposed.
A persistent handle contains a reference to a storage cell within the v8 engine which holds an object value and which is updated by the garbage collector whenever the object is moved. A new storage cell can be created using Persistent::New and existing handles can be disposed using Persistent::Dispose. Since persistent handles are passed by value you may have many persistent handle objects that point to the same storage cell. For instance, if you pass a persistent handle as an argument to a function you will not get two different storage cells but rather two references to the same storage cell.
template<class T>
template<class S >
Creates a persistent handle for the same storage cell as the specified handle. This constructor allows you to pass persistent handles as arguments by value and to assign between persistent handles. However, attempting to assign between incompatible persistent handles, for instance from a Persistent<String> to a Persistent<Number> will cause a compile-time error. Assigning between compatible persistent handles, for instance assigning a Persistent<String> to a variable declared as Persistent<Value>, is allowed as String is a subclass of Value.
This check fails when trying to convert between incompatible handles. For example, converting from a Handle<String> to a Handle<Number>.


Welcome to my portfolio
I'm a former nurse turned web developper. I have a passion for healthcare, public health, data, tech and all the cool things they can do combined.
In my spare time, you will find me having fun with my family, learning new things or trying to build something. Sometimes all at once.


--- layout: home slug: home url: 'index.html' image: path: '/img/home.png' height: 400 width: 400 locale: es ---


nice
Businessmodel of NICE
Customer Segments
NICE Systems has a mass market business model, with no significant differentiation between customer groups. The company targets its offerings at firms across all industries and sizes.
Value Proposition
NICE Systems offers three primary value propositions: convenience, performance, and brand/status.
The company offers convenience by making life simpler for customers. Its solution offers real-time analytics, enabling clients to receive insights about both structured and unstructured data instantaneously. It also provides a consolidated, holistic view across clients’ operations.
The company demonstrates strong performance through tangible results. Specific examples of positive outcomes for its clients include the following:
- Health services provider Optum implemented NICE Interaction Analytics across five business units, enabling it to identify almost $700,000 in FTE cost reduction potential for two clients
- Telecommunications firm Telus used NICE Performance Management solutions to reduce agent performance data collection, resulting in $400,000 in annual savings
- Credit card firm TSYS used NICE’s solutions to improve contact center operational efficiency, resulting in a 7% reduction in call volume and annual savings of $317,000
- Mobile network operator Everything Everywhere used NICE’s Transformation Program to increase agent performance by 12 percentage points and Net Promoter Score by 27 points
-
The Royal Bank of Canada (RBC) used NICE Sales Performance Management to achieve faster payments for sales reps, reduce time-to-pay to two weeks, and enhance payment accuracy The company has established a strong brand due to its success. It has more than 25,000 customers, including over 85 members of the Fortune 100. These firms include Sprint, Barclays, American Airlines, and Citi. It employs over 3,500 workers in over 150 countries. Lastly, the company has won a number of awards, including the following:
- Recognition as one of the “Top 10 Most Innovative Companies in Money” by Fast Company
- The Best Compliance Technology Award by The Trade
- Recognition as the Financial Crime Risk Management Category Winner in the RiskTech100
- The WSL Award for Most Innovative Use of Technology by Institutional Trading
- Recognition as a “Leading Vendor” in Celent’s Market Surveillance Vendor Report ### Channels
NICE Systems’ main channel is its direct sales team. The company promotes its offering through its website, social media pages and participation in webinars, roadshows, and conferences.
Customer Relationships
NICE Systems’ customer relationship is primarily of a personal assistance nature. The company assists customers in the following ways:
Support Services – The company offers 24x7 phone and e-mail customer service. It also provides flexible service-level agreements (SLAs) that enable clients to choose the specific levels of support they need (e.g., short response times and long coverage hours for mission-critical operations).
Education Services – The company offers training services to provide customers with the needed skills and knowledge to operate NICE solutions.
Consulting Services – The company provides value-added services that leverage its solutions for the improvement of daily business operations. The services are provided by consultants with industry expertise and significant experience in implementing solutions for clients.
Despite this orientation, there is a self-service component. The company maintains a Customer Support Portal through which clients can start and track online Service Requests, view recent Service Requests, and create tailored quick links. Its website also provides white papers and eBooks.
Key Activities
NICE Systems’ business model entails designing and developing its software-based solutions for customers.
Key Partners
NICE Systems’ key partners are the suppliers that provide it with the equipment and materials it needs to develop its products.
It also relies on subcontractors to manufacture a small portion of its products that have hardware components. Lastly, it forms the following types of partnerships:
Business Partners – NICE works with firms to help them sell and support its solutions.
Development Partners – NICE works with software and hardware vendors to help them develop and deliver NICE-based solutions. It provides them with support throughout the product development cycle, in areas ranging from design, testing, and certification to marketing and sales.
Technology Partners – NICE works with tech firms to integrate their solutions into its products in order to provide enhanced offerings and capabilities to its customers. Specific partners include Alcatel Lucent, Avaya, Cisco, Citrix, EMC, Flextronics, Genesys, HP, Microsoft, and Motorla.
Global Alliances – NICE works with a network of market leaders to jointly provide turnkey solutions to customers in areas such as consulting. Specific partners include IBM, Amdocs, and Cisco.
The company operates a portal called “ExtraNICE” that partners can use to obtain product information, technical documentation, sales/marketing tools, and training information.
Key Resources
NICE Systems’ main resources are its human resources, who include the engineers, scientists, research/development professionals, and thought leaders that design and develop its solutions. They also include the consultants that provide advice and the customer service employees that provide support.
The company relies heavily on its intellectual property, with 135 U.S. patents and 50 patents issued in other countries, and over 72 patent applications pending in the U.S. and other countries.
Cost Structure
NICE Systems has a value-driven structure, aiming to provide a premium proposition through significant personal service and frequent service enhancements.
Its biggest cost driver is cost of revenues, a variable expense. Other major drivers are in the areas of sales/marketing, administration, and research/development, all fixed costs.
Revenue Streams
NICE Systems has two revenue streams: revenues it generates from sales of its products and revenues it generates from sales of its services.


Spectre currently supports version 13 of WebSocket Protocol specification, the same that’s implemented in latest browsers for now. WebSocket client API documentation can be found here.
To process WebSocket connections in Spectre, your app instance must override wsProcessor() factory method:
override WsProcessor? wsProcessor(WsHandshakeReq req) {
if (req.uri.pathStr == "/") return FooWsProcessor(pool)
else throw Err("Unknown path ${req.uri.pathStr}")
}
wsProcessor() should return WsProcessor instance that will process this WebSocket connection. Here you do all your routing work etc. You can always return a static instance that implements WsProcessor directly, but usually it’ll be actors, one per connection, extending WsActor helper class:
WebSocket processor that processes data in a separate thread.
Will be called after connection has been successfully negotiated.
When message has been received from client. Obj could be Str or Buf for text and binary fragments, respectively.
When client has closed connection. It’s invalid to read/send messages from/to conn in this method.
When you need to interoperate with WebSocket, use conn argument:
WsHandshake. Handshake request that connection has started from.
Str, Buf or null. Read next message from socket. This operation blocks until there’ll be a message in WebSocket. Returns null if connection was closed before anything was received.
Write text message to the WebSocket.
Write binary message to the WebSocket.
Finish WebSocket communication. After this method called it’s impossible to write or read to/from this connection anymore.
Note
You cannot use WsConn.read() from WsActor’s async_* methods because reading is already pending in the web server thread.
Synchronous WebSocket processing can be done by extending WsProcessor itself:
- class WsProcessor¶
WebSocket processor that processes data in a synchronous manner.
- onHandshake(WsHandshakeReq req)¶
Should return WebSocket handshake response. May be overriden to choose protocol or tune smth else in handshake response.
- onReady(WsConn conn)¶
Will be called after connection has been successfully negotiated.
- onMsg(WsConn conn, Obj msg)¶
When message has been received from client.
- onClose(WsConn conn)¶
When client has closed connection. It’s invalid to read/send messages from/to conn in this method.
Finally, an example of WsActor implementation demonstrates both sync and async processing:
const class FooWsProcessor : WsActor {
new make(ActorPool pool) : super(pool) {}
// synchronous processing (we’re overriding WsProcessor here)
override Void onReady(WsConn conn) {
conn.writeStr("Waiting for your message")
// Processing of this socket will block until read returns:
Obj? data := conn.read()
if (data == null) { return }
// First message to be processed here,
// all the rest to be received asynchronously:
conn.writeStr("Received ‘${data}’ (synchronously)")
// Sheduling some work for later:
sendLater(0.5sec) |->|{ conn.writeStr("Send after 0.5sec") }
sendLater(1sec) |->|{ conn.writeStr("Send after 1sec") }
sendLater(3sec) |->|{ conn.writeStr("Close after 3sec..."); conn.close }
}
// asynchronous processing example
override Void asyncOnMsg(WsConn conn, Obj msg) {
conn.writeStr("Received ‘" + msg + "’ (asynchronously)")
}
}


public class MimeUtility
extends java.lang.Object
There are a set of methods to encode and decode MIME headers as
per RFC 2047. Note that, in general, these methods are
not needed when using methods such as
setSubject
and setRecipients
; Jakarta Mail
will automatically encode and decode data when using these "higher
level" methods. The methods below are only needed when maniuplating
raw MIME headers using setHeader
and getHeader
methods. A brief description on handling such headers is given below:
RFC 822 mail headers must contain only US-ASCII characters. Headers that contain non US-ASCII characters must be encoded so that they contain only US-ASCII characters. Basically, this process involves using either BASE64 or QP to encode certain characters. RFC 2047 describes this in detail.
In Java, Strings contain (16 bit) Unicode characters. ASCII is a subset of Unicode (and occupies the range 0 - 127). A String that contains only ASCII characters is already mail-safe. If the String contains non US-ASCII characters, it must be encoded. An additional complexity in this step is that since Unicode is not yet a widely used charset, one might want to first charset-encode the String into another charset and then do the transfer-encoding.
Note that to get the actual bytes of a mail-safe String (say, for sending over SMTP), one must do
byte[] bytes = string.getBytes("iso-8859-1");
The setHeader
and addHeader
methods
on MimeMessage and MimeBodyPart assume that the given header values
are Unicode strings that contain only US-ASCII characters. Hence
the callers of those methods must insure that the values they pass
do not contain non US-ASCII characters. The methods in this class
help do this.
The getHeader
family of methods on MimeMessage and
MimeBodyPart return the raw header value. These might be encoded
as per RFC 2047, and if so, must be decoded into Unicode Strings.
The methods in this class help to do this.
Several System properties control strict conformance to the MIME spec. Note that these are not session properties but must be set globally as System properties.
The mail.mime.decodetext.strict
property controls
decoding of MIME encoded words. The MIME spec requires that encoded
words start at the beginning of a whitespace separated word. Some
mailers incorrectly include encoded words in the middle of a word.
If the mail.mime.decodetext.strict
System property is
set to "false"
, an attempt will be made to decode these
illegal encoded words. The default is true.
The mail.mime.encodeeol.strict
property controls the
choice of Content-Transfer-Encoding for MIME parts that are not of
type "text". Often such parts will contain textual data for which
an encoding that allows normal end of line conventions is appropriate.
In rare cases, such a part will appear to contain entirely textual
data, but will require an encoding that preserves CR and LF characters
without change. If the mail.mime.encodeeol.strict
System property is set to "true"
, such an encoding will
be used when necessary. The default is false.
In addition, the mail.mime.charset
System property can
be used to specify the default MIME charset to use for encoded words
and text parts that don't otherwise specify a charset. Normally, the
default MIME charset is derived from the default Java charset, as
specified in the file.encoding
System property. Most
applications will have no need to explicitly set the default MIME
charset. In cases where the default MIME charset to be used for
mail messages is different than the charset used for files stored on
the system, this property should be set.
The current implementation also supports the following System property.
The mail.mime.ignoreunknownencoding
property controls
whether unknown values in the Content-Transfer-Encoding
header, as passed to the decode
method, cause an exception.
If set to "true"
, unknown values are ignored and 8bit
encoding is assumed. Otherwise, unknown values cause a MessagingException
to be thrown.
| Modifier and Type | Field and Description |
|---|---|
static int |
ALL |
| Modifier and Type | Method and Description |
|---|---|
static java.io.InputStream |
decode(java.io.InputStream is,
java.lang.String encoding)
Decode the given input stream.
|
static java.lang.String |
decodeText(java.lang.String etext)
Decode "unstructured" headers, that is, headers that are defined
as '*text' as per RFC 822.
|
static java.lang.String |
decodeWord(java.lang.String eword)
The string is parsed using the rules in RFC 2047 and RFC 2231 for
parsing an "encoded-word".
|
static java.io.OutputStream |
encode(java.io.OutputStream os,
java.lang.String encoding)
Wrap an encoder around the given output stream.
|
static java.io.OutputStream |
encode(java.io.OutputStream os,
java.lang.String encoding,
java.lang.String filename)
Wrap an encoder around the given output stream.
|
static java.lang.String |
encodeText(java.lang.String text)
Encode a RFC 822 "text" token into mail-safe form as per
RFC 2047.
|
static java.lang.String |
encodeText(java.lang.String text,
java.lang.String charset,
java.lang.String encoding)
Encode a RFC 822 "text" token into mail-safe form as per
RFC 2047.
|
static java.lang.String |
encodeWord(java.lang.String word)
Encode a RFC 822 "word" token into mail-safe form as per
RFC 2047.
|
static java.lang.String |
encodeWord(java.lang.String word,
java.lang.String charset,
java.lang.String encoding)
Encode a RFC 822 "word" token into mail-safe form as per
RFC 2047.
|
static java.lang.String |
fold(int used,
java.lang.String s)
Fold a string at linear whitespace so that each line is no longer
than 76 characters, if possible.
|
static byte[] |
getBytes(java.io.InputStream is) |
static byte[] |
getBytes(java.lang.String s) |
static java.lang.String |
getDefaultJavaCharset()
Get the default charset corresponding to the system's current
default locale.
|
static java.lang.String |
getEncoding(DataHandler dh)
Same as
getEncoding(DataSource) except that instead
of reading the data from an InputStream it uses the
writeTo method to examine the data. |
static java.lang.String |
getEncoding(DataSource ds)
Get the Content-Transfer-Encoding that should be applied
to the input stream of this DataSource, to make it mail-safe.
|
static java.lang.String |
javaCharset(java.lang.String charset)
Convert a MIME charset name into a valid Java charset name.
|
static java.lang.String |
mimeCharset(java.lang.String charset)
Convert a java charset into its MIME charset name.
|
static java.lang.String |
quote(java.lang.String word,
java.lang.String specials)
A utility method to quote a word, if the word contains any
characters from the specified 'specials' list.
|
static java.lang.String |
unfold(java.lang.String s)
Unfold a folded header.
|
public static final int ALL
public static java.lang.String getEncoding(DataSource ds)
The algorithm used here is:
EncodingAware
, ask it
what encoding to use. If it returns non-null, return that value.
ds
- the DataSourcepublic static java.lang.String getEncoding(DataHandler dh)
getEncoding(DataSource)
except that instead
of reading the data from an InputStream
it uses the
writeTo
method to examine the data. This is more
efficient in the common case of a DataHandler
created with an object and a MIME type (for example, a
"text/plain" String) because all the I/O is done in this
thread. In the case requiring an InputStream
the
DataHandler
uses a thread, a pair of pipe streams,
and the writeTo
method to produce the data. dh
- the DataHandlerpublic static java.io.InputStream decode(java.io.InputStream is, java.lang.String encoding) throws MessagingException
In the current implementation, if the
mail.mime.ignoreunknownencoding
system property is set to
"true"
, unknown encoding values are ignored and the
original InputStream is returned.
is
- input streamencoding
- the encoding of the stream.MessagingException
- if the encoding is unknownpublic static java.io.OutputStream encode(java.io.OutputStream os, java.lang.String encoding) throws MessagingException
os
- output streamencoding
- the encoding of the stream.MessagingException
- if the encoding is unknownpublic static java.io.OutputStream encode(java.io.OutputStream os, java.lang.String encoding, java.lang.String filename) throws MessagingException
filename
parameter is used with the StreamProvider.UU_ENCODER
encoding and is included in the encoded output.os
- output streamencoding
- the encoding of the stream.filename
- name for the file being encoded (only used
with uuencode)MessagingException
- for unknown encodingspublic static java.lang.String encodeText(java.lang.String text) throws java.io.UnsupportedEncodingException
The given Unicode string is examined for non US-ASCII characters. If the string contains only US-ASCII characters, it is returned as-is. If the string contains non US-ASCII characters, it is first character-encoded using the platform's default charset, then transfer-encoded using either the B or Q encoding. The resulting bytes are then returned as a Unicode string containing only ASCII characters.
Note that this method should be used to encode only "unstructured" RFC 822 headers.
Example of usage:
MimePart part = ... String rawvalue = "FooBar Mailer, Japanese version 1.1" try { // If we know for sure that rawvalue contains only US-ASCII // characters, we can skip the encoding part part.setHeader("X-mailer", MimeUtility.encodeText(rawvalue)); } catch (UnsupportedEncodingException e) { // encoding failure } catch (MessagingException me) { // setHeader() failure }
text
- Unicode stringjava.io.UnsupportedEncodingException
- if the encoding failspublic static java.lang.String encodeText(java.lang.String text, java.lang.String charset, java.lang.String encoding) throws java.io.UnsupportedEncodingException
The given Unicode string is examined for non US-ASCII characters. If the string contains only US-ASCII characters, it is returned as-is. If the string contains non US-ASCII characters, it is first character-encoded using the specified charset, then transfer-encoded using either the B or Q encoding. The resulting bytes are then returned as a Unicode string containing only ASCII characters.
Note that this method should be used to encode only "unstructured" RFC 822 headers.
text
- the header valuecharset
- the charset. If this parameter is null, the
platform's default chatset is used.encoding
- the encoding to be used. Currently supported
values are "B" and "Q". If this parameter is null, then
the "Q" encoding is used if most of characters to be
encoded are in the ASCII charset, otherwise "B" encoding
is used.java.io.UnsupportedEncodingException
- if the charset
conversion failed.public static java.lang.String decodeText(java.lang.String etext) throws java.io.UnsupportedEncodingException
The string is decoded using the algorithm specified in RFC 2047, Section 6.1. If the charset-conversion fails for any sequence, an UnsupportedEncodingException is thrown. If the String is not an RFC 2047 style encoded header, it is returned as-is
Example of usage:
MimePart part = ... String rawvalue = null; String value = null; try { if ((rawvalue = part.getHeader("X-mailer")[0]) != null) value = MimeUtility.decodeText(rawvalue); } catch (UnsupportedEncodingException e) { // Don't care value = rawvalue; } catch (MessagingException me) { } return value;
etext
- the possibly encoded valuejava.io.UnsupportedEncodingException
- if the charset
conversion failed.public static java.lang.String encodeWord(java.lang.String word) throws java.io.UnsupportedEncodingException
The given Unicode string is examined for non US-ASCII characters. If the string contains only US-ASCII characters, it is returned as-is. If the string contains non US-ASCII characters, it is first character-encoded using the platform's default charset, then transfer-encoded using either the B or Q encoding. The resulting bytes are then returned as a Unicode string containing only ASCII characters.
This method is meant to be used when creating RFC 822 "phrases". The InternetAddress class, for example, uses this to encode it's 'phrase' component.
word
- Unicode stringjava.io.UnsupportedEncodingException
- if the encoding failspublic static java.lang.String encodeWord(java.lang.String word, java.lang.String charset, java.lang.String encoding) throws java.io.UnsupportedEncodingException
The given Unicode string is examined for non US-ASCII characters. If the string contains only US-ASCII characters, it is returned as-is. If the string contains non US-ASCII characters, it is first character-encoded using the specified charset, then transfer-encoded using either the B or Q encoding. The resulting bytes are then returned as a Unicode string containing only ASCII characters.
word
- Unicode stringcharset
- the MIME charsetencoding
- the encoding to be used. Currently supported
values are "B" and "Q". If this parameter is null, then
the "Q" encoding is used if most of characters to be
encoded are in the ASCII charset, otherwise "B" encoding
is used.java.io.UnsupportedEncodingException
- if the encoding failspublic static java.lang.String decodeWord(java.lang.String eword) throws ParseException, java.io.UnsupportedEncodingException
eword
- the encoded valueParseException
- if the string is not an
encoded-word as per RFC 2047 and RFC 2231.java.io.UnsupportedEncodingException
- if the charset
conversion failed.public static java.lang.String quote(java.lang.String word, java.lang.String specials)
The HeaderTokenizer
class defines two special
sets of delimiters - MIME and RFC 822.
This method is typically used during the generation of RFC 822 and MIME header fields.
word
- word to be quotedspecials
- the set of special charactersHeaderTokenizer.MIME
,
HeaderTokenizer.RFC822
public static java.lang.String fold(int used, java.lang.String s)
used
indicates how many characters have been used in
the current line; it is usually the length of the header name. Note that line breaks in the string aren't escaped; they probably should be.
used
- characters used in line so fars
- the string to foldpublic static java.lang.String unfold(java.lang.String s)
s
- the string to unfoldpublic static java.lang.String javaCharset(java.lang.String charset)
charset
- the MIME charset namepublic static java.lang.String mimeCharset(java.lang.String charset)
Note that a future version of JDK (post 1.2) might provide this functionality, in which case, we may deprecate this method then.
charset
- the JDK charsetpublic static java.lang.String getDefaultJavaCharset()
mail.mime.charset
is set, a system charset corresponding to this MIME charset will be
returned. public static byte[] getBytes(java.lang.String s)
public static byte[] getBytes(java.io.InputStream is) throws java.io.IOException
java.io.IOException


Organisers' Milestones
What’s involved in organising a Leancamp or Source Summit.
T-Minus: 12 weeks
- Organizing team of 2 or 3 people is finalized.
- 30min kick off meeting with either Leancamp Falicitator.
- Landing page opened. Start building the email list for interested participants.
- Slack channel created. Internal communication for local team, and connecting them to the mothership!
- List of communities: What communities are we going to invite to join? What do they have to learn from each other?
- Ambassador wishlist created - community leaders who can help curate, think of topics, invite speakers and promote the event
T-Minus: 11 weeks
- List of possible venues created. Hosting invitations sent.
Target: 4 venues contacted.
T-Minus: 10 weeks
- Budget created: Sit down with your Advisors to walk you through the budget of previous events. Then make your budget together. This takes around 30-40 minutes.
Target: 150 emails signed up before moving on. Go/no-go based on signups.
T-Minus: 9 weeks
- Venue chosen and confirmed.
- Website launch: once the venue and date are confirmed a new webpage promoting your event will take the place of the existing MailChimp landing page.
Target: site launched.
T-Minus: 8 weeks
- Website sales reviewed with Leancamp Falicitator. Generally, there’s either an awareness or a conversion problem - so further investigation is required.
- Weekly standup call scheduled.
Target: 200 website visitors, 3-5% conversion on sales.
T-Minus: 6 weeks
- Volunteer team recruited for event day. 5-10 people.
Target: 50% of breakeven revenue.
T-Minus: 4 weeks
- Go / no-go decision with Leancamp Falicitator. (We need to breakeven by this point.)
- Catering options listed
- Travel & accomodation for external guests booked. (It’s easiest to give them our budget, a few options for travel, and get them to book travel for themselves.)
Target: Break-even.
T-Minus: 3 weeks
- Catering booked.
- Topic planning: contact the ambassadors to create a list tentative session topics with them.
T-Minus: 2 weeks
- Email to participants. Remind them to promote the event. Invite them to Hackpad to discuss their learning goals and topics.
T-Minus: 1 week
- Emails to participants: Another reminder, with last minute speaker announcements, and a list of some of the best topics from Hackpad.
T-Minus: 1 day
- Venue check
Week After
- Follow up email to community to thank them and invite feedback
2 Weeks After
- Next event date announced with discounted advance tickets


Volunteachers
Select Filter
Select
Project
Village
Status
User Type
Select Project
{{p.projectName}}
Select Village
{{v.villageName}}
Status
Active
InActive
User Type
Volunteachers
Local Volunteachers
Search by name, city,user type, status or village
Active
Inactive
{{v.user.userName}}
{{v.district.districtName}}, {{v.district.state.stateName}}
{{v.village.villageName}}
{{v.user.email}}