| DOSE: |
22 mg |
oral |
2C-I |
(capsule) |
Having recently acquired a gram of 2C-I, I journey to a town I used to live in, looked up another friend who is interested in psychonautical journeys, and we each ingested 22mg I had previously weighed out into gel caps.
T+40min
Starting to feel a slight alert. (pre trip jitters) We decide to go for a walk.
T+60min.
The clouds are taking on a delightful rosy glow. Both trippers can't tell how much is the coming sundown, or how much is the coming 2C-I effects.
T+120 min.
The sidewalk is melting around us; the cars are giving off long trails that smear into the patterns we are seeing everywhere...We both remark that this effect is alot like 'ole time acid', but with no mental affect whatsoever... We love the mental clarity and the removal of all the potential negative vibes that come with LSD... We each buy a bottle of tea with lemon... Taste seems normal.
T+245min.
We are having a hard time walking across the street, as we can't easily judge the distance of oncoming traffic...We decide to go back to the room.... We both are commenting that although the color saturation is somewhat less than mesc or acid, we are really into the way the world is patterning and melting around us....We agree that we love this material, and can't wait to share it with others at a future date.
T+3hrs.
We are peaking!! There is heightened colors, tending to run to bright yellows, golds and greens... Our minds are completely clear... We can't get over the fact that we are having a 'pumped up, full on trip', and yet the mind remains completely clear... Great stuff.
T+4,5,6hrs.
We talk about society, solve most of the world problems, laugh, just have a great trip...We notice that time dilation has occurred... (we thought maybe 45 min had passed, it had been three hours)
T+7,8,9,hours.
We wind down smoothly, feeling great, no head ache, no bodily concerns... I slept for 5 hours and awakened feeling great, rejuvinated, blessed by the psychedelic Gods!!
Great material--No need for higher dosage....Thank you Sasha!!!!!!!!!!
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.


Statistics
Recipe count:
Recipes with ingredients outdated:
Re-compute ingredients in all recipes
Recipes not yet parsed:
Re-parse all recipes
Recipes that can't be parsed:
Try again
User accounts :
Search Templates :
Delete all errors
Delete
Last logins:
Last 30 queries:


Historical Stock Data
Main Content
JAVASCRIPT IS REQUIRED TO USE THIS WEBSITE
if page does not load, please enable javascript
Loading...


WELLNESS WEDNESDAY
Find Activity
About
Let's find a right activity for YOUR TEAM!
ALL
VIRTUAL
IN-PERSON
TEAM BONDING
ICEBREAKER
SOCIAL DISTANCE
OUTDOOR
MINDFULNESS
CREATIVE
COMMUNICATION
RELAXING
COMPETITIVE
BODY MOVEMENT
PROBLEM SOLVING
SPORTS
BRAIN TEASER
LEADERSHIP
THANKSGIVING
CHRISTMAS
Time Recommendation
15
30
45
60
90 +
Supply Needed
YES
NO
Name
Results
Sort by
Name A-Z
Name Z-A
Shortest time
Longest time
Just a second...


Angular screenfull is a wrapper around the Screenfull library, that allows you to use the HTML5 fullscreen API, in "the Angular way".
You can fork it on github.
angular-animate and marked are not needed, but for some reason are added in the examples generated by ngdoc
$ npm install --save angular-screenfull
<script src="node_modules/screenfull/dist/screenfull.js"></script>
<script src="node_modules/angular-screenfull/dist/angular-screenfull.min.js"></script>
You need to have both screenfull and angular-screenfull loaded in the browser in order to the directive to work. I have a an agular.js project using a custom loader, but if you want to add webpack support, PR's are welcomed.
angular.module('myApp', ['angularScreenfull']);
In its simplest form, you can do something like this
The ngsf-fullscreen
indicates which element is going to be the fullscreen element and the ngsf-toggle-fullscreen
will toggle the fullscren when clicked.
Note that you can have multiple ngsf-fullscreen
elements living side by side, the other directives require that a
parent controller exists.
When the element that uses directive ngsf-fullscreen
becomes fullscreen a class is added using the $animation
service, so you can add animations to the transition.
Note that this library doesn't come with any CSS, so if you would like your element to occupy the whole screen (and I imagine that you want to), you should add something like this to your CSS.
.fullscreen {
width: 100%;
height: 100%;
}
You can also expose the element controller trough its directive name. So for example you can achieve the same result using this
We also provide directives to show the elements based on the fullscreen status, so for example you can have this
As stated in this bug, it appears that browser vendors don't allow a user script to tap into the F11
hotkey for security reasons. That means that we can only detect that the page is in fullscreen mode when the HTML5 fullscreen API
is used.
If you can find a way to overcome this problem please let me know!


csgopresence
hello, welcome to csgopresence.
launch your game
to start!
be sure to run
node setup.js
command first!
Stop csgopresence


Angle¶
-
class
astropy.coordinates.
Angle
[source] [edit on github]¶ Bases:
astropy.units.quantity.Quantity
One or more angular value(s) with units equivalent to radians or degrees.
An angle can be specified either as an array, scalar, tuple (see below), string,
Quantity
or anotherAngle
.The input parser is flexible and supports a variety of formats:
Angle('10.2345d') Angle(['10.2345d', '-20d']) Angle('1:2:30.43 degrees') Angle('1 2 0 hours') Angle(np.arange(1, 8), unit=u.deg) Angle(u'1°2′3″') Angle('1d2m3.4s') Angle('-1h2m3s') Angle((-1, 2, 3), unit=u.deg) # (d, m, s) Angle(10.2345 * u.deg) Angle(Angle(10.2345 * u.deg))
Parameters: angle :
array
, scalar,Quantity
,Angle
The angle value. If a tuple, will be interpreted as
(h, m, s)
or(d, m, s)
depending onunit
. If a string, it will be interpreted following the rules described above.If
angle
is a sequence or array of strings, the resulting values will be in the givenunit
, or ifNone
is provided, the unit will be taken from the first given value.unit :
UnitBase
, str, optionalThe unit of the value specified for the angle. This may be any string that
Unit
understands, but it is better to give an actual unit object. Must be an angular unit.dtype :
dtype
, optionalSee
Quantity
.copy : bool, optional
See
Quantity
.Raises: `~astropy.units.UnitsError`
If a unit is not provided or it is not an angular unit.
Attributes Summary
dms
The angle’s value in degrees, as a named tuple with (d, m, s)
members.hms
The angle’s value in hours, as a named tuple with (h, m, s)
members.hour
The angle’s value in hours (read-only property). signed_dms
The angle’s value in degrees, as a named tuple with (sign, d, m, s)
members.Methods Summary
Attributes Documentation
-
dms
¶ The angle’s value in degrees, as a named tuple with
(d, m, s)
members. (This is a read-only property.)
-
hms
¶ The angle’s value in hours, as a named tuple with
(h, m, s)
members. (This is a read-only property.)
-
hour
¶ The angle’s value in hours (read-only property).
-
signed_dms
¶ The angle’s value in degrees, as a named tuple with
(sign, d, m, s)
members. Thed
,m
,s
are thus always positive, and the sign of the angle is given bysign
. (This is a read-only property.)This is primarily intented for use with
dms
to generate string representations of coordinates that are correct for negative angles.
Methods Documentation
-
format
(*args, **kwargs)[source] [edit on github]¶ Deprecated since version 0.3: The format function is deprecated and may be removed in a future version. Use to_string instead.
-
is_within_bounds
(lower=None, upper=None)[source] [edit on github]¶ Check if all angle(s) satisfy
lower <= angle < upper
If
lower
is not specified (orNone
) then no lower bounds check is performed. Likewiseupper
can be left unspecified. For example:>>> from astropy.coordinates import Angle >>> import astropy.units as u >>> a = Angle([-20, 150, 350] * u.deg) >>> a.is_within_bounds('0d', '360d') False >>> a.is_within_bounds(None, '360d') True >>> a.is_within_bounds(-30 * u.deg, None) True
Parameters: lower : str,
Angle
, angularQuantity
,None
Specifies lower bound for checking. This can be any object that can initialize an
Angle
object, e.g.'180d'
,180 * u.deg
, orAngle(180, unit=u.deg)
.upper : str,
Angle
, angularQuantity
,None
Specifies upper bound for checking. This can be any object that can initialize an
Angle
object, e.g.'180d'
,180 * u.deg
, orAngle(180, unit=u.deg)
.Returns: is_within_bounds : bool
True
if all angles satisfylower <= angle < upper
-
to_string
(unit=None, decimal=False, sep=u'fromunit', precision=None, alwayssign=False, pad=False, fields=3, format=None)[source] [edit on github]¶ A string representation of the angle.
Parameters: unit :
UnitBase
, optionalSpecifies the unit. Must be an angular unit. If not provided, the unit used to initialize the angle will be used.
decimal : bool, optional
If
True
, a decimal respresentation will be used, otherwise the returned string will be in sexagesimal form.sep : str, optional
The separator between numbers in a sexagesimal representation. E.g., if it is ‘:’, the result is
'12:41:11.1241'
. Also accepts 2 or 3 separators. E.g.,sep='hms'
would give the result'12h41m11.1241s'
, or sep=’-:’ would yield'11-21:17.124'
. Alternatively, the special string ‘fromunit’ means ‘dms’ if the unit is degrees, or ‘hms’ if the unit is hours.precision : int, optional
The level of decimal precision. If
decimal
isTrue
, this is the raw precision, otherwise it gives the precision of the last place of the sexagesimal representation (seconds). IfNone
, or not provided, the number of decimal places is determined by the value, and will be between 0-8 decimal places as required.alwayssign : bool, optional
pad : bool, optional
If
True
, include leading zeros when needed to ensure a fixed number of characters for sexagesimal representation.fields : int, optional
Specifies the number of fields to display when outputting sexagesimal notation. For example:
- fields == 1:
'5d'
- fields == 2:
'5d45m'
- fields == 3:
'5d45m32.5s'
By default, all fields are displayed.
format : str, optional
The format of the result. If not provided, an unadorned string is returned. Supported values are:
- ‘latex’: Return a LaTeX-formatted string
- ‘unicode’: Return a string containing non-ASCII unicode characters, such as the degree symbol
Returns: strrepr : str
A string representation of the angle.
- fields == 1:
-
wrap_at
(wrap_angle, inplace=False)[source] [edit on github]¶ Wrap the
Angle
object at the givenwrap_angle
.This method forces all the angle values to be within a contiguous 360 degree range so that
wrap_angle - 360d <= angle < wrap_angle
. By default a new Angle object is returned, but if theinplace
argument isTrue
then theAngle
object is wrapped in place and nothing is returned.For instance:
>>> from astropy.coordinates import Angle >>> import astropy.units as u >>> a = Angle([-20.0, 150.0, 350.0] * u.deg) >>> a.wrap_at(360 * u.deg).degree # Wrap into range 0 to 360 degrees array([ 340., 150., 350.]) >>> a.wrap_at('180d', inplace=True) # Wrap into range -180 to 180 degrees >>> a.degree array([ -20., 150., -10.])
Parameters: wrap_angle : str,
Angle
, angularQuantity
Specifies a single value for the wrap angle. This can be any object that can initialize an
Angle
object, e.g.'180d'
,180 * u.deg
, orAngle(180, unit=u.deg)
.inplace : bool
Returns: out : Angle or
None
-


Next: FORMAT Layout Control, Previous: FORMAT Printer Operations, Up: Formatted Output
The following constructs provide access to the pretty printer:
| • Tilde Underscore-> Conditional Newline: | ||
| • Tilde Less-Than-Sign-> Logical Block: | ||
| • Tilde I-> Indent: | ||
| • Tilde Slash-> Call Function: |


{% load i18n %}
{% if rel_form.skip.value %}
is the {{rel_form.get_pos_display}} constituent (skipping {{rel_form.get_skip_display}})
{% if rel_form.cat.value %} with category {{rel_form.cat.value}}{% endif %}
that is a {{rel_form.get_raxis_display }} of {{rel_form.get_towards_display }}
{% elif rel_form.pos.value %}
is the {{rel_form.get_pos_display}} constituent
{% if rel_form.cat.value %} with category {{rel_form.cat.value}}{% endif %}
that is a {{rel_form.get_raxis_display }} of {{rel_form.get_towards_display }}
{% else %}
is the first constituent {% if rel_form.cat.value %} with category {{rel_form.cat.value}}{% endif %}
that is a {{rel_form.get_raxis_display }} of {{rel_form.get_towards_display }}
{% endif %}


The dispatcher – running jobs remotely using Pyro4¶
-
class
hpbandster.core.dispatcher.
Dispatcher
(new_result_callback, run_id='0', ping_interval=10, nameserver='localhost', nameserver_port=None, host=None, logger=None, queue_callback=None)[source]¶ The dispatcher is responsible for assigning tasks to free workers, report results back to the master and communicate to the nameserver.
Parameters: - new_result_callback (function) – function that will be called with a Job instance as argument. From the Job the result can be read and e.g. logged.
- run_id (str) – unique run_id associated with the HPB run
- ping_interval (int) – how often to ping for workers (in seconds)
- nameserver (str) – address of the Pyro4 nameserver
- nameserver_port (int) – port of Pyro4 nameserver
- host (str) – ip (or name that resolves to that) of the network interface to use
- logger (logging.Logger) – logger-instance for info and debug
- queue_callback (function) – gets called with the number of workers in the pool on every update-cycle


public final class Period extends Object implements ChronoPeriod, Serializable
This class models a quantity or amount of time in terms of years, months and days.
See Duration
for the time-based equivalent to this class.
Durations and periods differ in their treatment of daylight savings time
when added to ZonedDateTime
. A Duration
will add an exact
number of seconds, thus a duration of one day is always exactly 24 hours.
By contrast, a Period
will add a conceptual day, trying to maintain
the local time.
For example, consider adding a period of one day and a duration of one day to
18:00 on the evening before a daylight savings gap. The Period
will add
the conceptual day and result in a ZonedDateTime
at 18:00 the following day.
By contrast, the Duration
will add exactly 24 hours, resulting in a
ZonedDateTime
at 19:00 the following day (assuming a one hour DST gap).
The supported units of a period are YEARS
,
MONTHS
and DAYS
.
All three fields are always present, but may be set to zero.
The ISO-8601 calendar system is the modern civil calendar system used today in most of the world. It is equivalent to the proleptic Gregorian calendar system, in which today's rules for leap years are applied for all time.
The period is modeled as a directed amount of time, meaning that individual parts of the period may be negative.
This is a value-based
class; use of identity-sensitive operations (including reference equality
(==
), identity hash code, or synchronization) on instances of
Period
may have unpredictable results and should be avoided.
The equals
method should be used for comparisons.
| Modifier and Type | Field and Description |
|---|---|
static Period |
ZERO
A constant for a period of zero.
|
| Modifier and Type | Method and Description |
|---|---|
Temporal |
addTo(Temporal temporal)
Adds this period to the specified temporal object.
|
static Period |
between(LocalDate startDateInclusive,
LocalDate endDateExclusive)
Obtains a
Period consisting of the number of years, months,
and days between two dates. |
boolean |
equals(Object obj)
Checks if this period is equal to another period.
|
static Period |
from(TemporalAmount amount)
Obtains an instance of
Period from a temporal amount. |
long |
get(TemporalUnit unit)
Gets the value of the requested unit.
|
IsoChronology |
getChronology()
Gets the chronology of this period, which is the ISO calendar system.
|
int |
getDays()
Gets the amount of days of this period.
|
int |
getMonths()
Gets the amount of months of this period.
|
List<TemporalUnit> |
getUnits()
Gets the set of units supported by this period.
|
int |
getYears()
Gets the amount of years of this period.
|
int |
hashCode()
A hash code for this period.
|
boolean |
isNegative()
Checks if any of the three units of this period are negative.
|
boolean |
isZero()
Checks if all three units of this period are zero.
|
Period |
minus(TemporalAmount amountToSubtract)
Returns a copy of this period with the specified period subtracted.
|
Period |
minusDays(long daysToSubtract)
Returns a copy of this period with the specified days subtracted.
|
Period |
minusMonths(long monthsToSubtract)
Returns a copy of this period with the specified months subtracted.
|
Period |
minusYears(long yearsToSubtract)
Returns a copy of this period with the specified years subtracted.
|
Period |
multipliedBy(int scalar)
Returns a new instance with each element in this period multiplied
by the specified scalar.
|
Period |
negated()
Returns a new instance with each amount in this period negated.
|
Period |
normalized()
Returns a copy of this period with the years and months normalized.
|
static Period |
of(int years,
int months,
int days)
Obtains a
Period representing a number of years, months and days. |
static Period |
ofDays(int days)
Obtains a
Period representing a number of days. |
static Period |
ofMonths(int months)
Obtains a
Period representing a number of months. |
static Period |
ofWeeks(int weeks)
Obtains a
Period representing a number of weeks. |
static Period |
ofYears(int years)
Obtains a
Period representing a number of years. |
static Period |
parse(CharSequence text)
Obtains a
Period from a text string such as PnYnMnD . |
Period |
plus(TemporalAmount amountToAdd)
Returns a copy of this period with the specified period added.
|
Period |
plusDays(long daysToAdd)
Returns a copy of this period with the specified days added.
|
Period |
plusMonths(long monthsToAdd)
Returns a copy of this period with the specified months added.
|
Period |
plusYears(long yearsToAdd)
Returns a copy of this period with the specified years added.
|
Temporal |
subtractFrom(Temporal temporal)
Subtracts this period from the specified temporal object.
|
String |
toString()
Outputs this period as a
String , such as P6Y3M1D . |
long |
toTotalMonths()
Gets the total number of months in this period.
|
Period |
withDays(int days)
Returns a copy of this period with the specified amount of days.
|
Period |
withMonths(int months)
Returns a copy of this period with the specified amount of months.
|
Period |
withYears(int years)
Returns a copy of this period with the specified amount of years.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
between
public static final Period ZERO
public static Period ofYears(int years)
Period
representing a number of years.
The resulting period will have the specified years. The months and days units will be zero.
years
- the number of years, positive or negativepublic static Period ofMonths(int months)
Period
representing a number of months.
The resulting period will have the specified months. The years and days units will be zero.
months
- the number of months, positive or negativepublic static Period ofWeeks(int weeks)
Period
representing a number of weeks.
The resulting period will be day-based, with the amount of days equal to the number of weeks multiplied by 7. The years and months units will be zero.
weeks
- the number of weeks, positive or negativepublic static Period ofDays(int days)
Period
representing a number of days.
The resulting period will have the specified days. The years and months units will be zero.
days
- the number of days, positive or negativepublic static Period of(int years, int months, int days)
Period
representing a number of years, months and days.
This creates an instance based on years, months and days.
years
- the amount of years, may be negativemonths
- the amount of months, may be negativedays
- the amount of days, may be negativepublic static Period from(TemporalAmount amount)
Period
from a temporal amount.
This obtains a period based on the specified amount.
A TemporalAmount
represents an amount of time, which may be
date-based or time-based, which this factory extracts to a Period
.
The conversion loops around the set of units from the amount and uses
the YEARS
, MONTHS
and DAYS
units to create a period.
If any other units are found then an exception is thrown.
If the amount is a ChronoPeriod
then it must use the ISO chronology.
amount
- the temporal amount to convert, not nullDateTimeException
- if unable to convert to a Period
ArithmeticException
- if the amount of years, months or days exceeds an intpublic static Period parse(CharSequence text)
Period
from a text string such as PnYnMnD
.
This will parse the string produced by toString()
which is
based on the ISO-8601 period formats PnYnMnD
and PnW
.
The string starts with an optional sign, denoted by the ASCII negative
or positive symbol. If negative, the whole period is negated.
The ASCII letter "P" is next in upper or lower case.
There are then four sections, each consisting of a number and a suffix.
At least one of the four sections must be present.
The sections have suffixes in ASCII of "Y", "M", "W" and "D" for
years, months, weeks and days, accepted in upper or lower case.
The suffixes must occur in order.
The number part of each section must consist of ASCII digits.
The number may be prefixed by the ASCII negative or positive symbol.
The number must parse to an int
.
The leading plus/minus sign, and negative values for other units are
not part of the ISO-8601 standard. In addition, ISO-8601 does not
permit mixing between the PnYnMnD
and PnW
formats.
Any week-based input is multiplied by 7 and treated as a number of days.
For example, the following are valid inputs:
"P2Y" -- Period.ofYears(2) "P3M" -- Period.ofMonths(3) "P4W" -- Period.ofWeeks(4) "P5D" -- Period.ofDays(5) "P1Y2M3D" -- Period.of(1, 2, 3) "P1Y2M3W4D" -- Period.of(1, 2, 25) "P-1Y2M" -- Period.of(-1, 2, 0) "-P1Y2M" -- Period.of(-1, -2, 0)
text
- the text to parse, not nullDateTimeParseException
- if the text cannot be parsed to a periodpublic static Period between(LocalDate startDateInclusive, LocalDate endDateExclusive)
Period
consisting of the number of years, months,
and days between two dates.
The start date is included, but the end date is not.
The period is calculated by removing complete months, then calculating
the remaining number of days, adjusting to ensure that both have the same sign.
The number of months is then split into years and months based on a 12 month year.
A month is considered if the end day-of-month is greater than or equal to the start day-of-month.
For example, from 2010-01-15
to 2011-03-18
is one year, two months and three days.
The result of this method can be a negative period if the end is before the start. The negative sign will be the same in each of year, month and day.
startDateInclusive
- the start date, inclusive, not nullendDateExclusive
- the end date, exclusive, not nullChronoLocalDate.until(ChronoLocalDate)
public long get(TemporalUnit unit)
This returns a value for each of the three supported units,
YEARS
, MONTHS
and
DAYS
.
All other units throw an exception.
get
in interface ChronoPeriod
get
in interface TemporalAmount
unit
- the TemporalUnit
for which to return the valueDateTimeException
- if the unit is not supportedUnsupportedTemporalTypeException
- if the unit is not supportedpublic List<TemporalUnit> getUnits()
The supported units are YEARS
,
MONTHS
and DAYS
.
They are returned in the order years, months, days.
This set can be used in conjunction with get(TemporalUnit)
to access the entire state of the period.
getUnits
in interface ChronoPeriod
getUnits
in interface TemporalAmount
public IsoChronology getChronology()
The Chronology
represents the calendar system in use.
The ISO-8601 calendar system is the modern civil calendar system used today
in most of the world. It is equivalent to the proleptic Gregorian calendar
system, in which today's rules for leap years are applied for all time.
getChronology
in interface ChronoPeriod
public boolean isZero()
A zero period has the value zero for the years, months and days units.
isZero
in interface ChronoPeriod
public boolean isNegative()
This checks whether the years, months or days units are less than zero.
isNegative
in interface ChronoPeriod
public int getYears()
This returns the years unit.
The months unit is not automatically normalized with the years unit. This means that a period of "15 months" is different to a period of "1 year and 3 months".
public int getMonths()
This returns the months unit.
The months unit is not automatically normalized with the years unit. This means that a period of "15 months" is different to a period of "1 year and 3 months".
public int getDays()
This returns the days unit.
public Period withYears(int years)
This sets the amount of the years unit in a copy of this period. The months and days units are unaffected.
The months unit is not automatically normalized with the years unit. This means that a period of "15 months" is different to a period of "1 year and 3 months".
This instance is immutable and unaffected by this method call.
years
- the years to represent, may be negativePeriod
based on this period with the requested years, not nullpublic Period withMonths(int months)
This sets the amount of the months unit in a copy of this period. The years and days units are unaffected.
The months unit is not automatically normalized with the years unit. This means that a period of "15 months" is different to a period of "1 year and 3 months".
This instance is immutable and unaffected by this method call.
months
- the months to represent, may be negativePeriod
based on this period with the requested months, not nullpublic Period withDays(int days)
This sets the amount of the days unit in a copy of this period. The years and months units are unaffected.
This instance is immutable and unaffected by this method call.
days
- the days to represent, may be negativePeriod
based on this period with the requested days, not nullpublic Period plus(TemporalAmount amountToAdd)
This operates separately on the years, months and days. No normalization is performed.
For example, "1 year, 6 months and 3 days" plus "2 years, 2 months and 2 days" returns "3 years, 8 months and 5 days".
The specified amount is typically an instance of Period
.
Other types are interpreted using from(TemporalAmount)
.
This instance is immutable and unaffected by this method call.
plus
in interface ChronoPeriod
amountToAdd
- the amount to add, not nullPeriod
based on this period with the requested period added, not nullDateTimeException
- if the specified amount has a non-ISO chronology or
contains an invalid unitArithmeticException
- if numeric overflow occurspublic Period plusYears(long yearsToAdd)
This adds the amount to the years unit in a copy of this period. The months and days units are unaffected. For example, "1 year, 6 months and 3 days" plus 2 years returns "3 years, 6 months and 3 days".
This instance is immutable and unaffected by this method call.
yearsToAdd
- the years to add, positive or negativePeriod
based on this period with the specified years added, not nullArithmeticException
- if numeric overflow occurspublic Period plusMonths(long monthsToAdd)
This adds the amount to the months unit in a copy of this period. The years and days units are unaffected. For example, "1 year, 6 months and 3 days" plus 2 months returns "1 year, 8 months and 3 days".
This instance is immutable and unaffected by this method call.
monthsToAdd
- the months to add, positive or negativePeriod
based on this period with the specified months added, not nullArithmeticException
- if numeric overflow occurspublic Period plusDays(long daysToAdd)
This adds the amount to the days unit in a copy of this period. The years and months units are unaffected. For example, "1 year, 6 months and 3 days" plus 2 days returns "1 year, 6 months and 5 days".
This instance is immutable and unaffected by this method call.
daysToAdd
- the days to add, positive or negativePeriod
based on this period with the specified days added, not nullArithmeticException
- if numeric overflow occurspublic Period minus(TemporalAmount amountToSubtract)
This operates separately on the years, months and days. No normalization is performed.
For example, "1 year, 6 months and 3 days" minus "2 years, 2 months and 2 days" returns "-1 years, 4 months and 1 day".
The specified amount is typically an instance of Period
.
Other types are interpreted using from(TemporalAmount)
.
This instance is immutable and unaffected by this method call.
minus
in interface ChronoPeriod
amountToSubtract
- the amount to subtract, not nullPeriod
based on this period with the requested period subtracted, not nullDateTimeException
- if the specified amount has a non-ISO chronology or
contains an invalid unitArithmeticException
- if numeric overflow occurspublic Period minusYears(long yearsToSubtract)
This subtracts the amount from the years unit in a copy of this period. The months and days units are unaffected. For example, "1 year, 6 months and 3 days" minus 2 years returns "-1 years, 6 months and 3 days".
This instance is immutable and unaffected by this method call.
yearsToSubtract
- the years to subtract, positive or negativePeriod
based on this period with the specified years subtracted, not nullArithmeticException
- if numeric overflow occurspublic Period minusMonths(long monthsToSubtract)
This subtracts the amount from the months unit in a copy of this period. The years and days units are unaffected. For example, "1 year, 6 months and 3 days" minus 2 months returns "1 year, 4 months and 3 days".
This instance is immutable and unaffected by this method call.
monthsToSubtract
- the years to subtract, positive or negativePeriod
based on this period with the specified months subtracted, not nullArithmeticException
- if numeric overflow occurspublic Period minusDays(long daysToSubtract)
This subtracts the amount from the days unit in a copy of this period. The years and months units are unaffected. For example, "1 year, 6 months and 3 days" minus 2 days returns "1 year, 6 months and 1 day".
This instance is immutable and unaffected by this method call.
daysToSubtract
- the months to subtract, positive or negativePeriod
based on this period with the specified days subtracted, not nullArithmeticException
- if numeric overflow occurspublic Period multipliedBy(int scalar)
This returns a period with each of the years, months and days units 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.
multipliedBy
in interface ChronoPeriod
scalar
- the scalar to multiply by, not nullPeriod
based on this period with the amounts multiplied by the scalar, not nullArithmeticException
- if numeric overflow occurspublic Period negated()
This returns a period with each of the years, months and days units individually negated.  No normalization is performed.
negated
in interface ChronoPeriod
Period
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
public Period normalized()
This normalizes the years and months units, leaving the days unit unchanged. The months unit is adjusted to have an absolute value less than 11, with the years unit being adjusted to compensate. For example, a period of "1 Year and 15 months" will be normalized to "2 years and 3 months".
The sign of the years and months units will be the same after normalization. For example, a period of "1 year and -25 months" will be normalized to "-1 year and -1 month".
This instance is immutable and unaffected by this method call.
normalized
in interface ChronoPeriod
Period
based on this period with excess months normalized to years, not nullArithmeticException
- if numeric overflow occurspublic long toTotalMonths()
This returns the total number of months in the period by multiplying the number of years by 12 and adding the number of months.
This instance is immutable and unaffected by this method call.
public Temporal addTo(Temporal temporal)
This returns a temporal object of the same observable type as the input with this period added. If the temporal has a chronology, it must be the ISO chronology.
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 calculation operates as follows. First, the chronology of the temporal is checked to ensure it is ISO chronology or null. Second, if the months are zero, the years are added if non-zero, otherwise the combination of years and months is added if non-zero. Finally, any days are added.
This approach ensures that a partial period can be added to a partial date.
For example, a period of years and/or months can be added to a YearMonth
,
but a period including days cannot.
The approach also adds years and months together when necessary, which ensures
correct behaviour at the end of the month.
This instance is immutable and unaffected by this method call.
addTo
in interface ChronoPeriod
addTo
in interface TemporalAmount
temporal
- the temporal object to adjust, not nullDateTimeException
- if unable to addArithmeticException
- if numeric overflow occurspublic Temporal subtractFrom(Temporal temporal)
This returns a temporal object of the same observable type as the input with this period subtracted. If the temporal has a chronology, it must be the ISO chronology.
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 calculation operates as follows. First, the chronology of the temporal is checked to ensure it is ISO chronology or null. Second, if the months are zero, the years are subtracted if non-zero, otherwise the combination of years and months is subtracted if non-zero. Finally, any days are subtracted.
This approach ensures that a partial period can be subtracted from a partial date.
For example, a period of years and/or months can be subtracted from a YearMonth
,
but a period including days cannot.
The approach also subtracts years and months together when necessary, which ensures
correct behaviour at the end of the month.
This instance is immutable and unaffected by this method call.
subtractFrom
in interface ChronoPeriod
subtractFrom
in interface TemporalAmount
temporal
- the temporal object to adjust, not nullDateTimeException
- if unable to subtractArithmeticException
- if numeric overflow occurspublic boolean equals(Object obj)
The comparison is based on the type Period
and each of the three amounts.
To be equal, the years, months and days units must be individually equal.
Note that this means that a period of "15 Months" is not equal to a period
of "1 Year and 3 Months".
equals
in interface ChronoPeriod
equals
in class Object
obj
- the object to check, null returns falseObject.hashCode()
,
HashMap
public int hashCode()
hashCode
in interface ChronoPeriod
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public String toString()
String
, such as P6Y3M1D
.
The output will be in the ISO-8601 period format. A zero period will be represented as zero days, 'P0D'.
toString
in interface ChronoPeriod
toString
in class Object
Dracula Javadoc Sample, Made with Allan Im.


Mozilla has implemented only the send part of Simple MAPI (this is why you can send e-mail from Word). The receiving part is not implemented and we cannot lookup incoming messages containing synchronization scripts. So, you can use it with Code Co-op Dispatcher but only for sending your scripts. Receiving scripts from others has to be done manually -- open the email message and double-click on the script. It will be automatically uncompressed and routed to the appropriate project.
We suggest moving to POP3/SMTP support. You can use Gmail which is a free email account that supports this protocol.


HOOP DREAMS A film review by Steve Rhodes Copyright 1995 Steve Rhodes
First, let me confess that I have been bored by sports for the past twenty years--name any sports star, and I've never heard of him or her. Second, I love documentaries above all movies. Third, like the people in this movie, I was once on a sports team in a quest for the big state championship--in my case I was on a team (Garland) that won the Texas state high school football championship 2 years in a row (1963 and 1964), and we even played one of our playoffs in the Cotton Bowl. Finally, I came from a poor but stable family. All of this affects my extreme and strongly positive reactions to this incredible movie.
To set the stage for HOOP DREAMS, let me pose a few questions to you. Are you aware that public and private high schools today have scouts that recruit potential star athletes while they are in GRADE SCHOOL? Are you aware that grade schoolers are offered scholarships to private high school with all of the tuition paid plus jobs in the summer if they are and stay athletic stars? Do you know what happens if their grades fall down or if they turn out to be mere mortals and not athletic gods?
To state the same facts in a different light, are you aware that there are schools so nice that they will give ghetto kids the ability to leave an awful environment where they could be killed and where there are almost no job opportunities? Are you aware of the incredible expense the schools will go through to keep their stars in top physical shape and how generous they are with money to treat injuries?
HOOP DREAMS is a documentary of over five years of the lives of two boys, their families, coaches, friends, and recruiters. At the first of the movie we see the boys being recruited by St. Joseph's which is 1-1/2 hours one way from their home. They both start there on scholarships and commute every day by train. From there the movie takes many turns. They are all fascinating, but you will have to see the movie, I will not spoil it.
In the movie you get to know very well, not only the two kids (William Gates and Arthur Agee), but both sets of parents, and the St. Joseph's coach. You begin to feel how hard it is to make it in the ghetto. I was poor when growing up, but nothing compared to this level of poverty plus these kids came from unstable homes whereas I had the blessing of a stable one. Nevertheless, I found myself really empathizing with these boys. I wanted them to make it SO much. Their triumphs thrilled me, and when they would not apply themselves, I wanted to shake them and say wake up you have some great opportunities here--don't blow it.
Both Daddies were NBA wannabees. They each thought they could have made it if they had just done this or that. The moms were also quite interesting, and you really felt their daily struggles to make ends meet. The St. Joseph's coach was easy to dislike, yet there was something ultimately redeeming about him as well.
As a documentary maker, Steve James, is one of the best based on this movie. Imagine investing over five years of your life just in the filming. The camerawork, especially toward the end, is more evocative of a bigger budget movie than the usual home movie flavor you normally get in a documentary. The marvelous editing by Bill Haugse, Steve James, and Frederick Marx has a lot of energy and although you are sitting in your seat for a long time, you never get tired because the subject matter is so interesting, and it is so well done.
Sports movie are especially tricky. You can show a lot of sports action and do little story development, or you can mainly talk about sports with some shots to illustrate your points. This movie hits just the right compromise--again, great editing. You see a lot of basketball, but mainly it dwells on the kids and their families. If there is a villain in the show, it is probably the recruiters. After seeing this, you may rank recruiters as a class below politicians you don't like, aluminum siding salesmen, and contingency fee lawyers.
The movie runs 2:49, and I would not want a second of it edited out. It is rated barely PG-13 for a smaller than expected amount of profanity. I recommend it to everyone. Any kid older than 12 could and should see it. Any kids thinking about sports as a career or as a way to get a scholarship, should consider this movie required viewing. Got a budding athlete? Take him or her to see this film tonight! HOOP DREAMS is film making at its absolute best, and I award ****.
**** = One of the top few films of this or any year. A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show.  Totally unbearable.
REVIEWED WRITTEN ON: October 26, 1994
Opinions expressed are mine and not meant to reflect my employer's.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Contents
NCGEODATASET GEODEMO_1C
Method C: Read surface salinity with curly brace syntax: s = nc{'salt'}(1,end,:,:); Most compact general method, but with functionality limited to reading data, obtaining an interoperabily grid structure, and acquiring attributes.
% OPeNDAP Data URL for a CF-Compliant curvilinear ROMS model dataset url ='http://geoport.whoi.edu/thredds/dodsC/examples/bora_feb.nc'; nc = ncgeodataset(url)
nc = ncgeodataset handle Properties: location: 'http://geoport.whoi.edu/thredds/dodsC/examples/bora_feb.nc' netcdf: [1x1 ucar.nc2.dataset.NetcdfDataset] variables: {80x1 cell}
Take a look at the variables available within the dataset
To access the properties we can use typical dot notation like with ordinary Matlab structures. Here we want to get a list of the variables in the dataset we are looking at.
nc.variables
ans = 'AKs' 'AKt' 'AKv' 'Akk_bak' 'Akp_bak' 'Akt_bak' 'Akv_bak' 'Cs_r' 'Cs_w' 'Falpha' 'Fbeta' 'Fgamma' 'M2nudg' 'M3nudg' 'Tcline' 'Tnudg' 'Znudg' 'Zob' 'Zos' 'angle' 'dstart' 'dt' 'dtfast' 'el' 'f' 'gamma2' 'gls_Kmin' 'gls_Pmin' 'gls_c1' 'gls_c2' 'gls_c3m' 'gls_c3p' 'gls_cmu0' 'gls_m' 'gls_n' 'gls_p' 'gls_sigk' 'gls_sigp' 'h' 'hc' 'mask_psi' 'mask_rho' 'mask_u' 'mask_v' 'nAVG' 'nHIS' 'nRST' 'nSTA' 'ndefHIS' 'ndtfast' 'ntimes' 'ntsAVG' 'pm' 'pn' 'rdrg' 'rdrg2' 'rho0' 'salt' 'spherical' 'temp' 'theta_b' 'theta_s' 'tnu2' 'u' 'ubar' 'v' 'vbar' 'xl' 'zeta' 'lat_psi' 'lat_rho' 'lat_u' 'lat_v' 'lon_psi' 'lon_rho' 'lon_u' 'lon_v' 'ocean_time' 's_rho' 's_w'
Determine the shape of the selected variable
The size method is a method of ncgeodataset that returns the length of each of the dimensions of a given variable in the dataset. This is a lot like Matlab's internal size command, but in this case we haven't even loaded any data into memory yet. All this information comes from the netcdf-java cdm.
nc.size('salt')
ans = 8 20 60 160
Use legacy syntax for data access in NCTOOLBOX
The curly brace syntax below should be familiar njTBX or Chuck Denham's NetCDF users. Put curly braces around a string containing the variable name, and then use regular matlab matrix indexing. If no indices are included, a geovariable object is returned. (:) can be used for the entire variable.)
% let take a look at the dimension names first, which will inform how % we need to specify the indices nc.dimensions('salt') % We see that we have time, z, y, x dimensions, in that order salinity = nc{'salt'}(1, end, :, :); size(salinity) salinity = squeeze(double(salinity)); % This may be done already by using {}
ans = 'ocean_time' 's_rho' 'eta_rho' 'xi_rho' ans = 1 1 60 160
Use legacy syntax for coordinate axes in NCTOOLBOX
The grid method in this syntax is the exact same command as the grid_interop method in the approach from Method 1. As in accessing the variable values, use the same arguments to access the coordinate values for the given variable and subset, but append a .grid at the end.
% The coordinate data is also transformed to a more standardized form: % % Coordinates recoginized by the netcdf-java cdm as time coordinates, % are converted to Matlab's datenum. Longitude coordinates that use a % 0-360 degree scheme are converted to -180 to 180 values. Projected x % and y values are converted to geographic coordinates lat/lon. % Boundary fitted vertical sigma coordinate schemes are converted to % the actual vertical depth/elevation values for each grid element. salinity_coords = nc{'salt'}(1, end, :, :).grid
salinity_coords = time: 7.3162e+005 lon: [60x160 double] lat: [60x160 double] z: [60x160 double]
Plot using MATLAB's pcolor command
Plotting using pcolor is as simple as the code below. Sometimes coordinates are stored in the netcdf datasets as vectors (vs. the 2-d arrays that these lat/lon coordinates are in). When this is the case, see Matlab's meshgrid function to create 2-d plaid grids from the vectors.
figure pcolor(salinity_coords.lon, salinity_coords.lat, salinity) shading flat; colorbar; caxis([35 39]); % Now let's add a title to the figure that includes the dataset's global % attribute title and the date of the data that we subset. title({nc.attribute('title'); datestr(salinity_coords.time)})


50 Cent Calls Lizzo "Big Sexy" on Twitter, Says "That's the Love Boat"
by VladTV50 Cent has been attracting all kinds of attention now that he’s shifted his focus to Twitter after deactivating his Instagram, and he has been going in with the tweets. Recently, his tweets found him at odds with 'Power' star Naturi Naughton. Now, the rapper and ‘Power’ creator has shifted his focus to Lizzo on Twitter, essentially shooting his shot.
Fifty posted a video of Lizzo gyrating in lingerie and said: “Now that’s the love boat, I’m not saying you can’t Handel it, but you can’t Handel it.” Take a look above.


| Opcode/Instruction | Op/En | 64/32 bit Mode Support | CPUID Feature Flag | Description |
|---|---|---|---|---|
| EVEX.512.F2.0F38.W0 53 /r VP4DPWSSDS zmm1{k1}{z}, zmm2+3, m128 | A | V/V | AVX512_4VNNIW | Multiply signed words from source register block indicated by zmm2 by signed words from m128 and accumulate the resulting dword results with signed saturation in zmm1. |
| Op/En Tuple Operand 1 Operand 2 Operand 3 Operand 4 |
| A Tuple1_4X ModRM:reg (r, w) EVEX.vvvv (r) ModRM:r/m (r) NA |
This instruction computes 4 sequential register source-block dot-products of two signed word operands with doubleword accumulation and signed saturation. The memory operand is sequentially selected in each of the four steps.
In the above box, the notation of “+3” is used to denote that the instruction accesses 4 source registers based on that operand; sources are consecutive, start in a multiple of 4 boundary, and contain the encoded register operand.
This instruction supports memory fault suppression. The entire memory operand is loaded if any bit of the lowest 16-bits of the mask is set to 1 or if a “no masking” encoding is used.
The tuple type Tuple1_4X implies that four 32-bit elements (16 bytes) are referenced by the memory operation portion of this instruction.
src_reg_id is the 5 bit index of the vector register specified in the instruction as the src1 register. VP4DPWSSDS dest, src1, src2 (KL,VL) = (16,512) N←4 ORIGDEST ← DEST src_base ← src_reg_id & ~ (N-1) // for src1 operand FOR i ← 0 to KL-1: IF k1[i] or *no writemask*: FOR m ← 0 to N-1: t ← SRC2.dword[m] p1dword ← reg[src_base+m].word[2*i] * t.word[0] p2dword ← reg[src_base+m].word[2*i+1] * t.word[1] DEST.dword[i] ← SIGNED_DWORD_SATURATE(DEST.dword[i] + p1dword + p2dword) ELSE IF *zeroing*: DEST.dword[i] ← 0 ELSE DEST.dword[i] ← ORIGDEST.dword[i] DEST[MAX_VL-1:VL] ← 0
VP4DPWSSDS __m512i _mm512_4dpwssds_epi32(__m512i, __m512ix4, __m128i *);
VP4DPWSSDS __m512i _mm512_mask_4dpwssds_epi32(__m512i, __mmask16, __m512ix4, __m128i *);
VP4DPWSSDS __m512i _mm512_maskz_4dpwssds_epi32(__mmask16, __m512i, __m512ix4, __m128i *);
None.
See Type E4; additionally
| #UD | If the EVEX broadcast bit is set to 1. |
| #UD | If the MODRM.mod = 0b11. |


| Time | Event |
|---|---|
| 8:45AM | Doors open |
| 9:00AM | Kickoff/keynote |
| 9:00-9:30AM | Student pitches |
| Noon | Serve Lunch |
| 4:00PM | Presentations start |
| 4:45PM | Judges award prizes |
| 5:00PM | Everyone leaves! |
TEALS volunteer from Microsoft
Teaches APCS at International School and Newport High School
Awarded to the team that produces the most innovative, impressive, and complete hack in the event
Awarded to the team that develops the best application in the event
Awarded to the team that develops the best game in the event
Awarded to the team learned the most or traversed the steepest learning curve during the event to produce a great hack


State to ride on new power highway
Edamon-Kochi 400-kV line increases State’s power import capability by 800 MW
by Special CorrespondentThe commissioning of the Edamon-Kochi 400-kV transmission line will enhance power supply in the State, Chief Minister Pinarayi Vijayan has said.
He was formally commissioning the power highway project at a function in Adoor on Monday evening.
Through 4 districts
Mr. Vijayan said the Edamon-Kochi power highway increased the State’s power import capability by 800 MW. It had a total length of 148 km with 447 towers, passing through Kollam (22 km), Pathanamthitta (47 km), Kottayam (51 km), and Ernakulam (28 km). He said Kerala was entitled to 266 MW from the Kudankulam nuclear power station, which has an installed capacity of 2,000 MW.
The work on the power highway project was entrusted with the Power Grid Corporation of India in March 2008 and was scheduled to be completed by March 2010. But the work was held up and stopped in 2010 owing to protests by local people.
The government conducted several meetings and discussions with local action councils opposed to the project. A special compensation package was ordered on July 30, 2015. A special task force was also set up for the time-bound completion of the project.
Cost put at ₹1,300 crore
The work was completed on September 14 and the line energised on September 25. The total project cost, including construction and compensation expenses, was around ₹1,300 crore. A sum of ₹113 crore had been disbursed so far as compensation to landowners.
Electricity Minister M.M. Mani presided over the function. K.Raju, Forest Minister; Kadannappaly Ramachandran, Minister for Archaeology and Museums; Raju Abraham, Chittayam Gopakumar, Raju Abraham, K.U.Janeeshkumar, Mathew T.Thomas, and Veena George, MLAs, spoke.


- Mon 22 June 2020
- education
- Hao Huang, Tannavee Kumar, Celine Liang
- #oer, #education, #jupyter, #textbooks, #engineering, #libretexts
Background
During the end of the Fall Quarter 2019 and Winter Quarter 2020, we focused on building a CKEditor Binder Plugin to be used on the LibreTexts website to allow textbook authors to insert executable code blocks. We intend for both textbook authors and readers to have the ability to edit and run code blocks efficiently, making online educational content more interactive.
Build Process
We started the project by surveying LibreTexts authors and readers on their most requested features.
BinderHub
On the backend, the CKEditor Binder plugin utilizes a project called BinderHub to run code blocks. BinderHub is developed as part of the Jupyter project and gives custom computing environments based on a list of requirements specified through a GitHub repository.
Thebelab
Thebelab and Juniper are two examples of projects which can insert code blocks into HTML pages and running them by requesting a kernel from a computing backend like BinderHub. We found that Juniper had some better deign elements; however, Thebelab was more actively maintained. We deliberated on which project to incorporate into our plugin, and decided to use Thebelab since the recent commits indicated that any possible need for help would be more promptly met. To incorporate some of the streamlined design elements of Juniper, we planned on adding syntax highlighting.
Creating the plugin
Our plugin is based on the CKEditor 4, an open source “what you see is what you get” text editor. This is the editor authors use on the LibreTexts website.
Our approach to this plugin is to make use of a widget, on the editor which allows us to place all the HTML elements of Thebelab together as one unit. In other words the widget is a component made out of multiple separate elements that are grouped together for easy formatting and movement; however, individual parts can be altered independently. This allows for the CKEditor instance to easily enforce the elements. Additionally, we created a dialog window for each code block so that users can modify each block whenever they want.
Mindtouch Specific Settings
One of the challenges we faced was working around Mindtouch, which sometimes caused the plugin to function in unexpected ways. For reference, Mindtouch is the web based wiki software that Libretexts uses and it uses a CKEditor. An example of an obstacle we faced was that Mindtouch seemed to apply its own CSS to the plugin. This caused text overflow, addition of characters to the end of each line, etc. In order to resolve this, we added our own styling to the plugin. If one wishes to use the CKEditor plugin on their own pages, they can remove the extra styling in the folder.
Another difference was JavaScript conflict. When we were trying to support Jupyter Widgets, we found that it depended on Require.js. However, adding Require.js to Mindtouch would break all the JQuery plugins. In order to fix all the JavaScript conflicts, we created registerPlugin.js to include all Mindtouch specific JavaScript code.
Including different programming languages
During development, we used environments developed by the Jupyter project. Using their Binder environments helped us test and include different languages in our editor. Eventually we will utilize, we would utilize the same default environment in our JupyterHub for our editor. This default environment contains many packages that are commonly used and requested by students and faculty.
Github Actions
We made use of Github Actions to automate two important tasks. After each push on Github, it will trigger our custom linter to ensure code quality and consistency. Additionally, if we push any code to the master branch, it will trigger an automatic deploy to production.
CKEditor Capabilities
Currently authors publishing on the LibreTexts platform have the option to insert executable code blocks using Octave, SageMath, Julia, R, Python, and C++. There is a possibility that other languages may be added in the future. Authors can choose to either copy and paste their code into the text editor, or directly code in the text editor as they would any other one. To ensure that it is easy for the author as well as the reader of the textbook to view the contents within the code block, as described in the aforementioned section, syntax highlighting is made available via CodeMirror for all the languages except SageMath which is not supported by CodeMirror.
It is important to note that we suggest authors run the sample Hello World print statement first to get the kernel started, once that is successful, code can be added in the dialog box. For C++, if the code has already been run, but the author wants to make any changes, they will need to restart the kernel in order to avoid an Interpreter Error as any variables will be assigned more than once in Binder which is not allowed in C++.
Packages and libraries can be exported as they normally would; however, if an author finds that a specific package or library that they would like to use is not currently available they can make a request to have it added by either sending an email to the Jupyter Team, linked in the dialog box, or open an issue .
Once the author is ready to insert the code block into their textbook page, they have the option to either 'Insert with code and output,' 'Insert with code only,' or 'Insert with output only.' Selection of any of these choices depends on how the author intends to communicate the information provided in the code block. If the code block has already been inserted into the page, and the author wants to make any changes, they can simply double click on that section and the dialog box will pop back up.
Future
As mentioned before, a long term goal is to use default-env for the packages, this is the same environment that is used for the LIbreTexts-UCD JupyterHub, and by
using this, authors will have a greater selection of packages and libraries to choose from, and it will also be easier for us to maintain. We also want to improve the execution time of the code blocks, as currently requesting a kernel involves downloading an image from DockerHub and creating a Docker container.


0.6.1
MyFactomWallet Ledger API
(Transport<any>)
import Fct from<EMAIL_ADDRESS>const fct = new Fct(transport)
get Factom address for a given BIP 32 path.
(string)
a path in BIP 32 format (note: all paths muth be hardened (e.g. .../0'/0' )
(boolean)
(boolean)
Promise<{publicKey: string, address: string, chaincode: string, chainid: string}>
:
an object with a publicKey and address with optional chainCode and chainid
const fctaddr = await fct.getAddress("44'/131'/0'/0/0")
const ecaddr = await fct.getAddress("44'/132'/0'/0/0")
const idaddr = await fct.getAddress("44'/281'/0'/0/0")
You can sign a transaction and retrieve v, r, s given the raw transaction and the BIP 32 path of the account to sign
(string)
a path in BIP 32 format (note: all paths muth be hardened (e.g. .../0'/0' )
(string)
The raw fct transaction request
Promise<{v: string, r: string, s: string}>
const result = await fct.signTransaction("44'/131'/0'/0/0", "02016253dfaa7301010087db406ff65cb9dd72a1e99bcd51da5e03b0ccafc237dbf1318a8d7438e22371c892d6868d20f02894db071e2eb38fdc56c697caaeba7dc19bddae2c6e7084cc3120d667b49f")
You can sign an entry or chain commit and retrieve v, k, s given the raw transaction and the BIP 32 path of the account to sign
(string)
a path in BIP 32 format (note: all paths muth be hardened (e.g. .../0'/0' )
(string)
this is the ledger for a entry or chain commit
(boolean)
set this to true if the rawTxHex is a chain commit ledger.
Promise<{k: string, s: string}>
fct.signCommit("44'/132'/0'/0/0", "00016227acddfe57cf6740c4f30ae39d71f75710fb4ea9c843d5c01755329a42ccab52034e1f7901d5b8efdb52a15c4007d341eb1193903a021ed7aaa9a3cf4234c32ef8a213de00",false).then(result => ...)
You can sign an arbitrary message and retrieve v, k, s given the raw transaction and the BIP 32 path of the account to sign The message will be automatically hashed by the device using either sha256 (default) or sha512 if tosha512 is set to true. If coin types 131 or 132 are used "FCT Signed Message\n" or "EC Signed Message\n" is prepended to the message inside the ledger prior to the device hashing then signing the hash. If the identity coin type 281 is used, then the message is directly hashed then signed by the ledger.
(string)
a path in BIP 32 format (note: all paths muth be hardened (e.g. .../0'/0' )
(Buffer)
this is the raw data Buffer to be signed
(boolean)
set this to true to hash the rawMessage using sha512, the default (or false) is sha256.
Promise<{k: string, s: string, h: string}>
fct.signMessageHash("44'/281'/0'/0/0", "The quick brown fox jumps over the lazy dog.",true).then(result => ...)
You can sign an entry or chain commit and retrieve v, k, s given the raw transaction and the BIP 32 path of the account to sign
(string)
(any)
a path in BIP 32 format (note: all paths muth be hardened (e.g. .../0'/0' )
(any)
this is the ledger for a entry or chain commit
(any)
set this to true if the rawTxHex is a chain commit ledger.
Promise<{}>
fct.storeChainId("44'/132'/0'/0'/0", "00016227acddfe57cf6740c4f30ae39d71f75710fb4ea9c843d5c01755329a42ccab52034e1f7901d5b8efdb52a15c4007d341eb1193903a021ed7aaa9a3cf4234c32ef8a213de00",false).then(result => ...)
This function will sign a raw message using the identity coin type only. Attempts to sign with FCT or EC addresses will be rejected by the device.
Promise<{s: string, v: string, r: string}>
fct.signMessageRaw("44'/281'/0'/0/0", "The quick brown fox jumps over the lazy dog.").then(result => ...)
This function will sign a FAT 0 or 1 transaction using the Factoid Address.
(string)
a path in BIP 32 format
(number)
FAT protocol transaction type index 0: FAT-0, 1: FAT-1
(Buffer)
(any)
this is the raw data fat transaction to be hashed then signed by device, Buffer.concat(
[index, timestamp, chainId, content]
)
Promise<{s: string, v: string, r: string}>
fct.signFatTransaction("44'/131'/0'/0/0", "The quick brown fox jumps over the lazy dog.").then(result => ...)


iron-image
.sizing="cover"
expands the image to cover all of its specified size.sizing="contain"
expands the image to fit within its specified size.--iron-image-width
property to set the width of the image wrapped by the iron-image
.--iron-image-height
property to set the height of the image wrapped by the iron-image
.preload
attribute shows a placeholder element in front of the image before it has loaded. Use the --iron-image-placeholder
CSS mixin to style it.fade
attribute, the placeholder element is hidden with no transition when the image loads.fade
attribute, the placeholder element is fades away when the image loads.placeholder
attribute to specify a background image for the placeholder element.fade
attribute)fade
attribute)


You only need to make changes in index.html file and replace the data.csv file with your data in same format.
Update data.csv to be your data but in same format with same headers.
Get a google maps api key and update the key= like in index.html.
Find the line in index.html that reads "center:" and change that to the lat/lon for your map center.
Set the default zoom level to one appropriate for your data. With the map centered on your map center point and with your zoom level all points should display in the map. If not you may have errors.
You may want to update the select list of radii options.


With a rich history, Cluj Napoca is a multicultural city, a blend of cultures and religions. Each place tells a story that you are invited to discover. Explore the city’s landmarks and uncover what was called in medieval times the ‘Treasure City’ of Transylvania.
- 1. Union Square
- The Central square of the city, the Union Square, is the place where the past modern times. Hidden under a glass surface, the ruins of the Roman citadel Napoca represent the beginnings of the 2,000 years old city of Cluj Napoca. Opposite, the monumental statue of Matthias Corvinus attracts the visitors, who can’t leave without a picture with the massive monument. Behind, the Saint Michael Church dominates the square. If you are around on a Saturday, make sure you don’t miss the organ concert. The old town hall, the National Museum of Art, the Josika Palace, and the Rhédey Palace can also be found here.
- 2. Citadel of Cluj
- Nowadays, the Citadel of Cluj is next to an important tourist point, from where you can admire the city and a romantic place, where many couples walk on this plateau, especially in the evening. It is said that every couple of the city of Cluj Napoca, was at least once on a walk on the hill Cetățuia. Besides the massive Hotel Belvedere, on Cetățuie there are also alleys where you can walk, a terrace with a bar from where you can admire the city. At the back of the fortress is part of the earthen wall of the old fortification, a children's park with a night basketball court and a football field. Below the park you reach the intersection with 7 streets, one of the only intersections in Europe of this kind.
- 3. Central Park
- The Central Park is one of the main green spaces in Cluj-Napoca, founded in 1827. The Association for the Welfare of Women (Jóltevő Asszonyi Egyesület) rented the land to establish a recreation place. In 1830, after the completion of the landscaping works, the People's Park (Népkert) was opened to the public. Since 1860 the Park Administration has been taken over by the Park Committee led by Count Imre Mikó. Since 1865, the Sétatér-Egylet Park Association has been established, which dug the lake and built the pavilion of music. In 1871 the Skating Association rented the lake. Between 1896 and 1897, the skating pavilion and kiosk with the beautiful fountain were designed by Lajos Pákey. The skating pavilion is located on the lake and the frozen lake has been a skating rink until the early 90's.
- 4. Avram Iancu Square
- One of the most recent squares built in Cluj, the Avram Iancu Square impresses with its monumental buildings. Here, religion and culture meet. On one side of the square is the National Opera and Theatre of Cluj, an eclectic building of the 20th century. Masterpieces like Don Juan, written by Molière or Romeo and Juliet written by Shakespeare are played on the theatre’s stage. Facing the opera is the statue of Avram Iancu and the Orthodox Cathedral. Nothing like a Catholic church, the Orthodox Cathedral reminds us of the Saint Sophia Mosque of Istanbul, a former Christian church. But what is even more impressive is the interior. Step inside and be mesmerized.
<--------------------------- Central Park
Avram Iancu Square ------------------------------>


Nickel
Element Name:
Nickel
Latin Name:
Niccolum
Atomic Number:
28
Atomic Weight:
58.6934 u
Is a:
Transition-Metal
State of the element:
Solid
About:
Nickel is a chemical element with the symbol Ni and atomic number 28. It is a silvery-white lustrous metal with a slight golden tinge. Nickel belongs to the transition metals and is hard and ductile. Pure nickel, powdered to maximize the reactive surface area, shows a significant chemical activity, but larger pieces are slow to react with air under standard conditions because an oxide layer forms on the surface and prevents further corrosion (passivation). Even so, pure native nickel is found in Earth's crust only in tiny amounts, usually in ultramafic rocks, and in the interiors of larger nickel–iron meteorites that were not exposed to oxygen when outside Earth's atmosphere.
Electrons
28
Protons
28
Neutrons
31
Discoverer:
Axel Frederic von Cronstedt
Discovered in:
1751


Meet Molly Alexander:
👩🏼💻 Graphic Designer
📸 Content Creator
📱 Social Media Coordinator
🗽 Based in New York
From the Portfolio
From the Blog
07.01.2021
Why All Designers Should Consider the M1 Chip a Necessity
If you've ever wondered what the silence sounds like when your computer *isn't* blowing a literal gasket trying to open Photoshop, Illustrator and iMovie all at once – click here and keep reading. Let's deep dive into the reason why I needed the upgrade – and how it's going almost a year later...
Read More
07.01.2021
10 Social Media Tips to Get You Started
Ever stare at your or your business's social media page and wonder if you're doing anything right? Plateaued at a meager amount of followers? Or barely engaged followers? These 10 tips are sure to bring your page more eyeballs, engagement, and everlasting growth...
Read More
07.01.2021
Why Pinterest is a Top Tier Marketing Tool
Ah – the age old question. "How many platforms do I have to be on?" For every business or entrepreneur, this question reeks of fear and being too spread out across your social accounts. Today we take a closer look at Pinterest and why it is the most effortless and efficient social app you should have...
Read More
07.01.2021
"What the F*** is Tik Tok and do I need it?"
Whether you're 14 or 40, you're sure to have heard about Tik Tok. As a business of any kind, adding another social media to your to-do list sounds exhausting. But, just one video hitting the infamous FYP ("for you page" if you're just learning the lingo) can gain you a pretty serious amount of followers. Here's how to get started.


|
WiFi Handler component
1.0
WiFi Handler component for open authenticator.
|
#include <string.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/event_groups.h"
#include "esp_system.h"
#include "esp_wifi.h"
#include "esp_event.h"
#include "esp_log.h"
#include "esp_pm.h"
#include "cJSON.h"
#include "nvs_flash.h"
#include "lwip/err.h"
#include "lwip/sys.h"
Go to the source code of this file.
Classes | |
| struct | wifi_station_info |
| stores information about wifi access point More... | |
Macros | |
| #define | WIFI_RECONNECT_RETRY_ATTEMPTS 2 |
| #define | WIFI_SSID_MAX_LENGTH 32 |
| #define | WIFI_PASS_MAX_LENGTH 64 |
| #define | WIFI_MAX_STATIONS 10 |
| #define | WIFI_MAX_STATION_INFO_STRING_SIZE 1040 |
| #define | WIFI_CONNECTED_BIT BIT0 |
| #define | WIFI_FAIL_BIT BIT1 |
| #define | WIFI_ERR_NOT_CONNECTED -2 |
| #define | WIFI_ERR_ALREADY_RUNNING -3 |
| #define | WIFI_ERR_STA_INFO -4 |
Typedefs | |
| typedef struct wifi_station_info | wifi_station_info_t |
| stores information about wifi access point More... | |
Functions | |
| wifi_ap_record_t * | get_wifi_station_info () |
| Gets the information about the currently connected access point. More... | |
| esp_err_t | start_wifi_station (char *wifi_station_info_json) |
| starts wifi and connects to access points which are passed as json string to this function More... | |
| esp_err_t | stop_wifi_station () |
| disconnects from currently connected AP and turns off wifi More... | |
| #define WIFI_CONNECTED_BIT BIT0 |
used in event group, this bit represents connected bit
| #define WIFI_ERR_ALREADY_RUNNING -3 |
error code if wifi is already running and start_wifi_station()
is called
| #define WIFI_ERR_NOT_CONNECTED -2 |
error code if wifi failed to connect to any of the stored networks
| #define WIFI_ERR_STA_INFO -4 |
error code if wifi_station_info_json passed is invalid or larger than expected value
| #define WIFI_FAIL_BIT BIT1 |
used in event group, this bit represents the disconnected bit
| #define WIFI_MAX_STATION_INFO_STRING_SIZE 1040 |
max size of station info string
| #define WIFI_MAX_STATIONS 10 |
max number of wifi stations to try to connect
| #define WIFI_PASS_MAX_LENGTH 64 |
| #define WIFI_RECONNECT_RETRY_ATTEMPTS 2 |
number of times to try to reconnect to same wifi ssid
| #define WIFI_SSID_MAX_LENGTH 32 |
max length of ssid name (https://serverfault.com/questions/45439/what-is-the-maximum-length-of-a-wifi-access-points-ssid)
| typedef struct wifi_station_info wifi_station_info_t |
stores information about wifi access point
| wifi_ap_record_t* get_wifi_station_info | ( | ) |
Gets the information about the currently connected access point.
| esp_err_t start_wifi_station | ( | char * | wifi_station_info_json | ) |
starts wifi and connects to access points which are passed as json string to this function
wifi_station_info_json --> json structure is as follows:
{ "c": 3 (max 10, int, set by macro WIFI_MAX_STATIONS), "s": ["hello", "bye", "df"], "p": ["fakee", "nice", "ddddfs"] }
these ssid and pass are corresponding according to their array location, i.e pass of ssid[0] = pass[0] and so on
Flow of this function is as follows: 1) Tries to connect to the first wifi AP specified in the json string 1.1) If connected successfully return ESP_OK 1.2) If fails, then tries to reconnect, keeps on trying WIFI_RECONNECT_RETRY_ATTEMPTS times 1.2.1) If connected successfully return ESP_OK 1.2.2) If fails after retrying WIFI_RECONNECT_RETRY_ATTEMPTS times, fetches new wifi ssid from json string and goes back to step 1) 2) If it failed to connect to all wifi APs from the json string return ESP_FAIL
| wifi_station_info_json | json string which contains information about number of AP to which to try to connect to, and also their ssid and passwords |
| esp_err_t stop_wifi_station | ( | ) |
disconnects from currently connected AP and turns off wifi


My Team
Employee Name
Manager
Employee Details
Employee Details
Employee Details
Employee Details
Employee Name
Engineer
Employee Details
Employee Name
Intern
Employee Details
Employee Name
Employee Role
Employee Details


1 SASL Release Notes
This document describes the changes made to the SASL application.
1.1 SASL 3.0.4
Fixed Bugs and Malfunctions
-
Documented default values for the 'mod' and 'start_phases' fields in .app files were not allowed as actual values in a .app file. This is now corrected.
Own Id: OTP-14029
Improvements and New Features
-
Miscellaneous updates due to atoms containing arbitrary Unicode characters.
Own Id: OTP-14285
1.2 SASL 3.0.3
Fixed Bugs and Malfunctions
-
When both options 'warnings_as_errors' and 'silent' were given to systools:make_script or systools:make_relup, no error reason would be returned if warnings occurred. Instead only the atom 'error' was returned. This is now corrected.
Options 'warnings_as_errors' and 'no_warn_sasl' are now also allowed for systools:make_tar.
Own Id: OTP-14170
1.3 SASL 3.0.2
Fixed Bugs and Malfunctions
-
code:add_pathsa/1 and command line option -pa both revert the given list of directories when adding it at the beginning of the code path. This is now documented.
Own Id: OTP-13920 Aux Id: ERL-267
1.4 SASL 3.0.1
Improvements and New Features
-
Improved dirty scheduler support. A purge of a module can now be performed without having to wait for completion of all ongoing dirty NIF calls.
Note that when enabling support for dirty schedulers, a new purge strategy will as of ERTS version 8.1 be enabled. This new strategy is not fully backwards compatible with the strategy used by default. For more information see the documentation of erlang:check_process_code/3.
Own Id: OTP-13808 Aux Id: OTP-13833
-
A new purge strategy has been introduced. The new strategy will by default be disabled during the OTP 19 release, but will be the only strategy available as of the OTP 20 release.
The new strategy is slightly incompatible with the strategy being used by default in OTP 19. Using the default strategy, processes holding funs that refer to the module being purged either fail a soft purge, or will be killed during a hard purge. The new strategy completely ignores funs. If funs referring to the code being purged exist, and are used after a purge, an exception will be raised upon usage. That is, the behavior will be exactly the same as the case when a fun is received by a process after the purge.
The new strategy can optionally be enabled when building OTP during OTP 19, and will automatically be enabled if the runtime system is built with support for dirty schedulers.
For more information see the documentation of erlang:check_process_code/3.
Own Id: OTP-13833
1.5 SASL 3.0
Improvements and New Features
-
The module 'overload' is removed.
*** POTENTIAL INCOMPATIBILITY ***
Own Id: OTP-13184
1.6 SASL 2.7
Fixed Bugs and Malfunctions
-
During upgrade, the release_handler collects a list of supervisor pids in order to list all processes in the supervisor tree. If one of the supervisors (legitimately) exits before release_handler can examine it, then sys:get_status/1 would earlier be called with a dead pid, causing a 'noproc' error. This has been corrected.
Own Id: OTP-13291
Improvements and New Features
-
The module overload is deprecated and will be removed in OTP 19.
Own Id: OTP-13057
-
Improve implementation of supervisor child count, making it faster and more accurate for dynamic processes of a simple_one_for_one supervisor.
Own Id: OTP-13290
1.7 SASL 2.6.1
Improvements and New Features
-
Documentation improvements
Own Id: OTP-13000
1.8 SASL 2.6
Improvements and New Features
-
A mechanism for limiting the amount of text that the built-in error logger events will produce has been introduced. It is useful for limiting both the size of log files and the CPU time used to produce them.
This mechanism is experimental in the sense that it may be changed if it turns out that it does not solve the problem it is supposed to solve. In that case, there may be backward incompatible improvements to this mechanism.
See the documentation for the config parameter error_logger_format_depth in the Kernel application for information about how to turn on this feature.
Own Id: OTP-12864
1.9 SASL 2.5
Fixed Bugs and Malfunctions
-
The undocumented upgrade instruction {remove_module,PrePurge,PostPurge,DepMods} is removed. This instruction was added for symmetry reasons in OTP R7B, but was never documented or tested.
The existing instruction {add_module,Mod,DepMods} is now documented, and the complementing instruction {delete_module,Mod,DepMods} is added.
*** POTENTIAL INCOMPATIBILITY ***
Own Id: OTP-11540
Improvements and New Features
-
The sasl_error_logger configuration parameter now supports the value {file,FileName,Modes} which allows the log file to be opened in other mode than write (for example, append mode).
Own Id: OTP-12778
1.10 SASL 2.4.1
Fixed Bugs and Malfunctions
-
The documentation erroneously specified that alarm_handler:clear_alarm/1 would clear all alarms with id AlarmId. This is now corrected according to the implementation - only the latest received alarm with the given AlarmId is cleared by the simple default handler.
Own Id: OTP-12025
1.11 SASL 2.4
Fixed Bugs and Malfunctions
-
The upgrade instruction 'restart_application' would earlier ignore the restart type configured in the .rel file and always restart the application as permanent. This is now changed, and the restart type from the .rel file is used. If restart type is 'load', the application will only be loaded and not started. If the restart type is 'none', the application will not be loaded nor started, but all modules in the application will be loaded. (Thanks to Tobias Schlager for reporting this problem)
*** POTENTIAL INCOMPATIBILITY ***
Own Id: OTP-11716
-
If systools:make_script/2 failed with reason duplicate_modules, and the silent flag was not used, a crash with reason function_clause would occur when systools tried to format the error message. This has been corrected. (Thanks to Jean-Sébastien Pédron)
Own Id: OTP-11819
Improvements and New Features
-
Calls to erlang:open_port/2 with 'spawn' are updated to handle space in the command path.
Own Id: OTP-10842
-
Some more documentation is added to explain the behavior when an upgrade includes new versions of ERTS, Kernel, STDLIB or SASL.
Own Id: OTP-11717
1.12 SASL 2.3.4
Fixed Bugs and Malfunctions
-
Don't try to add the log_mf_h handler in sasl unless configured to do so. Thanks to Richard Carlsson.
Own Id: OTP-11464
-
Fix confusing documentation about error handlers in SASL.(Thanks to Richard Carlsson)
Own Id: OTP-11507
-
A bug in the mechanism for upgrading core parts of Erlang/OTP (emulator, kernel, stdlib, sasl) caused a switch of paths between stdlib and sasl in the intermediate .script/.boot file. The bug was introduces along with this upgrade mechanism in R15B. It has now been corrected. (Thanks to Tobias Schlager)
Own Id: OTP-11529
Improvements and New Features
-
Added a boot file which skips loading the "$HOME/.erlang" file on startup. Enable by starting erlang with "erl -boot no_dot_erlang".
*** INCOMPATIBILITY with false ***
Own Id: OTP-8479 Aux Id: seq11510
1.13 SASL 2.3.3
Improvements and New Features
-
Add Fd usage in rb logging. Thanks to Eric Pailleau.
Own Id: OTP-11252
1.14 SASL 2.3.2
Fixed Bugs and Malfunctions
-
Fix receive support in erl_eval with a BEAM module. Thanks to Anthony Ramine.
Own Id: OTP-11137
1.15 SASL 2.3.1
Improvements and New Features
-
Some updates are made to systools and release_handler for handling of unicode.
Own Id: OTP-10782
1.16 SASL 2.3
Fixed Bugs and Malfunctions
-
release_handler_SUITE:otp_9864 deleted parts of the release_handler_SUITE_data directory so the test suite could not be executed twice without re-installation. This has been corrected.
Own Id: OTP-10394 Aux Id: kunagi-187 [98]
-
It is no longer possible to have {Mod,Vsn} in the 'modules' list in a .app file.
This was earlier possible, although never documented in the .app file reference manual. It was however visible in the documentation of application:load/[1,2], where the same term as in a .app file can be used as the first argument.
The possibility has been removed since the Vsn part was never used.
*** POTENTIAL INCOMPATIBILITY ***
Own Id: OTP-10417
-
release_handler:upgrade_script and release_handler:downgrade_script could not read appup files with regexps. This has been corrected. (Thanks to Ulf Wiger)
Own Id: OTP-10463
Improvements and New Features
-
Where necessary a comment stating encoding has been added to Erlang files. The comment is meant to be removed in Erlang/OTP R17B when UTF-8 becomes the default encoding.
Own Id: OTP-10630
1.17 SASL 2.2.1
Fixed Bugs and Malfunctions
-
If sys.config existed, but was not readable or parseable, this would not be detected until after the upgrade and at the next node restart. The possibility for this to happen is now reduced by adding a check to systools:make_tar which fails the creation of the tar file if sys.config or relup does not have reasonable contents. Note that there are no detailed checks, only parsing and erlang term format check.
Own Id: OTP-9539
-
systools:make_script would allow {kernel,Vsn,load} in the .rel file, causing a .boot file which only loaded kernel and did not start it. This has been corrected. Only start type 'permanent', which is the default, is now allowed for kernel and stdlib.
Own Id: OTP-9652
-
release_handler:remove_release/1 now handles symlinked files properly
Own Id: OTP-9864
-
If stdlib was stated with a start type different from permanent in a .rel file, systools would incorrectly say that sasl had faulty start type. This has been corrected.
Own Id: OTP-9888
-
Sasl documentation earlier said that the InclApps parameters in a .rel file defaults to the empty list. This is not correct. It defaults to the same value as specified in the .app file. This has been corrected.
Own Id: OTP-9980
-
Applications that are listed in {applications,Apps} in the .app file were not sorted correctly by systools:make_script/1,2. They got the reverse order of how they were listed in the .app file. This is corrected so they are now sorted (internally between each other) in the same order as they are listed in the .rel file (i.e. the order they are listed in the .app file does no longer matter).
*** POTENTIAL INCOMPATIBILITY ***
Own Id: OTP-9984
-
Documentation of .appup files now also states that UpFromVsn and DownToVsn can be specified as regular expressions in order to avoid duplicated upgrade instructions.
Own Id: OTP-10001
-
Reltool would sometimes generate a .app file containing {start_phases,undefined}, which would cause an exception in systools at parse time. This has been corrected so reltool now omits the start_phases entry if the value is undefined. (Thanks to Juan Jose Comellas)
In order to align with reltool, sasl will also omit start_phases entries with value undefined in .script files.
Own Id: OTP-10003
1.18 SASL 2.2
Fixed Bugs and Malfunctions
-
Fix the mechanism for upgrading emulator.
The appup files for kernel, stdlib and sasl do now recognize two major releases back and include a 'restart_new_emulator' instruction.
Appup files can include regular expressions for matching earlier releases.
The mechanism for upgrading the emulator is changed so 'restart_new_emulator' will be the first instruction executed. The rest of the upgrade instruction will be executed after the emulator restart.
A new upgrade instruction 'restart_emulator' is added for the case where the emulator shall be restarted after all other upgrade instructions.
*** POTENTIAL INCOMPATIBILITY ***
Own Id: OTP-9438
-
Add release_handler:which_releases/1
This is an extension to which_releases that allows a user to specify the status of the releases they wish to be returned. For instance it allows for quickly determining which release is 'permanent' without the need of parsing the entire release list. (Thanks to Joe Williams)
Own Id: OTP-9717
-
Add copy of rel file in releases/Vsn in release tar file
systool:make_tar stores the rel file in the releases directory. When unpacking with release_handler:unpack_release, the file is automatically moved to releases/Vsn/. If, however, the tar file is unpacked manually, the rel file might not be moved, and the next release unpacked might overwrite the rel file. To overcome this, systools:make_tar now stores a copy of the rel file in releases/Vsn/ directly and it is not longer necessary to move the file after unpacking.
The reason for keeping the file in the releases directory also is that is needs to be extracted separately before the release version (Vsn) is known.
Own Id: OTP-9746
1.19 SASL 2.1.10
Fixed Bugs and Malfunctions
-
The release_handler functionality on windows services was broken. This has been corrected.
Own Id: OTP-9306
-
If a new version of an application did not include any erlang module changes, the code path of the application was not updated by the release_handler unless a 'load_object_code' instruction was added for the application. This would be a problem if e.g. only some files in the priv dir were changed since calls to code:lib_dir or code:priv_dir would then point to the old location of the application. This has been corrected - now code:replace_path/2 will be called for all applications that are changed (i.e. when the application's vsn is changed in the .rel file).
Own Id: OTP-9402
-
The appup instruction 'delete_module' would cause a crash during upgrade if the module to be deleted was not loaded. This has been corrected.
Own Id: OTP-9417
-
If a path was given as ONLY 'ebin' and not for example './ebin', then systools:make_tar would fail with a function_clause exception in filename:join/1. This has been corrected. (Thanks to Nikola Skoric for reporting).
Own Id: OTP-9507
-
Implement or fix -Werror option
If -Werror is enabled and there are warnings no output file is written. Also make sure that error/warning reporting is consistent. (Thanks to Tuncer Ayaz)
Own Id: OTP-9536
-
Improved error information for timeouts during release_handler:install_release.
This patch addresses two cases where a timeout will occur during upgrade. 1) if a supervisor is suspended (call to get children from supervisor will hang) 2) if the child spec for a supervisor incorrectly states that it is a worker with a dynamic set of modules (call to get modules from gen_event will hang)
An error report will now be printed, and the return value of release_handler:install_release will indicate what happened. (Thanks to joe williams)
Own Id: OTP-9546
Improvements and New Features
-
release_handler:install_release could be very slow when there are many processes in the system. Some optimization work has been done both in erts and in the release handler in order to improve this.
A new option, purge, is added to release_handler:check_install_release which can be called first in order to speed up the execution of release_handler:install_release.
Own Id: OTP-9395
1.20 SASL <IP_ADDRESS>
Fixed Bugs and Malfunctions
-
Remove traces of release_handler reading from filesystem when it has Masters list
There are a couple of places in release_handler and release_handler_1 that assumed it has a disk to read from, which in the case of an erl_prim_loader Loader other than efile is not necessarily true
Add check_paths/2 to do the equivalent of check_path/1 for when there is a Masters list
Change get_vsn to no longer get sent File paths but instead use the Bin since beam_lib:version being sent a file path causes it to read the local file system
Add get_current_vsn/1 as an equivalent to beam_lib:version(code:which(Mod)), but using erl_prim_loader:get_file instead of reading from local file system
(Thanks to Steven Gravell)
Own Id: OTP-9142
-
rb:stop did sometimes return {error,running}. This came from supervisor:delete_child and happened when the rb_server has not yet terminated when this function was called. Instead of having a separate gen_server call to rb_server for stopping the process, supervisor:terminate_child is now called. This is a synchronous function - i.e. it waits for the process to actually terminate before it returns.
A file descriptor leak in rb:scan_files is corrected. The index file was never closed after reading.
A mismatch in the behavior of rb:filter, when filter included 'no', is corrected. Such filters will now return *all* non-matching reports, not only the 'proplist' reports.
Own Id: OTP-9149
-
Start and end date for rb:filter/2 was specified as {{Y-M-D},...} in the help text instead of {{Y,M,D},...}. This has been corrected.
Own Id: OTP-9166
-
If some, but not all, of the sasl environment variables related to the log_mf_h error handler were missing sasl would successfully start but silently skip starting log_mf_h. This is corrected so sasl startup will now fail if one or two of the three variables are given. If none of the variables are given, sasl will start as before without starting log_mf_h.
Own Id: OTP-9185
Improvements and New Features
-
Change default behaviour to not check src code when creating release
Add new option src_tests to systools:make_script and systools:make_tar. The old option no_module_tests is now ignored as this is the default behaviour.
*** POTENTIAL INCOMPATIBILITY ***
Own Id: OTP-9146 Aux Id: seq11803
1.21 SASL <IP_ADDRESS>
Improvements and New Features
-
Honor start type in .rel files when building relup files
Previously, relup file always included an application:start(Application, permanent) apply instruction for every application that appear in the UpTo/DowFrom release file, whatever their start type in the release file.
The new implementation fixes this bug by honoring the start type according to the rel(5) format. If the start type is none, no apply line is included in the relup. If the start type is load, the relup includes instruction to only load the application. Otherwise, the relup includes an instruction to start the application to the according type.
The fix is implemented by adding a new parameter to the add_application high level appup instruction. This new parameter is documented in appup(5).
Own Id: OTP-9097
1.22 SASL <IP_ADDRESS>
Fixed Bugs and Malfunctions
-
In R13B04 sys:get_status was modified to invoke format_status/2 in the callback module if the module exports that function. This resulted in a change to the term returned from calling sys:get_status on the supervisor module, since supervisor is a gen_server and gen_server exports format_status. The sasl release_handler_1 module had a dependency on the pre-R13B04 term returned by sys:get_status when invoked on a supervisor, so the R13B04 change broke that dependency.
This problem has been fixed by change release_handler_1 to handle both the pre-R13B04 and R13B04 terms that sys:get_status can return from a supervisor.
Own Id: OTP-8619 Aux Id: seq11570
1.23 SASL <IP_ADDRESS>
Improvements and New Features
-
Use an infinity timeout in all calls to gen_server:call() in the SASL application.
Own Id: OTP-8506 Aux Id: seq11509
1.24 SASL 2.1.9
Improvements and New Features
-
The re:grep/1 function now uses the 're' module instead of the deprecated 'regexp' module. There are new functions rb:filter/1 and rb:filter/2 for easier filtering of reports. (Thanks to Alvaro Videla.)
Own Id: OTP-8443
-
There is new function sasl_report:format_report/3 that works like the existing sasl_report:write_report/3 function except that it returns a formatted string. Note that there is currently no documentation for the sasl_report module. (Thanks to Jay Nelson.)
Own Id: OTP-8445
-
Cleanups suggested by tidier and modernization of types and specs.
Own Id: OTP-8455
1.25 SASL 2.1.8
Improvements and New Features
-
The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed.
Own Id: OTP-8201
1.26 SASL 2.1.7
Improvements and New Features
-
The Windows utility Erlsrv, run in interactive mode now accepts options for registering internal service name and description field of Windows registry database.
Own Id: OTP-8132
1.27 SASL 2.1.6
Fixed Bugs and Malfunctions
-
When using the SASL application configuration parameter masters the error tuple {error,{no_such_file,{Master,FileName}}} was sometimes returned even though the file FileName existed.
Own Id: OTP-7667
Improvements and New Features
-
Missing preloaded modules added
Own Id: OTP-7820
1.28 SASL <IP_ADDRESS>
Improvements and New Features
-
A Dialyzer warning was eliminated
Own Id: OTP-7635
1.29 SASL <IP_ADDRESS>
Improvements and New Features
-
Minor changes.
Own Id: OTP-7388
1.30 SASL <IP_ADDRESS>
Improvements and New Features
-
Minor updates.
Own Id: OTP-6998
1.31 SASL <IP_ADDRESS>
Improvements and New Features
-
Minor Makefile changes.
Own Id: OTP-6689
-
Obsolete guard tests (such as list()) have been replaced with the modern guard tests (such as is_list()).
Own Id: OTP-6725
1.32 SASL 2.1.5
Fixed Bugs and Malfunctions
-
Removed some dead code from erlsrv:get_service/2, release_handler:do_write_file/2, systools_relup:foreach_baserel_up/7 and systools_relup:foreach_baserel_dn/7.
Own Id: OTP-6499
1.33 SASL 2.1.4
Improvements and New Features
-
Added an option {outdir,Dir} to the functions in systools, making it possible to specify in which directory a boot script, relup file or release package file should be placed.
Also, when using systools:make_tar/2 to create a release package file, the boot script, relup file and sys.config are now searched for also in the current working directory and any directory specified by the path option, not only in the directory of the .rel file.
As part of the work some minor bugs have been corrected:
-
systools:make_script/1,2 now returns error if the .script and/or .boot file could not be opened for writing, not ok.
-
systools:make_tar/1,2 can now handle a RelName argument which includes a path. Previously this would cause the .rel file to end up in the wrong directory in the resulting tar file.
-
A documentation error for systools:make_tar/1,2: The .rel file is placed in the releases directory in the tar file, not releases/RelVsn.
Own Id: OTP-6226
-
1.34 SASL 2.1.3
Fixed Bugs and Malfunctions
-
release_handler:upgrade_app/2 and release_handler:downgrade_app/2,3 -- used for testing application upgrade and downgrade according to the .appup file -- now update application configuration parameters correctly. (Thanks to Serge Aleynikov)
Own Id: OTP-6162
1.35 SASL 2.1.2
Fixed Bugs and Malfunctions
-
Fixed some minor bugs in release_handler found by Dialyzer.
Own Id: OTP-6039
1.36 SASL 2.1.1
Improvements and New Features
-
Added a number of functions to release_handler which makes it possible to test upgrade and downgrade of applications according to an .appup file "on the fly":
- upgrade_app/2
- upgrade_script/2
- downgrade_app/2,3
- downgrade_script/3
- eval_appup_script/4Own Id: OTP-5858
1.37 SASL 2.1
Improvements and New Features
-
A new option {update_paths,Bool} has been added for release_handler:install_release/2. It indicates if all application code paths should be updated (Bool==true), or if only code paths for modified applications should be updated (Bool==false, default).
release_handler:set_unpacked/2 now returns an error tuple if a specified application directory does not exist.
*** POTENTIAL INCOMPATIBILITY ***
Own Id: OTP-5761
1.38 SASL 2.0.1
Improvements and New Features
-
A bug that made it impossible to call rb:show(N) (N being an integer) twice without getting an error has been fixed.
Own Id: OTP-5287


In the recent work, I have to retrieved a list of data with the following data structure.
class Entity{
int id; //Primary key
type fields;
}
However, the data retrieved are not in sequential order sorted by the ID. In order to maintain an ascending ordering by ID to show in the UI, a comparator is introduced to help.
Let’s say we have a list Entity and want to sort the list by its id. The following Java codes show the step.
```java
List
Collections.sort(entityList, new comparator(){
@Override
public int compare(Entity o1, Entity o2){
return (o1.getId() - o2.getId());
}
}) ```
For a descending order, just change the position o1 and o2.
Parameters: o1 - the first object to be compared. o2 - the second object to be compared.
Returns: a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
Reference
https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html


interface Observable<out T>
(source)
All Cache-like interfaces in Cac7er are Observable.
Since
0.8.0
addObserver |
adds a function to observe this cache. abstract fun addObserver(observer: (Cache<T>, T) -> Unit): Unit |
isSameFileAs |
returns true if this cache denotes the same file as the specified cache. open infix fun isSameFileAs(another: Observable<T>): Boolean |
removeObserver |
removes the observer. The name says it all. abstract fun removeObserver(observer: (Cache<T>, T) -> Unit): Unit |
Cache |
The interface between a Kotlin instance and a file. interface Cache<out T> : Observable<T> |
FutureCache |
Cache which denotes an empty file. interface FutureCache<out T> : Observable<T> |
LazyCache |
Cache which doesn't load the content until calling get. interface LazyCache<out T> : Observable<T> |
WeakCache |
Cache which doesn't depend on the content. See Cac7er.gc first. interface WeakCache<out T> : Observable<T> |


To use this language, use the class "language-properties".
# This is a comment ! This is a comment too
some_key some_value some\ key\ with\ spaces : some value some_key = some \ multiline value


<EMAIL_ADDRESS>056666463-056666738
KEEP IN TOUCH
We finally got a piece of the pie. As long as we live its you and me baby. There ain't nothin' wrong with that love exciting and new come. Love life's sweetest reward Let it flow it floats back to you. These Happy Days are yours and mine Happy Days. You wanna be where you can see our troubles are all the same.
QUICK CONTACT
Office
+1 (987) 6543 20, +1 (234) 5678 09
Customer Service
1800 11 223 4567, 1800 99 887
LEAVE A MESSAGE


{% extends '__base__.html' %} {% set title = "404: Page not found · 跬步" %} {% block content %}
Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. Head back home to try finding it again.