Use one or both of the first two paragraphs
The Environment Agency advises; where a site lies in Flood Zone 2, it is necessary for any planning application to be supported by a site-specific Flood Risk Assessment (FRA), which can demonstrate that the 'development will be safe for its lifetime taking account of the vulnerability of its users, without increasing flood risk elsewhere, and, where possible, will reduce flood risk overall.
The Environment Agency has advised that they would expect that any FRA submitted with an application was up-to-date, especially in areas where the Flood Map for Planning has been significantly revised. This would be needed to allow the LPA to make an informed decision on accurate information
Issues with this application
The outline application included a FRA dated June 2015 which is out of date. An up to date flood risk assessment is required before being able to determine the reserved matters application.
The out of date Flood Risk Assessment ('FRA') states there will be no development within flood zone 2.
Para 1.3 of the out of date FRA states all development would be in flood zone 1 for development as this site is 'more vulnerable to flooding therefore the development would see an increase in flood risk to the site'.
Para 1.5 of the FRA references use of attenuation tanks in the green open space (now flood zone 2) however the impact this will have on the subsidence risk to neighbouring properties is unknown.
The ability to install attenuation tanks within an area of land that is prone to flooding is not addressed in the reserved matters application submission.
Paragraph 4.6 of the out of date FRA identifies that residential developments in flood zone 2 should be subject to sequential testing. This has not been undertaken.
The Planning Officer has confirmed that the Environment Agency has been consulted and the advice is that SDC needs to 'satisfy itself with regard to the need for a sequential test and if satisfied to check if an exception test also needs to be done'. There is no evidence that a sequential test has been carried out, or any indication that the Council is satisfied with regard to this consideration.
No consideration of the the flood defence barrier changes as commissioned by the Tadcaster Flood Group has been addressed in terms of mitigating flood risk
There is no explanation of how requiring a minimum floor level will not increase flooding risk through the loss of floodplain capacity and the consequent impacts of this loss of capacity elsewhere within the catchment. Unless alternative capacity is provided, the construction of dwellings within flood zone 2 has to result in a loss of capacity.
The only risk mitigation identified within the FRA was that development would not take place within Flood Zone 2, and informed the inclusion of clause 22 within the S106.
The Planning Authority provided condition 22 'All dwellings shall be located within Flood Zone 1 ...' for the specific purpose of reducing the risk of flooding. Due to the change in the Flood Zone, the Applicant cannot fulfil its obligation under the Section 106.
Andrew Fraser-Urquhart QC has provided a clear and unequivocal view in relation the legality of seeking to approve this reserved matters application, that it is a turn of events and the correct interpretation of a condition imposed on the outline permission itself which means that the site cannot, in fact, be developed for residential purposes. This is a consequence not of anything which has happened at the reserved matters stage but simply the correct application of the conditions in the main outline permission
The Applicant has had sufficient time (over 18 months) to provide an up to date Flood Risk Assessment in support of their Application and has chosen not to.
The lack of an up to date FRA in support of the Application is in itself grounds for refusal of the Application.
Less than four weeks after outline planning consent was granted much of the Selby District suffered severe flooding.
The Environment Agency has revised their flood maps, indicating that the vast majority of Church Fenton now falls within Flood Zone 2. As such, by allowing this development to proceed the Council will be placing both lives and properties at risk.
There have been two recent flood incidents, in March the Wharfe flooded land in Tadcaster near to property and in October the Ouse and the Aire both overtopped their banks and flooded agricultural land. This confirms the risk of flooding is real.
New homes should not be built in accordance with a condition written with reference to flood maps which are now known to be out of date, and which therefore no longer meets the original objective which was to 'Reduce flood risk to properties'.
If the LPA attempts to circumnavigate the need for an up to date FRA by requiring a condition, this would result in a granting of permission without knowing whether the risk of flooding could be adequately mitigated.
I am sure you are aware the Community has recently taken on two public works loans to ensure the services within our village for pub and shop were maintained. As the up to date flood assessments are missing, the opportunity to mitigate the risk will be lost. Is the Council prepared to support us by paying for our public works loan while these business, which are in the close vicinity to the proposed development, are under flood water? Surely this is contrary to any public, economic or sustainability benefits.


World Markets
Oil $48.68
Euro $1.07
Gold $1,213.90
My Porfolio
Total gain/loss:
Today vs yesterday:
Today vs 1 week ago:


com.vividsolutions.jts.geomgraph
Class EdgeEnd
java.lang.Object
com.vividsolutions.jts.geomgraph.EdgeEnd
- All Implemented Interfaces:
- java.lang.Comparable
- Direct Known Subclasses:
- DirectedEdge, EdgeEndBundle
public class EdgeEnd
- extends java.lang.Object
- implements java.lang.Comparable
Models the end of an edge incident on a node.
EdgeEnds have a direction
determined by the direction of the ray from the initial
point to the next point.
EdgeEnds are comparable under the ordering
"a has a greater angle with the x-axis than b".
This ordering is used to sort EdgeEnds around a node.
- Version:
- 1.7
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
edge
protected Edge edge
label
protected Label label
EdgeEnd
protected EdgeEnd(Edge edge)
EdgeEnd
public EdgeEnd(Edge edge,
Coordinate p0,
Coordinate p1)
EdgeEnd
public EdgeEnd(Edge edge,
Coordinate p0,
Coordinate p1,
Label label)
init
protected void init(Coordinate p0,
Coordinate p1)
getEdge
public Edge getEdge()
getLabel
public Label getLabel()
getCoordinate
public Coordinate getCoordinate()
getDirectedCoordinate
public Coordinate getDirectedCoordinate()
getQuadrant
public int getQuadrant()
getDx
public double getDx()
getDy
public double getDy()
setNode
public void setNode(Node node)
getNode
public Node getNode()
compareTo
public int compareTo(java.lang.Object obj)
- Specified by:
compareTo
in interface java.lang.Comparable
compareDirection
public int compareDirection(EdgeEnd e)
- Implements the total order relation:
a has a greater angle with the positive x-axis than b
Using the obvious algorithm of simply computing the angle is not robust,
since the angle calculation is obviously susceptible to roundoff.
A robust algorithm is:
- first compare the quadrant. If the quadrants
are different, it it trivial to determine which vector is "greater".
- if the vectors lie in the same quadrant, the computeOrientation function
can be used to decide the relative orientation of the vectors.
computeLabel
public void computeLabel(BoundaryNodeRule boundaryNodeRule)
print
public void print(java.io.PrintStream out)
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object


Class Hypothesis¶
Defined in File hypothesis.h
Class Documentation¶
-
class
Hypothesis
¶ -
Public Functions
-
size_t
getPrevStateIndex
() const¶
-
float
getPathScore
() const¶
-
SoftAlignment
tracebackAlignment
()¶
-
size_t
Defined in File hypothesis.h
Hypothesis
¶Public Functions
getPrevStateIndex
() const¶getPathScore
() const¶tracebackAlignment
()¶


| boolean |
| initializeData( |
[in] ::com::sun::star::io::XInputStream |
DataStream, |
| [in] unsigned long |
DPI_X, |
| [in] unsigned long |
DPI_Y, |
| [out] ::com::sun::star::awt::Size |
DefaultSizePixel ); |
- Description
- Initializing the rasterizer
This method could also be used to determine, if
the provided data is able to be rasterized by the
implementation. The implementation should take care of
this feature as well as setting the default image size in
pixel within the given output parameter.
- Parameter DataStream
- The input stream of data that should be rasterized
- Parameter DPI_X
- The horizontal resolution of the callers device in pixel per inch. This
value is needed to calculate the correct dimensions of the graphic to be
rasterized. If a value of 0 is given, a horizontal default
resolution of 72 DPI is used.
- Parameter DPI_Y
- The vertical resolution of the callers device in pixel per inch. This
value is needed to calculate the correct dimensions of the graphic to be
rasterized. If a value of 0 is given, a vertical default
resolution of 72 DPI is used.
- Parameter DefaultSizePixel
- The default rendering size in pixel of the underlying graphics
data may be available after the call via this output parameter.
In case no default size can be determined during initialization,
a default pixel size of 0,0 is returned. In this case, the caller
needs to assume a default pixel size, appropriate for the calling
context.
- Returns
- A boolean value indicating if rasterizing of the given data is
possible at all and if the initialization process happened
successfully.
- See also
- ::com::sun::star::io::XInputStream, ::com::sun::star::awt::Size
|


--- title: /home/ayonga/.dropboxes/business/Dropbox/research/dzopt/frost/matlab/+frost/+Animator Directory Reference layout: doxygen comments: false sidebar: doxygen_sidebar topnav: topnav tags: false ---
Files | |
| file | AbstractAnimator.m |
| file | AnimatorPointOfView.m |
| file | Cylinder.m |
| file | Display.m |
| file | DisplayItem.m |
| file | JointSphere.m |
| file | Lines.m |
| file | LinkSphere.m |
| file | Patch.m |
| file | Pyramid.m |
| file | Rectangler.m |
| file | Sphere.m |
| file | TimeStepData.m |


Τα ονόματα των νεκρών στο «φορτηγό» της φρίκης – Ανάμεσά τους δύο 15χρονοι
Η αστυνομία του Έσσεξ ανακοίνωσε τα ονόματα των 39 ατόμων που βρέθηκαν νεκρά στο «φορτηγό του θανάτου».
Ανάμεσά τους βρίσκονται δύο 15χρονοι και όπως ήδη έχει γίνει γνωστό από την Πέμπτη όλα τα θύματα κατάγονται από το Βιετνάμ.


UChicago Mock Trial is a competitive activity that combines law, debate, and acting. Team members build a case as both attorneys and witnesses, and travel to tournaments across the country. Contact an officer to find out more about joining!
President | Thomas Chapman
<EMAIL_ADDRESS>VP of Admin | Reed Molbak
<EMAIL_ADDRESS>VP of Travel | Dexter O'Connell
<EMAIL_ADDRESS>VP of Finance | Naomi Jacobs
naomiajacobs@gmail.com


Measuring Azure Functions performance
Some time ago, I wrote a short note on measuring serverless functions durations and memory consumption on AWS Lambda. This time we will take a look at Azure Functions, where the situation is a bit more complicated. Microsoft serverless offerings do not offer a similar level of comfort since the function response does not involve any information on function execution. For that purpose, we need to query logs using Azure Application Insights.
We can access Application Insights using CLI and a REST API. For the former, it’s sufficient to be logged in and identify the ID of the application, while for the latter, we need to generate an API key. Bear in mind that the App Insights ID is different than identification numbers used anywhere else.
Time
First, we need to get Azure CLI running. You might use a Dockerfile that provides an image with Azure CLI and Azure Function Tools and log in with the help of a browser. Alternatively, you can read my previous post on non-interactive login in Azure CLI. To use application insights in a CLI mode, it is necessary to install an extension - for some reason, it is not provided by default on Linux platforms:
az monitor: 'app-insights' is not in the 'az monitor' command group.
See 'az monitor --help'. If the command is from an extension, please make sure the
corresponding extension is installed. To learn more about extensions, please visit
https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview
az extension add --name application-insights
First, we need to identify the ID by using App Insights components:
az monitor app-insights component show
[
{
"appId": "XXX-XXX-XXX",
...
"name": "XXXXX",
...
}
]
Afterward, we can run queries on metrics or access all events related to a specific function, using az monitor app-insights events. For example, receiving all execution requests of a function for the last 12h will look like this, including much more verbose output with all details on execution:
az monitor app-insights events show --type requests --app ${appID} --offset 12h
{
"value": [
{
...
"request": {
"duration": 606.0171,
"id": "1a47461ed084a14a",
"name": "handler",
"performanceBucket": "500ms-1sec",
"resultCode": "200",
"source": "",
"success": "True",
"url": "https://411-image-recognition-python-3d785dee.azurewebsites.net/api/handler"
},
...
},
...
]
}
Flags --start-time
and --end-time
can be used to specify the exact time series
for a data query.
Events corresponding to function app execution contain additional data in
customDimensions
field. This data can be used to find out the function invocation
by using the InvocationId
field.
"customDimensions": {
"ai_legacyRequestId": "XXXX",
"FunctionExecutionTimeMs": "2279.5392",
"TriggerReason": "This function was programmatically called via the host APIs.",
"FullName": "Functions.handler",
"LogLevel": "Information",
"Category": "Host.Results",
"InvocationId": "XXXX",
"HostInstanceId": "XXXX",
"ProcessId": "37",
"HttpMethod": "POST",
"HttpPath": "/api/handler"
}
However, this data is not available when using Azure CLI.
It can always be accessed through the REST API, though.
To access it, we need the application ID accessed earlier and an API key created with
az monitor app-insights api-key create
command. However, the API does not allow
to specify a detailed time interval which could be helpful to process a subset
of requests easily.
Finally, we can achieve the goal of finding correct requests by using detailed time filtering with queries. For example, the following query looks for requests with a given function app, function name and executed in a given time interval. Results include a timestamp of the event, function name, boolean value signalizing whether the execution was successful, result code, duration of the event, function app name, invocation ID, and function execution time.
requests
| project timestamp, operation_Name, success, resultCode, duration, cloud_RoleName, invocationId=customDimensions['InvocationId'], functionTime=customDimensions['FunctionExecutionTimeMs']
| where cloud_RoleName =~ 'FUNC_APP_NAME' and operation_Name =~ 'FUNC_NAME'
| where timestamp > todatetime('2020-01-22 17:25:02 +01:00') and timestamp < todatetime('2020-01-22 17:26:02 +01:00')
| order by timestamp desc
This query can be executed with Azure CLI as well:
az monitor app-insights query --app ${APP_ID} --analytics-query
"requests | project timestamp, operation_Name, success, resultCode, duration, cloud_RoleName,
invocationId=customDimensions['InvocationId'],
functionTime=customDimensions['FunctionExecutionTimeMs']"
--start-time 2020-01-22 17:25:02 +01:00
--end-time 2020-01-22 17:26:02 +01:00
{
"tables": [
{
"columns": [
{
"name": "timestamp",
"type": "datetime"
},
{
"name": "operation_Name",
"type": "string"
},
{
"name": "success",
"type": "string"
},
{
"name": "resultCode",
"type": "string"
},
{
"name": "duration",
"type": "real"
},
{
"name": "cloud_RoleName",
"type": "string"
},
{
"name": "invocationId",
"type": "dynamic"
},
{
"name": "functionTime",
"type": "dynamic"
}
],
"name": "PrimaryResult",
"rows": [
[
"2020-01-22T16:25:02.9820857Z",
"handler",
"True",
"200",
7691.1008,
"111-dynamic-html-python-1489d84c",
"XXXX",
"2279.5392"
]
]
}
]
}
Memory
Azure Functions hosts function executions from a single function app inside the same process, making it quite difficult to measure memory consumption of a single function, as confirmed by the Azure Functions team. Even though memory is an important metric and it’s necessary to understand billing and resource requirements correctly, this feature does not seem to be a priority for the team.
What can we do? Instead of periodically measuring memory consumption, as it is possible in some languages, like NodeJS, we can use Azure Metrics to obtain averaged values. Obviously, such data is only valid and meaningful for function apps consisting of a single function. Otherwise, the data can represent a value averaged across completely different functions.
If we want to take a look at memory consumption of an entire function app,
the recommended solution is to run a query on
performance counters to find out values of Private Bytes
counter:
performanceCounters
| project timestamp, name, counter, value, cloud_RoleName
| where cloud_RoleName =~ 'FUNCTION_APP'
| project-away cloud_RoleName
| order by timestamp desc
This command can return values such as:
| timestamp [UTC] | counter | value |
|---|---|---|
| 1/22/2020, 3:04:30.763 PM | Private Bytes | 0 |
| 1/22/2020, 3:04:30.763 PM | % Processor Time Normalized | 0.425 |
| 1/22/2020, 3:04:30.762 PM | % Processor Time | 0.85 |
In my case, the memory consumption is not counted correctly for Python function apps on the Linux system. Hopefully, the problem will be resolved soon!.


This class CanBusMotorBoard implements a MotorBoardInterface specific to CAN networks.
More...
#include <motor_board.hpp>
|
| enum | CanframeIDs {
COMMAND_ID = 0x00,
IqRef = 0x05,
STATUSMSG = 0x10,
Iq = 0x20,
POS = 0x30,
SPEED = 0x40,
ADC6 = 0x50,
ENC_INDEX = 0x60
} |
| | These are the frame IDs that define the kind of data we acquiere from the CAN bus.
|
| |
|
| static THREAD_FUNCTION_RETURN_TYPE | loop (void *instance_pointer) |
| | This is the helper function used for spawning the real time thread. More...
|
| |
|
| enum | MeasurementIndex {
current_0,
current_1,
position_0,
position_1,
velocity_0,
velocity_1,
analog_0,
analog_1,
encoder_index_0,
encoder_index_1,
measurement_count
} |
| | This is the list of the measurement we can access.
|
| |
| enum | ControlIndex { current_target_0,
current_target_1,
control_count
} |
| | This is the list of the controls we can send.
|
| |
|
typedef real_time_tools::ThreadsafeTimeseries< double > | ScalarTimeseries |
| | A useful shortcut.
|
| |
|
typedef ScalarTimeseries::Index | Index |
| | A useful shortcut.
|
| |
|
typedef real_time_tools::ThreadsafeTimeseries< Index > | IndexTimeseries |
| | A useful shortcut.
|
| |
|
typedef real_time_tools::ThreadsafeTimeseries< MotorBoardStatus > | StatusTimeseries |
| | A useful shortcut.
|
| |
|
typedef real_time_tools::ThreadsafeTimeseries< MotorBoardCommand > | CommandTimeseries |
| | A useful shortcut.
|
| |
|
template<typename Type > |
| using | Ptr = std::shared_ptr< Type > |
| | A useful shortcut.
|
| |
|
template<typename Type > |
| using | Vector = std::vector< Type > |
| | A useful shortcut.
|
| |
This class CanBusMotorBoard implements a MotorBoardInterface specific to CAN networks.
◆ CanBusMotorBoard()
| blmc_drivers::CanBusMotorBoard::CanBusMotorBoard |
( |
std::shared_ptr< CanBusInterface > |
can_bus, |
|
|
const size_t & |
history_length = 1000 , |
|
|
const int & |
control_timeout_ms = 100 |
|
) |
| |
◆ bytes_to_int32()
template<typename T >
| int32_t blmc_drivers::CanBusMotorBoard::bytes_to_int32 |
( |
T |
bytes | ) |
|
|
inlineprivate |
private methods ========================================================
Useful converters Converts from bytes to int32.
- Template Parameters
-
| T | this is the type of the bytes convert. |
- Parameters
-
- Returns
- int32_t the output integer in int32.
◆ float_to_q24()
| int32_t blmc_drivers::CanBusMotorBoard::float_to_q24 |
( |
float |
fval | ) |
|
|
inlineprivate |
Converts from float to 24-bit normalized fixed-point.
- Parameters
-
- Returns
- int32_t
◆ get_command()
◆ get_control()
| virtual Ptr<const ScalarTimeseries> blmc_drivers::CanBusMotorBoard::get_control |
( |
const int & |
index | ) |
const |
|
inlinevirtual |
Get the controls to be sent.
- Parameters
-
| index | the kind of control we are interested in. |
- Returns
- Ptr<const ScalarTimeseries> is the list of the control to be sent.
Implements blmc_drivers::MotorBoardInterface.
◆ get_measurement()
| virtual Ptr<const ScalarTimeseries> blmc_drivers::CanBusMotorBoard::get_measurement |
( |
const int & |
index | ) |
const |
|
inlinevirtual |
Getters.
Get the measurement data.
- Parameters
-
| index | is the kind of measurement we are insterested in. |
- Returns
- Ptr<const ScalarTimeseries> is the list of the last measurements acquiered from the CAN card.
Implements blmc_drivers::MotorBoardInterface.
◆ get_sent_command()
◆ get_sent_control()
| virtual Ptr<const ScalarTimeseries> blmc_drivers::CanBusMotorBoard::get_sent_control |
( |
const int & |
index | ) |
const |
|
inlinevirtual |
Get the already sent controls.
- Parameters
-
| index | the kind of control we are interested in. |
- Returns
- Ptr<const ScalarTimeseries> is the list of the sent cotnrols.
Implements blmc_drivers::MotorBoardInterface.
◆ get_status()
◆ loop()
| static THREAD_FUNCTION_RETURN_TYPE blmc_drivers::CanBusMotorBoard::loop |
( |
void * |
instance_pointer | ) |
|
|
inlinestaticprivate |
This is the helper function used for spawning the real time thread.
- Parameters
-
| instance_pointer | is the current object in this case. |
- Returns
- THREAD_FUNCTION_RETURN_TYPE depends on the current OS.
◆ pause_motors()
| void blmc_drivers::CanBusMotorBoard::pause_motors |
( |
| ) |
|
- Todo:
- : this function should go away, and we should add somewhere a warning in case there is a timeout
◆ q24_to_float()
| float blmc_drivers::CanBusMotorBoard::q24_to_float |
( |
int32_t |
qval | ) |
|
|
inlineprivate |
Convert from 24-bit normalized fixed-point to float.
- Parameters
-
| qval | is the floating base point. |
- Returns
- float is the converted value
◆ qbytes_to_float()
template<typename T >
| float blmc_drivers::CanBusMotorBoard::qbytes_to_float |
( |
T |
qbytes | ) |
|
|
inlineprivate |
Converts from qbytes to float.
- Template Parameters
-
| T | the type of byte to manage |
- Parameters
-
| qbytes | the input value in bytes |
- Returns
- float the output value.
◆ send_newest_controls()
| void blmc_drivers::CanBusMotorBoard::send_newest_controls |
( |
| ) |
|
|
private |
send the controls to the cards.
- Parameters
-
| controls | are the controls to be sent. |
◆ set_command()
| virtual void blmc_drivers::CanBusMotorBoard::set_command |
( |
const MotorBoardCommand & |
command | ) |
|
|
inlinevirtual |
◆ set_control()
| virtual void blmc_drivers::CanBusMotorBoard::set_control |
( |
const double & |
control, |
|
|
const int & |
index |
|
) |
| |
|
inlinevirtual |
◆ control_
Inputs.
This is the buffer of the controls to be sent to card.
◆ is_loop_active_
| bool blmc_drivers::CanBusMotorBoard::is_loop_active_ |
|
private |
Loop management.
This boolean makes sure that the loop is stopped upon destruction of this object.
◆ measurement_
Outputs.
measurement_ contains all the measurements acquiered from the CAN board.
◆ sent_control_
Log.
This is the history of the already sent controls.
The documentation for this class was generated from the following files:


Joose.Manual.Static - Static methods and attributes, "out of the box"
Static method (or attribute) is a method, defined on the class itself, not on its instances. Its somewhat similar to singleton concept. Static methods often manage some system-wide state or set of helper functions.
To declare a static part of your class use my
builder:
Class('TypeRegistry', {
my : {
has : {
types : Joose.I.Object
},
does : [ JooseX.Storable ],
methods : {
registerType : function (type, value) {
....
}
}
}
})
You may use any usual builders inside of my
, including method modifires, isa
, does
, etc. Static properties are also mutable
To access static properties "outside" of class context, use my
property of its constructor, like
TypeRegistry.my.types['someTypeName']
TypeRegistry.my.registerType('textfield', Ext.form.TextField)
Static methods are also aliased to the constructor, so you can call them directly, w/o my
:
TypeRegistry.registerType('textfield', Ext.form.TextField)
Inside of static methods, static attributes are available via this
. Inside of the usual methods, static properties are available via my
:
Class('TypeRegistry', {
my : {
has : {
types : Joose.I.Object
}
methods : {
registerType : function (type, value) {
this.types[ type ] = value
}
}
},
methods : {
someMethod : function () {
this.my.registerType('someTypeName', someValue)
this.my.types[ 'someType' ]
}
}
})
//or
var registry = new TypeRegistry()
registry.my.registerType('someTypeName', someValue)
If you need to access the constructor of the hosting class from static methods, add a special static attribute HOST
.
During instantiation, it will be provided with the correct value:
Class('FileType', {
has : {
...
},
methods : {
...
},
my : {
has : {
types : { init : {} },
HOST : null,
},
methods : {
register : function (name, param1, param2) {
// this.HOST == FileType
this.types[ name ] = new this.HOST({
param1 : param1,
param2 : param2
})
}
}
}
})
Static method register
shown in the example will also correctly work in the subclasses of FileType
.
Static properties are inheritable like any other. There are though some additional details you should take into account. Under the hood, static properties implemented as a singleton class, and you can specify from what class it should inherit directly:
You may use isa
builder to directly specify from what class your static part should inherit:
Class('TypeRegistry', {
my : {
isa : Registry,
....
}
})
Direct inheritance has a highest priority.
Otherwise if the class have static properties they'll be inheried by this class subclasses:
Class('Registry', {
my : {
....
}
})
Class('TypeRegistry', {
isa : Registry
})
TypeRegistry
will inherit all the attributes of Registry
, including static, which will be accessible as TypeRegistry.my
. TypeRegistry.my
will be a subclass of the Registry.my
class.
You may specify any additional builders, which will customize the static methods of subclass:
Class('TypeRegistry', {
isa : Registry,
my : {
override : {
registerType : function (type, value) {
....
}
}
}
})
In addition to all this static wizardry you can create a role with static methods just fine:
Role('TypeRegistry.Storable', {
my : {
has : {
storageId : { is : 'rw' }
},
override : {
registerType : function (type, value) {
....
}
}
}
})
Such roles should be applied in "indirect form", to the usual class, which should contain the static part, being modified.
Class('TypeRegistry', {
does : TypeRegistry.Storable
})
Nickolay Platonov<EMAIL_ADDRESS>Copyright (c) 2008-2011, Malte Ubl, Nickolay Platonov
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.


DOE Standard Energy Efficiency Data Platform | NREL Data Terms
You, and your company or organization (the PROVIDER) have agreed to upload and provide PROPRIETARY DATA, including energy efficiency data, building data, and building energy performance data to the Standard Energy Efficiency Data (SEED™) Platform database that the U.S. Department of Energy (the Government) and Alliance for Sustainable Energy, LLC (“Alliance”) the manager and operator of the National Renewable Energy Laboratory (“NREL”) (the RECIPIENT) have created and provide for use for registered users.
PROPRIETARY DATA is defined as follows:
(a) information that embody trade secrets or commercial or financial information that is confidential and privileged; (b) information that is confidential and privileged and developed at private expense (i.e., not with Federal funds); (c) information that is not customarily released to the public; and/or (d) information whose disclosure to the public could result in financial harm to the PROVIDER, to owners of buildings whose information is contained in the PROPRIETARY DATA, or to other stakeholders.
In order to upload PROPRIETARY DATA, you will be required to create an account and provide the RECIPIENT with a username, password, and email address. You are solely responsible for maintaining the confidentiality of the password and username you provided during the registration process and are fully responsible for all activities that occur under your password or account.
The PROPRIETARY DATA shall remain protected until the PROVIDER provides notice of termination of their account on the SEED Platform and provides notice to remove PROPRIETARY DATA from the SEED Platform database, at which time the RECIPIENT will promptly return and/or destroy the PROPRIETARY DATA uploaded in the SEED Platform database.
By providing the PROPRIETARY DATA, PROVIDER agrees to the following:
- PROVIDER has the authority to provide the PROPRIETARY DATA to the RECIPIENT, that the information provided constitutes PROPRIETARY DATA, and consents to the information provided being labeled and treated as PROPRIETARY DATA. If PROVIDER wishes to provide non-proprietary data, please contact<EMAIL_ADDRESS>- RECIPIENT may host, display, and manage such PROPRIETARY DATA for the PROVIDER and the Government to access, analyze, and manage through the SEED Platform.
- RECIPIENT may use, view, or duplicate the PROPRIETARY DATA and may share the PROPRIETARY DATA with support services contractors within the scope of their contracts. RECIPIENT may share the PROPRIETARY DATA to other DOE National Laboratories participating in the SEED Platform project, under the restriction that (i) the PROPRIETARY DATA be retained in confidence and not be further disclosed, (ii) the PROPRIETARY DATA will be destroyed when the DOE National Laboratory’s participation in the SEED Platform has ended.


This application has to be completed by someone over the age of 18, even if it's for you.
If you don't have an adult who can do this application on your behalf, please call your school at:
(123) 456-7890


vision
mission
Idea
fulfilling the religious gab we have today about our religion and help the youth know more about their religion through effective and attractive ways.
Team members


This publication is protected under
the U.S. Copyright Act of 1976 and all other applicable
international, federal, state and local laws, and all rights are
reserved, including resale rights: you are not allowed to give or
sell this Guide to anyone else. If you received this publication from
anyone other than Scott Silver Labs, you've received a pirated copy.
Please contact us via e-mail at<EMAIL_ADDRESS>and notify us
of the situation.
Any
trademarks, service marks, product names or named features are
assumed to be the property of their respective owners, and are used
only for reference. There is no implied endorsement if we use one of
these terms.


Ocala events
-
raquel welch see through
Drizzt Do'Urden's Corner
Jul 4, 2011 . This is my tribute to Drizzt Do'Urden, the kind, angsty drow trying to live . The Dark Elf Trilogy Collector's Edition . 9, SIEGE OF DARKNESS .
http://twilightvisions.com/drizzt.htmThe Legend of Drizzt - Forgotten Realms novels
Dec 12, 2004 . The Legend of Drizzt. This series combines the Dark Elf Trilogy, the Icewind Dale Trilogy and The Legacy of the . Title: Siege of Darkness .
http://www.o-love.net/realms/head_dri.htmlSiege of Darkness - The Forgotten Realms Wiki - Wikia
Siege of Darkness is the third book in the Legacy of the Drow series by R.A. Salvatore. It was later reissued as book nine of the Legend of Drizzt series.
http://forgottenrealms.wikia.com/wiki/Siege_of_Darkness
stansted airport short stay car parks Upcoming events in Ocala
- Sponsored event
tank 250 touring scooter assembly instructions
Apr 6 - Dance It Studio
waverly home bathroom rugs notre dame basketball summer camps
- Sponsored event
president that served shortest time
Apr 6 - Downtown Disney
marion county georgia tax assessment las ventanas and mexico and hotel
canticle of judith year c Hottest Tickets
-
Apr 11newcastle amsterdam cheap flights
Amway Center -
Apr 28i max in carolina beach nc
Amway Center -
Jun 25invicta minute repeater price
Bob Carr Performing Arts Center -
Mar 30command my body lyric
Amway Center -
Aug 27radeon hd2400 pro driver
Amway Center -
Jun 21paul newman spaghetti sauce
Amway Center -
Sep 13noz to noz x series kennels
Francis Field -
Mar 17auzen x-fi hometheater 7.1
St Augustine Amphitheatre -
Oct 8malt vinegar cole slaw recipe
Amway Center -
May 4sale of manufactured home forms free
Bob Carr Performing Arts Center
Ocala's best venues
-
BARNES & NOBLE | Forgotten Realms: Siege of Darkness (Legend ...
Jun 3, 2008 . Forgotten Realms: Siege of Darkness (Legend of Drizzt #9) (Mass Market Paperback) Pub. Date: 8/28/1995 Publisher: Wizards of the Coast .
http://www.barnesandnoble.com/w/forgotten-realms-r-a-salvatore/1100305865 -
Siege of Darkness By: R.A. Salvatore - eBook - Kobo
Bruenor Battlehammer, with Drizzt at his side, won't go down without a fight--but they'll have to fight without . Siege of Darkness - The Legend of Drizzt, Book IX .
http://www.kobobooks.com/ebook/Siege-of-Darkness/book-VxW_Ge3yt0qBg1OZpnqUrQ/page1.html -
R. A. Salvatore Books: Legacy of the Drow
The Legacy; Starless Night; Seige Of Darkness; Passage To Dawn; Ever Wanted To Adventure Like Drizzt? Box Sets of The Legend of Drizzt; The Neverwinter .
http://www.squidoo.com/r-a-salvatore-books-legacy-of-the-drowktm 450sx dual sport kit
98 people's favorite
-
Legacy of the Drow Collector's Edition - NY Times Bestselling Author ...
The adventure begins in seeming serenity as we find Drizzt Do'Urden . some of Drizzt Do'Urden's best stories--Legacy, Starless Night, Siege of Darkness, and .
http://www.rasalvatore.com/review.aspx?asin=0786929081 -
The Legacy: The Legend of Drizzt - R.A. Salvatore - Google Books
But for a dark elf renegade from a city ruled by priestesses of a demon goddess, . The soul of Drizzt Do'Urden. . Siege of Darkness: The Legend of Drizzt .
http://books.google.com/books/about/The_Legacy.html?id=RJFMj_9tK64C


Provider Sign up form
Parking Location Name
Address
Summary
Price
Choose the cars you prefer
Sedan
SUV
Hatchbacks
Two-wheelers
Mini-trucks
Amenities offered
Roof
Parking-cones
CCTV
Watchman
24 hours availability
Choose Images file to upload:


Toggle navigation
Home Page
Bootstrap Components
More Components
Calculate Cylinder
Calculate Cone
Success!
You have successfuly loaded this page!
Duck #1
Twitter Bird #2
ElePHPant #3
Previous
Next
This is my awesome project for AWT (Advanced Web Technologies)


One of our goals in this chapter is to isolate issues about process descriptions. As a case in point, let us consider that, in evaluating operator combinations, the interpreter proceeds as follows.
Notice how succinctly the idea of recursion can be used to express what, in the case of a deeply nested combination, would otherwise be viewed as a rather complicated process. For example, evaluating
percolate values upwardform of the evaluation rule is an example of a general kind of process known as tree accumulation. \begin{figure}[H] \centering \maxsizebox{\linewidth}{0.8\paperheight}{\includegraphics[scale=0.8]{{img\string_javascript/ch1-Z-G-1}.svg}} \caption{Tree representation, showing the value of each subexpression. } \label{fig:tree-comb-javascript} \end{figure}
Notice the role of the environment in determining the meaning of the names in expressions. In JavaScript, it is meaningless to speak of the value of an expression such as x + 1 without specifying any information about the environment that would provide a meaning for the name x. As we shall see in chapter 3, the general notion of the environment as providing a context in which evaluation takes place will play an important role in our understanding of program execution.
Notice that the evaluation rule given above does not handle constant declarations. For instance, evaluating const x = 3; does not apply the = operator to two arguments, one of which is the value of the name x and the other of which is 3, since the purpose of the constant declaration is precisely to associate x with a value. (That is, the part x = 3 in the constant declaration const x = 3; is not an operator combination.)
The string const
in the constant declaration is rendered in bold letters to indicate that it
is a keyword in JavaScript. Keywords are reserved words that
carry a particular meaning, and thus cannot be used as names.
A keyword or a combination of keywords instructs the
JavaScript interpreter to treat the respective statement in a special
way.
Each such syntactic form
has its own evaluation rule. The various kinds of statements (each
with its associated evaluation rule) constitute the
syntax of the
programming language.


OSGeo website screenshot
A consensus-based mapping of the world
FOSS4G international conference, Sydbey
The first FOSS4G SotM Oceania conference, a joint meeting of OSGeo and OSMF
list of projects...
ref to Paul Ramsey FOSS4GNA sustainability keynote...


greentfrapp.github.io
posts.
projects.
Reads
Thoughts and notes from stuff I read.
Reads
three
general
one-two
Thoughts and notes from stuff I read.
[Return to top]


Our perfect blend of creativity and technical wizardry. The best formula for our great website and young upcoming artists.
Some of us are gifted with the art of showcasing our talents through walls.
Detail is key in our area of specialty and combining textures to come up with the most stunning inspirations.
There is one thing the photograph must contain, the humanity of the moment, great photography is about the depth of feeling, not depth of field.
At Karmo we insipire creativity and innovation through art. We work 24/7 to make sure our artists get a foothold into the industry they want to venture in.
Our services are top-notch from the artist to the product canvas,
We assure top quality amenity.
Purchased products can be shipped.
Countries within our specified range with cost efficient prices.
Once you purchased or given an order and pleased.
We're glad and if you'd pass a word it would be much appreciated.
For as little as 30$ you can have any canvas of your choice.
You'll love what our artist have to offer through their art.
Satisfaction is not guranteed.
if you are not happy with the service we promise to make it right.
Our Art Galleria, Showcasing the Best Canvas from different categories of art.
Our prices plan is extremely simple, you can choose at any time to buy as many license as you need for the duration that you need.
Thinking of amazing ideas to insipire art, don't hesitate come and join us. All are welcome , remember Age is just a number!
Get in touch


Feeds
Thomas Ackley [Undergrad]
New Jersey Institute of Technology
55%
Communication
Technical skills
Initiative
Thomas
Reviews
Dan DeLion [Undergrad]
New Jersey Institute of Technology
39%
75%
Pretty bad group member. Doesn't do much, doesn't even read emails outside work hours. What kind of person doesn't have an email app on their phone? Catch up man.
Not looking for teammates
SuperTeams


Which timebox and habit techniques did you try?
The idea of taking breaks intermittently is something I've found to work really well -- aiming to work with time, rather than against it, is super important in any field. There is a sense of accountability with setting a time-related goal -- whether it be 25-minutes, an hour, etc. -- that deters distractions, and gets the most out of your time. For instance, I used this technique with some success in 25-minute increments when tackling this sprint! Breaks did tend to be longer than 5-minutes, however...
What did you find interesting?
The dynamic-versus-static learning-psychology really stood out. Especially for tackling phase-0, and eventually the physical-bootcamp, having a growth-mindset would be essential for getting the most out of any opportunity -- and not putting a "cap" on learning-potential.
What did you find interesting?
The dynamic-versus-static learning-psychology really stood out. Especially for tackling phase-0, and eventually the physical-bootcamp,
having a growth-mindset would be essential for getting the most out of any opportunity -- and not
putting a "cap" on learning-potential.
Breaking up goals into smaller increments, and having a MVP (minimum-viable-product) is essential
for building towards an idea -- seeing a goal as lots of little processes, rather than one large
process is super important (I think) for developers / entrepreneurs.
With my own experience building small-scale apps for iOS, having to scale back an initial idea was
essential in making measurable progress, and ultimately reaching a bigger goal.
I took away a few key-points from Duhigg's and Sethi's conversation about habits:
Which will you experiment further with?
Pomodoro and the idea of small, incremental, reachable goals, are two concepts that I've used past, presently, and will aim to use and experiment with in the future.


Go back | Comparative Google Searches
Comparatives Google Searches
Objectives:
- This project aims to investigate and find out which subjects are of interest to the world.
- As the interests of the world are very wide, center the searches in regions with similar interests (I begin with Spain).
- And as interests vary over time, I will focus on the present.
- The Searches use the
Google Trends Engine.
Themes searches in the last five years in all the World:
Queries searches in the last five years in all the World:
Themes searches in the last five years in Spain:
Queries searches in the last five years in Spain:
Themes searches in the last month in Spain:
Queries searches in the last month in Spain:


{% extends "templates/layouts/content-view__partial.html" %}
{% set title = "PIXEL UP! UX Conference · Sept. 12-14, 2016 · South Africa" %}
{%
set meta_description = "Africa's first digital product design (UX & UI) conference happens in Johannesburg with speakers from companies like Dropbox and Twitter and Apple. Expect talks and workshops on interaction design, interface design and product management."
%}
{% block meta %}
Learn from the authors, founders, directors and designers - who've worked at companies like SaleforcesUX, Apple, Twitter, Dropbox, Cooper, Google, and DesignMap - who are helping push the industry forward.
To create products that customers love, we need user experience design. As well as user interface design, front and backend engineering and of course a great product strategy. PIXEL UP! 2016 brings to Johannesburg designers and developers who've worked at Dropbox, Twitter, Apple, and Google to share what they've learned about making great products with pixels.


If you love Telegram but don't want to leave Discord then you'll be pleased to find we've built a bridge in this channel. If you'd like to join the group in the Telegram app you can find it here: https://t.me/KomodoPlatform_Official.
100 messages
Before 05-Dec-19 12:00 AM
GatewayBOT06-Dec-18 09:56 PM
[telegram] <Hermes08> corrected...yep that could be also a way Komodo logo for a brief moment
[telegram] <Hermes08> thanks for the feedback
[telegram] <yorklab> Both loaded very quickly this time. I like these, they could really help newbies.
GatewayBOT06-Dec-18 10:34 PM
[telegram] <encryptedBone> hi guys
[telegram] <encryptedBone> i get an error when i start hyperde
[telegram] <encryptedBone> error could not connect to marketmaker
GatewayBOT07-Dec-18 12:08 AM
[telegram] <JJA> Game over.
GatewayBOT07-Dec-18 12:28 AM
[telegram] <Dobleron> Institutions filling theyr bags with retail money.. (re @JJA: Game over.)
[telegram] <Dobleron> Game hasnt even began mate (re @JJA: Game over.)
In this interview we discuss some upcoming Komodo updates with ecosystem developer Charles Gonzalez (a.k.a. PTYX). We discuss important breakthroughs such as...
Komodo / Bitcoin (BITTREX:KMDBTC). Get more trading ideas from thedrag0n. Follow market experts, get opinions and be heard! Join the largest trading & investing community on the planet.
The 2nd contest will be between the communities of @KomodoPlatform @ArkEcosystem @nano and @0xProject. Make sure you vote and retweet for your favorite coin, so they make a chance of winning the $525 ad and the best publicity on https://t.co/I04Pzhn5Fi . $ARK $KMD $ZRX $NA...
[telegram] <CoinCalendar.cc Marketing> Don't forget to vote for your favorite coin
Komodo is pleased to release updated documentation for developers. The updated dev docs will make it easier than ever before to start building with Komodo.
“Creating streamlined documentation for new #developers is a primary focus of the team. If you’re a #developer who’s interested in #blockchain, this post will highlight some of the advantages Komodo offers over other platforms. https://t.co/SQzAvPRk8D #decentralized #fi...
Creating streamlined documentation for new #developers is a primary focus of the team. If you’re a #developer who’s interested in #blockchain, this post will highlight some of the advantages Komodo offers over other platforms. https://t.co/SQzAvPRk8D #decentralized #fi...
SUBSCRIBE TO THE CHANNEL HERE - https://bit.ly/2PXcuYz Ethereum has Smart Contracts. Komodo has Crypto Conditions. These do everything that Smart Contracts c...
GatewayBOT07-Dec-18 12:12 PM
[telegram] <Chadwinc> When can we upgrade our Mac wallet? Seems the link on the website is not working?
We are happy to announce that we will have a partnership with @KomodoPlatform to prevent 51% Attacks 100% and transform from POW to DPOW to guarantee our chain from future attacks.
https://t.co/FGzBrTIdGW
Once we find the bottom and (hopefully) you smart investors have fiat available for crypto shopping, remember that @KomodoPlatform development didn't show any sign of slowing down... the Discord bot counts 381 commits only in the latest 24h FWIW
GatewayBOT07-Dec-18 01:53 PM
[telegram] <yorklab> A new update is coming very soon; it will be announced. (re @Chadwinc: When can we upgrade our Mac wallet? Seems the link on the website is not working?)
All items only!
There is no other option.
Pirate is anonymity, top coins in the statistics of algorithms, top hashrate, full protection of private data and transactions!
Pirate ARRR this kick Blackstar https://t.co/evralBQGBk
[telegram] <Seko> How can we help you? (re @lisadawn53: Admin ?)
[telegram] <lisadawn53> Please where is the best place to trade Coqui coin? I have them on my agama wallet
[telegram] <lisadawn53> I have them stocked in over 3months
[telegram] <Acura360> "We are happy to announce that we will have a partnership with KomodoPlatform to prevent 51% Attacks 100% and transform from POW to DPOW to guarantee our chain from future attacks."
http://feedproxy.google.com/~r/supernet/fmju/~3/LRz6lkYUkHM/out
To make it short, here are the main topics of today
GatewayBOT07-Dec-18 04:21 PM
[telegram] <borntobe4live> (re @Acura360: "We are happy to announce that we will have a partnership with KomodoPlatform to prevent 51% Attacks 100% and transform from POW to DPOW to guarantee our chain from future attacks."
http://feedproxy.google.com/~r/supernet/fmju/~3/LRz6lkYUkHM/out)
[matrix] <hermes_t:matrix.org> By they doing negative marketing...they are indirectly doing marketing to DPOW...so...people will see JL777s reply and realize that this assumption is not correct.
GatewayBOT07-Dec-18 10:16 PM
[telegram] <JJA> Unless good technology is adopted as standard technology, it is meaningless in the market.
GatewayBOT07-Dec-18 10:43 PM
[telegram] <digitalbullion>
[telegram] <digitalbullion> A critique of a system where the critic is "not exactly sure how the Komodo consensus system works"(edited)
@JEhrenhofer thanks for the interesting conversation in Discord, I hope more will follow. I edited it all in this post: https://t.co/mPp0o78ZNV #KMD #dPoW #blockchain
[telegram] <barbierir> he joined discord today and had a chat, this the transcript
“0/ Back from #Sydney and can think of no better way to get myself back up to speed than by putting together a daily thread.
Read on to find out what's been going on in the realm of #crypto and #blockchain over the past 24 hours! https://t.co/tKYDfiFWs6”
Komodo is preparing to activate a major update to the Komodo code base. Learn more about all the new tech features coming to Komodo on December 15, 2018.
[telegram] <Sergio> Not new coins just an upgrade (re @jerrnagie: is komodo going to split itself into two new coins or?)
[telegram] <jerrnagie> sounds like a massive update
[telegram] <Sergio> Yes , It is :) (re @jerrnagie: sounds like a massive update)
GatewayBOT08-Dec-18 02:27 PM
[telegram] <NickCryptoNL> Any info on the hardfork coming up ?
[telegram] <NickCryptoNL> Do we have to do anything to keep or coins safe
[telegram] <zunno82> Binance has already disabled deposits and withdrawals
[telegram] <zunno82> so I would guess the upgrade is in full swing there
[telegram] <NickCryptoNL> So if KMD is on Binance we dont have to do any atm?
[telegram] <zunno82> nope
[telegram] <zunno82> you can't really
[telegram] <zunno82> and you can't send it there right now anyway
[telegram] <NickCryptoNL> Was planning to buy some more, but maybe should wait♂
[telegram] <zunno82> I think you can still buy
[telegram] <zunno82> if you have funds on binance
[telegram] <zunno82> the market there appears to be active
GatewayBOT08-Dec-18 02:49 PM
[telegram] <yorklab> Yes, I believe you can still buy and sell, you just can't send or receive coins to the wallet.
GatewayBOT08-Dec-18 04:19 PM
[telegram] <Edward_CM> Has the Sapling update been released yet?
[telegram] <PTYX11> On the 15th if I'm not mistaken


byobu-ctrl-a(1) byobu byobu-ctrl-a(1) NAME byobu-ctrl-a - Configure Byobu's ctrl-a behavior DESCRIPTION byobu-ctrl-a is an interactive program that allows a user to configure the behavior of the 'ctrl-a' key sequence. Traditional GNU screen(1) uses ctrl-a as its escape character, while GNU emacs(1) uses ctrl-a to move the cursor to the beginning of the line. This conflict has caused unending amounts of grief among Screen, Byobu, and Emacs-mode users. Thus, this program exists to allow each user to choose the behavior of ctrl-a in their local environment. http://launchpad.net/byobu AUTHOR This manpage and the utility were written by Dustin Kirkland <kirk‐<EMAIL_ADDRESS>for Ubuntu systems (but may be used by others). Permis‐ sion is granted to copy, distribute and/or modify this document and the utility under the terms of the GNU General Public License, Version 3 pub‐ lished by the Free Software Foundation. The complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL on Debian/Ubuntu systems, or in /usr/share/doc/fedora-release-*/GPL on Fedora systems, or on the web at http://www.gnu.org/licenses/gpl.txt. byobu 10 May 2011 byobu-ctrl-a(1)


About Me
- Presently, I am a Lead Software Engineer at Cadence Design Systems (India) Private Limited.
- I completed my M.Tech. in Artificial Intelligence under the supervision of Prof. Yashaswi Verma at the Indian Institute of Technology Jodhpur (India) on June 18, 2021.
- I was a Software Development Engineer at Vehant Technologies Private Limited, Noida from June 2017 to July 2019.
- Email<EMAIL_ADDRESS>Research
My research interests are in problems related to Computer Vision and Machine Learning.
M.Tech. Dissertation
Image Annotation using Labels and Captions
Panel members:
Prof. Gaurav Harit,
Prof. Pankaj Yadav and
Prof. Yashaswi Verma.
arXiv
- Contrastive Learning of Visual-Semantic Embeddings [link]
(Anurag Jain and Yashaswi Verma)


| 003:112 Khan | : |
Indignity is put over them wherever they may be, except when under a covenant (of protection) from Allah, and from men; they have drawn on themselves the Wrath of Allah, and destruction is put over them. This is because they disbelieved in the Ayat (proofs, evidences, verses, lessons, signs, revelations, etc.) of Allah and killed the Prophets without right. This is because they disobeyed (Allah) and used to transgress beyond bounds (in Allah's disobedience, crimes and sins). |
| 003:112 Maulana | : |
Abasement will be their lot wherever they are found, except under a covenant with Allah and a covenant with men, and they shall incur the wrath of Allah, and humiliation will be made to cling to them. This is because they disbelieved in the messages of Allah and killed the prophets unjustly. This is because they disobeyed and exceeded the limits. |
| 003:112 Pickthal | : |
Ignominy shall be their portion wheresoever they are found save (where they grasp) a rope from Allah and a rope from men. They have incurred anger from their Lord, and wretchedness is laid upon them. That is because they used to disbelieve the revelations of Allah, and slew the prophets wrongfully. That is because they were rebellious and used to transgress. |
| 003:112 Rashad | : |
They shall be humiliated whenever you encounter them, unless they uphold GOD's covenant, as well as their peace covenants with you. They have incurred wrath from GOD, and, consequently, they are committed to disgrace. This is because they rejected GOD's revelations, and killed the prophets unjustly. This is because they disobeyed and transgressed. |
| 003:112 Sarwar | : |
Humiliation will strike them wherever they seek protection, except when they seek protection from God and the people. They have incurred the wrath of God unto themselves and have been struck with destitution for their rejection of the revelations of God and for unjustly murdering the Prophets. It is all because of their transgression and rebellion. |
| 003:112 Shakir | : |
Abasement is made to cleave to them wherever they are found, except under a covenant with Allah and a covenant with men, and they have become deserving of wrath from Allah, and humiliation is made to cleave to them; this is because they disbelieved in the communications of Allah and slew the prophets unjustly; this is because they disobeyed and exceeded the limits. |
| 003:112 Sherali | : |
They shall be smitten with abasement wherever they are found unless they are protected by a covenant with ALLAH or by a covenant with men. They have incurred the wrath of ALLAH, and they have been smitten with wretchedness. That is because they rejected the Signs of ALLAH and sought to slay the Prophets unjustly. That is because they rebelled and used to transgress. |
| 003:112 Yusufali | : |
Shame is pitched over them (Like a tent) wherever they are found, except when under a covenant (of protection) from Allah and from men; they draw on themselves wrath from Allah, and pitched over them is (the tent of) destitution. This because they rejected the Signs of Allah, and slew the prophets in defiance of right; this because they rebelled and transgressed beyond bounds. |
Concepts/Themes Covered: أركان الإسلام > التوحيد > توحيد الله تعالي > غضبه Pillars of Islam> Islamic> Oneness of Allah> His Anger أركان الإسلام > التوحيد > الكافرون > صفات الكفار Pillars of Islam> Islamic> The Disbelievers> The Characteristics of the Disbelievers الديانات > بنو إسرائيل > حالاتهم Religions>Children of Israel>Their Status الديانات > بنو إسرائيل > معاندتهم و تكذيبهم و قتلهم الأنبياء Religions>Children of Israel> Their Opposition, their Denial and their Killing the Prophets
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


Are you trying to squeeze more into an already full life?
Have you ever noticed that so many things that could improve your life involve adding … more?
For example:
- more time in the gym/with the kids/meditating/jogging
- more information about getting fit/healthy eating/how to succeed
- more attention to your loved ones/the present moment
- more action around career goals/marketing yourself/searching for The One.
However, in my experience, trying to put more into a cup which is already full just results in overflow.
We are led to believe that if we only knew/did/had/were … (fill in the gap yourself) our lives would be perfect, and when we fail and end up feeling worse about ourselves – and less likely to try again.
Part of the job of a coach is to help you empty the cup – review your life to look at what’s working and, in areas of your life which aren’t working, examine what you have been doing and what you have learnt about yourself.
Part of emptying the cup also involves discarding the ‘shoulds’ in your life so that you are left with your core values – the ones that get you up in the morning. These values will be reflected in what you are committed to in life and the strengths that get you through the day.
 Clients experience a clarity of vision that can be exhilarating, liberating the energy trapped in previous failed attempts, to be redirected into the strengths that have already got you this far.
For example, who wants to lose weight? How many times have you tried and how much energy have you expended on this? However, to ‘lose weight’ covers many different areas- e.g. how healthy you feel, your size, what you eat, your shape. What would it be like to give up the idea of losing weight? How would it feel to be ok about the weight you are now? Notice how your body responds to that thought.
Instead, what is it specifically that you want?
- To feel toned/fit into a size smaller?
- To feel less out of breath?
- To sleep better?
- To give up coffee/sugar/alcohol/chocolate/smoking?
- To have more energy?
Choose one area and look at:
- when you have tried and failed - and what you said about yourself.
- what you think you ‘should’ do/be/have in this area.
If you gave up all the regrets/blame/sense of failure, what one step could you do today to give you a positive result in this area?
Make it something that you enjoy, something that you are already good at or something that is aligned to a commitment you already have.
We are filled to the brim with knowledge, but knowledge isn’t enough until it works in the service of your values, your strengths and your commitments. Enjoy!


The heading above is an <h1>-heading, which is used to identify a unique page.
Second-level heading
The heading above is an <h2>-heading, which is used to identify a unique, sectioned part of a page directly following an <h1>-heading.
Third-level heading
The heading above is an <h3>-heading, which is used to identify a unique, sectioned part of a page directly following an <h2>-heading.
Fourth-level heading
The heading above is an <h4>-heading, which is used to identify a unique, sectioned part of a page directly following an <h3>-heading.
Fifth-level heading
The heading above is an <h5>-heading, which is used to identify a unique, sectioned part of a page directly following an <h4>-heading.
Sixth-level heading
The heading above is an <h6>-heading, which is used to identify a unique, sectioned part of a page directly following an <h5>-heading.
Grouping content
Paragraphs
Paragraphs, <p>, are used to represent textual content. Two examples of this element are found below, which have been separated from this paragraph with the <hr>-element.
Geralt was always going to stand out, with his white hair and piercing eyes, his cynicism and lack of respect for authority… but he is far more than just a striking-looking man. He’s a witcher; his sorcerous powers, enhanced by elixirs and long training, have made him a brilliant fighter and a merciless assassin. Yet he is no ordinary murderer: his targets are the vile fiends that ravage the land. But first appearances are often deceptive. Not everything monstrous-looking is evil, and not everything fair is good… and in every fairy tale, there is a grain of truth.
As a guardian of the innocent, Geralt, the witcher from Rivia, meets incestuous kings with undead daughters, vengeful djinns, shrieking harpies, lovelorn vampires and despondent ghouls: many are pernicious, some are wicked, and none are quite as they appear…
Blockquotes
Paragraphs that are quoted from external sources can also be presented as quotes with the <blockquote>-element.
Lesser, greater, middling, it's all the same. Proportions are negotiated, boundaries blurred.  But if I'm to choose between one evil and another, then I prefer not to choose at all.
Lists
Lists can be represented in two different ways depending on their content.
Ordered lists
These lists, <ol>, and their direct children, <li>, are used to present ordered content, e.g. not-so-arbitrary rankings of people in the Witcher-universe.
Sorceresses
Vengerberg, Yennefer
Merigold, Triss
Eilhart, Philippa
Vigo, Fringilla
Metz, Keira
Witchers
Cirilla
Geralt
Eskel
Lambert
Vesemir
Unordered lists
These lists, <ul>, and their direct children, <li>, are used to present unordered content, i.e. lists where the order is unimportant; e.g. lists to use for navigational information, or really any kind of list-based content.
Nilfgaardian Empire
Cintra
Ebbing
Metinna
Nilfgaard
Redania
Drakenborg
Oxenfurt
Tretogor
Definition lists
An extra step beyond “regular” lists are definitions lists, <dl>, where terms, <dt>, are described by one or more definitions, <dd>.
Aen Ithlinnespeath
A prediction made by the elven prophetess Ithlinne. It is mentioned over the course of the Witcher series, and it is tied to the computer games rather prominently.
Witcher
An individual who has undergone extensive training and mysterious rituals (often taking place at “witcher schools” such as Kaer Morhen) in preparation for life as an itinerant monster-slayer for hire.
Pre-formatted text
The <pre>-element is useful for representing textual content that is dependent on an established formatting, e.g. source code you wish to share with others.
require 'sinatra'
class Frank << Sinatra::Base
get '/' do
'Hello, world!'
end
end
Tabular elements
Tabular elements, which are listed below, are useful for presenting tabular data, i.e. information that is two-dimensional and representable by columns and rows.
<table>, the parent element for all tabular elements
<thead>, the element representing the table's header
<tfoot>, the element representing the table's footer
<tbody>, the element which contains all rows and their column values (cells)
<tr>, the row-element
<th>, the header-element for a specific column
<td>, the cell-element for a specific column
Column A
Column B
Summary of A
Summary of B
First value for column A
First value for column B
Second value for column A
Second value for column B
Media elements
Images
Images can be included with the <img>-element, where the <src>-attribute determines the origin of the image; the <alt>-attribute should always be used to assist in describing the image for accessibility purposes, unless it is used decoratively.
To present images – or other forms of media – in a contained way with accompanying elements, the <figure>-element can act as parent containing the image and other elements, e.g. <figcaption> for captions.
Text-level elements
Anchors
The anchor element, <a>, together with its href-attribute (which describes its destination), is used to create hyperlinks to web pages, files, and external applications.
The emphasis element, <em>, is used to denote en emphasis on certain words or phrases within a sentence.
I was late to the series, but after playing a few hours of the third game, I knew I had to read the books, as well.
Strong importance
The strong element, <strong>, is used to denote importance or urgency within a sentence.
You absolutely must read the Witcher books, or at least play the third game.
Emboldening & italicising
The bold and italic elements, <b> and <i>, are used to embolden or italicise text without ascribing semantics to them (unlike the two previous elements).
Emboldening is often used to denote keywords in a summary or product names in an article, while italicising is used for technical terms, foreign language phrases, or fictional character thoughts.
The Witcher saga takes place in the aftermath of the first major war between the Nilfgaard Empire and the Northern Kingdoms, with a second war beginning in the middle of the series.
Geralt of Rivia, known also as Gwynnbleid (Elder Speech: “White Wolf”) and the Butcher of Blaviken, is the protagonist of the series and its adaptations.
Abbreviations
The abbreviation element, <abbr>, is used to represent abbreviations within text, often with the title-attribute, or more preferably, with inline text like in the second example below.
PHP is a general-purpose programming language originally designed for web development.
A CLI (command-line interface) is a useful tool for working more efficiently within various programming environments.
Definitions
The definition element, <dfn>, is used to represent definitions that may or may not need further descriptions.
A Witcher is an individual who has undergone extensive training and mysterious rituals in preparation for life as an itinerant monster-slayer for hire.
Citations
The citation element, <cite>, is used to reference creative works and must include the title of said work.
Eternity is hidden in every moment. – Lady of the Lake, by Andrzej Sapkowski.
Quotations
The quotation element, <q>, is used for including quotations of shorter lengths that do not require paragraph breaks.
The end justifies the means, Emhyr said dully; What I'm doing, I'm doing for posterity. To save the world.
If the world is to be saved like that…, the Witcher lifted his head, … it would be better for it to perish. Believe me, Duny, it'd be better if it perished.
Time references
The time element, <time>, is used to represent a specific time or period and is useful for interpretation of dates by search engines.
My birthday is .
Inline code
The code element, <code>, is used to represents snippets of source code that is not large enough to require a pre-element, e.g. one-liners like a CLI-command.
If you have PHP installed, you can type php -S localhost:1234 into a CLI and start a simple server with a local folder as its root.
Keyboard prompts
The element for keyboard prompts, <kbd>, is useful when wanting to represent actionable keys for certain actions, e.g. shortcuts in a web application.
Use the W, A, S, and D-keys to control Geralt.
Variables
The variable element, <var>, is used to represent names of variables in a mathemical or programmatical environment.
In the special and general theories of relativity, c interrelates space and time, and also appears in the famous equation of mass–energy equivalence E = mc2.
Sub- and superscript
The sub- and superscript elements, <sub> and <sup>, are purely typographical elements and are used to denote stylistic standards, e.g. within chemical formulas.
The molecular formula for glucose is C6H12O6(meaning that it is a molecule with 6 carbon atoms, 12 hydrogen atoms and 6 oxygen atoms).
Ordinal indicators are sometimes written as superscripts; 1st, 2nd, 3rd, and 4th(rather than 1st, 2nd, 3rd, and 4th).


views
— Swingtime Views¶
Functions¶
event_listing
¶
-
views.
event_listing
(request[, template='swingtime/event_list.html', events=None, **extra_context])¶ View all
events
.If
events
is a queryset, clone it. IfNone
default to allEvent
objects.Context parameters:
- events
- an iterable of
Event
objects - extra_context
- extra variables passed to the template context
event_view
¶
-
views.
event_view
(request, pk[, template='swingtime/event_detail.html', event_form_class=forms.EventForm, recurrence_form_class=forms.MultipleOccurrenceForm])¶ View an
Event
instance and optionally update either the event or its occurrences.Context parameters:
- event
- the event keyed by
pk
- event_form
- a form object for updating the event
- recurrence_form
- a form object for adding occurrences
occurrence_view
¶
-
views.
occurrence_view
(request, event_pk, pk[, template='swingtime/occurrence_detail.html', form_class=forms.SingleOccurrenceForm])¶ View a specific occurrence and optionally handle any updates.
Context parameters:
- occurrence
- the occurrence object keyed by
pk
- form
- a form object for updating the occurrence
add_event
¶
-
views.
add_event
(request[, template='swingtime/add_event.html', event_form_class=forms.EventForm, recurrence_form_class=forms.MultipleOccurrenceForm])¶ Add a new
Event
instance and 1 or more associatedOccurrence
instancess.Context parameters:
- dtstart
- a datetime.datetime object representing the GET request value if present, otherwise None
- event_form
- a form object for updating the event
- recurrence_form
- a form object for adding occurrences
_datetime_view
¶
-
views.
_datetime_view
(request template, dt[, timeslot_factory=None, items=None, params=None])¶ Build a time slot grid representation for the given datetime
dt
. See utils.create_timeslot_table documentation for items and params.Context parameters:
- day
- the specified datetime value (dt)
- next_day
- day + 1 day
- prev_day
- day - 1 day
- timeslots
- time slot grid of (time, cells) rows
day_view
¶
-
views.
day_view
(request, year, month, day[, template='swingtime/daily_view.html', **params])¶ See documentation for function``_datetime_view``.
today_view
¶
-
views.
today_view
(request[, template='swingtime/daily_view.html', **params])¶ See documentation for function``_datetime_view``.
year_view
¶
-
views.
year_view
(request, year[, template='swingtime/yearly_view.html', queryset=None])¶ Context parameters:
- year
- an integer value for the year in questin
- next_year
- year + 1
- last_year
- year - 1
- by_month
- a sorted list of (month, occurrences) tuples where month is a datetime.datetime object for the first day of a month and occurrences is a (potentially empty) list of values for that month. Only months which have at least 1 occurrence is represented in the list
month_view
¶
-
views.
month_view
(request, year, month[, template='swingtime/monthly_view.html', queryset=None])¶ Render a tradional calendar grid view with temporal navigation variables.
Context parameters:
- today
- the current datetime.datetime value
- calendar
- a list of rows containing (day, items) cells, where day is the day of the month integer and items is a (potentially empty) list of occurrence for the day
- this_month
- a datetime.datetime representing the first day of the month
- next_month
- this_month + 1 month
- last_month
- this_month - 1 month


Introduction
A viewModel can be thought of as a container object that houses all of the logic and data with which your template/HTML/DOM binds to. They are used to 'wrap' your HTML/markup, applying the bindings (behavior) you declare in the HTML while also initializing and binding any nested components and viewModels.
In knockout.js you typically need to manually wrap and bind (ko.applyBindings()) your DOM with instances of your viewModels, this has many disadvantages/issues (primarily, it requires a lot of legwork by you). Footwork.js can handle the initialization, wrapping, and binding for you automatically based on the HTML/DOM (it can also autoload them via AMD/RequireJS as needed).
Footwork-flavored viewModels provide a clean way of wrapping your knockout and other HTML markup while also enhancing with functionality for lifecycle events, routing, component integration, CQRS, and more.
In addition, they can contain any number of nested viewModels, components, and any other markup...making them extremely powerful (especially when integrated into a component).
There are a number of ways to create viewModels, but a simple plain old javascript object (just as in normal knockout.js) at its most basic level is all that is needed to bind to the DOM.
Configuration
Each different type of viewModel you wish to have must have a new constructor function made for it.
viewModel constructor functions are created by calling the factory method fw.viewModel() and passing it a configuration object.
The resulting constructor function can then be used to instantiate new instances of that viewModel. These constructor functions are essentially specialized wrappers which enable Footwork to hook into both knockout and your viewModel/module to provide for all of the additional features the framework provides.
fw.viewModel( configurationObject )
viewModel configuration object synopsis:
var ViewModelConstructor = fw.viewModel({
/**
* The namespace (communications channel) the viewModel uses. This is essentially used as
* the 'key' for CQRS separation between modules. If no namespace is provided a unique one
* will be automatically assigned.
*/
namespace: 'Sprocket', // example namespace name, any alpha-numeric is valid
/**
* If true, Footwork will register the viewModel under its namespace name. This means
* that when this fw.viewModel() call is made it will automatically call
* fw.viewModels.register('Sprocket', ThisViewModelConstructor)
* This is one (handy) way of telling Footwork how to find your viewModel when it needs it.
*/
autoRegister: false, // default === false
/**
* If true, the namespace will have an auto-incremented 0-based index number appended for
* each new viewModel.
*/
autoIncrement: false, // default === false
/**
* Initialization function called at creation of a new viewModel.
* Note: it is passed in the parameters supplied at creation.
*/
initialize: function(param1, param2, ...) {
// this === the viewModel object
// Perform normal viewModel initialization here, just like typical knockout.js code.
this.param1 = fw.observable(param1);
},
// Behavioral mixins to include with each new viewModel created
mixins: [
// See: 'Mixins' section on this page
],
// Function called just after binding to the DOM
afterBinding: function(containingElement) {
// this === the viewModel object
},
// Function called just before the html this viewModel is bound to is removed from the DOM
onDispose: function(containingElement) {
// this === the viewModel object
}
});
Initialization / Usage
A viewModel can be created/initialized in 3 different ways:
- Manually initialized (standard knockout methodology).
- Automatically via a <viewModel module="moduleName"> ... </viewModel> declaration in the DOM.
- Automatically via a <component-name></component-name> declaration in the DOM (See: component usage).
Manual initialization (similar to what would be found in regular knockout.js code):
/**
* You use Footwork viewModel class functions just like you would a normal knockout.js constructor function.
* ie: var viewModelObject = new ConstructorFunc(paramaters ...);
*
* Note: The parameters you pass into the ConstructorFunc(params) call get passed
* into the initialize(params) function from the configuration object.
*/
// example:
var Sprocket = fw.viewModel({
// ... configuration object ...
namespace: 'Sprocket',
initialize: function(params) {
// params === object passed in when calling new Sprocket( ... )
this.type = fw.observable(params.type);
this.color = params.color || 'orange';
this.price = fw.observable(params.price);
this.isExpensive = fw.computed(function() {
return this.price() > 10;
}, this);
}
});
var awesomeSprocket = new Sprocket({ type: 'awesome', price: 3.50 });
// awesomeSprocket.type() === 'awesome'
// awesomeSprocket.color === 'orange'
// awesomeSprocket.isExpensive() === false
// You can then bind it to the DOM just like any other knockout viewModel/javascript object:
fw.applyBindings(awesomeSprocket, document.getElementById('sprocket-container'));
Automatic initialization via <viewModel module="moduleName"> ... </viewModel> declaration in the DOM:

<viewModel module="Sprocket">
Type:

This is expensive!

</viewModel>

NOTE: See AMD / Lazy Loading / Registering for information on how to make sure Footwork knows how to find your viewModels/modules.
Automatic initialization via <component-name></component-name> declaration in the DOM:

<sprocket></sprocket>

NOTE: See component AMD / Lazy Loading / Registering for information on how to tell Footwork where to find your component assets.
AMD / Lazy Loading / Registering
Footwork.js supports both explicitly registering your viewModels ahead of time or automatically loading via AMD/RequireJS. In either case, the declarative <viewModel module="moduleName"> ... </viewModel> syntax will trigger the loading (if necessary), initialization, and binding of the viewModel/module.
AMD/RequireJS is fully supported (and highly encouraged) for a number of reasons:
- It strongly encourages modularization and separation of concerns.
- Helps decouple your application and allow for easier testability.
- Footwork can take advantage of its dependency resolution to automatically load and use resources for you as needed at runtime (including the automatic loading and composing of entire views/pages/routes, components, or viewModels).
- Allows for easier debugging as non-compiled assets while still being buildable for release into a production environment.
- Allows for easy and highly configurable caching/preloading of assets (this includes all components, viewModels, and templates). None, some, or all of it...you choose what your users wait for.
Example AMD/RequireJS enhanced Footwork module:
/**
* An AMD/RequireJS module is defined in exactly the same way as a normal knockout module would be.
* The only difference being that you return the Footwork-flavored viewModel constructor function
* result from fw.viewModel() instead of a normal function() {} constructor.
*/
define(["footwork"],
function(fw) {
return fw.viewModel({
// ... configuration object ...
namespace: 'Sprocket',
/**
* [optional] This module will now automatically register itself as 'Sprocket' and Footwork
* can autoload and bind it as soon as it is pulled in via AMD.
*
* This is an easy way to autoload and cache your viewModels for declarative use in your HTML.
*/
autoRegister: true,
initialize: function() {
this.isUsed = fw.observable(false);
}
});
}
);
Automatically loading and binding a section of your DOM with a viewModel begins with inserting/wrapping the html in your template with a <viewModel module="moduleName"> ... </viewModel> element.
Example <viewModel> wrapper:

<viewModel module="moduleName">

</viewModel>

NOTE: You can nest viewModels and components within one another.
viewModel/module resolution
There are 3 ways Footwork will try to resolve your viewModel when it encounters the declarative <viewModel module="moduleName"> ... </viewModel> element you place in the DOM.
Here they are in order of priority:
- Explicitly registered with a fw.viewModels.register() call.
- Automatic download/resolution via AMD/RequireJS at a pre-registered location (fw.viewModels.registerLocation()).
- Automatic download/resolution via AMD/RequireJS at the configurable default (fw.viewModels.defaultLocation()).
Registering a viewModel explicitly with fw.viewModels.register() makes it immediately available. Any <viewModel module="moduleName"> ... </viewModel> declarations encountered will be processed with no delay (the viewModel is 'cached' when registered).
The 2 methods registerLocation() and defaultLocation() tell Footwork where it can download your viewModel module (in the event you do not explicitly register it). In any case your markup will wait until the viewModel is resolved prior to being initialized.
fw.viewModels.register( 'moduleName', viewModel )
Cache a viewModel/module ahead of time:
// register a Footwork viewModel
var Sprocket = fw.viewModel({ /* configuration object */ });
fw.viewModels.register('Sprocket', Sprocket);
// register a normal class constructor function (like in regular knockout)
var Sprocket = function() { this.isUsed = fw.observable(false); };
fw.viewModels.register('Sprocket', Sprocket);
// register an instance of an object (like in regular knockout)
fw.viewModels.register('Sprocket', {
instance: { isUsed: false } // object representing the viewModel to be bound against the DOM
});
/**
* A constructor function to be called when the declaration is encountered.
* It is supplied params given at the binding (<viewModel params="exampleParam: true">) and
* the containing element of the viewModel.
*/
fw.viewModels.register('Sprocket', {
createViewModel: function(params, info) {
// info.element = containing <viewModel> element
// params are the parameters declaratively created from the DOM (See: note below)
return { isUsed: false }; // object representing the viewModel to be bound against the DOM
}
});
NOTE: Are you using a fw.viewModel() constructor and simply want to register it using the namespace name (recommended)?
You can optionally just set autoRegister: true in the viewModel configuration object, then the fw.viewModel.register call is taken care of for you when the viewModel constructor is created.
See: viewModel configuration.
fw.viewModels.registerLocation( 'moduleName', 'path/to/module' )
Register the location of a viewModel/module so Footwork can load and bind it for you when needed:
// Load Sprocket from: /viewModels/parts/Sprocket.js (based on viewModel/module name, case sensitive)
fw.viewModels.registerLocation('Sprocket', '/viewModels/parts/');
// Load Sprocket from: /viewModels/parts/DifferentFileName.js (specify full file name)
fw.viewModels.registerLocation('Sprocket', '/viewModels/parts/DifferentFileName.js');
// register the location of several viewModels at once (ie: all in the same folder)
fw.viewModels.registerLocation(['Body', 'Navigation', 'Footer'], '/viewModels/pageAreas/');
fw.viewModels.defaultLocation( 'path/to/viewModel/folder' )
Register the default location of viewModels/modules so Footwork can load and bind them for you when needed:
// Load all viewModels from /myViewModels/[module-name].js (case sensitive)
fw.viewModels.defaultLocation('/myViewModels/');
Module Formats
Loading your viewModel/module in so that Footwork can use it is done via a script loader.
Both AMD/RequireJS and Browserify are supported. However RequireJS is preferred as it will enable Footwork to resolve your viewModels/components (and their dependencies) automatically at runtime as needed.
The following example shows the RequireJS/AMD flavored version.
viewModel and template are loaded separately:
// File located in: /viewModel/sprocket.js
define(["footwork"],
function(fw) {
return fw.viewModel({
namespace: 'sprocket'
// ...
});
}
);
NOTE: You can return any constructor function or plain object from your viewModel modules (you don't have to return a Footwork viewModel constructor as shown).
Lifecycle
Lifecycle events are automatically handled for you when using a viewModel via one of the three main methods:
- Use the <viewModel> ... </viewModel> declarative syntax.
- Use the <component-name></component-name> declarative syntax.
- Manually bound (fw.applyBindings()) to the DOM.
viewModels that are attached to the DOM retrive two main lifecycle events, one just after binding to the DOM (afterBinding()) and one when the element (that the viewModel bound itself to) is removed from the DOM (onDispose(), called just before the element is removed).
var someOtherObservable = fw.observable();
var MyViewModel = fw.viewModel({
initialize: function() {
this.myVarSub = someOtherObservable.subscribe(function() {
// This subscription will get cleaned up when the viewModel is disposed
});
this.$namespace.command.handler('doSomething', function() {
// This command handler will get cleaned up when the viewModel is disposed
});
this.$someOtherNamespace = fw.namespace('SomeOtherNamespace');
this.$someOtherNamespace.command.handler('doSomethingElse', function() {
// This command handler will get cleaned up when the viewModel is disposed
});
this.someOtherThing = {
eventHandler: this.$namespace.event.handler('someEvent', function() {
// This will NOT get cleaned up, handler result/subscription is not attached to 'this'
})
};
}
});
If you do not bind a viewModel to the DOM then you will want to tell it to clean up its references when you are getting rid of it. This is done by calling viewModel.dispose() directly.
viewModel.dispose()
Dispose of all namespaces, handlers, and subscriptions assigned to a viewModel:
var MyViewModel = fw.viewModel({ /* ... */ });
var viewModel = new MyViewModel();
// ...
viewModel.dispose(); // all namespaces, handlers, and subscriptions now cleaned up/removed
Properties
After a viewModel has been created, there are a few properties/references which are added/available to the object depending on its current state.
viewModel.$namespace (available after instantiation)
Every instantiated viewModel will have a property called $namespace, this is the namespace channel created as a result of the namespace: configuration attribute given. It should be used to setup any handlers and subscriptions on the current namespace that a viewModel might need.
var Navigation = fw.viewModel({
namespace: 'Navigation',
initialize: function() {
this.$namespace.event.handler('userLoggedIn', function(username) {
console.log('Welcome', username);
});
}
});
var navigation = new Navigation();
var navNamespace = fw.namespace('Navigation');
navNamespace.trigger('userLoggedIn', 'Jonathan'); // console prints: Welcome Jonathan
viewModel.$element (available after binding)
After a viewModel is bound with the DOM, the element it is bound to is assigned to the $element property.
var Navigation = fw.viewModel({
namespace: 'Navigation',
initialize: function() { /* ... */ }
afterBinding: function() {
this.$element.className += 'isBound';
}
});
Mixins
Mixins are about reusing behavior, functionality, and code whenever possible. It allows you to write various mixins and then later on combine and compose the desired behavior you want for a viewModel at runtime.
The mixin functionality in Footwork is provided via a library called riveter. All fw.viewModel() based constructor functions are riveter constructor functions. Above and beyond the functionality outlined here, each object has various methods extended from riveter which can enable you to extend viewModels in various ways, I would encourage you to also look at its documentation.
Basic usage:
var bigSprocket = { /* mixin configuration object */ };
var bikeSprocket = { /* mixin configuration object, detailed in the next section */ };
/**
* Mixin behavior is applied to a viewModel by passing it into the
* fw.viewModel() configuration object
* NOTE: mixins are applied to the viewModel in the order they are given.
*/
var Sprocket = fw.viewModel({
// ... viewModel configuration object
namespace: 'Sprocket',
initialize: function(param) {
this.type = param.type;
},
// mixins/behavior to include for each new 'Sprocket' viewModel
mixins: [ bigSprocket, bikeSprocket ]
});
var mySprocket = new Sprocket({ type: 'awesome' });
Configuration
Each mixin is simply a configuration object defining certain behaviors, functionality, and logic. The behavior you define will be added to each viewModel instance it is configured with.
Mixin configuration object synopsis:
// define 'bigSprocket' as an object to serve as the configuration container
var bigSprocket = {
_preInit: function(param1, param2, ...) {
/**
* called prior to the initialize() method from the viewModel configuration being called
* params === params passed in at creation
* this === the viewModel
*/
},
mixin: {
/**
* these properties are added to 'this' object immediately upon creation, before
* any methods (including _preInit) are called
*/
function1: function() {
// function that is extended onto the viewModel object (this) upon creation
// this === the viewModel
},
function2: function() {
// another function that is extended onto the viewModel object (this) upon creation
// this === the viewModel
},
property1: 'someValue' // a raw property extended to the object
// ...
},
_postInit: function() {
/**
* called after the initialize() method from the viewModel configuration is called
* this === the viewModel
*/
}
};
- If you require some other type of object extension or mixin, as recommended above you should look at the riveter documentation.
- A viewModel can have as many mixins as you want, and you can re-use them across as many differing viewModels/modules as you like.
Example mixin usage
Each mixin behavior is added to each new instance of the viewModel that is created. This goes for ones instantiated automatically via declarative HTML, or directly/manually in javascript code.
All mixins may be reused on both a standalone viewModel and viewModels attributed with a component.
Example usage:
// define the mixin configuration object
var bigSprocket = {
_preInit: function(param) {
this.isAwesome = (param.type === 'awesome' ? true : false);
// this.isBig === true
},
mixin: {
isBig: true,
fitInSmallPlace: function() {
return false;
}
}
};
// create a BigSprocket contructor and include the bigSprocket mixin
var BigSprocket = fw.viewModel({
namespace: 'Sprocket',
initialize: function(param) {
this.type = param.type;
},
mixins: [ bigSprocket ]
});
var mySprocket = new BigSprocket({ type: 'awesome' });
// mySprocket.fitInSmallPlace() === false
// mySprocket.isBig === true
// mySprocket.isAwesome === true
Utility / Misc
Various useful methods and utility functions for misc and debugging purposes.
fw.viewModels.getAll()
fw.viewModels.getAll( 'moduleName' )
fw.viewModels.getAll( [ 'moduleName', 'moduleName2', ... ] )
Get list of currently instantiated viewModels grouped/indexed by namespace:
var Bike = fw.viewModel({
namespace: 'Bike',
initialize: function() {
this.isBike = true;
}
});
var Wheel = fw.viewModel({
namespace: 'Wheel',
initialize: function() {
this.isWheel = true;
}
});
var bike = new Bike();
var wheel1 = new Wheel();
var wheel2 = new Wheel();
var viewModels = fw.viewModels.getAll();
// viewModels['Bike'].isBike === true
// viewModels['Wheel'].length === 2
// viewModels['Wheel'][0].isWheel === true
var viewModels = fw.viewModels.getAll('Bike'); // get all 'Bike' instances
// viewModels === {
// Bike: { ... }
// }
var viewModels = fw.viewModels.getAll(['Bike', 'Wheel']); // get all 'Bike' and 'Wheel' instances
// viewModels === {
// Bike: { ... },
// Wheel: [ { ... }, { ... } ]
// }
fw.viewModels.isRegistered( 'moduleName' )
Return true or false based on whether or not there is a viewModel that has been registered under 'moduleName':
var Bike = fw.viewModel({
namespace: 'Bike',
initialize: function() {
this.isBike = true;
}
});
fw.viewModels.register('Bike', Bike);
// fw.viewModels.isRegistered('Bike') === true
// fw.viewModels.isRegistered('ModuleThatIsLoadedByAMD') === false
fw.viewModels.getRegistered( 'moduleName' )
Return viewModel that has been registered under 'moduleName':
// Explicit registration
var Bike = fw.viewModel({ /* ... configuration object */ });
fw.viewModels.register('Bike', Bike);
// fw.viewModels.getRegistered('Bike') === Bike;
// viewModel that registers itself
var Sprocket = fw.viewModel({
autoRegister: true,
// ... remainder of configuration object
});
// fw.viewModels.getRegistered('Sprocket') === Sprocket;
fw.viewModels.getResourceLocation( 'moduleName' )
Get the path Footwork will attempt to load for the given 'moduleName':
fw.viewModels.registerLocation('Sprocket', '/path/to/viewModel/folder');
// fw.viewModels.getResourceLocation('Sprocket') === '/path/to/viewModel/folder'
fw.viewModels.getFileName( 'moduleName' )
Get the file name that Footwork will appended to the path when downloading the viewModel:
var fileNameForSprocket = fw.viewModels.getFileName('sprocket'); // === sprocket.js
/**
* If the viewModel was explicitly registered (cached), then null is returned for any
* fileType because the file name will never be used.
*/
fw.viewModels.register('sprocket', fw.viewModel({ /* configuration object */ }) );
var fileNameForSprocket = fw.viewModels.getFileName('sprocket'); // === null
fw.viewModels.fileExtensions( '.ext' )
fw.viewModels.fileExtensions( function(moduleName) { ... } )
Specify the extension to append to an AMD/RequireJS loaded viewModel path when it does not have an extension specified (ie: full file name not specified):
// explicitly set the extension
fw.viewModels.fileExtensions('.jscript'); // append viewModel module files with '.jscript'
// You can also specify a function() whose return value is used as the extension.
fw.viewModels.fileExtensions(function(moduleName) {
if(moduleName === 'Sprocket') {
return '.jscript';
} else {
return '.js';
}
});


iconvconfig - create iconv module configuration cache
iconvconfig [options] [directory]...
The iconv(3) function internally uses gconv modules to convert to
and from a character set. A configuration file is used to determine the needed
modules for a conversion. Loading and parsing such a configuration file would
slow down programs that use iconv(3), so a caching mechanism is
employed.
The iconvconfig program reads iconv module configuration
files and writes a fast-loading gconv module configuration cache file.
In addition to the system provided gconv modules, the user can
specify custom gconv module directories with the environment variable
GCONV_PATH. However, iconv module configuration caching is used only
when the environment variable GCONV_PATH is not set.
- --nostdlib
- Do not search the system default gconv directory, only the directories
provided on the command line.
- -o outputfile, --output=outputfile
- Use outputfile for output instead of the system default cache
location.
- --prefix=pathname
- Set the prefix to be prepended to the system pathnames. See FILES, below.
By default, the prefix is empty. Setting the prefix to foo, the
gconv module configuration would be read from
foo/usr/lib/gconv/gconv-modules and the cache would be written to
foo/usr/lib/gconv/gconv-modules.cache.
- -?, --help
- Print a usage summary and exit.
- --usage
- Print a short usage summary and exit.
- -V, --version
- Print the version number, license, and disclaimer of warranty for
iconv.
Zero on success, nonzero on errors.
- /usr/lib/gconv
- Usual default gconv module path.
- /usr/lib/gconv/gconv-modules
- Usual system default gconv module configuration file.
- /usr/lib/gconv/gconv-modules.cache
- Usual system gconv module configuration cache.
This page is part of release 5.05 of the Linux man-pages project. A
description of the project, information about reporting bugs, and the latest
version of this page, can be found at https://www.kernel.org/doc/man-pages/.


--- title: Scientists discover gene that 'cancer-proofs' rodent's cells layout: post ---
Now, Gorbunova believes she has found the primary reason these small animals are staying cancer-free, and it appears to be a kind of overcrowding early-warning gene that the naked mole rat expresses in its cells.
Wow, this could be really awesome if it translates to humans.