PyHEADTAIL.impedances package¶
Submodules¶
PyHEADTAIL.impedances.wake_kicks module¶
@class WakeKick @author Kevin Li, Michael Schenk @date July 2014 @brief Implementation of the wake kicks, i.e. of the elementary objects
describing the effects of a wake field.
@copyright CERN
-
class
PyHEADTAIL.impedances.wake_kicks.
ConstantWakeKickX
(wake_function, slicer, n_turns_wake, *args, **kwargs)¶ -
__abstractmethods__
= frozenset({})¶
-
__module__
= 'PyHEADTAIL.impedances.wake_kicks'¶
-
_abc_impl
= <_abc_data object>¶
-
apply
(bunch, slice_set_list, slice_set_age_list)¶ Calculate and apply a constant wake kick to bunch.xp using the given slice_set. Only particles within the slicing region, i.e particles_within_cuts (defined by the slice_set) experience the kick.
-
-
class
PyHEADTAIL.impedances.wake_kicks.
ConstantWakeKickY
(wake_function, slicer, n_turns_wake, *args, **kwargs)¶ -
__abstractmethods__
= frozenset({})¶
-
__module__
= 'PyHEADTAIL.impedances.wake_kicks'¶
-
_abc_impl
= <_abc_data object>¶
-
apply
(bunch, slice_set_list, slice_set_age_list)¶ Calculate and apply a constant wake kick to bunch.yp using the given slice_set. Only particles within the slicing region, i.e particles_within_cuts (defined by the slice_set) experience the kick.
-
-
class
PyHEADTAIL.impedances.wake_kicks.
ConstantWakeKickZ
(wake_function, slicer, n_turns_wake, *args, **kwargs)¶ -
__abstractmethods__
= frozenset({})¶
-
__module__
= 'PyHEADTAIL.impedances.wake_kicks'¶
-
_abc_impl
= <_abc_data object>¶
-
apply
(bunch, slice_set_list, slice_set_age_list)¶ Calculate and apply a constant wake kick to bunch.dp using the given slice_set. Only particles within the slicing region, i.e particles_within_cuts (defined by the slice_set) experience the kick.
-
-
class
PyHEADTAIL.impedances.wake_kicks.
DipoleWakeKickX
(wake_function, slicer, n_turns_wake, *args, **kwargs)¶ -
__abstractmethods__
= frozenset({})¶
-
__module__
= 'PyHEADTAIL.impedances.wake_kicks'¶
-
_abc_impl
= <_abc_data object>¶
-
apply
(bunch, slice_set_list, slice_set_age_list)¶ Calculate and apply a dipolar wake kick to bunch.xp using the given slice_set. Only particles within the slicing region, i.e particles_within_cuts (defined by the slice_set) experience the kick.
-
-
class
PyHEADTAIL.impedances.wake_kicks.
DipoleWakeKickXY
(wake_function, slicer, n_turns_wake, *args, **kwargs)¶ -
__abstractmethods__
= frozenset({})¶
-
__module__
= 'PyHEADTAIL.impedances.wake_kicks'¶
-
_abc_impl
= <_abc_data object>¶
-
apply
(bunch, slice_set_list, slice_set_age_list)¶ Calculate and apply a dipolar (cross term x-y) wake kick to bunch.xp using the given slice_set. Only particles within the slicing region, i.e particles_within_cuts (defined by the slice_set) experience the kick.
-
-
class
PyHEADTAIL.impedances.wake_kicks.
DipoleWakeKickY
(wake_function, slicer, n_turns_wake, *args, **kwargs)¶ -
__abstractmethods__
= frozenset({})¶
-
__module__
= 'PyHEADTAIL.impedances.wake_kicks'¶
-
_abc_impl
= <_abc_data object>¶
-
apply
(bunch, slice_set_list, slice_set_age_list)¶ Calculate and apply a dipolar wake kick to bunch.yp using the given slice_set. Only particles within the slicing region, i.e particles_within_cuts (defined by the slice_set) experience the kick.
-
-
class
PyHEADTAIL.impedances.wake_kicks.
DipoleWakeKickYX
(wake_function, slicer, n_turns_wake, *args, **kwargs)¶ -
__abstractmethods__
= frozenset({})¶
-
__module__
= 'PyHEADTAIL.impedances.wake_kicks'¶
-
_abc_impl
= <_abc_data object>¶
-
apply
(bunch, slice_set_list, slice_set_age_list)¶ Calculate and apply a dipolar (cross term y-x) wake kick to bunch.yp using the given slice_set. Only particles within the slicing region, i.e particles_within_cuts (defined by the slice_set) experience the kick.
-
-
class
PyHEADTAIL.impedances.wake_kicks.
QuadrupoleWakeKickX
(wake_function, slicer, n_turns_wake, *args, **kwargs)¶ -
__abstractmethods__
= frozenset({})¶
-
__module__
= 'PyHEADTAIL.impedances.wake_kicks'¶
-
_abc_impl
= <_abc_data object>¶
-
apply
(bunch, slice_set_list, slice_set_age_list)¶ Calculate and apply a quadrupolar wake kick to bunch.xp using the given slice_set. Only particles within the slicing region, i.e particles_within_cuts (defined by the slice_set) experience the kick.
-
-
class
PyHEADTAIL.impedances.wake_kicks.
QuadrupoleWakeKickXY
(wake_function, slicer, n_turns_wake, *args, **kwargs)¶ -
__abstractmethods__
= frozenset({})¶
-
__module__
= 'PyHEADTAIL.impedances.wake_kicks'¶
-
_abc_impl
= <_abc_data object>¶
-
apply
(bunch, slice_set_list, slice_set_age_list)¶ Calculate and apply a quadrupolar (cross term x-y) wake kick to bunch.xp using the given slice_set. Only particles within the slicing region, i.e particles_within_cuts (defined by the slice_set) experience the kick.
-
-
class
PyHEADTAIL.impedances.wake_kicks.
QuadrupoleWakeKickY
(wake_function, slicer, n_turns_wake, *args, **kwargs)¶ -
__abstractmethods__
= frozenset({})¶
-
__module__
= 'PyHEADTAIL.impedances.wake_kicks'¶
-
_abc_impl
= <_abc_data object>¶
-
apply
(bunch, slice_set_list, slice_set_age_list)¶ Calculate and apply a quadrupolar wake kick to bunch.yp using the given slice_set. Only particles within the slicing region, i.e particles_within_cuts (defined by the slice_set) experience the kick.
-
-
class
PyHEADTAIL.impedances.wake_kicks.
QuadrupoleWakeKickYX
(wake_function, slicer, n_turns_wake, *args, **kwargs)¶ -
__abstractmethods__
= frozenset({})¶
-
__module__
= 'PyHEADTAIL.impedances.wake_kicks'¶
-
_abc_impl
= <_abc_data object>¶
-
apply
(bunch, slice_set_list, slice_set_age_list)¶ Calculate and apply a quadrupolar (cross term y-x) wake kick to bunch.yp using the given slice_set. Only particles within the slicing region, i.e particles_within_cuts (defined by the slice_set) experience the kick.
-
-
class
PyHEADTAIL.impedances.wake_kicks.
WakeKick
(wake_function, slicer, n_turns_wake, *args, **kwargs)¶ Abstract base class for wake kick classes, like e.g. the DipoleWakeKickX. Provides the basic and universal methods to calculate the strength of a wake kick. Two implementations of the convolution are available. Based on what slicer mode (uniform_bin, uniform_charge) is used, the self._convolution method is bound to one or the other. The self.apply(bunch, slice_set) method calculates and applies the corresponding kick to the particles of the bunch that are located inside the slicing region defined by a slice_set. This should be the only method to be implemented for a child class inheriting from the WakeKick class.
-
__abstractmethods__
= frozenset({'apply'})¶
-
__init__
(wake_function, slicer, n_turns_wake, *args, **kwargs)¶ Universal constructor for WakeKick objects. The slicer_mode is passed only to decide about which of the two implementations of the convolution the self._convolution method is bound to.
-
__module__
= 'PyHEADTAIL.impedances.wake_kicks'¶
-
_abc_impl
= <_abc_data object>¶
-
_accumulate_source_signal
(bunch, times_list, ages_list, moments_list, betas_list)¶ Accumulate (multiturn-)wake signals left by source slices. Takes a list of slice set attributes and adds up all convolutions weighted by the respective moments. Also updates the age of each slice set.
-
_convolution_dot_product
(target_times, source_times, source_moments, source_beta)¶ Implementation of the convolution of wake and source_moments (beam profile) using the numpy dot product. To be used with the ‘uniform_charge’ slicer mode.
-
_convolution_numpy
(target_times, source_times, source_moments, source_beta)¶ Implementation of the convolution of wake and source_moments (longitudinal beam profile) using the numpy built-in numpy.convolve method. Recommended use with the ‘uniform_bin’ slicer mode (in case of multiturn wakes, additional conditions must be fulfilled: fixed z_cuts and no acceleration!) for higher performance. Question: how about interpolation to avoid expensive dot product in most cases?
-
static
_wake_factor
(bunch)¶ Universal scaling factor for the strength of a wake field kick.
-
abstract
apply
(bunch, slice_set_list, slice_set_age_list)¶ Calculate and apply the corresponding wake kick to the bunch conjugate momenta using the given slice_set. Only particles within the slicing region, i.e particles_within_cuts (defined by the slice_set) experience a kick.
-
PyHEADTAIL.impedances.wakes module¶
This module includes the description of a (multiturn) WakeField as well as the implementation of the WakeSource objects.
A WakeField is defined as a composition of the elementary WakeKick objects (see .wake_kicks module). They originate from WakeSources, e.g. a WakeTable, Resonator and/or a ResistiveWall. The WakeField does not directly accept the WakeKick objects, but takes a list of WakeSources first (can be of different kinds), each of which knows how to generate its WakeKick objects via the factory method WakeSource.get_wake_kicks(..). The collection of WakeKicks from all the WakeSources define the WakeField and are the elementary objects that are stored, (i.e. the WakeField forgets about the origin of the WakeKicks once they have been created).
@author Hannes Bartosik, Kevin Li, Giovanni Rumolo, Michael Schenk @date March 2014 @brief Implementation of a WakeField as a composition of WakeKicks
originating from different WakeSources.
@copyright CERN
-
class
PyHEADTAIL.impedances.wakes.
CircularResistiveWall
(pipe_radius, resistive_wall_length, conductivity, dt_min, n_turns_wake=1, *args, **kwargs)¶ Circular resistive wall.
-
__abstractmethods__
= frozenset({})¶
-
__init__
(pipe_radius, resistive_wall_length, conductivity, dt_min, n_turns_wake=1, *args, **kwargs)¶ Special case of a circular resistive wall.
-
__module__
= 'PyHEADTAIL.impedances.wakes'¶
-
_abc_impl
= <_abc_data object>¶
-
-
class
PyHEADTAIL.impedances.wakes.
CircularResonator
(R_shunt, frequency, Q, n_turns_wake=1, *args, **kwargs)¶ Circular Resonator.
-
__abstractmethods__
= frozenset({})¶
-
__init__
(R_shunt, frequency, Q, n_turns_wake=1, *args, **kwargs)¶ Special case of circular resonator.
-
__module__
= 'PyHEADTAIL.impedances.wakes'¶
-
_abc_impl
= <_abc_data object>¶
-
-
class
PyHEADTAIL.impedances.wakes.
ParallelHorizontalPlatesResistiveWall
(pipe_radius, resistive_wall_length, conductivity, dt_min, n_turns_wake=1, *args, **kwargs)¶ Resistive wall impedance for horizontal parallel plates.
-
__abstractmethods__
= frozenset({})¶
-
__init__
(pipe_radius, resistive_wall_length, conductivity, dt_min, n_turns_wake=1, *args, **kwargs)¶ Special case of a parallel plates resistive wall.
-
__module__
= 'PyHEADTAIL.impedances.wakes'¶
-
_abc_impl
= <_abc_data object>¶
-
-
class
PyHEADTAIL.impedances.wakes.
ParallelHorizontalPlatesResonator
(R_shunt, frequency, Q, n_turns_wake=1, *args, **kwargs)¶ Broad-band resonator for horizontal parallel plates.
-
__abstractmethods__
= frozenset({})¶
-
__init__
(R_shunt, frequency, Q, n_turns_wake=1, *args, **kwargs)¶ Special case of parallel plate resonator.
-
__module__
= 'PyHEADTAIL.impedances.wakes'¶
-
_abc_impl
= <_abc_data object>¶
-
-
PyHEADTAIL.impedances.wakes.
ParallelPlatesResistiveWall
(*args, **kwargs)¶
-
PyHEADTAIL.impedances.wakes.
ParallelPlatesResonator
(*args, **kwargs)¶
-
class
PyHEADTAIL.impedances.wakes.
ParallelVerticalPlatesResistiveWall
(pipe_radius, resistive_wall_length, conductivity, dt_min, n_turns_wake=1, *args, **kwargs)¶ Resistive wall impedance for vertical parallel plates.
-
__abstractmethods__
= frozenset({})¶
-
__init__
(pipe_radius, resistive_wall_length, conductivity, dt_min, n_turns_wake=1, *args, **kwargs)¶ Special case of a parallel plates resistive wall.
-
__module__
= 'PyHEADTAIL.impedances.wakes'¶
-
_abc_impl
= <_abc_data object>¶
-
-
class
PyHEADTAIL.impedances.wakes.
ParallelVerticalPlatesResonator
(R_shunt, frequency, Q, n_turns_wake=1, *args, **kwargs)¶ Broad-band resonator for vertical parallel plates.
-
__abstractmethods__
= frozenset({})¶
-
__init__
(R_shunt, frequency, Q, n_turns_wake=1, *args, **kwargs)¶ Special case of parallel plate resonator.
-
__module__
= 'PyHEADTAIL.impedances.wakes'¶
-
_abc_impl
= <_abc_data object>¶
-
-
class
PyHEADTAIL.impedances.wakes.
 The parameter ‘n_turns_wake’ defines how many turns are considered for the multiturn wakes. It is 1 by default, i.e. multiturn wakes are off.
-
__module__
= 'PyHEADTAIL.impedances.wakes'¶
-
_abc_impl
= <_abc_data object>¶
-
function_transverse
(Yokoya_factor)¶ Define the wake function (transverse) of a resistive wall with the given parameters.
-
get_wake_kicks
(slicer)¶ Factory method. Creates instances of the appropriate WakeKick objects for the ResistiveWall WakeSource with the specified parameters. A WakeKick object is instantiated only if the corresponding Yokoya factor is non-zero. The WakeKick objects are returned as a list wake_kicks.
-
-
class
PyHEADTAIL.impedances.wakes.
 Alex Chao’s resonator model (Eq. 2.82) is used as well as the definitions from HEADTAIL.
-
__abstractmethods__
= frozenset({})¶
-
__init__
(R_shunt, frequency, Q, Yokoya_X1, Yokoya_Y1, Yokoya_X2, Yokoya_Y2, switch_Z, n_turns_wake=1, *args, **kwargs)¶ General constructor to create a Resonator WakeSource object describing the wake functions of a resonator impedance. Alex Chao’s resonator model (Eq. 2.82) is used as well as definitions from HEADTAIL. Note that it is no longer allowed to pass a LIST of parameters to generate a number of resonators with different parameters within the same Resonator object. Instead, create the Resonator objects and pass all of them to the WakeField constructor. The parameter ‘n_turns_wake’ defines how many turns are considered for the multiturn wakes. It is 1 by default, i.e. multiturn wakes are off.
-
__module__
= 'PyHEADTAIL.impedances.wakes'¶
-
_abc_impl
= <_abc_data object>¶
-
function_longitudinal
()¶ Define the wake function (longitudinal) of a resonator with the given parameters according to Alex Chao’s resonator model (Eq. 2.82) and definitions of the resonator in HEADTAIL.
-
function_transverse
(Yokoya_factor)¶ Define the wake function (transverse) of a resonator with the given parameters according to Alex Chao’s resonator model (Eq. 2.82) and definitions of the resonator in HEADTAIL.
-
get_wake_kicks
(slicer)¶ Factory method. Creates instances of the appropriate WakeKick objects for a Resonator WakeSource with the specified parameters. A WakeKick object is instantiated only if the corresponding Yokoya factor is non-zero. The WakeKick objects are returned as a list wake_kicks.
-
-
class
PyHEADTAIL.impedances.wakes.
WakeField
(slicer, *wake_sources)¶ A WakeField is defined by elementary WakeKick objects that may originate from different WakeSource objects. Usually, there is no need for the user to define more than one instance of the WakeField class in a simulation - except if one wants to use different slicing configurations (one WakeField object is allowed to have exactly one slicing configuration, i.e. only one instance of the Slicer class). A WakeField also is able to calculate the wake forces coming from earlier turns (multiturn wakes) by archiving the longitudinal bunch distribution (SliceSet instances) a number of turns back.
-
__abstractmethods__
= frozenset({})¶
-
__init__
(slicer, *wake_sources)¶ Accepts a list of WakeSource objects. Each WakeSource object knows how to generate its corresponding WakeKick objects. The collection of all the WakeKick objects of each of the passed WakeSource objects defines the WakeField. When instantiating the WakeField object, the WakeKick objects for each WakeSource defined in wake_sources are requested. The returned WakeKick lists are all stored in the WakeField.wake_kicks list. The WakeField itself forgets about the origin (WakeSource) of the kicks as soon as they have been generated. Exactly one instance of the Slicer class must be passed to the WakeField constructor. All the wake field components (kicks) hence use the same slicing and thus the same slice_set to calculate the strength of the kicks. To calculate the contributions from multiturn wakes, the longitudinal beam distributions (SliceSet instances) are archived in a deque. In parallel to the slice_set_deque, there is a slice_set_age_deque to keep track of the age of each of the SliceSet instances.
-
__module__
= 'PyHEADTAIL.impedances.wakes'¶
-
_abc_impl
= <_abc_data object>¶
-
track
(bunch)¶ Calls the WakeKick.apply(bunch, slice_set) method of each of the WakeKick objects stored in self.wake_kicks. A slice_set is necessary to perform this operation. It is requested from the bunch (instance of the Particles class) using the Particles.get_slices(self.slicer) method, where self.slicer is the instance of the Slicer class used for this particluar WakeField object. A slice_set is returned according to the self.slicer configuration. The statistics mean_x and mean_y are requested to be calculated and saved in the SliceSet instance, too, s.t. the first moments x, y can be calculated by the WakeKick instances.
-
-
class
PyHEADTAIL.impedances.wakes.
WakeSource
(*args, **kwargs)¶ Abstract base class for wake sources, such as WakeTable, Resonator or ResistiveWall.
-
__abstractmethods__
= frozenset({'get_wake_kicks'})¶
-
__module__
= 'PyHEADTAIL.impedances.wakes'¶
-
_abc_impl
= <_abc_data object>¶
-
abstract
get_wake_kicks
(slicer_mode)¶ Factory method. Creates instances of the WakeKick objects for the given WakeSource and returns them as a list wake_kicks. This method is usually only called by a WakeField object to collect and create all the WakeKick objects originating from the different sources. (The slicer mode Slicer.mode must be passed at instantiation of a WakeKick object only to set the appropriate convolution method. See docstrings of WakeKick class.)
-
-
class
PyHEADTAIL.impedances.wakes.
WakeTable
(wake_file, wake_file_columns, n_turns_wake=1, *args, **kwargs)¶ Class to define wake functions and WakeKick objects using wake data from a table.
-
__abstractmethods__
= frozenset({})¶
-
__init__
(wake_file, wake_file_columns, n_turns_wake=1, *args, **kwargs)¶ Load data from the wake_file and store them in a dictionary self.wake_table. Keys are the names specified by the user in wake_file_columns and describe the names of the wake field components (e.g. dipole_x or dipole_yx). The dict values are given by the corresponding data read from the table. The nomenclature of the wake components must be strictly obeyed. Valid names for wake components are:
‘constant_x’, ‘constant_y’, ‘dipole_x’, ‘dipole_y’, ‘dipole_xy’, ‘dipole_yx’, ‘quadrupole_x’, ‘quadrupole_y’, ‘quadrupole_xy’, ‘quadrupole_yx’, ‘longitudinal’.
The order of wake_file_columns is relevant and must correspond to the one in the wake_file. There is no way to check this here and it is in the responsibility of the user to ensure it is correct. Two checks made here are whether the length of wake_file_columns corresponds to the number of columns in the wake_file and whether a column ‘time’ is specified.
The units and signs of the wake table data are assumed to follow the HEADTAIL conventions, i.e.
time: [ns] transverse wake components: [V/pC/mm] longitudinal wake component: [V/pC].
The parameter ‘n_turns_wake’ defines how many turns are considered for the multiturn wakes. It is 1 by default, i.e. multiturn wakes are off.
-
__module__
= 'PyHEADTAIL.impedances.wakes'¶
-
_abc_impl
= <_abc_data object>¶
-
_is_provided
(wake_component)¶ Check whether wake_component is a valid name and available in wake table data. Return ‘True’ if yes and ‘False’ if no.
-
function_longitudinal
()¶ Defines and returns the wake(dt) function for the given wake_component (longitudinal). Data from the wake table are used, but first converted to SI units assuming that time is specified in [ns] and longitudinal wake field strength in [V/pC]. Sign conventions are applied (HEADTAIL conventions). The wake(dt) uses the scipy.interpolate.interp1d linear interpolation to calculate the wake strength at an arbitrary value of dt (provided it is in the valid range). The valid range of dt is given by the time range from the wake table. If values of wake(dt) are requested for dt outside the valid range, a ValueError is raised by interp1d. The beam loading theorem is respected and applied for dt=0.
-
function_transverse
(wake_component)¶ Defines and returns the wake(beta, dz) function for the given wake_component (transverse). Data from the wake table are used, but first converted to SI units assuming that time is specified in [ns] and transverse wake field strengths in [V/pC/mm]. Sign conventions are applied (HEADTAIL conventions). dz is related to wake table time data by dz = beta c dt (dz < 0 for the ultrarelativistic case). The wake(dt) uses the scipy.interpolate.interp1d linear interpolation to calculate the wake strength at an arbitrary value of dt (provided it is in the valid range). The valid range of dt is given by the time range from the wake table. If values of wake(dt) are requested for dt outside the valid range, a ValueError is raised by interp1d. Very basic conformity checks for the wake table data are already performed at definition time of the wake(dt) method. E.g. whether the specified wake is valid only for ultrarelativistic cases or low beta cases. In the former case, the wake strength at time 0 must be defined by the user!
-
get_wake_kicks
(slicer)¶ Factory method. Creates instances of the appropriate WakeKick objects for all the wake components provided by the user (and the wake table data). The WakeKick objects are returned as a list wake_kicks.
-
-
PyHEADTAIL.impedances.wakes.
check_wake_sampling
(bunch, slicer, wakes, beta=1, wake_column=None, bins=False)¶ Handy function for quick visual check of sampling of the wake functions. For now only implemented for wake table type wakes.


| Trm | Trimmed mean relative difference window score |
| Pse | Pseudo median relative difference window score |
| Sum | Wilcoxon rank sum window score, -10Log10(p-value) transformed |
| QVal | Multiple test corrected symmetric p-value estimation of trm or pse window scores, -10Log10(q-value) transformed |
| RndPVal | Random label permutation based uncorrected p-value using either the trm or pse window scores, -10Log10(p-value) transformed |
| RndFDR | Random label permutation based FDR using either the trm or pse window scores, -10Log10(FDR) transformed |
| Win | Directory containing serialized Window[]s for downstream TiMAT2 application use. |
| Oligo | Individual aveT/ aveC oligo ratios, log2 transformed, score assigned to the center position of the oligo. |
| HM | Heat map or stair step |
| sgr.zip | SGR file format for direct viewing in IGB, text, tab delimited, chromosome position score. |
| gr.zip | GR file format for viewing in IGB, be sure to select the appropriate chromosome in IGB prior to loading a gr file. Tab delimited, position score. |
| bar | binary file format for viewing in IGB. See the Bar2Gr to convert to txt. |
| bed | Tab delimited chrom, start, stop coordinates for the intervals |
| xls | Excel spreadsheet containing a variety of statistics for each interval, tab delimited text. |


The Json.NET serializer can serialize a wide variety of .NET objects. This guide looks at how it works at a high level and in more detail.
Summary
At a high level, the Json.NET serializer will convert primitive .NET values into primitive JSON values, .NET arrays and collections to JSON arrays and everything else to JSON objects.
Json.NET will throw an error if it encounters incorrect JSON when deserializing a value. For example if the serializer encounters a JSON property with an array of values and the type of matching .NET property is not a collection then an error will be thrown, and vice-versa.
Complex Types
| .NET | JSON |
|---|---|
| IList, IEnumerable, IList<T>, Array |
Array
|
| IDictionary, IDictionary<TKey, TValue> |
Object
|
| Object (more detail below) |
Object
|
Primitive Types
| .NET | JSON |
|---|---|
| String |
String
|
|
Byte SByte UInt16 Int16 UInt32 Int32 UInt64 Int64 |
Integer
|
|
Float Double Decimal |
Float
|
| Enum |
Integer (can be string with
StringEnumConverter)
|
| DateTime |
String (Serializing Dates in JSON)
|
| Byte[] |
String (base 64 encoded)
|
| Type |
String (type name)
|
| Guid |
String
|
| TypeConverter (convertible to String) |
String
|
Breakdown of Type Serialization
Objects
.NET types that don't fall into any other category listed below (i.e. aren't lists, dictionaries, dynamic, implement ISerializable, etc) are serialized as JSON objects.
By default types are serialized in opt-out mode. What that means is all public fields and properties with getters are automatically serialized to JSON and members that shouldn't be serialized are opted-out using the JsonIgnoreAttribute. To serialize private members the JsonPropertyAttribute can be placed on private fields and properties or the DefaultMembersSearchFlags can be changed on DefaultContractResolver to change how members are serialized on all types.
Types can also be serialized using opt-in mode. Only properties and fields that have a JsonPropertyAttribute or DataMemberAttribute on them will be serialized. Opt-in mode for an object is specified using the JsonObjectAttribute on the class.
Finally types can be serialized using a fields mode. All fields, both public and private, are serialized and properties are ignored. This can be specified by setting MemberSerialization.Fields on a type with the JsonObject attribute or by the .NET Serializable attribute and setting IgnoreSerializableAttribute on DefaultContractResolver to false.
IEnumerable, Lists and Arrayss
.NET lists (types that inherit from IEnumerable) and .NET arrays are converted to JSON arrays. Because JSON arrays only support a range of values and not properties, any additional properties and fields declared on .NET collections are not serialized. In situations where a JSON array is not wanted the JsonObjectAttribute can be placed on a .NET type that implements IEnumerable to force the type to be serialized as a JSON object instead.
JsonArrayAttribute has options on it to customize the JsonConverter, type name handling and reference handling that are applied to collection items.
Note that if TypeNameHandling or PreserveReferencesHandling has been enabled for JSON arrays on the serializer then JSON arrays are wrapped it a containing object. The object will have the type name/reference properties and a $values property which will have the collection data.
When deserializing if a member is typed as the interface IList<T> then it will be deserialized as a List<T>.
Read more about serializing collections here: Serializing Collections
Dictionarys and Hashtables
.NET dictionaries (types that inherit from IDictionary) are converted to JSON objects. Note that only the dictionary name/values will be written to the JSON object when serializing and properties on the JSON object will be added to the dictionary's name/values when deserializing. Additional members on the .NET dictionary are ignored during serialization.
JsonDictionaryAttribute has options on it to customize the JsonConverter, type name handling and reference handling that are applied to collection items.
When deserializing if a member is typed as the interface IDictionary<TKey, TValue> then it will be deserialized as a Dictionary<TKey, TValue>.
Read more about serializing collections here: Serializing Collections
Untyped Objects
.NET properties on a class that don't specify a type (i.e. they are just object) are serialized as usual. When untyped properties are deserialized the serializer has no way to know what type to create (unless type name handling is enabled and the JSON contains the type names).
For these untyped properties the Json.NET serializer will read the JSON into LINQ to JSON objects and set them to the property. JObject will be created for JSON objects, JArray will be created for JSON arrays and JValue for primitive JSON values.
Dynamic
There are two different usages of dynamic (introduced in .NET 4) in .NET. The first are .NET properties with a type of dynamic. Dynamic proeprties behave like properties declared as object, any value can be assigned to it, but the difference being that properties and methods can be called on a dynamic property without casting. In Json.NET dynamic properties are serialized and deserialized exactly the same as untyped objects: because dynamic isn't an actual type Json.NET falls back to deserializing the JSON as LINQ to JSON objects.
The second usage of dynamic in .NET are classes that implement IDynamicMetaObjectProvider. This interface lets the implementor create dynamic objects that intercept the property and method calls on an object and use them. ExpandoObject is a good example of a dynamic object.
Dynamic objects are serialized as JSON objects. A property is written for every member name returned by DynamicMetaObject.GetDynamicMemberNames.
When deserializing dynamic objects the serializer first attempts to set JSON property values on a normal .NET member with the matching name. If no .NET member is found with the property name then the serializer will call SetMember on the dynamic object. Because there is no type information for dynamic members on a dynamic object the values assigned to them will be LINQ to JSON objects
ISerializable
Types that implement ISerializable are serialized as JSON objects. When serializing only the values returned from ISerializable.GetObjectData are used; members on the type are ignored. When deserializing the constructor with a SerializationInfo and StreamingContext is called, passing the JSON object's values.
In situations where this behavior is not wanted the JsonObjectAttribute can be placed on a .NET type that implements ISerializable to force it to be serialized as a normal JSON object.
LINQ to JSON
LINQ to JSON types (e.g. JObject, JArray) are automatically serialized and deserialized to their equivalent JSON when encountered by the Json.NET serializer.
JsonConverter
Serialization of values that are convertible by a JsonConverter (i.e. CanConvert returns true for its type) is completely overridden by the JsonConverter. The test to see whether a value can be converted by a JsonSerializer takes precedence over all other tests.
JsonConverters can be defined and specified in a number of places: in an attribute on a member, in an attribute on a class and added to the JsonSerializer's converters collection. The priority of which JsonConverter is used is the JsonConverter defined by attribute on a member then the JsonConverter defined by an attribute on a class and finally any converters passed to the JsonSerializer.


This web application supports the following languages:
English, French, Dutch, Arabic, Dari and
Pashto
Write or paste some text(at least 15 characters: recommended) in the text input box below
then hit
the Enter key or click on the button (Detect).


Bidders: {{ lot.count_bidders }}
Bids: {{ lot.count_bids }}
Time Left: {{ lot.time_left_long }}
Bidder
Bid amount
Bid time
{% for bid in history %}
{{ bid.bidder_username }}
{{ bid.bid_amount }}
{{ bid.bid_time }}
{% endfor %}
Back to {{ lot.title }}


Component Composition
-
Denotes the styling of the
ActionComponent
.
This is an additional layer for theWinguButtonComposition
due to the fact that the button should have a bigger font.
See moreNote: The button size is relative to the title and font size. When a smaller font is applied to the button the button itself will also be smaller.
Declaration
Swift
public struct ActionComposition
-
Declaration
Swift
public struct AudioPlaylistComposition
-
This denotes the styling of
BrandBarComponent
.
Most of the styling of the brand bar, including images, background and font colors, is done via the wingu portal. The font settings will only apply to the font family and size.Note: Color will be overriden by with color settings in wingu portal.
Parameters configurable in wingu portal:
- Font color
- Background color
- Mode (
Image + Text
,Image only
,Text only
)
Declaration
Swift
public struct BrandBarComposition
-
This denotes the styling of the
ContactComponent
.Some of the labels in this section can be localised. Note that the colon
See more:
sign sign is always added at the end of a line in headers. It uses internal markdowns, so further customization is required to replace the default markdown attributes. Example view of component:
Declaration
Swift
public struct ContactComposition
-
Declaration
Swift
public struct CouponComposition
-
Declaration
Swift
public struct FormComposition
-
Declaration
Swift
public struct FileComposition
-
Denotes the styling of the
GalleryComponent
.The styles will be applied solely to the in-line version of the gallery. For information concerning the fullscreen gallery, please visit our open-source project WinguGallery
See moreDeclaration
Swift
public struct GalleryComposition
-
Declaration
Swift
public struct LocationComposition
-
Styling of
RatingComponent
.Example view of component:
See moreNote: If there is a need to change active and inactive images remember to provide square images. All images will be squized to 1:1 ratio for both - selection and non selection.
Declaration
Swift
public struct RatingComposition
-
Styling of
SeparatorComponent
.Note: Color overriding in this component should be used with caution. Since whenever color is set in this configuration, color set in wingu portal will be ignored!
Example view of component:
See more
Declaration
Swift
public struct SeparatorComposition
-
Declaration
Swift
public struct SurveyMonkeyComposition
-
Styling of
TextComposition
.This type uses internally markdown so for further customization is needed to replace markdown default attributes. Example view of component:
See more
Declaration
Swift
public struct TextComposition
-
Declaration
Swift
public struct VideoComposition
-
Declaration
Swift
public struct WebhookComposition


|
SuanShu, a Java numerical and statistical library | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.numericalmethod.suanshu.matrix.doubles.matrixtype.sparse.solver.iterative.stationary.SuccessiveOverrelaxationSolver
public class SuccessiveOverrelaxationSolver
The Successive Overrelaxation method (SOR), is devised by applying extrapolation to the Gauss-Seidel method. This extrapolation takes the form of a weighted average between the previous iterate and the computed Gauss-Seidel iterate successively for each component.
If the weight ω is chosen optimally, SOR may converge faster than the Gauss-Seidel method by an order of magnitude.
If the coefficient matrix A is symmetric positive definite, SOR is guaranteed to converge for any value of ω between 0 and 2, though the choice of ω can significantly affect the rate of convergence.
In principle, given the spectral radius ρ of the Jacobi iteration matrix, one can determine a priori the theoretically optimal value of ω for SOR:
ωopt = 2 / (1 + sqrt(1 - ρ2))This is seldom done, since calculating the spectral radius of the Jacobi matrix requires an impractical amount of computation. However, relatively inexpensive rough estimates of ρ can yield reasonable estimates for the optimal value of ω.
Preconditioning is not supported in this solver.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface com.numericalmethod.suanshu.matrix.doubles.matrixtype.sparse.solver.iterative.IterativeSolver |
|---|
IterativeSolver.ConvergenceFailure, IterativeSolver.Problem |
| Constructor Summary | |
|---|---|
SuccessiveOverrelaxationSolver(double omega)
Construct a SOR solver with the extrapolation factor ω. |
| Method Summary | |
|---|---|
Vector |
solve(IterativeSolver.Problem problem)
Solve iteratively Ax = b until the solution is close enough, i.e., the norm of residual (b - Ax) is less than or equal to the specified iteration. |
Vector |
solve(IterativeSolver.Problem problem,
IterationMonitor monitor)
Solve iteratively Ax = b until the solution is close enough, i.e., the norm of residual (b - Ax) is less than or equal to the specified iteration. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SuccessiveOverrelaxationSolver(double omega)
If ω equals to 1, SOR simplifies to the Gauss-Seidel method.
omega
- the extrapolation factor| Method Detail |
|---|
public Vector solve(IterativeSolver.Problem problem) throws IterativeSolver.ConvergenceFailure
IterativeSolver
Ax = buntil the solution is close enough, i.e., the norm of residual (b - Ax) is less than or equal to the specified iteration.
solve
in interface IterativeSolver
problem
- the problem of solving Ax = b
IterativeSolver.ConvergenceFailure
- if the algorithm fails to convergepublic Vector solve(IterativeSolver.Problem problem, IterationMonitor monitor) throws IterativeSolver.ConvergenceFailure
IterativeSolver
Ax = buntil the solution is close enough, i.e., the norm of residual (b - Ax) is less than or equal to the specified iteration.
In each iteration, the newly computed iterate is added to the
IterationMonitor
for statistics or diagnostic purpose.
solve
in interface IterativeSolver
problem
- the problem of solving Ax = bmonitor
- an IterationMonitor
instance
IterativeSolver.ConvergenceFailure
- if the algorithm fails to converge
|
SuanShu, a Java numerical and statistical library | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Project: Stylometry (Results) Part 2
I didn’t know if my program worked or not, so I decided to test it out. I decided to choose authors that wrote in English to ensure the use of the words that I looked for, were natural and consistent.
First, I would test it against different texts by Charles Dickens and then compare the texts to those by other authors around the same time period:
| Oliver Twist | Great Expectations | A Tale of Two Cities | |
| Oliver Twist | 0% | 68.1% | 60.4% |
| Great Expectations | 68.1% | 0% | 52.1% |
| A Tale of Two Cities | 60.4% | 52.1% | 0% |
Now, comparing different authors:
| Pride and Prejudice | Dracula | |
| Oliver Twist | 218% | 115% |
| Great Expectations | 227% | 127% |
| A Tale of Two Cities | 240% | 112% |
So, that worked. I found that the same author had a percentage difference of < ~70% whilst a different author would have a difference of > ~110%.I also saw that a lower word count would lead to less accurate results, so I wanted to try the checker on a novella by Charles Dickens, A Christmas Carol.
| A Christmas Carol (29400 words) | |
| Oliver Twist (171826 words) | 63.0% |
| Great Expectations (190198 words) | 97.8% |
| A Tale of Two Cities (138330 words) | 71.3% |
Thus, word count does indeed affect the percentage difference because a smaller lengthed novella would contain less of the typical function words used by the same author. However, even though A Christmas Carol is significantly shorter than the rest of the novels, the percentage difference was still smaller than the books by the other authors. And I suspect if I used a few novellas from the other novels, the percentage differnce will be even smaller. I also think that some of the tags I decided to target is a natural part of English and there might be a more personal list of words. Anyway, the longer the texts, the more accurate this program is.


This page contains the list of server-side agents with short descriptions and instructions for testing.
This list is not final, and will be modified in time.
This is a simple example of agent which dumps the content of the received message.
This is a template for creating new agents. All new agents should be created in separate EJB projects.
Please pay attention to the META-INF/manifest.mf file, since it contains one line that defines the dependancy on the siebog framework.
Note: The TestAgent example, as well as all external agents (separate EJB projects) cannot be run from the standalone binary of siebog as they need to be deployed separately.
Create test agent
To create the TestAgent, please .
This will create one agent with the name test. Do this only once.
This example gives an overview of inter-agent communications (how to send message, how to reply, etc.).
Create ping and pong agents
Two agents need to be created: ping and pong. To do so, please . Do this only once.
Initiate communication
The communication will be initiated by sending the REQUEST performative to the ping agent.
The content of the message will be the name of the pong agent: pong.
The pong agent will reply to the ping agent by sending the INFORM performative.
The message exchange can be observed on the wildfly console.
To initiate communication, please .
This example is an agent-based implementation of the Ant Colony Optimization technique for solving the Traveling Salesman Problem.
It includes two types of agents: Ant representing ants, and Map which represents the map they're exploring.
Create the Map agent
This example starts with the creation of the Map agent. To do so, please .
Do this only once.
Create 10 Ant agents
After the Map agent has been created, create 10 Ant agents and let them explore the Map. To do so, please .
Do this only once, too.
Stop the search
If you want to stop all ants, please .
If you stop ant agents, you have also stopped the Map agent. So, if you want to start the search again, click on the button for creation of
Map agent, and then click on the button for creation of Ant agents.


| Methods' Summary |
| getFrames |
provides access to this container and to all other XFramesSupplier
which are available from this node of frame tree
|
| getActiveFrame |
gets the current active frame of this container
(not of any other available supplier)
|
| setActiveFrame |
is called on activation of a direct sub-frame.
|
| Methods' Details |
getFrames
- Description
- provides access to this container and to all other XFramesSupplier
which are available from this node of frame tree
- Returns
- the collection of frames which is represented by
a FramesContainer.
|
|
getActiveFrame
- Description
- gets the current active frame of this container
(not of any other available supplier)
This may be the frame itself. The active frame is defined as
the frame which contains (recursively) the window with the focus.
If no window within the frame contains the focus, this method
returns the last frame which had the focus. If no containing
window ever had the focus, the first frame within this frame is
returned.
- Returns
- the Frame which is active within this frame.
|
|
| setActiveFrame
|
Top of Page
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


- Timestamp
5/27/2018 19:52:54
- Which dojo did you attend?
Austria, Vienna
- Any previous programming experience?
Yes
- Which typed languages have you used, if any?
C++, Flow, Java, Rust
- Which functional programming languages have you used, if any?
Reason, Wolfram Language (Mathematica)
- What did you like about the experience?
nice people, nice please, nice programming, Timo
- What did you dislike about the experience?
sometimes we felt a bit stuck
- Where did the team spend the most time?
writing bindings with abstract types
Option 1
- Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
yes! 1. often the editor would not reflect the current compiler state, still displaying errors that were not real; 2. refmt sometimes didn't work for unknown reasons
- Did you find any error messages hard to follow? If so, which ones?
at least one where we forgot parentheses around an Array.map function call in JSX (to create children)
- Anything in particular you wish would have been better documented?
how to use abstract types (how to create them and how to access fields)
- What would you change in the ecosystem to make it better?
less error-prone editor integration
- What would you like to build or learn for your next Dojo?
real-world data fetching; maybe to write Reason for the server
- Timestamp
5/27/2018 19:53:18
- Which dojo did you attend?
Austria, Vienna
- Any previous programming experience?
Yes
- Which typed languages have you used, if any?
flow
- Which functional programming languages have you used, if any?
reason
- What did you like about the experience?
Jan, Timo, nice people, getting knowledge in writing bindings
- What did you dislike about the experience?
vienna 26 degrees celcius
- Where did the team spend the most time?
abstract types, how to properly configure bindings
Option 1
- Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
rfmt didn't work all the time, out of sync
- Did you find any error messages hard to follow? If so, which ones?
Array.map function call where only writing an additional function to create markers worked instead of using the functionality directly in JSX. Probably not proper use of brackets
- Anything in particular you wish would have been better documented?
how abstract types are used properly
- What would you change in the ecosystem to make it better?
bindings in general, ecosystem(editor errors sometimes confusing), error handling with jsx code
- What would you like to build or learn for your next Dojo?
how to properly fetch data with Reason
- Timestamp
5/27/2018 19:54:44
- Which dojo did you attend?
Austria, Vienna
- Any previous programming experience?
Yes
- Which typed languages have you used, if any?
Java, Fortran, C, C++, Kotlin
- Which functional programming languages have you used, if any?
- What did you like about the experience?
The community aspect, I loved that results became visible for everyone on the map and that much of the groundwork like POSTing and GETting has been done for you.
Regarding the toolchain, sometimes you get tripped up by the UNKNOWN SYNTAX ERROR, but otherwise it's been ok.
- What did you dislike about the experience?
Array vs List, always using Array when interacting with JavaScript is not explicitly mentioned in the docs. I think it's mentioned, but in between the lines.
I probably missed something, but the shadowing part of type name vs parameter name tripped us up in the beginning and it wasn't perfectly clear why that's the case.
- Where did the team spend the most time?
Writing bindings, shadowing.
- Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
Nope, has been quite lovely this time around!
- Did you find any error messages hard to follow? If so, which ones?
UNKNOWN SYNTAX ERROR
- Anything in particular you wish would have been better documented?
In the concrete case where the response body string => JSON => Reason records conversion is taking place. I know it's in the Fetcher, but after ReasonConf I thought I'd always have to use `Json.Decode` or `location##username` etc.
I guess part of it was that the Fetcher was supposed to be a blackbox anyway and from the type definition it was clear that we already get records.
Another thing was https://reasonml.github.io/reason-react/docs/en/element-type-is-invalid.html which is documented, but it also tripped us up. I'm not sure if the tooling can improve this, but it would be nice.
- What would you change in the ecosystem to make it better?
More bindings for popular libraries publicly available and community maintained. But this is a community effort anyway. But since we spent a lot of time writing bindings, this would be the best thing to have.
- What would you like to build or learn for your next Dojo?
Typed server code. Maybe form validation. Nothing where I have to write a UI myself :D
That's also a big plus for this dojo, the styles were already defined.
- Timestamp
5/27/2018 23:08:53
- Which dojo did you attend?
Belgium, Brussels
- Any previous programming experience?
Yes
- Which typed languages have you used, if any?
Java, C, C++
- Which functional programming languages have you used, if any?
- What did you like about the experience?
the autocomplete, the reducerComponent, no need for imports <3, the fact that the language has refmt <3 (no need to engage in big fights about who has the better style :D)
- What did you dislike about the experience?
That for some reason in my mind reason is close to javascript when it's really not.
Writting the binding for the react-simple-maps was a big pain for me as beginner.
Also the doc for someone that is not used to read functionnal programming documentation, it is not very easy.
The ~ is not the best on a non US keyboard.
ReactDOMRe.Style.make(~width="100%", ~maxWidth="980px", ~margin="0 auto", ())) that kind of code is painful to write, I wish the compiler could add the last param () automatically.
[0, 20] vs [|(0), (20)|] as javascript developer I would have prefered if the first one was the array and not the list :D
- Where did the team spend the most time?
Bindings javascript -> reason
- Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
no
- Did you find any error messages hard to follow? If so, which ones?
yes, the <UNKNOWN SYNTAX ERROR>
60 ┆ <Markers>
61 ┆ <Marker
62 ┆ marker=marker
63 ┆ style={{
64 ┆ default: ReactDOMRe.Style.make(~fill="#FF5722", ()),
This has type:
{. "coordinates": array(float), "markerOffset": int, "name": string}
But somewhere wanted:
MyProjectName.Marker.markerT (defined as MyProjectName.Marker.markerT)
Could not find what was wrong on that one
- Anything in particular you wish would have been better documented?
interop, it was not easy to find how to write
<EMAIL_ADDRESS>"react-simple-maps"]
external geographies: ReasonReact.reactClass = "Geographies";
- What would you change in the ecosystem to make it better?
As a react developer I would say the availability of interop for most mainstream library. I have the general feeling that TypeScript is more popular than flow just because they have a huge typings community.
- What would you like to build or learn for your next Dojo?
A complex ui with animations if possible
- Timestamp
5/28/2018 9:13:53
- Which dojo did you attend?
France, Paris
- Any previous programming experience?
Yes
- Which typed languages have you used, if any?
Flow, Typescript, Java, C#, Swift
- Which functional programming languages have you used, if any?
JS?
- What did you like about the experience?
Gave me a very clear view about the state of Reason right now
- What did you dislike about the experience?
Found it a bit too much like a mysterious puzzle, since I never knew what to look up
- Where did the team spend the most time?
Bindings with the React library
- Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
editor plugin sometimes came out of sync so had to close and reopen files
- Did you find any error messages hard to follow? If so, which ones?
unknown syntax error when doing things which aren't possible in reason (forgotten semicolons, using braces instead of brackets)
- Anything in particular you wish would have been better documented?
didn't really use the documentation, bindings doc is a little light https://reasonml.github.io/reason-react/docs/en/interop.html could have some more complex examples and links to how to used published ones
- What would you change in the ecosystem to make it better?
stdlib using more JS stdlib would be cool; Array.mapi and mapWithIndex, map could be a single fn with an optional I right?
- What would you like to build or learn for your next Dojo?
something usable from JS as a third party (without any knowledge of Reason in the JS bits)
- Timestamp
5/27/2018 19:34:46
- Which dojo did you attend?
Netherlands, Amsterdam
- Any previous programming experience?
Yes
- Which typed languages have you used, if any?
Typescript
- Which functional programming languages have you used, if any?
- What did you like about the experience?
Being able to have people around and ask questions
- What did you dislike about the experience?
The format could've been a little bit more specific in terms of hints. There's a few 'gotchas' which were very hard to find out. (like shadowing type names)
- Where did the team spend the most time?
creating the bindings for the external library
- Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
Just some vague error messages sometimes. When shadowing, or a syntax error
- Did you find any error messages hard to follow? If so, which ones?
The error message when a type with @bs-derive annotation has the same name as it's parent property
- Anything in particular you wish would have been better documented?
There are some language features, like the different pipe operators '|>' vs '|.'
- What would you change in the ecosystem to make it better?
I think error messaging around syntax errors will be very important, as people coming from other languages might not know all the intricacies.
- What would you like to build or learn for your next Dojo?
I would like to go closer to real world applications. Like a backend (node server), react native app, etc.
- Timestamp
5/27/2018 19:40:34
- Which dojo did you attend?
Sweden, Stockholm
- Any previous programming experience?
Yes
- Which typed languages have you used, if any?
TypeScript, Haskell
- Which functional programming languages have you used, if any?
Haskell
- What did you like about the experience?
Meeting people with a common interest and solving problems with them. People!
- What did you dislike about the experience?
The editor installation path took a bit long.
- Where did the team spend the most time?
Modelling the data received from the API and learning about bs-fetch interop and learning about type systems.
- Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
Editor plugins seems to be a bit hard to setup with a previous ocaml installation on the computer.
- Did you find any error messages hard to follow? If so, which ones?
The hardest ones are the tiny ones, missing a comma in a react component, missing semi colon etc. “Error on line 1 0:0”.
- Anything in particular you wish would have been better documented?
We did not read much documentation. The editor tools themselves helped us a lot, being able to go to the definition of most modules was really helpful.
- What would you change in the ecosystem to make it better?
Precious ocaml and opal installations not conflicting with the reason-cli installation, this seemed to be our biggest blocker and lot of people resorted to the legacy reason plugins.
- What would you like to build or learn for your next Dojo?
The type system! I think “making illegal states unrepresentable” is a great thing to showcase, especially for fetching data.
- Timestamp
5/28/2018 9:59:04
- Which dojo did you attend?
Sweden, Stockholm
- Any previous programming experience?
Yes
- Which typed languages have you used, if any?
Pascal, C, C++, Java, C#, Golang, Haskell, OCaml, Elm
- Which functional programming languages have you used, if any?
Clojure, Haskell, OCaml, Elm
- What did you like about the experience?
The dojo task was interesting because it had a couple of different subtasks so that you could choose one and jump in the deep end.
- What did you dislike about the experience?
Not having any particular JS or React experience (besides what I've gathered from reading off the web and staying up to date), it was frustrating that the tasks were more about React than about Reason itself.
- Where did the team spend the most time?
Figuring out how to interop Reason and React
Option 1
- Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
No, they worked surprisingly well.
- Did you find any error messages hard to follow? If so, which ones?
Yes, the message about undefined field (because you had forgotten to open the containing module) was not too obvious. To my surprise we didn't get any error message at all when we tried to do List.map instead of Array.map. It actually worked, but produced the wrong result.
- Anything in particular you wish would have been better documented?
- What would you change in the ecosystem to make it better?
I can't really tell yet. I feel like the documentation overall is quite good, but plenty of knowledge of React seems to be expected. That's fine of course as long as there's a big label somewhere warning the reader so that they know that they need to check other sources too.
As with any fairly new language it was difficult to find answers to questions that were not discussed in the documentation. Surely the situation will improve over time.
- What would you like to build or learn for your next Dojo?
Backend stuff!
- Timestamp
5/28/2018 17:35:34
- Which dojo did you attend?
Sweden, Stockholm
- Any previous programming experience?
Yes
- Which typed languages have you used, if any?
Java, C++, C, Elm
- Which functional programming languages have you used, if any?
Elm
- What did you like about the experience?
Welcoming, suitable for noobs, fun!
- What did you dislike about the experience?
nobody who came had enough reason experience to guide the others
- Where did the team spend the most time?
Syntax we weren't used to; Problems with "unexpected syntax errors" everywhere for stuff like missing semi colons; setting up editor for vim users
Option 1
- Did you experience any difficulties with the tools (bsb, merlin, editor plugins, etc)?
VS code: most of the time auto completion/hints just didn't work. Merlin: Unexpected Syntax Error for missing semicolons and colons... Really??
- Did you find any error messages hard to follow? If so, which ones?
Unexpected Syntax Error; Unbound constructors; Hard to google error messages :'(
- Anything in particular you wish would have been better documented?
Some documentation was outdated; there wasn't really any time to more than skim the existing documentation; hard to find other sources e.g. in blog posts or on stack overflow at this point
- What would you change in the ecosystem to make it better?
The name is problematic as it makes googling for solutions really hard; Unexpected Syntax Errors should just burn in hell
- What would you like to build or learn for your next Dojo?
Format could be more workshop-y, with some people who actually know their reason. Really liked the example though, as it included both some frontend and some data fetching!


Storing of data for use by backend CMS. Using frontend to allow users to enter data that is then inserted into specific databases.


The context2d plugin was tweaked to auto-break a document into multiple pages.
The auto-page-break feature allows vertical positioning by addressing the Y coordinate beyond the PDF page.
Note: There is a margin bug that causes an item to not draw in the break.


--- layout: default title: "Home" ---
Writing helps clarify my thoughts. Clearer thoughts make for better actions, which means more impact, better relationships, more success.
But writing in public ... is hard. I put a lot of pressure on things I show others - nitpicking and editing forever. My thoughts get clearer, but I never actually publish anything. Maybe this is a form of less public writing I could try.
Some of these posts are evergreen, and will get updated whenever I learn something new. I hope you enjoy.


| Field Summary | ||
|---|---|---|
const Number | BLANK_ROW | |
| Table style element that applies to PivotTable's blank rows. | ||
const Number | FIRST_COLUMN | |
| Table style element that applies to table's first column. | ||
const Number | FIRST_COLUMN_STRIPE | |
| Table style element that applies to table's first column stripes. | ||
const Number | FIRST_COLUMN_SUBHEADING | |
| Table style element that applies to PivotTable's first column subheading. | ||
const Number | FIRST_HEADER_CELL | |
| Table style element that applies to table's first header row cell. | ||
const Number | FIRST_ROW_STRIPE | |
| Table style element that applies to table's first row stripes. | ||
const Number | FIRST_ROW_SUBHEADING | |
| Table style element that applies to PivotTable's first row subheading. | ||
const Number | FIRST_SUBTOTAL_COLUMN | |
| Table style element that applies to PivotTable's first subtotal column. | ||
const Number | FIRST_SUBTOTAL_ROW | |
| Table style element that applies to pivot table's first subtotal row. | ||
const Number | GRAND_TOTAL_COLUMN | |
| Table style element that applies to pivot table's grand total column. | ||
const Number | GRAND_TOTAL_ROW | |
| Table style element that applies to pivot table's grand total row. | ||
const Number | FIRST_TOTAL_CELL | |
| Table style element that applies to table's first total row cell. | ||
const Number | HEADER_ROW | |
| Table style element that applies to table's header row. | ||
const Number | LAST_COLUMN | |
| Table style element that applies to table's last column. | ||
const Number | LAST_HEADER_CELL | |
| Table style element that applies to table's last header row cell. | ||
const Number | LAST_TOTAL_CELL | |
| Table style element that applies to table's last total row cell. | ||
const Number | PAGE_FIELD_LABELS | |
| Table style element that applies to pivot table's page field labels. | ||
const Number | PAGE_FIELD_VALUES | |
| Table style element that applies to pivot table's page field values. | ||
const Number | SECOND_COLUMN_STRIPE | |
| Table style element that applies to table's second column stripes. | ||
const Number | SECOND_COLUMN_SUBHEADING | |
| Table style element that applies to pivot table's second column subheading. | ||
const Number | SECOND_ROW_STRIPE | |
| Table style element that applies to table's second row stripes. | ||
const Number | SECOND_ROW_SUBHEADING | |
| Table style element that applies to pivot table's second row subheading. | ||
const Number | SECOND_SUBTOTAL_COLUMN | |
| Table style element that applies to PivotTable's second subtotal column. | ||
const Number | SECOND_SUBTOTAL_ROW | |
| Table style element that applies to PivotTable's second subtotal row. | ||
const Number | THIRD_COLUMN_SUBHEADING | |
| Table style element that applies to PivotTable's third column subheading. | ||
const Number | THIRD_ROW_SUBHEADING | |
| Table style element that applies to PivotTable's third row subheading. | ||
const Number | THIRD_SUBTOTAL_COLUMN | |
| Table style element that applies to pivot table's third subtotal column. | ||
const Number | THIRD_SUBTOTAL_ROW | |
| Table style element that applies to PivotTable's third subtotal row. | ||
const Number | TOTAL_ROW | |
| Table style element that applies to table's total row. | ||
const Number | WHOLE_TABLE | |
| Table style element that applies to table's entire content. |
| Field Detail |
|---|
BLANK_ROW | |
const Number BLANK_ROW |
FIRST_COLUMN | |
const Number FIRST_COLUMN |
FIRST_COLUMN_STRIPE | |
const Number FIRST_COLUMN_STRIPE |
FIRST_COLUMN_SUBHEADING | |
const Number FIRST_COLUMN_SUBHEADING |
FIRST_HEADER_CELL | |
const Number FIRST_HEADER_CELL |
FIRST_ROW_STRIPE | |
const Number FIRST_ROW_STRIPE |
FIRST_ROW_SUBHEADING | |
const Number FIRST_ROW_SUBHEADING |
FIRST_SUBTOTAL_COLUMN | |
const Number FIRST_SUBTOTAL_COLUMN |
FIRST_SUBTOTAL_ROW | |
const Number FIRST_SUBTOTAL_ROW |
GRAND_TOTAL_COLUMN | |
const Number GRAND_TOTAL_COLUMN |
GRAND_TOTAL_ROW | |
const Number GRAND_TOTAL_ROW |
FIRST_TOTAL_CELL | |
const Number FIRST_TOTAL_CELL |
HEADER_ROW | |
const Number HEADER_ROW |
LAST_COLUMN | |
const Number LAST_COLUMN |
LAST_HEADER_CELL | |
const Number LAST_HEADER_CELL |
LAST_TOTAL_CELL | |
const Number LAST_TOTAL_CELL |
PAGE_FIELD_LABELS | |
const Number PAGE_FIELD_LABELS |
PAGE_FIELD_VALUES | |
const Number PAGE_FIELD_VALUES |
SECOND_COLUMN_STRIPE | |
const Number SECOND_COLUMN_STRIPE |
SECOND_COLUMN_SUBHEADING | |
const Number SECOND_COLUMN_SUBHEADING |
SECOND_ROW_STRIPE | |
const Number SECOND_ROW_STRIPE |
SECOND_ROW_SUBHEADING | |
const Number SECOND_ROW_SUBHEADING |
SECOND_SUBTOTAL_COLUMN | |
const Number SECOND_SUBTOTAL_COLUMN |
SECOND_SUBTOTAL_ROW | |
const Number SECOND_SUBTOTAL_ROW |
THIRD_COLUMN_SUBHEADING | |
const Number THIRD_COLUMN_SUBHEADING |
THIRD_ROW_SUBHEADING | |
const Number THIRD_ROW_SUBHEADING |
THIRD_SUBTOTAL_COLUMN | |
const Number THIRD_SUBTOTAL_COLUMN |
THIRD_SUBTOTAL_ROW | |
const Number THIRD_SUBTOTAL_ROW |
TOTAL_ROW | |
const Number TOTAL_ROW |
WHOLE_TABLE | |
const Number WHOLE_TABLE |


| Provider | Code | Location | OS | Price per hour |
Price per day |
Price per month |
Cores | RAM (Gb) |
HDD (Gb) |
HDD Config |
Storage Type |
Network | Traffic Included |
|---|


Affirmation and Stereotype Threat
Values
21 Mar 15
This week at DBC we were asked to think again about Stereotype threat. ReducingStereotypeThreat.org has a great list of strategies to help combat the negative affects of Stereotype Threat. The two I personally use are "encouraging self-affirmation", and "emphasizing high standards with assurances about capability for meeting them." The values I list below, all of which I try to live up to, help build a foundation to resist the negative influences of stereotype threat.
Family/Friendships/Close Relationships
As the quote goes, "You are the average of the five people you spend the most time with." Having close, nurturing relationships is a crucial part of living a healthy and fulfilling life.
Honesty/Integrety
Living your life with honesty and integrity is, I believe, extremely important. Being honest with others is an extremely important, but honesty and integrity in your dealings with yourself is just as important.  Self-deception also stunts your growth personally and creatively.
Introspection/Personal Development/Growth
Continuing to grow personally and otherwise is extremely important to me. Introspection and personal development are both tools that I use to try and facilitate that growth. These are all hard without self honesty.
Courage/Adventure
I think the world is filled with wonder and exploring it is one of my favorite things. Courage is required in any good adventure because you run into obstacles and tests that must be overcome if you want to reach your goals. "Courage is the latter on which all the other virtues mount."
Excellence/Craftsmanship
Making nice things requires a dedication to the craft of doing so. It also requires that you hold yourself to a standard of excellence that is above what is initially achievable. That is how you get better.
Book Suggestions -
An existentialist classic and a great book on creativity:


José Mariano Rebelo Pires Gago, ComSE (16 May, 1948 – 17 April, 2015), commonly referred to as Mariano Gago, was a Portuguese physicist and politician, mostly known for his tenures as Minister for Science and Higher Education. He held government offices for a total of 13 years, more than any other person since 1976
He graduated as an electrical engineer by the University of Lisbon's Instituto Superior Técnico in Lisbon, and did advanced research work in Paris at the École Polytechnique as a high-energy physicist. Professor of Physics at Instituto Superior Técnico in Lisbon, he worked at CERN (European Organization for Nuclear Research) in Geneva for several years. He was a member of the CERN Council (1985–1990), the EC Joint Research Centre Board of Governors (1986–1989), President of the Portuguese National Board for Science and Technology (1986–1989), and was chair of the European EUREKA initiative from July 1997 to June 1998. Prof. Gago was the Minister for Science and Technology of Portugal since 1995, and represented Portugal at the Council of Ministers for Research and Development of the European Union. He was also responsible for the coordination of the Portuguese policy on Information Society, and for the promotion of science education and scientific culture. Throughout his career, Prof. Gago emphasised the link between teaching and research, and addressed issues such as whether universities should specialise more in teaching or in research and whether there were possible divergences between teaching and research priorities, although never managing to reach acceptable educational levels within some Portuguese higher education institutions. Prof. Gago was the founder of the Ciência Viva programme (since 1996), which on behalf of the Ministry of Science and Technology, aims to promote scientific and technological culture among the Portuguese population. "My generation's legacy will be that research and technology made great progress in being more accessible and understandable to the public. The present development of technical advancement would have been unthinkable if we were unable to rely on the basic technical knowledge of the average citizen," stated Prof. Gago. He also fostered research that is increasingly carried out in a framework of international cooperation, as a chance for Portugal to develop new products and provide new types of knowledge-intensive services. During his tenure as Minister for Science, Technology and Higher Education of the XVII Governo Constitucional, Mariano Gago's Ministry was responsible for the compulsory closing of problematic and unreliable private higher education institutions (Independente University and Moderna University).


Assignment Name
Assignment Date
Topic
Link
Phenomena
19 February 2019
Main project
Registration Form
20 February 2019
Registration Form
skybnb
22 February 2019
airbnb mock
Weather
27 February 2019
Mobile_Application
position
28 February 2019
practice
Practice
3 March 2019
Vertical
Practice
5 March 2019
Submission
Practice
6 March 2019
Image sprite
JS_Practice
09 March 2019
JS external/internal script
JS_Practice_1
20 March 2019
Practice
JS_Practice_2
08 April 2019
Practice
JQuery_assignment
22 April 2019
assignment
NUMURO
16 June 2019
NUMURO_project


--- layout: global --- {% assign county = site.data.geo.county[page.county_id] %} 民間能源轉型推動聯盟 This svg is derivated from Eason Hsieh's work at https://codepen.io/hahamimidido/pen/wGRrza {% for county in site.data.geo.county %} {% endfor %} {{ county.name }} 能源轉型政策一覽 {% for policy in county.policy %} {{ policy.title }} {{ policy.description }} {% endfor %}
{{ policy.description }}


from tea-seller to prime minister of world's largest democracy INDIA
Narendra Modi is the current prime minister of INDIA
Journey of his life:
He was born on 17 September 1950 to a family of grocers in Vadnagar, Mehsana district,Gujrat.He was the third of six children born to his parents.As a child, Modi helped his father sell tea at the Vadnagar railway station, and later ran a tea stall with his brother near a bus terminus.At age eight, Modi discovered the Rashtriya Swayamsevak Sangh (RSS), and began attending its training.In 1978 Modi became an RSS regional organiser.n 1988, Modi was elected organising secretary of the party's Gujarat unit, marking his entrance into electoral politics.On 3 October 2001 he became the cheif minister of Gujrat.Modi played a significant role in the BJP's 2009 general-election campaign.Modi was sworn in as Prime Minister of India on 26 May 2014 at the Rashtrapati Bhavan.
"Once we decide we have to do something, we can go miles ahead"


Each row is loss due to one datapoint. The first three columns are the 2D data \(x_i\) and the label \(y_i\). The next three columns are the three class scores from each classifier \(f(x_i;W,b)=Wx_i+b\) (E.g. s[0] = x[0] * W[0,0] + x[1] * W[0,1] + b[0]). The last column is the data loss for a single example, \(L_i\).
| X[0] | X[1] | y | s[0] | s[1] | s[2] | L |
|---|---|---|---|---|---|---|
| Mean: |
| Total data loss | |
| Regularization loss | |
| Total loss |


--- layout: post status: publish published: true title: Bob Brenly, Matt Veto and the changes in baseball. All here. author: display_name: Kurt login: Kurt email<EMAIL_ADDRESS>url: '' author_login: Kurt author_email<EMAIL_ADDRESS>wordpress_id: 653 wordpress_url: http://ivyenvy.com/?p=653 date: '2009-04-21 09:25:42 +0000' date_gmt: '2009-04-21 15:25:42 +0000' categories: - Broadcasters - Broadcasters/Networks - Catchers - General Baseball - General Sports - Minor Leagues tags: - Bob Brenly - Matt Veto - Michael Brenly - Quad Cities - 1960s - Nostalgia comments: - id: 192 author: Kurt author_email<EMAIL_ADDRESS>author_url: http:// date: '2009-04-21 09:32:55 +0000' date_gmt: '2009-04-21 15:32:55 +0000' content: Answering my own question, I like that players still use wood bats. The reasons aren't nostalgia and it would hardly be fair (or safe) to let Soriano use a metal bat, but given the technological advances in every aspect of our lives its nice to see the players still swinging lumber. Dangerously explosive lumber. - id: 253 author: VetoPower author_email<EMAIL_ADDRESS>author_url: http://www.qconline.com/bloggers/vetopower date: '2009-06-03 21:53:57 +0000' date_gmt: '2009-06-04 03:53:57 +0000' content: "Awww... Kurt, you are my guy.\r\n\r\nI'm catching up on some reading here. In fact, Brenly said \"Root, root, root for the Cubbies,\" to which I overheard a call on the staff radios from the Bandits GM, saying, \"Who just let that happen?\"\r\n\r\nHilarious!\r\n\r\nThanks for the love fest." ---
Bob Brenly made a trip to the Quad Cities. I'm sure Paul is heartbroken that he missed him. It's not huge news, but it did make the paper thanks to our good friend Matt Veto. With the Cubs on FOX and a rare weekend day off, Brenly took in the Peoria Chiefs v. QC River Bandits game Saturday night to see his son and Cubs prospect Michael and was coaxed into singing "Take me out to the ball game". Let's hope he said "root for the Cubbies/Chiefs". Veto, what's the word?
I got that scoop from Matt last night when I ran in to him at a lecture at Augustana College. The lecture was titled "The Changing World of Professional Baseball: How does America's pastime reflect American Culture?" from University of San Fransisco anthropology professor George Gmelch, who played in the Tigers minor leagues system in the 1960s. Continuing the Veto lovefest, here's his write-up on the lecture.
As a Cubs fan I'm overly nostalgic so hearing an "old-timer" talk about the game and its changes over the last thirty years was more than interesting. His account of 1960s minor league baseball seemed to show a near military relationship between coaches, front office staff and their young players. Uniforms were all worn the same way and routine curfew and bed checks were the norm. Things were done as a team and "individualism" was not as rampant. When asked "What has remained the same?", Gmelch was a little stumped, but added that the game itself (the rules) has changed very little while the players and the business have changed immensely.
For the sake of further discussion, what things have changed about the game that you don't like? Things you do like?


Gateway
BOT
26-Jun-19 05:20 PM
[telegram] <RAHUL> Not hoping from kmd this type of dump
[telegram] <RAHUL> If btc will go upto 20k then kmd 3k or 4k or 5k....
[telegram] <yorklab> Nobody knows what coins will trade on U.S. Binance. But it will definitely be a lot fewer coins than on the regular binance.
[telegram] <Taner> (re @RAHUL: If btc will go upto 20k then kmd 3k or 4k or 5k....)
[telegram] <Ggokhangark> Do not worry. It will be around 1,30 usd if even btc goes to 20k. Then it will be our turn. (re @RAHUL: If btc will go upto 20k then kmd 3k or 4k or 5k....)
[telegram] <RAHUL> Thereafter btc will dump badly (re @Ggokhangark: Do not worry. It will be around 1,30 usd if even btc goes to 20k. Then it will be our turn.)
[telegram] <RAHUL> Now Btc is bubbling.
[telegram] <RAHUL> Because fund will move into alts then BTC absolutely dump .
[telegram] <Kenny_Kobayashi> If btc dumps then alts will dump even harder
[telegram] <Kenny_Kobayashi> That's always been the case
[telegram] <Ggokhangark> However you will be better than now. (re @RAHUL: Thereafter btc will dump badly)
[telegram] <Kenny_Kobayashi> People still treating btc as if this were some dead cat bounce
[telegram] <RAHUL> Not will dump because whales will earn from alts. (re @Kenny_Kobayashi: If btc dumps then alts will dump even harder)
[telegram] <Kenny_Kobayashi> Check out a btc volatility study. When btc stops being volatile then alts generally rise.
[telegram] <Kenny_Kobayashi> Right now its volatility is flying
[telegram] <Ggokhangark> Check 2017 btc bull run and see what happened to alts after btc made dump. (re @Kenny_Kobayashi: If btc dumps then alts will dump even harder)
[telegram] <Ggokhangark> Do not worry. It will do same. But the question is from which price btc will do down? This one I do not guess now. Maybe 20k. Maybe 16k. Or 50-60k.
[telegram] <Kenny_Kobayashi> But you lost 25% of your trades
[telegram] <Kenny_Kobayashi> No USA this time.
[telegram] <Kenny_Kobayashi> No china
[telegram] <Kenny_Kobayashi> Its not gonna be the same as 2017
[telegram] <Kenny_Kobayashi> KMD needs to get on coinbase
[telegram] <Ggokhangark> We will see in a few days-) (re @Kenny_Kobayashi: Its not gonna be the same as 2017)
[telegram] <RAHUL> Fund is the same in market but moving from alts to btc.
[telegram] <Kenny_Kobayashi> That's what they said last week
[telegram] <Kenny_Kobayashi> Then next week
[telegram] <Kenny_Kobayashi> Then the next
[telegram] <Ggokhangark> Did you sell kmd? If not then you have no choice but to wait. So wait a little bit. You will see pumps soon. (re @Kenny_Kobayashi: Then the next)
[telegram] <Kenny_Kobayashi> If I dont have an exchange to trade my kmd after binance USA ban then what choice do I have? (re @Ggokhangark: Did you sell kmd? If not then you have no choice but to wait. So wait a little bit. You will see pumps soon.)
[telegram] <Kenny_Kobayashi> I've been hodling for almost 2 years
[telegram] <Ggokhangark> But we are in bittrex still. JL777 said thay there would not be ban from USA. So you can trade in Bittrex instead of Binance. (re @Kenny_Kobayashi: If I dont have an exchange to trade my kmd after binance USA ban then what choice do I have?)
[telegram] <Kenny_Kobayashi> Bittrex is banned in NY
[telegram] <Ggokhangark> Ouchh-) (re @Kenny_Kobayashi: Bittrex is banned in NY)
[telegram] <Ggokhangark> What about Huobi? (re @Kenny_Kobayashi: Bittrex is banned in NY)
[telegram] <Kenny_Kobayashi> Banned (re @Ggokhangark: What about Huobi?)
[telegram] <yorklab> If it trades on bittrex it could still trade on U.S. binance. Nobody knows at this point.
[telegram] <yorklab> Also mobile DEX will be available then.
[telegram] <Kenny_Kobayashi> I could just keep it in my ledger until everything becomes available


LOGIN
LOGOUT
PROFILE
SUPPORT
CART
Account Overview
Change Password
ACCOUNT OVERVIEW
E-mail:
Gender:
Location:
We do not have delivery access to the Republic at this time, as 2 of our delivery guys were shot down by storm-troopers.
CHANGE PASSWORD
New Password:
Confirm Password:
Confirm Change


Kiran Kesari
About
Portfolio
Contact
Portfolio
Me enjoying nature
I like to eat healthy
Early morning Sunrise


| ckt Project Status (07/29/2017 - 11:28:00) | |||
| Project File: | trabfinal.xise | Parser Errors: | No Errors |
| Module Name: | ckt | Implementation State: | Synthesized |
| Target Device: | xc3s100e-4cp132 |
|
No Errors |
| Product Version: | ISE 14.7 |
|
35 Warnings (2 new) |
| Design Goal: | Balanced |
|
|
| Design Strategy: | Xilinx Default (unlocked) |
|
|
| Environment: | System Settings |
|
| Device Utilization Summary (estimated values) | [-] | |||
| Logic Utilization | Used | Available | Utilization | |
| Number of Slices | 620 | 960 | 64% | |
| Number of Slice Flip Flops | 1008 | 1920 | 52% | |
| Number of 4 input LUTs | 505 | 1920 | 26% | |
| Number of bonded IOBs | 50 | 83 | 60% | |
| Number of BRAMs | 1 | 4 | 25% | |
| Number of MULT18X18SIOs | 1 | 4 | 25% | |
| Number of GCLKs | 1 | 24 | 4% |
| Detailed Reports | [-] | |||||
| Report Name | Status | Generated | Errors | Warnings | Infos | |
| Synthesis Report | Current | Sat 29. Jul 11:27:36 2017 | 0 | 35 Warnings (2 new) | 5 Infos (0 new) | |
| Translation Report | Out of Date | Sat 29. Jul 11:14:19 2017 | 0 | 1 Warning (0 new) | 0 | |
| Map Report | Out of Date | Sat 29. Jul 11:14:24 2017 | 0 | 29 Warnings (0 new) | 4 Infos (2 new) | |
| Place and Route Report | Out of Date | Sat 29. Jul 11:14:46 2017 | 0 | 31 Warnings (0 new) | 2 Infos (0 new) | |
| Power Report | ||||||
| Post-PAR Static Timing Report | Out of Date | Sat 29. Jul 11:14:49 2017 | 0 | 0 | 1 Info (0 new) | |
| Bitgen Report |
| Secondary Reports | [-] | ||
| Report Name | Status | Generated | |
| ISIM Simulator Log | Current | Sat 29. Jul 11:27:58 2017 | |
| Post-Translate Simulation Model Report | Out of Date | Sat 29. Jul 11:27:19 2017 | |
| Post-Map Static Timing Report | Out of Date | Sat 29. Jul 10:18:47 2017 | |
| Post-Map Simulation Model Report | Out of Date | Sat 29. Jul 10:59:21 2017 | |
| Post-Place and Route Simulation Model Report | Out of Date | Sat 29. Jul 11:15:00 2017 |


#assign currentUser="active">
ebean-test will automatically register a current user provider and a current tenant provider. These are only set if you don't set them yourself.
This means is that without doing anything we can use @WhoCreated / @WhoModified
in tests and via io.ebean.test.UserContext
we can set current user and tenant in tests.


This is a webpage that is a flashcard site for learning JS & jQuery. Please click on a term or concept to see the definition appear. When you click on the definition, the original term replaces its definition.
JavaScript is a client-side scripting language, which means the source code is processed by the client's web browser rather than on the web server. This means JavaScript functions can run after a webpage has loaded without communicating with the server. For example, a JavaScript function may check a web form before it is submitted to make sure all the required fields have been filled out. The JavaScript code can produce an error message before any information is actually transmitted to the server.
X
JavaScript operators are used to assign values, compare values, perform arithmetic operations, and more. Arithmetic operators are used to perform arithmetic between variables and/or values. Given that y = 5, the examples below explains the arithmetic operators:
Variable means anything that can vary. JavaScript includes variables which hold the data value and it can be changed anytime. JavaScript uses reserved keyword var to declare a variable. A variable must have a unique name. You can assign a value to a variable using equal to (=) operator when you declare it or before using it.
X
While naming your variables in JavaScript, keep some rules in mind. The following are the variable naming conventions in JavaScript:
You should not use any of the JavaScript reserved keywords as a variable name. These keywords include break, case, catch, continue, debugger, default, delete, do, else, finally, for, function, if, in, instanceof, new, return, switch, this, throw, try, typeof, var, void, while, with and yield. For example, break or boolean variable names are not valid. JavaScript variable names should not start with a numeral (0-9). They must begin with a letter or an underscore character. For example, 123test is an invalid variable name but _123test is a valid one.
JavaScript variable names are case-sensitive. For example, Name and name are two different variables.
Here are the examples:
var name; // correct
var 2name; // incorrect
var _2name; // correct
X
Functions are one of the fundamental building blocks in JavaScript. A function is a JavaScript procedure—a set of statements that performs a task or calculates a value. To use a function, you must define it somewhere in the scope from which you wish to call it.
A function definition (also called a function declaration, or function statement) consists of the function keyword, followed by:
The name of the function.
A list of parameters to the function, enclosed in parentheses and separated by commas.
The JavaScript statements that define the function, enclosed in curly brackets, { }.
X
A method is a piece of code that is called by name that is associated with an object. In most respects it is identical to a function except for two key differences. Function is a set of code to do some task in JavaScript. Method is also a function which is used as a property in Object.
So? A method is a function that affects the window object: https://john-dugan.com/javascript-functions-vs-methods/
X
Javascript is a functional language meaning that functions are the primary modular units of execution. Functions are obviously very important in Javascript. When talking about functions, the terms parameters and arguments are often interchangeably used as if it were one and the same thing but there is a very subtle difference.
Parameters are variables listed as a part of the function definition.
Arguments are values passed to the function when it is invoked.
Why should we bother about this minute difference?
Well for starters, JavaScript does not throw an error if the number of arguments passed during a function invocation are different than the number of parameters listed during function definition. This should make it clear that parameters and arguments should be treated as two different entities.
Basic function with three parameters that logs the sum of all the parameters
function argCheck(parameter1, parameter2, parameter3){ console.log(parameter1 + parameter2 + parameter3);}
// Function with extra arguments
argCheck(1,2,3,4);
// Logs 6 (1 + 2 + 3, ignores 4)
// Function with missing arguments
argCheck(1,2);
// Logs NaN because by default if a corresponding argument is missing, it is set to undefined.
// parameter3 is assigned undefined and so 1+2+undefined = NaN
// Note that, no error is thrown
In the code snippet above the function argCheck takes three parameters according to its function definition. On line 7 we call the function with an extra argument and the code executes without any errors. Similarly on line 11 we invoke the function with an argument less as compared to the number of parameters and it still does not throw any error. Hopefully this has convinced you that there is more to arguments and parameters and this article would discuss some features JavaScript provides in this context.
Basically, when excess arguments are provided, they don’t get assigned to any parameters. There are ways to access these excess assignments which we will get to in a bit. On the other hand if we have more parameters than the arguments, the parameters that have no corresponding arguments are set to undefined. Lets explore JS features relating to arguments and parameters one by one.
X
Function parameters are the names listed in the function definition.
Function arguments are the real values passed to (and received by) the function.
JavaScript function definitions do not specify data types for parameters. JavaScript functions do not perform type checking on the passed arguments. JavaScript functions do not check the number of arguments received.
Basic function with three parameters that logs the sum of all the parameters
function argCheck(parameter1, parameter2, parameter3){ console.log(parameter1 + parameter2 + parameter3);}
// Function with extra arguments
argCheck(1,2,3,4);
// Logs 6 (1 + 2 + 3, ignores 4)
// Function with missing arguments
argCheck(1,2);
// Logs NaN because by default if a corresponding argument is missing, it is set to undefined.
// parameter3 is assigned undefined and so 1+2+undefined = NaN
// Note that, no error is thrown
In the code snippet above the function argCheck takes three parameters according to its function definition. On line 7 we call the function with an extra argument and the code executes without any errors. Similarly on line 11 we invoke the function with an argument less as compared to the number of parameters and it still does not throw any error. Hopefully this has convinced you that there is more to arguments and parameters and this article would discuss some features JavaScript provides in this context.
Basically, when excess arguments are provided, they don’t get assigned to any parameters. There are ways to access these excess assignments which we will get to in a bit. On the other hand if we have more parameters than the arguments, the parameters that have no corresponding arguments are set to undefined. Lets explore JS features relating to arguments and parameters one by one.
X
The return statement stops the execution of a function and returns a value from that function. Functions are declared with the following syntax:
function functionName(parameters) {
// code to be executed
}
Declared functions are not executed immediately. They are "saved for later use", and will be executed later, when they are invoked (called upon).
Example:
function myFunction(a, b)
return a * b;
}
X
In answer to how do you write a chaining function similar to jQuery in JavaScript?
JQuery chained method example:
//When you call one method after the other it's called "chaining"
$("#main").addClass("red").removeClass("green");
The benefit is that we can mutate the same element with several method calls. The key detail is that each method call must return an object with methods we can call.
Here’s how you do it:
// zappo() is similar to $() for jQuery
var zappo = function(selector) {
var el;
//
//every method called that can be chained must return the object
var obj = {
getEl(selector) {
if (el) return el;
return document.querySelector(selector);
},
addClass(className) {
el.classList.add(className);
return this;
},
removeClass(className) {
el.classList.remove(className);
return this;
}
};
// (begin div tag) id="main"(close div tag)
var el = zappo("#main").addClass("red").addClass("green").removeClass("red").getEl();
console.log("el", el);
// el (begin div tag) id="main" class="green"(close div tag symbol)...(close div tag)
Not sure i understand this, from https://medium.com/@jamischarles/how-to-chain-functions-in-javascript-6644d44793fd
X
The String object lets you work with a series of characters; it wraps Javascript's string primitive data type with a number of helper methods.
As JavaScript automatically converts between string primitives and String objects, you can call any of the helper methods of the String object on a string primitive.
https://www.tutorialspoint.com/javascript/javascript_strings_object.htm for good lists and tips
X
The Boolean object represents two values, either "true" or "false". If value parameter is omitted or is 0, -0, null, false, NaN, undefined, or the empty string (""), the object has an initial value of false.
https://www.tutorialspoint.com/javascript/javascript_boolean_object.htm for good lists and tips
X
The global undefined property represents the primitive value undefined. It is one of JavaScript's primitive types. The property attributes of undefined are that it is not writable, not enumberable and not configurable.
So? A method is a function that affects the window object: https://john-dugan.com/javascript-functions-vs-methods/
X
The global NaN property is a value representing Not-A-Number. The property attributes of undefined are that it is not writable, not enumberable and not configurable. The NaN property represents "Not-a-Number" value. This property indicates that a value is not a legal number. The NaN property is the same as the Number.Nan property. Tip: Use the isNaN() global function to check if a value is a NaN value.
X
The escape() function was deprecated in JavaScript version 1.5. Use encodeURI() or encodeURIComponent() instead.
The escape() function encodes a string.
This function makes a string portable, so it can be transmitted across any network to any computer that supports ASCII characters.
This function encodes special characters, with the exception of: * @ - _ + . /
Warning: Although escape() is not strictly deprecated (as in "removed from the Web standards"), it is defined in Annex B of the ECMA-262 standard, whose introduction states:
All of the language features and behaviours specified in this annex have one or more undesirable characteristics and in the absence of legacy usage would be removed from this specification.
Programmers should not use or assume the existence of these features and behaviours when writing new ECMAScript code.
X
The alert() method displays an alert box with a specified message and an OK button.
An alert box is often used if you want to make sure information comes through to the user.
Note: The alert box takes the focus away from the current window, and forces the browser to read the message. Do not overuse this method, as it prevents the user from accessing other parts of the page until the box is closed.
 Javascipt comments can also be used to prevent execution of code. When you place these two slashes, all text to the right of them will be ignored, until the next line. Single line comments start with //. Any text between // and the end of the line will be ignored by JavaScript (will not be executed).
X
jQuery is a JavaScript library that allows web developers to add extra functionality to their websites. ... Once the jQuery library is loaded, a webpage can call any jQuery function supported by the library. Common examples include modifying text, processing form data, moving elements on a page, and performing animations
X
All attributes are accessible by using the following methods: elem.hasAttribute(name) – checks for existence. elem.getAttribute(name) – gets the value. elem.setAttribute(name, value) – sets the value. https://javascript.info/dom-attributes-and-properties
X


S3 Signature Generator
This is a tool to help you generate one-off signed Amazon S3 urls. For more information about the S3 Signature protocol see Amazon's Developer Guide. This is useful if you want to store files in a private S3 bucket but still allow access to individuals without having to provide credentials or alter access control lists.
The signature generation process requires your AWS Credentials. It is a best practice to not put your key into random forms on the Internet. Therefore, this tool can also be downloaded off Github.
How does it work?
The signature generation process requires four pieces of information:
- The url(bucket/file) to be accessed
- Expiration time(in seconds since the Unix epoch)
- AWS Access Key ID
- AWS Secret Access Key
This tool draws from the S3 Signature Tester by Chris@AWS available here.