src/components/ipDetector.ts
Control class for configuring detector and subscribing to detection information.
EventEmitter
Methods |
|
constructor(manager: IIpDeviceManager, imageSize: ImageSize, options?: DetectorOpts)
|
||||||||||||
|
Defined in src/components/ipDetector.ts:53
|
||||||||||||
|
Parameters :
|
| _getDetections |
_getDetections()
|
|
Defined in src/components/ipDetector.ts:161
|
|
Fetches detection information from camera. The object type is described in the IP camera proto file.
Returns :
Promise<huddly.Detections>
{Promise<huddly.Detections>} An object representing detection data retreived from the camera. The object type is described in the IP camera proto file. |
| _startDetections |
_startDetections()
|
|
Defined in src/components/ipDetector.ts:183
|
|
Control command for starting detection feature.
Returns :
Promise<void>
{Promise |
| _stopDetections |
_stopDetections()
|
|
Defined in src/components/ipDetector.ts:214
|
|
Control command for stopping detection feature.
Returns :
Promise<void>
{Promise |
| Async destroy |
destroy()
|
|
Defined in src/components/ipDetector.ts:262
|
|
Control command for tearing down the detector object.
Returns :
Promise<void>
{Promise |
| Async init |
init()
|
|
Defined in src/components/ipDetector.ts:69
|
|
Convenience function for setting detection and/or framing data event listeners.
Returns :
Promise<any>
{Promise |
| Async updateOpts | ||||||||
updateOpts(options: DetectorOpts)
|
||||||||
|
Defined in src/components/ipDetector.ts:247
|
||||||||
|
Helper function for updating the initial detector options specified when instantiating the Detector class.
Parameters :
Returns :
Promise<any>
{Promise |
In order to use the detector interface you need to make sure that the autozoom feature is enabled on the camera (see the ICnnControl) interface for documentation on how to do it).
The detector interface allows you to subscribe to detection and/or framing data from the camera. Detector supports also getting detection data from Detector without having to stream the camera on the host machine.
It is still possible to get detections the old way, where you only get detection when streaming the camera on the host machine. We show you below how to do that!
/*
We suppose that the sdk has been initialized and autozoom feature is enabled
and running.
*/
...
/**
* Get an instance of detector implementation from the
* camera manager.
*/
const detector = cameraManager.getDetector();
// Always call `init`
await detector.init();
/*
Detector class implements EventEmitter and therefore implements
all the event emitter methods. Below we show how to listen
to detector events such as DETECTIONS and FRAMING.
*/
detector.on('DETECTIONS', (detectionList) => {
// Process the array
});
detector.on('FRAMING', (framingInfo) => {
// Process framing info
});
/**
* When you are done, call `destroy` method to properly teardown
* the detection instance.
*/
await detector.destroy();
...
!! NOTE !! When tearing down your application which is using the detector object, it is important that you call destroy
method before closing the host application. Not doing so will leave the camera streaming internally after you have closed the application which might lead to confusion. The camera will stop generating detection data at some point when it detects that no host application is consuming its data. However, it is strongly recommended to properly teardown the detector instance from the host application.
If you would like to configure the detector so that you get detection events only and only when the user starts streaming the camera on the host machine, then the following code sinppet illustrates how to do just that:
...
/**
* The `getDetector` method accepts options documented on
* `IDetectorOpts` interface. One of the options allows you
* to configure the detector to get detection only when
* camera is streaming on the host machine. This option is
* called `DOWS` short for Detections Only When Streaming.
*/
const detector = await cameraManager.getDetector({
DOWS: true,
});
// Call init
await detector.init();
// Setup detection event listener
detector.on('DETECTIONS', (detectionList) => {
// Your code here
});
// Teardown
await detector.destroy();
...
The detector class can emit the following events:
| Event | Description |
|---|---|
DETECTIONS |
Subscribe to this event to get detections from the camera. At the moment only the People class is supported from the detector. |
FRAMING |
Subscribe to this event to get information about the framing. Framing data consists of a property called bbox which contains the coordinates (x, y, width and height) representing the framing data. The framer configuration on the camera will always make sure that the perfect framing of the people in the view is selected. |
import { EventEmitter } from 'events';
import IDetector from '@huddly/sdk-interfaces/lib/interfaces/IDetector';
import IIpDeviceManager from '@huddly/sdk-interfaces/lib/interfaces/IIpDeviceManager';
import DetectorOpts, {
DetectionConvertion,
} from '@huddly/sdk-interfaces/lib/interfaces/IDetectorOpts';
import Logger from '@huddly/sdk-interfaces/lib/statics/Logger';
import CameraEvents from './../utilitis/events';
import DetectionsConverter, { ImageSize } from './../utilitis/detectionsConverter';
import * as huddly from '@huddly/camera-proto/lib/api/huddly_pb';
import throttle from './../utilitis/throttle';
import { Empty } from 'google-protobuf/google/protobuf/empty_pb';
/**
* Control class for configuring detector and subscribing to detection information.
*
* @export
* @class IpDetector
* @extends {EventEmitter}
* @implements {IDetector}
*/
export default class IpDetector extends EventEmitter implements IDetector {
/** @ignore */
_deviceManager: IIpDeviceManager;
/** @ignore */
_imageSize: ImageSize;
/** @ignore */
_detectionHandler: any;
/** @ignore */
_framingHandler: any;
/** @ignore */
_frame: any;
/** @ignore */
_options: DetectorOpts;
/** @ignore */
_intervalId: NodeJS.Timeout;
/** @ignore */
_defaultLabelWhiteList: Array<String> = ['head', 'person'];
/** @ignore */
_subscriptionsSetup: boolean = false;
/** @ignore */
_detectorInitialized: boolean = false;
/** @ignore */
_previewStreamStarted: boolean = false;
/** @ignore */
_usePeopleCount: boolean = false;
/** @ignore */
_UPDATE_INTERVAL: number = 500; // ms
/** @ignore */
_detectorWasStarted: boolean = false;
/** @ignore */
_lastTimestamp: number = undefined;
constructor(manager: IIpDeviceManager, imageSize: ImageSize, options?: DetectorOpts) {
super();
this._deviceManager = manager;
this._imageSize = imageSize;
this._options = options || {};
this._validateOptions(this._options);
}
/**
* Convenience function for setting detection and/or framing data event listeners.
*
* @return {*} {Promise<any>} Resolves when detector initialization is completed.
* @memberof IpDetector
*/
async init(): Promise<any> {
if (this._detectorInitialized) {
Logger.warn('Detector already initialized', 'L1 Detector');
return;
}
Logger.debug('Initializing detector class', 'L1 Detector');
this._setupDetectionHandler();
if (!this._options.DOWS) {
await this._startDetections();
}
this._intervalId = global.setInterval(
() => this._getDetections().then(this._detectionHandler),
this._UPDATE_INTERVAL
);
this._detectorInitialized = true;
Logger.debug('Detector class initialized and ready', 'L1 Detector');
}
/**
* @ignore
*
* @param {DetectorOpts} options
* @memberof IpDetector
*/
_validateOptions(options: DetectorOpts) {
if (options.convertDetections && options.convertDetections === DetectionConvertion.FRAMING) {
Logger.warn(
'FRAMING opt is not fully supported on L1 yet. Convertion may not work as intended',
'L1 Detector'
);
}
const currentSetOpts = this._options;
this._options = {
...currentSetOpts,
...options,
};
this._options.DOWS = (options && options.DOWS) || false;
this._options.includeRawDetections = (options && options.includeRawDetections) || false;
}
/**
* @ignore
*
* @memberof IpDetector
*/
_setupDetectionHandler() {
// A negative timestamp means the IMX has not received any detections
const detectionsAreInvalid = ({ timestamp }) => timestamp < 0.0;
// A timestamp of 0 is the default value, which will be the case for older L1-versions which do not set the timestamp
const detectionsAreStale = ({ timestamp }) =>
timestamp !== 0 && timestamp === this._lastTimestamp;
const throttledInvalidWarning = throttle(() => {
Logger.warn(
'Invalid detections received, ensure detector is running / autozoom is on and stream is open.',
'L1 Detector'
);
}, 10000);
this._detectionHandler = (detectionBuffer) => {
const rawDetections = detectionBuffer.toObject();
if (detectionsAreInvalid(rawDetections)) {
throttledInvalidWarning();
return;
}
if (detectionsAreStale(rawDetections)) {
return;
}
this._lastTimestamp = rawDetections.timestamp;
const convertedDetections = this.convertDetections(
rawDetections.detectionsList,
this._options
);
this.emit(CameraEvents.DETECTIONS, convertedDetections);
if (this._options.includeRawDetections) {
// Workaround until this is fixed camera side
if (rawDetections.detectionsList[0] && rawDetections.detectionsList[0].label === 'NULL') {
rawDetections.detectionsList = [];
}
this.emit(CameraEvents.RAW_DETECTIONS, rawDetections);
}
};
}
/**
* Fetches detection information from camera.
*
* @return {*} {Promise<huddly.Detections>} An object representing detection data retreived from the camera.
* The object type is described in the IP camera proto file.
* @memberof IpDetector
*/
_getDetections(): Promise<huddly.Detections> {
return new Promise((resolve, reject) => {
this._deviceManager.grpcClient.getDetections(
new Empty(),
(err, detections: huddly.Detections) => {
if (err != undefined) {
Logger.error('Unable to get detections', err.stack || '');
reject(err.message || 'Unknown error');
return;
}
resolve(detections);
}
);
});
}
/**
* Control command for starting detection feature.
*
* @return {*} {Promise<void>} Resolves when the detection feature is started.
* @memberof IpDetector
*/
_startDetections(): Promise<void> {
if (this._detectorWasStarted) {
Logger.error('Detector already started', '', 'L1 Detector');
return;
}
return new Promise((resolve, reject) => {
const cnnFeature = new huddly.CnnFeature();
cnnFeature.setFeature(huddly.Feature.DETECTOR);
cnnFeature.setMode(huddly.Mode.START);
this._deviceManager.grpcClient.setCnnFeature(
cnnFeature,
(err, status: huddly.DeviceStatus) => {
if (err != undefined) {
Logger.error('Unable to start detections on L1', err.stack || '', 'L1 Detector');
reject(err.message);
return;
}
Logger.info(status.toString());
this._detectorWasStarted = true;
resolve();
}
);
});
}
/**
* Control command for stopping detection feature.
*
* @return {*} {Promise<void>} Resolves when the detection feature is stopped.
* @memberof IpDetector
*/
_stopDetections(): Promise<void> {
if (!this._detectorWasStarted) {
Logger.error('Detector has not been started', '', 'L1 Detector');
return;
}
return new Promise((resolve, reject) => {
const cnnFeature = new huddly.CnnFeature();
cnnFeature.setFeature(huddly.Feature.DETECTOR);
cnnFeature.setMode(huddly.Mode.STOP);
this._deviceManager.grpcClient.setCnnFeature(
cnnFeature,
(err, status: huddly.DeviceStatus) => {
if (err != undefined) {
Logger.error('Unable to stop detections on L1', err.stack || '', 'L1 Detector');
reject(err.message);
return;
}
Logger.info(status.toString());
this._detectorWasStarted = false;
resolve();
}
);
});
}
/**
* Helper function for updating the initial detector options specified when
* instantiating the Detector class.
*
* @param {DetectorOpts} options The new detection options to be used.
* @return {*} {Promise<any>} Resolves when the new options have been applied and detector is initialized.
* @memberof IpDetector
*/
async updateOpts(options: DetectorOpts): Promise<any> {
this._validateOptions(options);
if (this._intervalId) {
clearInterval(this._intervalId);
}
this._detectorInitialized = false;
return this.init();
}
/**
* Control command for tearing down the detector object.
*
* @return {*} {Promise<void>} Resolves when the teardown process is completed.
* @memberof IpDetector
*/
async destroy(): Promise<void> {
if (!this._detectorInitialized) {
Logger.warn('Detector already destroyed', 'L1 Detector');
return;
}
if (this._intervalId) {
clearInterval(this._intervalId);
}
if (this._detectorWasStarted) {
Logger.debug('Sending stop-cnn Detector command', 'L1 Detector');
await this._stopDetections();
}
this._detectorInitialized = false;
}
/**
* Normalizes and filters detection objects so they are relative to image size.
*
* @ignore
*
* @param {Array<any>} detections Array of detections
* @param {DetectorOpts} [opts] Returns an array of detections
* @return {*} {Array<any>}
* @memberof IpDetector
*/
convertDetections(detections: Array<any>, opts?: DetectorOpts): Array<any> {
const converterOpts = {
frame: { ...this._frame },
preview_image_size: { ...this._imageSize },
...opts,
};
return new DetectionsConverter(detections, converterOpts).convert();
}
}


ChatBot
Hello! This is an entertainment chatbot made to help you pass-time. Ask it about websites that may help pass your time.
Hey there, lonely human! Let's talk.


|
Fig 1
|
Map of Murray-Darling Basin showing the main rivers. |
|
Fig 2
|
Species richness of fishes in Murray-Darling Basin in the pr ... |
|
Fig 3
|
Current range size of fish species from Murray-Darling basin ... |
|
Fig 4
|
Species functional richness (FRic) of fishes in Murray-Darli ... |
|
Fig 5
|
Functional dispersion (FDis) of fishes in Murray-Darling Bas ... |
|
Fig 6
|
Functional uniqueness (FUni) of fishes in Murray-Darling Bas ... |
|
Fig 7
|
Indicator values indicating the proportion (0 to 100%) of co ... |


A small Node.js library to work with Riot's League of Legend's API.
####
Simple example using promises and callbacks
javascript
const _kayn = require('kayn')
const Kayn = _kayn.Kayn
const REGIONS = _kayn.REGIONS
const kayn = Kayn(/* process.env.RIOT_LOL_API_KEY */)(/* optional config */)
kayn.Summoner.by
.name('Contractz')
.region(REGIONS.NORTH_AMERICA) // same as 'na'
.callback(function(unhandledError, summoner) {
kayn.Matchlist.by
.accountID(summoner.accountId)
/* Note that region falls back to default if unused. */
.query({
season: 11,
champion: 67,
})
.then(function(matchlist) {
console.log('actual matches:', matchlist.matches)
console.log('total number of games:', matchlist.totalGames)
})
.catch(console.error)
})
####
Same example (as the above) using async/await, destructuring, and template strings
javascript
import { Kayn, REGIONS } from 'kayn'
const kayn = Kayn(/* process.env.RIOT_LOL_API_KEY */)(/* optional config */)
const main = async () => {
const { accountId } = await kayn.Summoner.by.name('Contractz')
// ^ default region is used, which is `na` unless specified in config
const { matches, totalGames } = await kayn.Matchlist.by
.accountID(accountId)
.query({ season: 11, champion: 67 })
.region(REGIONS.NORTH_AMERICA)
console.log('actual matches:', matches)
console.log(`total number of games: ${totalGames}`)
}
main()
Table of Contents:
Features
Rate Limiting
Handled by Colorfulstan's wonderful riot-ratelimiter.
All Endpoints Covered
Caching
Currently supports a basic JS cache (for simple scripts) and Redis for anything more complicated.
Compatible with Callbacks, Promises, Async / Await
TypeScript Support
Works immediately upon installation.
As of v0.8.0, full DTO's are provided thanks to MingweiSamuel's auto-updated Swagger JSON.
Methods
Check out ENDPOINTS.md to see kayn's methods, as well as the endpoints covered.
Documentation
The auto-generated ESDoc documentation can be found here.
Installation and Usage
The minimum required Node.js version is v7.6.0 for native async/await support (there's only a mere line in the codebase, though).
npm
npm i --save kayn
yarn
yarn add kayn
Quick Setup with Default Config
const { Kayn, REGIONS } = require('kayn')
const kayn = Kayn('RGAPI-my-api-key')(/*{
region: REGIONS.NORTH_AMERICA,
debugOptions: {
isEnabled: true,
showKey: false,
},
requestOptions: {
shouldRetry: true,
numberOfRetriesBeforeAbort: 3,
delayBeforeRetry: 1000,
burst: false,
},
cacheOptions: {
cache: null,
timeToLives: {
useDefault: false,
byGroup: {},
byMethod: {},
},
},
}*/)
Note: Any config passed in is deeply merged with the default config.
Environment Variables
const kayn = Kayn(/* process.env.RIOT_LOL_API_KEY */)(myConfig)
Although it is possible to manually pass in the API key, it is preferable to store the key in a secret file (which should not be committed).
This allows kayn
to be constructed like in the above code.
# filename: .env
RIOT_LOL_API_KEY=RGAPI-my-api-key
Callbacks
kayn.Summoner.by.name('Contractz').callback(function(err, summoner) {
// do something
})
Promises
kayn.Summoner.by.name('Contractz')
.then(summoner => doSomething(summoner))
.then(console.log)
.catch(error => console.error(error))
Async / Await
const main = async () => {
const ctz = await kayn.Summoner.by.name('Contractz')
}
Region
This forces a request to target a specific region instead of the default region set in kayn
's config. If .region()
is not used, kayn
will use the default region to make requests.
kayn.Summoner.by.name('hide on bush')
.region(REGIONS.KOREA)
.callback(function(error, summoner) {
doSomething(summoner)
})
Region without Throwing
There is another utility method in case if you want to avoid handling exceptions caused by .region()
. This method simply catches .region()
's exception, and so it will fall back to the default region as well.
kayn.Summoner.by.name('hide on bush')
.regionNoThrow(null) // No error thrown. Uses default region.
kayn.Summoner.by.name('hide on bush')
.regionNoThrow(3) // Same as above.
kayn.Summoner.by.name('hide on bush')
.regionNoThrow('kr524') // Same as above.
Query Parameters
kayn.Matchlist.by.accountID(3440481)
.region(REGIONS.KOREA)
.query({
champion: 67,
season: 9,
})
.callback(function(err, matchlist) {
console.log(matchlist.matches.length)
})
Request Errors
Errors as of v0.8.7 return the following error object:
{
statusCode: 42, // some random number
url: '', // the debug URL that is used in logging as well
error: {} // the rest of the error object
}
Configuration
Request Options
numberOfRetriesBeforeAbort
Default: 3 attempts.
delayBeforeRetry
Default: 1000 ms (1 second).
This option will be scrapped in the future in favor for more flexibility (linear, exponential, random, etc).
burst
Default: false.
Disabled by default in favor of spread
.
true
=> riotratelimiter
will use its burst strategy.
false
=> riotratelimiter
will use its spread strategy.
Cache Options
To cache, firstly create some cache that implements the get
and set
functions that kayn
interfaces with, and then pass that cache instance to cacheOptions.cache
.
ttls
are method ttls. This part is pretty inconvenient right now. Suggestions are welcome.
Current caches:
- basic in-memory cache
- (node) lru-cache
- Redis cache
import { Kayn, REGIONS, METHOD_NAMES, BasicJSCache, LRUCache, RedisCache } from 'kayn'
const redisCache = new RedisCache({
host: 'localhost',
port: 5000,
keyPrefix: 'kayn',
password: 'hello-world',
// etc...
})
const lruCache = new LRUCache({
max: 500,
dispose: (key, value) => {},
length: (value, key) => 1,
})
const basicCache = new BasicJSCache()
const myCache = redisCache // or basicCache/lruCache
const kayn = Kayn(/* optional key */)({
region: 'na',
debugOptions: {
isEnabled: true,
showKey: false,
},
requestOptions: {
shouldRetry: true,
numberOfRetriesBeforeAbort: 3,
delayBeforeRetry: 1000,
},
cacheOptions: {
cache: myCache,
timeToLives: {
useDefault: true,
byGroup: {
STATIC: 1000 * 60 * 60 * 24 * 30, // cache for a month
},
byMethod: {
[METHOD_NAMES.SUMMONER.GET_BY_SUMMONER_NAME]: 1000, // ms
},
},
},
})
kayn.Summoner.by
.name('Contractz')
.then(() => kayn.Summoner.by.name('Contractz'))
/*
200 @ https://na1.api.riotgames.com/lol/summoner/v3/summoners/by-name/Contractz
CACHE HIT @ https://na1.api.riotgames.com/lol/summoner/v3/summoners/by-name/Contractz
*/
TTLs???
Check out Enums/default-ttls
and Enums/method-names
to find the constants that you can use as keys within byGroup
and byMethod
.
Here is the order in which ttl's resolve (highest-priority first):
- byMethod
- byGroup
- useDefault
Note that if you're using the ttls
prop before v0.8.9, you're perfectly fine. ttls
is the source of truth, and has the highest priotity over the above 3 ways.
byMethod
byMethod
takes pairs of Enums/method-names
, which are just unique (string-type) identifiers and the ttl value you desire.
cacheOptions: {
timeToLives: {
byMethod: {
[METHOD_NAMES.SUMMONER.GET_BY_SUMMONER_NAME]: 1000,
}
}
}
// Same as passing this:
// 'SUMMONER.GET_BY_SUMMONER_NAME': 1000,
// Constants just help for auto-complete.
byGroup
byGroup
takes pairs as well. The key difference is that it follows how Riot groups their API methods on their developer interface. You can check Enums/method-names
once again to see how methods are grouped toegher.
byGroup
has lower priority than byMethod
. This as you'll see is flexible.
cacheOptions: {
timeToLives: {
byGroup: {
MATCH: 60 * 60 * 24 * 30, // 30 days
}
byMethod: {
[METHOD_NAMES.MATCH.GET_MATCHLIST]: 1000,
}
}
}
// Enums/method-names
/*
const MATCH = {
GET_MATCH: 'MATCH.GET_MATCH',
GET_MATCHLIST: 'MATCH.GET_MATCHLIST',
GET_RECENT_MATCHLIST: 'MATCH.GET_RECENT_MATCHLIST',
GET_MATCH_TIMELINE: 'MATCH.GET_MATCH_TIMELINE',
GET_MATCH_IDS_BY_TOURNAMENT_CODE: 'MATCH.GET_MATCH_IDS_BY_TOURNAMENT_CODE',
GET_MATCH_BY_TOURNAMENT_CODE: 'MATCH.GET_MATCH_BY_TOURNAMENT_CODE',
}
*/
What this does is set the cache ttl of every single one of the above match method to 30 days. However, since byMethod
has higher priority, we are then able to overwrite the Matchlist.by.accountID
ttl, making it only be cached for a second instead.
This is good because the other match methods rarely change, while matchlists can change every 20 minutes.
useDefault
Simply set useDefault
in timeToLives
to true. This option basically sets ttls I thought made some sense. useDefault
has the lowest priority, which means you can set it to true
, and then overwrite it on a case-by-case basis using byGroup
and byMethod
.
Flushing the Cache
// BasicJSCache O(1)
// synchronous
kayn.flushCache()
// this has been turned into a promise so that it can be chained.
// still can just be called normally though.
// the `data` parameter returns "OK" just like in the RedisCache.
async1
.then(() => kayn.flushCache())
.then(console.log) // prints OK always. there's no way to get an error.
.catch(console.err)
// RedisCache O(N)
// asynchronous
kayn.flushCache(function (err, ok) {
console.log(ok === "OK")
})
const flush = async () => {
try {
await kayn.flushCache() // returns "OK", but not really necessary to store.
} catch (exception) {
console.log(exception)
}
}
async1
.then(() => async2())
.then(() => kayn.flushCache())
.then(console.log)
.catch(console.log)
Debug Options
showKey
When logging, URLs printed out on the screen will also have the API key query string attached to it, allowing the user to conveniently inspect the response if necessary.
loggers
kayn
now uses debug for all logging purposes.
Here are the current namespaces:
kayn
- init
- request
- incoming
- success
- error
- outgoing
- incoming
- cache
- set
- get
To enable debugging, firstly make sure config.debugOptions.isEnabled
is true
. Then, run your program with the desired DEBUG environment variables.
For example, if you wish to only see the request errors (404, 420, 503, 500, etc), run:
DEBUG=kayn:request:incoming:error <command>
# DEBUG=kayn:*:error works too.
...where command runs the script/server/whatever (npm run start
, yarn start
, node index.js
).
To enable all loggers, simply run:
DEBUG=kayn:* <command>
My Project
If you're interested in what I have built using this library, here's a small web application I made, along with the original reddit post.
One Tricks:
- site: http://onetricks.net
- reddit link: https://www.reddit.com/r/leagueoflegends/comments/5x1c5c/hi_i_made_a_small_website_to_compile_a_list_of/
- src: https://github.com/cnguy/OneTricks
Here are the requests stats for anyone interested.
Note that my requests stats are inflated since I'm not really caching at the moment (lol).
Bugs
Feel free to make an issue (bug, typos, questions, suggestions, whatever) or pull request to fix an issue. Just remember to run prettier
(via yarn lint
).
Package commands:
yarn lint
forprettier
(will addeslint
toprettier
soon)yarn example
to run the various files in./examples
yarn build
to build.yarn example
runs this commandyarn test
Changelog
As long this library is pre-1.0.0, breaking changes may be made, but will be documented and will generally not be drastic. Upon 1.0.0, SemVer will be followed strictly.
Disclaimer
kayn
isn't endorsed by Riot Games and doesn't reflect the views or opinions of Riot Games or anyone officially involved in producing or managing League of Legends. League of Legends and Riot Games are trademarks or registered trademarks of Riot Games, Inc. League of Legends © Riot Games, Inc.


David & Quince
Responders Dashboard - Side by side comparison
Age Band
Gender
Mosaic Group
Life Stages
Customer Group
Responders
UK Population
Z Score
Responders
UK Population
Z Score
Age Band
Gender
Mosaic Group
Life Stages
Customer Group


The packages are taken form public open-sourse repositories and installations are done in bundles.
Basic Editor
-
gedit, vim, vi, emacs, nano
Basic Compiler
-
gcc, g++, cc, gfortran, java
Name : gcc Arch : x86_64 Version : 4.4.7 Release : 11.el6 Size : 19 M Repo : installed From repo : anaconda-base-201505101627.x86_64 Summary : Various compilers (C, C++, Objective-C, Java, ...) URL : http://gcc.gnu.org License : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions Description : The gcc package contains the GNU Compiler Collection version 4.4. : You'll need this package in order to compile C code.
GNU Tools
This bundles a number of GNU tools into a single Rocks group and provides a Modules interface to allow loading of the tool paths into the user environment. For more information about the various packages included in the gnutools, please visit their official web pages:
-
GNU Autoconf - is an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages.
-
GNU Automake - is a tool for automatically generating Makefile.in files compliant with the GNU Coding Standards. Automake requires the use of Autoconf.
-
GNU Binutils - are a collection of binary tools.
-
GNU GDB - the GNU Project debugger, allows you to see what is going on inside another program while it executes — or what another program was doing at the moment it crashed.
-
GNU Libtool - is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface.
-
GNU Texinfo - is the official documentation format of the GNU project.
-
GNU libunistring - provides functions for manipulating Unicode strings and for manipulating C strings according to the Unicode standard.
-
libffi - provides a portable, high level programming interface to various calling conventions. This allows a programmer to call any function specified by a call interface description at run-time.
-
gnutools - is a portable command-line driven graphing utility.
hdf
This bundles the HDF4 and HDF5 libraries and the h5py Python interface to HDF5. For more information about the various packages included in the hdf please visit their official web pages:
Math [ Upcoming!!, requires Intel MKL Lib]
This bundles a collection of Math packages: eigen, GSL, LAPACK, Parmetis,petsc, ScaLAPACK, slepc, SPRNG, sundials, and superLU.
For more information about the various packages included in the math please visit their official web pages:
-
eigen - is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
-
GSL - is a numerical library for C and C++ programmers.
-
LAPACK provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems.
-
ParMETIS - is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices.
-
petsc - is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations
-
ScaLAPACK - is a library of high-performance linear algebra routines for parallel distributed memory machines.
-
slepc is a software library for the solution of large scale sparse eigenvalue problems on parallel computers sundials solves nonlinear and diffential equations
-
SPRNG is a scalable package for parallel pseudo random number generation which will be easy to use on a variety of architectures, especially in large-scale parallel Monte Carlo applications.
-
SuperLU - is a general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations on high performance machines.
ATLAS
This bundles the ATLAS math package.
The Automatically Tuned Linear Algebra Software (ATLAS) focuses on applying empirical techniques in order to provide portable performance. At present, it provides C and Fortran77 interfaces to a portably efficient BLAS implementation, as well as a few routines from LAPACK. For more information about ATLAS please visit the official web page.
Special Python
This bundles Python 2.7.x and 3.x for side-by-side installation with the system Python and default Rocks Python. Python is a programming language that lets you work more quickly and integrate your systems more effectively.
Along with Python itself, the installs these python modules:
boost
This bundles the boost C++ libraries. For more information about boost please visit the official web page
FFTW
This bundles the FFTW library. FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data. For more information about FFTW please visit the official web page
Bio :
This is a default Bundle. The Bio contains a suite of Bio-informatics applications, most commonly in use by the bio-informatics community. The list of applications is as follows: ( list is taken from here)
-
HMMER - http://hmmer.janelia.org/
-
NCBI BLAST - From National Center for Biotechnology Information - www.ncbi.nlm.nih.gov/BLAST/
-
MpiBLAST - From Los Alamos National Laboratory - http://mpiblast.lanl.gov/
-
biopython - www.biopython.org
-
ClustalW - From the European BioInformatics Institute - http://www.ebi.ac.uk/clustalw/
-
MrBayes - From School of Computational Science at the Florida State University - http://mrbayes.csit.fsu.edu/
-
T_Coffee - From Information Genomique et Structurale at Centre National de la Recherche Scientifique - The T-Coffee Home Page
-
Emboss - From European Molecular Biology Institute - http://emboss.sourceforge.net/
-
Phylip - From the Dept. of Biology at the University of Washington - http://evolution.genetics.washington.edu/phylip.html
-
fasta - From the University of Virginia - http://fasta.bioch.virginia.edu/
-
Glimmer - From Center for Bioinformatics and Computational Biology at the University of Maryland - http://www.cbcb.umd.edu/software/glimmer/
-
TIGR Assembler - From the J. Craig Venter Institute - http://www.jcvi.org/cms/research/software/
-
All the perl utilities mentioned below are from CPAN
-
perl-bioperl
-
perl-bioperl-ext
-
perl-bioperl-run
-
perl-bioperl-db
Gaussian 09:
We have recently installed Gaussian 09 Version. Users need to add the following to their .login file if they prefer to run in C shell to set the g09root
setenv g09root "/share/apps/gaussian" setenv GAUSS_SCRDIR "/tmp/$USER/gausian" # user must create this directory before loading it mkdir -p /tmp/$USER/gausian source $g09root/g09/bsd/g09.login # sets up G09 run environment.
For Bourne-type shell users need to use these commands instead of the ones above:
g09root="/share/apps/gaussian" GAUSS_SCRDIR="/tmp/$USER/gausian" export g09root GAUSS_SCRDIR . $g09root/g09/bsd/g09.profile
| Users need to create a runtime scratch space before they load the Gaussian ENV, use mkdir -p /tmp/$USER/gausian, this will create a folder in /tmp. |
| As per suggestion, I have not installed GaussView, if you would like to use, please set it in your local area. [expert’s views will highly be appreciated]. |
| Please provide a example script as demo, which will help new users in future. |
Packages on Plan (!!!!):
Send me requests (Only For OpenSource Packages).
Already Prepared RPMS (including dependencies)
With the collaboration with TACC/XSEDE and CERN Computing facilities, all these RPMs are produced locally to fit into our HPC
BEDTools-2.15.0-1.el6.x86_64.rpm GotoBLAS2-1.13-0.x86_64.rpm PLAPACK-R3.2-1.el6.x86_64.rpm PnetCDF-1.4.1-1.el6.x86_64.rpm R-2.15.1-1.el6.x86_64.rpm R-devel-2.15.1-1.el6.x86_64.rpm R-core-2.15.1-1.el6.x86_64.rpm libRmath-2.15.1-1.el6.x86_64.rpm libRmath-devel-2.15.1-1.el6.x86_64.rpm libicu-4.2.1-9.1.el6_2.x86_64.rpm texinfo-tex-4.13a-8.el6.x86_64.rpm SHRiMP-2_2_3-1.x86_64.rpm abyss-1.3.7-1.x86_64.rpm ant-1.7.1-13.el6.x86_64.rpm java-1.6.0-openjdk-<IP_ADDRESS>-<IP_ADDRESS>.el6_7.x86_64.rpm java-1.6.0-openjdk-devel-<IP_ADDRESS>-<IP_ADDRESS>.el6_7.x86_64.rpm xerces-j2-2.7.1-12.7.el6_5.x86_64.rpm xml-commons-resolver-1.1-4.18.el6.x86_64.rpm xml-commons-apis-1.3.04-3.6.el6.x86_64.rpm arpack-3.1.3-1.el6.x86_64.rpm atlas-3.8.4-2.el6.x86_64.rpm boost-1.41.0-25.el6.x86_64.rpm boost-date-time-1.41.0-25.el6.x86_64.rpm boost-filesystem-1.41.0-25.el6.x86_64.rpm boost-graph-1.41.0-25.el6.x86_64.rpm boost-iostreams-1.41.0-25.el6.x86_64.rpm boost-program-options-1.41.0-25.el6.x86_64.rpm boost-python-1.41.0-25.el6.x86_64.rpm boost-regex-1.41.0-25.el6.x86_64.rpm boost-serialization-1.41.0-25.el6.x86_64.rpm boost-signals-1.41.0-25.el6.x86_64.rpm boost-system-1.41.0-25.el6.x86_64.rpm boost-test-1.41.0-25.el6.x86_64.rpm boost-thread-1.41.0-25.el6.x86_64.rpm boost-wave-1.41.0-25.el6.x86_64.rpm libicu-4.2.1-9.1.el6_2.x86_64.rpm bowtie-0.12.7-2.el6.x86_64.rpm bwa-0.5.9-1.el6.x86_64.rpm charm-6.0-0.x86_64.rpm darshan-runtime-mpich-2.3.0-1.x86_64.rpm darshan-runtime-openmpi-2.3.0-1.x86_64.rpm darshan-util-2.3.0-1.x86_64.rpm elemental-0.83-1.el6.x86_64.rpm espresso-ab-1.0-1.el6.x86_64.rpm fftw2-2.1.5-21.el6.x86_64.rpm fftw-3.2.1-3.1.el6.x86_64.rpm geos-3.3.2-1.el6.x86_64.rpm glpk-4.40-1.1.el6.x86_64.rpm gnuplot-4.2.6-2.el6.x86_64.rpm gnuplot-common-4.2.6-2.el6.x86_64.rpm wxBase-2.8.12-1.el6.centos.x86_64.rpm wxGTK-2.8.12-1.el6.centos.x86_64.rpm gromacs-4.5.7-1.el6.x86_64.rpm gromacs-common-4.5.7-1.el6.noarch.rpm gromacs-libs-4.5.7-1.el6.x86_64.rpm fftw-3.2.1-3.1.el6.x86_64.rpm java-1.7.0-openjdk-<IP_ADDRESS>-<IP_ADDRESS>.el6_7.x86_64.rpm java-1.7.0-openjdk-devel-<IP_ADDRESS>-<IP_ADDRESS>.el6_7.x86_64.rpm jpackage-utils-1.7.5-3.14.el6.noarch.rpm tzdata-java-2015f-1.el6.noarch.rpm lammps-20150409-12.el6.x86_64.rpm lammps-common-20150409-12.el6.x86_64.rpm libgtextutils-0.6-5.el6.x86_64.rpm libTAU-1.0.0-1.el6.x86_64.rpm meep-1_2_1-1.x86_64.rpm guile-1.8.7-5.el6.x86_64.rpm mpi4py-common-1.3-5.el6.noarch.rpm mpi4py-mpich2-1.3-5.el6.x86_64.rpm mpi4py-openmpi-1.3-5.el6.x86_64.rpm mpich2-1.2.1-2.3.el6.x86_64.rpm mpich2-1.2.1-2.3.el6.x86_64.rpm ncbi-blast-2.2.29+-1.x86_64.rpm ncl-6.0.0-3.el6.x86_64.rpm ncl-common-6.0.0-3.el6.noarch.rpm udunits2-2.1.19-1.el6.x86_64.rpm nco-4.0.5-2.el6.x86_64.rpm gsl-1.13-1.el6.x86_64.rpm netcdf-4.1.1-3.el6.4.x86_64.rpm hdf5-1.8.5.patch1-7.el6.x86_64.rpm udunits2-2.1.19-1.el6.x86_64.rpm numpy-1.4.1-9.el6.x86_64.rpm nwchem-6.5.26243-13.el6.x86_64.rpm nwchem-common-6.5.26243-13.el6.noarch.rpm octave-3.4.3-1.el6.x86_64.rpm GraphicsMagick-c++-1.3.18-2.el6.x86_64.rpm GraphicsMagick-1.3.18-2.el6.x86_64.rpm blas-3.2.1-4.el6.x86_64.rpm fltk-1.1.10-1.el6.x86_64.rpm glpk-4.40-1.1.el6.x86_64.rpm gnuplot-4.2.6-2.el6.x86_64.rpm gnuplot-common-4.2.6-2.el6.x86_64.rpm hdf5-1.8.5.patch1-7.el6.x86_64.rpm qhull-2003.1-14.el6.x86_64.rpm qrupdate-1.1.2-1.el6.x86_64.rpm suitesparse-3.4.0-9.el6.x86_64.rpm texinfo-4.13a-8.el6.x86_64.rpm wxBase-2.8.12-1.el6.centos.x86_64.rpm wxGTK-2.8.12-1.el6.centos.x86_64.rpm picard-tools-1.112-1.el6.x86_64.rpm plplot-5.9.7-3.el6.1.x86_64.rpm gnu-free-sans-fonts-20100919-3.el6.noarch.rpm gnu-free-serif-fonts-20100919-3.el6.noarch.rpm lasi-1.1.0-6.el6.x86_64.rpm numpy-1.4.1-9.el6.x86_64.rpm plplot-libs-5.9.7-3.el6.1.x86_64.rpm python-nose-0.10.4-3.1.el6.noarch.rpm python-setuptools-0.6.10-3.el6.noarch.rpm rhino-1.7-0.7.r2.2.el6.noarch.rpm jline-0.9.94-0.8.el6.noarch.rp samtools-0.1.18-2.el6.x86_64.rpm scalapack-common-2.0.2-6.el6.x86_64.rpm slepc-3.4.4-1.x86_64.rpm sprng-4.4-1.el6.x86_64.rpm mpich2-1.2.1-2.3.el6.x86_64.rpm sparsehash-devel-1.7-3.el6.noarch.rpm sratoolkit-2.3.4-1.el6.x86_64.rpm sundials-2.5.0-1.el6.x86_64.rpm trinityrnaseq-r20140717-5.x86_64.rpm bowtie-1.1.1-1.el6.x86_64.rpm java-1.6.0-openjdk-<IP_ADDRESS>-<IP_ADDRESS>.el6_7.x86_64.rpm java-1.6.0-openjdk-devel-<IP_ADDRESS>-<IP_ADDRESS>.el6_7.x86_64.rpm samtools-0.1.18-2.el6.x86_64.rpm valgrind-3.8.1-3.2.el6.x86_64.rpm saga-2.1.1-1.el6.x86_64.rpm cfitsio-3.240-3.el6.x86_64.rpm gdal-1.7.3-15.el6.x86_64.rpm gdal-devel-1.7.3-15.el6.x86_64.rpm gdal-java-1.7.3-15.el6.x86_64.rpm geos-3.3.2-1.el6.x86_64.rpm libdap-3.11.0-1.el6.x86_64.rpm libgeotiff-1.2.5-6.el6.x86_64.rpm libgeotiff-devel-1.2.5-6.el6.x86_64.rpm libmspack-0.4-0.1.alpha.el6.x86_64.rpm librx-1.5-24.el6.x86_64.rpm netcdf-4.1.1-3.el6.4.x86_64.rpm ogdi-3.2.0-0.14.beta2.el6.x86_64.rpm postgresql-libs-8.4.20-1.el6_5.x86_64.rpm proj-4.7.0-1.el6.x86_64.rpm unixODBC-2.2.14-14.el6.x86_64.rpm wxBase3-3.0.0-7.el6.x86_64.rpm wxGTK3-3.0.0-7.el6.x86_64.rpm xerces-c-3.0.1-20.el6.x86_64.rpm
Dislaimer:
The information about the packages are taken from web (mostly, through google-search).
by S. Jena
Document version: V1.1.1 12/06/2017
Document version: V1.1.0 23/03/2017
Document version: V1.2.0 16/03/2018


Ferd Lewis: Hawaii football team earns trip on Mountain West Conference’s dime | Honolulu Star-Advertiser
After eight seasons of paying for charter flights to bring its conference opponents here, college football’s most well-traveled team, the University of Hawaii, will finally have the Mountain West Conference pick up its tab for a change. Read more
Mahalo for reading the Honolulu Star-Advertiser!
You're reading a premium story. Read the full story with our Print & Digital Subscription.
Already a subscriber? Log in now to continue reading this story.
Print subscriber but without online access? Activate your Digital Account now.


Doug Ford to meet with Quebec Premier Francois Legault in Montreal
by The Canadian PressMONTREAL -- Ontario Premier Doug Ford will be meeting with his Quebec counterpart tonight, days before all provincial leaders get together in Toronto.
Ford says he will discuss areas of agreement with Francois Legault when the two meet for dinner in Montreal.
That means they won't discuss Bill 21 -- Quebec's secularism law that bans public employees from wearing religious symbols on the job.
Ford's Progressive Conservative government supported an NDP motion in the legislature this week condemning the controversial law.
A spokeswoman for Ford says the premier plans to raise issues of national unity, health care, infrastructure and economic development.
Ford joked that energy will likely come up as well, since Legault is always trying to sell some to Ontario.
This report by The Canadian Press was first published Nov. 29, 2019.


Find all Developers programs, student opportunities & other resources at one place.
| S.no | Name | About | Link |
|---|---|---|---|
| 1 | Google DSC Lead | These Leads may be pursuing various undergraduate or graduate university degrees but have a good foundational knowledge of software development concepts. | Link |
| 2 | Github Campus Expert | Applications open twice a year in Feb and August. | Link |
| 3 | Microsoft Learn Student Ambassador | The Microsoft Learn Student Ambassadors is a program to sponsor students majoring in disciplines related to technology | Link |
| 4 | One Plus Student Ambassador | OnePlus Student Ambassador Program is a campus connect program that aims to form a community of like -minded students across India. | Link |
| 5 | AWS Educate Student Ambassador | The program is available to AWS Educate student members who are enrolled at a public or private school, college, or university. | Link |
| 6 | Alexa student influencer* | Alexa Student Influencers (ASI) are young campus ambassadors and leaders passionate to learn new technologies in Artificial Intelligence, etc. | Link |
| 7 | Intel Student Ambassador Program | Student Ambassadors are offered access to Intel® oneAPI libraries and toolkits, extended use of Intel® DevCloud, as well as exclusive training, support and disclosures to assist the development and amplification of advanced research. | Link |
| 8 | Hackerrank Campus Ambassador | This Ambassador program is completely self-serve for students | Link |
| 9 | Internshala Student Partner | College students from any degree, stream, and year of study can apply for this program. | Link |
| 10 | Cisco Devnet Campus Ambassador | Cisco DevNet is a community to help developers build on Cisco APIs and platforms. Be our point of contact in your college | Link |
| 11 | HackerEarth Ambassador Program | The HackerEarth Campus Ambassador Program is a platform for students who are passionate about programming to start and run an active programming club in their college | Link |
| 12 | GeeksForGeeks Campus Mantri | Responsible to help the proletarians (Students) of your Constituency (College campus). | Link |
| 13 | Campus Ninja Program | This is a program by Coding Ninjas for students. | Link |
| 14 | Coding Blocks Campus Ambassador Program | The Campus Ambassador program for students by Coding Block. | Link |
| 15 | Postman Student Expert Program | This program will elevate your software development and API knowledge to help you grow in your career | Link |
| 16 | Postman Student Leader Program | Become a leader on your campus to teach your peers about APIs and recieve benefits from postman. | Link |
Below are some Top Hackathons in which you can participate.
"Student hackathons are a great destination for students to get their hands dirty on live projects that they believe in. Hackathons give them a unique opportunity to merge their creative ideas with their technical skills to build something new and exemplary."
| S.no | Name | About | Link |
|---|---|---|---|
| 1 | Smart India Hackathon(SIH) | Smart India Hackathon is a nationwide 36-hour Hackathon organized by the MHRD, Govt. of India. | Link |
| 2 | Imagine Cup | Global Hackathon organized by Microsoft. | Link |
| 3 | MLH Explorer(Fellowship) | The MLH Explorer Fellowship is a 12 week internship alternative for students interested in becoming software engineers | Link |
| 4 | Apple's Swift Student Challenge | This challenge is open to students around the world. | Link |
| 5 | HackHarvard by Harvard university | A 36-hour hackathon hosted on Harvard University's historic campus. | Link |
| 6 | HackMIT | A weekend long hackathon hosted by Massachusetts Institute of Technology globally. | Link |
| 7 | Angel Global Series Hackathon | This hackathon is conducted on a worldwide level in two formats, In-person and Virtual. | Link |
Here are some platforms where you can find large number of Hackathons:
MLH, HackerEarth, Angelhack,
Devfolio, Devpost,
dare2compete
| S.no | Name | About | Link |
|---|---|---|---|
| 1 | Google Code Jam | Code Jam is Google's longest running global coding competition, where programmers of all levels put their skills to the test. Chance to win $15,000. | Link |
| 2 | Google Kickstart | Kick Start is a global online coding competition, consisting of three-hour rounds of a variety of algorithmic challenges designed by Google engineers. | Link |
| 3 | Google hash code | Hash Code is a team programming competition, organized by Google, for students and professionals around the world. | Link |
| 4 | Facebook Hacker cup | Hacker Cup is Facebook's annual open programming competition. Open to participants around the world. | Link |
| 5 | FB Hack (by Facebook) | FB Hacks are a series of innovative regional events for university students, in which teams with diverse disciplines compete for points across a variety of challenges. | Link |
| 6 | International Collegiate Programming Contest (ICPC) | The International Collegiate Programming Contest is an algorithmic programming contest for college students. | Link |
| 7 | MICROSOFT IMAGINE CUP | Program invites you to take on real-world problems | Link |
| 8 | Top Coder | TopCoder is fast becoming the major league for programming competitions. | Link |
| 9 | ICFP PROGRAMMING CONTEST | ICFP Programming Contest is held every year, a few months before the conference. | Link |
| S.no | Name | About | Link |
|---|---|---|---|
| 1 | TopCoder | TopCoder is one of the most popular platforms for online programming competitions. Anyone can join and can participate in competetive programming. | Link |
| 2 | HackerRank | HackerRank provides challenges for several different domains such as Algorithms, Mathematics, SQL, Functional Programming, AI, and more. You can solve all the challenge directly online | Link |
| 3 | CodeChef | CodeChef is an Indian-based competitive programming website that provides hundreds of challenges. You are able to write code in their online editor and view a collections of challengesCodeChef is an Indian-based competitive programming website that provides hundreds of challenges. You are able to write code in their online editor and view a collections of challenges. | Link |
| 4 | Coderbyte | Coderbyte provides 200+ coding challenges you can solve directly online in one of 10 programming languages. | Link |
| 5 | Codewars | Codewars provides a large collection of coding challenges submitted and edited by their own community. | Link |
| 6 | CodeForces | Codeforces is a website that hosts competitive programming contests. | Link |
| 7 | LeetCode | LeetCode is a popular Online Judge that provides a list of 190+ challenges that can help you prepare for technical job interviews. | Link |


I creatively find solutions to problems using web, mobile and/or desktop technologies.
#softwareEngineering | #webDesign | #mobileAppDevelopment | #programmer
Working full-time for the Department of Works and Pensions (DWP)
and previously with BBC. In my spare-time I work on personal projects!
Building quality and modern website or app for personal or business needs.
Building native mobile app for cool ideas
Using cloud technologies to support needs for storage, backups & big data processing.


|
Standard Reference Data Program |
Data Gateway |
Chemistry WebBook |
|
NIST subscription sites provide data under the NIST Standard Reference Data Program, but require an annual fee to access. The purpose of the fee is to recover costs associated with the development of data collections included in such sites. Your institution may already be a subscriber. Follow the links above to find out more about the data in these sites and their terms of usage.
Go To: Top, Constants of diatomic molecules, References, Notes / Error Report
Data compilation copyright by the U.S. Secretary of Commerce on behalf of the U.S.A. All rights reserved.
Data compiled as indicated in comments:
LLK - S.G. Lias, R.D. Levin, and S.A. Kafafi
RDSH - H.M. Rosenstock, K. Draxl, B.W. Steiner, and J.T. Herron
B - J.E. Bartmess
| EA (eV) | Method | Reference | Comment |
|---|---|---|---|
| 0.520 ± 0.010 | LPES | Miller, Leopold, et al., 1986 | B |
| 1.10 ± 0.20 | LPES | Miller and Lineberger, 1990 | Vertical Detachment Energy: 1.5±0.1 eV; B |
| 0.42 | NBAE | De Vreugd, Wijnaendts van Resandt, et al., 1979 | B |
| 1.12 ± 0.21 | EIAE | Shevchenko, Iljin, et al., 1976 | From Na2BO2F; B |
| >1.35 | EIAE | Ebinghaus, 1964 | From (NaF)2; B |
| Ion | AE (eV) | Other Products | Method | Reference | Comment |
|---|---|---|---|---|---|
| Na+ | 9.98 ± 0.15 | F | EI | Shevchenko, Iljin, et al., 1976 | LLK |
| Na+ | 9.9 ± 0.2 | F | EI | Hastie, Zmbov, et al., 1968 | RDSH |
| Na+ | ~12. | F | EI | Porter and Schoonmaker, 1958 | RDSH |
Go To: Top, Gas phase ion energetics data, References, Notes / Error Report
Data compilation copyright by the U.S. Secretary of Commerce on behalf of the U.S.A. All rights reserved.
Data compiled by: K.P. Huber and G. Herzberg
| State | Te | ωe | ωexe | ωeye | Be | αe | γe | De | βe | re | Trans. | ν00 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| The electron energy loss spectrum has peaks at 5.7, 7.7, (18.5), 32.5 eV. | ||||||||||||
| Geiger and Pfeiffer, 1968 | ||||||||||||
| Continuous absorption above 41000 cm-1. | ||||||||||||
| Muller, 1927 | ||||||||||||
| A 1 | A ← X | |||||||||||
| Barrow and Caunt, 1953 | ||||||||||||
| X 1Σ+ | 0 | 536 2 3 (Z) | 3.4 2 | 0.43690127 | 0.00455869 | 2.335E-5 | 1.161E-6 | 1.925947 4 | ||||
| Ritchie and Lew, 1964; Baikov and Vasilevskii, 1967 | ||||||||||||
| Rotation sp. | ||||||||||||
| Bauer and Lew, 1963; Hollowell, Hebert, et al., 1964; Veazey and Gordy, 1965 | ||||||||||||
| Mol. beam rf electric 5 | ||||||||||||
| Hollowell, Hebert, et al., 1964; Graff and Werth, 1965 | ||||||||||||
| and magnetic reson. | ||||||||||||
| Zeiger and Bolef, 1952; Logan, Cote, et al., 1952; Cote and Kusch, 1953 |
| 1 | Fluxuation bands in absorption from 39350 to 36600 cm-1. |
| 2 | From the IR spectrum Ritchie and Lew, 1964, Baikov and Vasilevskii, 1967. |
| 3 | For IR frequencies in low-temperature rare gas matrices, see Snelson and Pitzer, 1963. |
| 4 | Rot.-vibr. sp. 3 |
| 5 | μel[D] = 8.1235 + 0.0644(v+1/2) + 0.00037(v+1/2)2, v≤2 Hollowell, Hebert, et al., 1964, Graff and Werth, 1965; see also Bauer and Lew, 1963. Na quadrupole coupling constant, dependence on v Bauer and Lew, 1963, Hollowell, Hebert, et al., 1964, Graff and Werth, 1965; earlier, less accurate values by the magnetic resonance method Zeiger and Bolef, 1952, Logan, Cote, et al., 1952, Cote and Kusch, 1953. |
| 6 | Value recommended by Ham, 1974 and based on the highest Na levels observed in chemiluminescent emission from the reaction Na2 + F > NaF + Na*. It is in agreement with the flame-photometric value (5.25 eV) of Bulewicz, Phillips, et al., 1961, but substantially higher than the thermochemical value (4.93 eV) given by Brewer and Brackett, 1961 or derived from the data in Stull and Prophet, 1971. |
Go To: Top, Gas phase ion energetics data, Constants of diatomic molecules, Notes / Error Report
Data compilation copyright by the U.S. Secretary of Commerce on behalf of the U.S.A. All rights reserved.
Miller, Leopold, et al., 1986
Miller, T.M.; Leopold, D.G.; Murray, K.K.; Lineberger, W.C.,
Electron Affinities of the Alkali Halides and the Structure of their Negative Ions,
J. Chem. Phys., 1986, 85, 2368. [all data]
Miller and Lineberger, 1990
Miller, T.M.; Lineberger, W.C.,
Mass Spectra and Photodetachment of Sodium Fluoride Negative Ion Clusters,
Int. J. Mass Spectrom. Ion Proc., 1990, 102, 239. [all data]
De Vreugd, Wijnaendts van Resandt, et al., 1979
De Vreugd, C.; Wijnaendts van Resandt, R.W.; Los, J.; Smith, B.,
Differential Cross Sections for Collisions of Negative Halogen Ions and Alkali Atoms,
Chem. Phys., 1979, 42, 305. [all data]
Shevchenko, Iljin, et al., 1976
Shevchenko, V.E.; Iljin, M.K.; Nikitin, O.T.; Sidorov, L.N.,
Mass-spectrometric study of mixed dimers M2BO2F,
Int. J. Mass Spectrom. Ion Phys., 1976, 21, 279. [all data]
Ebinghaus, 1964
Ebinghaus, H.Z.,
Negative Ionen aus Alkalihalogeniden und Electronenaffinitaten der Alkalimetalle und Alkalihalogenide,
Z. Naturfor., 1964, 19A, 727. [all data]
Hastie, Zmbov, et al., 1968
Hastie, J.W.; Zmbov, K.F.; Margrave, J.L.,
Mass spectrometric studies at high temperatures. XXIII. Vapor equilibria over molten NaSnF3 and KSnF3,
J. Inorg. Nucl. Chem., 1968, 30, 729. [all data]
Porter and Schoonmaker, 1958
Porter, R.F.; Schoonmaker, R.C.,
Mass spectrometric study of the vaporization of LiF, NaF, and LiF-NaF mixtures,
J. Chem. Phys., 1958, 29, 1070. [all data]
Geiger and Pfeiffer, 1968
Geiger, J.; Pfeiffer, H.-C.,
Untersuchung der Anregung innerer Elektronen von Alkalihalogenidmolekulen im Energieverlustspektrum von 25 keV-Elektronen,
Z. Phys., 1968, 208, 105. [all data]
Muller, 1927
Muller, L.A.,
4. absorptionsspektren der alkalihalogenide in wasseriger losung und im dampf,
Ann. Phys. (Leipzig), 1927, 82, 39. [all data]
Barrow and Caunt, 1953
Barrow, R.F.; Caunt, A.D.,
The ultra-violet absorption spectra of some gaseous alkali-metal halides and the dissociation energy of fluorine,
Proc. R. Soc. London A, 1953, 219, 120. [all data]
Ritchie and Lew, 1964
Ritchie, R.K.; Lew, H.,
Infrared spectra of NaF and KF,
Can. J. Phys., 1964, 42, 43. [all data]
Baikov and Vasilevskii, 1967
Baikov, V.I.; Vasilevskii, K.P.,
Infrared spectra of sodium, potassium, rubidium, and cesium fluoride vapors,
Opt. Spectrosc. Engl. Transl., 1967, 22, 198, In original 364. [all data]
Bauer and Lew, 1963
Bauer, R.K.; Lew, H.,
Rotational constants and electric dipole moment of NaF,
Can. J. Phys., 1963, 41, 1461. [all data]
Hollowell, Hebert, et al., 1964
Hollowell, C.D.; Hebert, A.J.; Street, K., Jr.,
Radio-frequency and microwave spectra of NaF by the molecular-beam electric-resonance method,
J. Chem. Phys., 1964, 41, 3540. [all data]
Veazey and Gordy, 1965
Veazey, S.E.; Gordy, W.,
Millimeter-wave molecular-beam spectroscopy: alkali fluorides,
Phys. Rev. A: Gen. Phys., 1965, 138, 1303. [all data]
Graff and Werth, 1965
Graff, G.; Werth, G.,
Gleichzeitige Messung von Hyperfeinstruktur, Starkeffekt und Zeemaneffekt des 23Na19F mit einer Molekulstrahl-Resonanzapparatur,
Z. Phys., 1965, 183, 223. [all data]
Zeiger and Bolef, 1952
Zeiger, H.J.; Bolef, D.I.,
Molecular beam magnetic resonance spectra of TlCl35 and TlCl37 at zero field,
Phys. Rev., 1952, 85, 788. [all data]
Logan, Cote, et al., 1952
Logan, R.A.; Cote, R.E.; Kusch, P.,
The sign of the quadrupole interaction energy in diatomic molecules,
Phys. Rev., 1952, 86, 280. [all data]
Cote and Kusch, 1953
Cote, R.E.; Kusch, P.,
Low frequency resonances in the spectra of diatomic molecules,
Phys. Rev., 1953, 90, 103. [all data]
Snelson and Pitzer, 1963
Snelson, A.; Pitzer, K.S.,
Infrared spectra by matrix isolation of lithium fluoride, lithium chloride and sodium fluoride,
J. Phys. Chem., 1963, 67, 882. [all data]
Ham, 1974
Ham, D.O.,
Energy limits in chemiluminescent, atom transfer reactions: bond dissociation energy of NaF,
J. Chem. Phys., 1974, 60, 1802. [all data]
Bulewicz, Phillips, et al., 1961
Bulewicz, E.M.; Phillips, L.F.; Sugden, T.M.,
Determination of dissociation constants and heats of formation of simple molecules by flame photometry. Part 8. Stabilities of the gaseous diatomic halides of certain metals,
Trans. Faraday Soc., 1961, 57, 921. [all data]
Brewer and Brackett, 1961
Brewer, L.; Brackett, E.,
The dissociation energies of gaseous alkali halides,
Chem. Rev., 1961, 61, 425. [all data]
Stull and Prophet, 1971
Stull, D.R.; Prophet, H.,
JANAF Thermochemical Tables. Second Edition, Office of SRD (NSRDS-NBS 37), Washington, D.C., 1971, 0. [all data]
Go To: Top, Gas phase ion energetics data, Constants of diatomic molecules, References
| AE | Appearance energy |
| EA | Electron affinity |
Copyright for NIST Standard Reference Data is governed by the Standard Reference Data Act.
|
Standard Reference Data Program |
Data Gateway |
Chemistry WebBook |
If you have comments or questions about this site, please contact us.


Yuval Noah Harari
Harper, 2011
Before present
Neanderthals: 500’000 evolve in Europe and Middle East, 30’000 extinction
Homo sapiens: 200’000, East Aftica
Agricultural Revolution: 12’000
Next to the well known homo neanderthalensis, Homo erectus etc., there was another human species called “Homo floresiensis”, who lived on the small island of Flores in Indonesia. These people were trapped on an island that had little resources. Because small people needed less food than bigger ones, the species became dwarves, reached a maximum height of one metre and weighted maximum 25 kilograms! (Say whatt!!)
They made stone tools and were able to hunt the islands elephant species, who were also dwarves (I now want a dwarf elephant)
Bones were found of severely handicapped lived for many years, which concludes that the Neanderthals cared for their handicapped and disabled kin. They were about as developed as homo sapiens. However, the population of Neanderthals slowly decreased over time and the homo sapiens increased hugely. Why? Several theories are possible, none of them absolutely plausible.
Replacement Theory
Due to better equipment, probably more violence and better adaptability, homo sapiens replace
Interbreeding Theory
When Sapiens spread into Neanderthal land, they bred until the populations merged. Proof: DNA analyses of modern populations in the Middle East and Europe shows that 1-4% of the DNA is Neanderthal.
Denisova (South Asia, same time as Neanderthals) DNA was found to be 6% of the DNA of modern Melanesians and Aboriginal Australians.
Side note: Melansesia: Oceania, Part of Eastern Indonesia (Moluccas), New Guinea, Solomona Islands, Vanuatu, Fijji, New Caledonia. Blonde hair evolved independently in Melanesia (outside of Europe, blonde hair is rare), and are one of a few groups of non-Caucasian people who have blonde hair, and is due to another gene than Caucasians.
 As did the Megafauna in America
Agriculture Revolution: Biggest fraud in history
Not as believed, that famers had an easier and more relaxed life than their forager ancestors.
Hunter gatherer worked approx. 35 - 45 hrs. per week. Less people, less diseases, low child mortality (had around one kid every 3-4 years).
Sapiens were meant to walk distances, climb apple trees, run after gazelles etc. but not to work on fields the whole day, clearing rocks and carrying water buckets. The big population in one place was a breeding ground for infectious diseases, high child mortality: one child per year, but they couldn’t feed it. more wars: in simple agricultural society, without social/ political rules, chance of death by another human was unto 25%. worse diet; farmers relied on only one or a few crops, were more prone to ill nutrition and devastated when a fire or drought would hit (Fragile!). Foragers on the other hand lived from different sources of food and therefore had a varied meal plan as well as (Not or even Anti-Fragile!).
Population overflowed, bc there were more people, more work had to be done. They couldn’t go back because the agricultural revolution spanned over generations, and then they didn't that they once even were foragers, and even if, they wouldn’t know how to go back and the demand that many people had could just not be sustained through a hunter and gatherer life. Home now meant an enclosed spaced instead of wild fields, grasslands, mountains and river streams.
“We didn't domesticate wheat. It domesticated us”: wheat now covers 2.5 million sq km of land! Speaking of an evolutionary winner!
Domestication of animals
Agricultural revolution: Probably the most cruel turn in history, both for human and non-human animals.
Illusion
Belief system, sapiens could imagine stuff. According to Mr. Harari, the most important change that lead to the power and dominace of homo sapiens.
Political and social institutions etc. are just collective imaginations, even human rights or fortune 500 companies.
Imagination
Can be manifested, that makes it sometimes so hard to dismiss. Ex. individuality: a child living in a house with separate rooms, who is able to create and decorate his/ her own room as he/ she pleases and can look his/ her door and his parents only enter when he/ she allows them to. grows up to believe in individuality, he defines his worth and not the people around him.
Objective: Not an myth.
Ex. radioactivity. exists even without people believing it. Marie Curie did not believe that it would kill her, nevertheless she died from the aftereffects of overexposure to radioactive material.
Subjective
Stuff that one person believes in, for example an imagined friend
Inner-Subjective
Stuff that more people believe in and lives although one or more people die or loose the belief. Ex. money, law, gods, nations.
What do I believe in? What are my illusion? Which ones do I want to let go? Which ones to keep on?
Equality? Somewhat, yes. As long as it does not have an influence on my comfortable lifestyle.
Individuality? Yes. My worth is not defined by anyone. However, peoples’ opinion and action have a important influence on me. If people like me and talk to me etc., I do feel worth more.
Freedom? Yup, as long as it’s illusory. On a molecular level, I do not have free choice. I’m not a fatalist, just a determinist.
Romance? Yes, although declining. I do not think I need a husband and house and two kids in order to feel fulfilled. However I notice how people around me get married and have kids, I feel obligated to do so as well, as I could be missing out otherwise. I know my parents want for me to find a man and have kids.
Let go: nations. duh.
Let go: job and security.
Let go: possession. Roam and wander more
Let go: social proof. I don’t need to do big shiny things in order to succeed. Success for me is to roam and wander and learn and do things.
Memory overload lead to the invention of script. Partial scripts first that were used for bureaucracy like remembering how many barrels of wheat was produced in a year. The most difficult part about this was not the writing itself, but the archiving and retrieving. These partial scripts were later developed and used for other things like poetry, history, prophecies, recipes (ex. Sumerian system or hieroglyphs around 300BC, China 1200BC and Central America 1000- 500BC).
People reason hierarchies. The hindu caste system is this way bc the eternal cosmic is this way. natural differences in races, black are inferior in intelligence and morality. Slaves have a ‘slavish nature’ and free people have a ‘free nature’.
Nowadays: natural difference btw rich and poor. however, most rich people are born into rich families and poor people into poor families. !!!
Vicious cycle: hierarchies were imagined. Most effective way to single out a group: Tell people they are a source of pollution. Humans learned to identify and stay away from sick people and dead bodies.
When slavery was abolished, blacks and whites did not have the same chances. Blacks were not hired for white-collar jobs because they were seen as unintelligent, and the proof of their unintelligence was that there were no blacks in white-collar jobs. Therefore the ‘vicious cycle’: a chance historical situation is translated into a raid social system.
Mother nature makes it possible that men enjoy sex with each other - some cultures forbid that. Culture tries to argue that it forbids only what is unnatural. From a biological perspective, nothing is unnatural. A truly unnatural behavior, one that goes against the laws of nature, simply cannot exist. (And therefore does not need prohibition). No culture has ever forbid men to photosynthesise. The concepts of natural and unnatural are taken from Christian theology.
He and She
In most societies, throughout history, there was another very persistent hierarchy: patriarchy.
Biological: sex vs. cultural: gender. In society, a man is not a sapiens with biological qualities such as XY chromosomes, high testosterone and testicles, but the myths assigned to him, such as engaging in politics, voting, military duties. So goes for the woman, who’s not just a sapiens with XX chromosomes, high oestrogen and a womb, but also someone with duties like child care, obedient to males and not able to pursue an education.
Reasons? Plenty of theories, all not convincing
Muscle power? Submission bc of physical inferiority? No, some women are stronger than men, and there’s no sign in history that stronger humans had more power. (Ex. elder folks have power over adolescents). Plus, women were held from less physical demanding jobs (ex. priest) in order to pursue more physically demanding jobs like working on fields. Lastly, ‘boxing matches were not used to select Egyptian pharaohs or Catholic popes’. Although that would have been funny.
Army of men. Warfare mostly by men, but that does not necessary mean that the ones that enjoy the fruits of wars were men, the opposite was true. High rankers in the military usually were born into it, and did not work their way up there, usually they thought little of the plebeians fighting for their affluence.
Patriarchy of Genes. Evolution of women submitting to men due to the dependence on men for survival of themselves and their children? No, bc many other species that evolved to be dependent on others resulted in matriarchal societies, like elephants or bonobos: females spend time together and bond and help each other while males fight more often; if a male acts out, females come together to beat him up. We don’t know why in a species who relies on cooperation for success, the ones that are less cooperative (men) control individuals who are more cooperative (women).
Money money it’s all about the money.
Money is trust. It provided the basis for trade amongst strangers living in far away cities, enabled occupation specialisation and let Rome collect tax in Syria. Also only in our collective imagination.
First money had intrinsic value, for example barley. Later on, humans trusted money more and used more sustainable, smaller representatives without any intrinsic value. At first, it was a measured amount of things, like grams of silver. Later, coins were made with engraving stating how much it was worth (ex. containing 5 grams of gold), who authorised it and that it was punishable through that authorisation to try to counterfeit it. People trusted in this money when they trusted in the authorisation, such as a king and believed other people trusted in them as well. Funny enough, money broke through religious and societal barriers, so that Christians traded with Muslims in Roman money.
Dark side of money: when everything is convertible, it can crack traditions, relationships, families and human values. Honour, loyalty, morality and love lie outside of the domain of the market, yet people try to buy and sell them for money. It replaces these values with the cold laws of supply and demand.
Money builds universal trust in strangers, but the trust lies in money itself, not in humans. We do not trust the stranger, we trust the money they hold. If the money is gone, so is our trust.
Empires
Unified people, with language and religion. Han empire in East Asia - Chinese Mandarin (?), Now America speaks one of four imperial European languages: French, English, Spanish or Portuguese. Arab Empire; ex. Egypt, Zulu Empire in South Africa.
British empire: biggest one in history.
Most imperial elites thought they were helping for all empires inhabitants. Also they usually thought their empire must conquer the whole world and their ‘wisdom’ spread to every inhabitant, even if by force.
Science
Europe: explore and conquer
Asia for example: Zhan He had the bigger fleet and bigger boats and they discovered almost every beach strip among Afroasia, however the asian did not want to expand their empire but to shield it from outsiders. Therefore the chinese wall.
Ottoman Empire: Turkish Empire
(From John Greene: History Crashcourse Nr.19)
Osman founded it. They did not use the classic king-by-birth way, they kidnapped Christian boys and learned them their ideologies and then made them rule over parts of the empire.
Look up: Ivan the horrible, Moscov, Tsar of Russia
….
Nowadays
Culturism
We don’t say “It’s in their blood”, but “It’s in their culture”
Adam Smith “The wealth of nations” Changed the way people viewed rich people. Before if you were wealthy, you must’ve gotten more on behalf of someone else.  Smith basically said if you make more profit, you make the pie bigger for everybody. If I’m poor, you’ll be poor but if I’m rich, I can buy stuff from you and you’ll get rich as well. Free market economy
Violence
Decline of violence is mostly due to the rise of the state. Throughout history, most violent deaths resulted from fights between families and communities. Until today, local crime is still deadlier than international wars. Numbers: 2002: 57 million people died, 172’000 people died in a war, 569’000 through violence. 873’000 suicide. (CH: vgl. Vorlesung zu forensischer Psychiatrie bei Marc Graf;, Wahrnehmung sehr verzerrt: durchschnittlich ca. 50 Morde pro Jahr (https://www.bfs.admin.ch/bfs/de/home/statistiken/kriminalitaet-strafrecht.assetdetail.4262004.html) , bis zu 1000 Suizide.
2015: 67’606 Menschen Tod, 1’071 Suizid, Herzkreislauf: 21’593, Krebs: 17’261.
Quelle: https://www.bfs.admin.ch/bfs/de/home.assetdetail.3742835.html, 1. April 2018)
Back to medieval Europe: 20- 40 people were murdered for every 100’000 people every year. Global average now: 9 murders per every 100’000 people every year.
Central Europe: 1 murder per 100’000 people per year.
Waorani, Arawete or Yanomamo: indigenous people in the Amazonian forrest.
The collapse of the European empires lead to a significant decrease in international violence. Most empires retreated in peace, giving up their colonies to their independence. In 1945, Britain ruled a quarter of the earth. Since then it retreated peacefully and gave up most of its power.
Real peace is the implausibility of war (not just the absence of war)
Price of war soared, the gains decreased (no more colonisation and exploitation of lets say gold in Cali). Peace is worth more now: Trading!
Plus: our leaders are peace loving now, and see, unlike histories elites (Say Hun chieftains or Aztec priests…) war as something negative.
We are in the formation of a world empire, and it enforces world peace very effective.
Hariri mentions animal rights at least three times (My heart jumps every time)! First, why the agricultural revolution wasn’t as awesome as we might think; because other animals suffered a lot under the change. And then secondly (if I recall correctly), why it’s horrible for non-human animals to have been part of the industrial revolution, being used like machines and ignoring their ability to suffer.
Humans couldn’t accomplish all the material wealth without laboratory monkeys, diary cows and conveyor belt chicken. He says we should not only look at human happiness (non-human animals ftw!).
Happiness
Now this genius turns out to be an utilitarian knowing about prospect theory! Can he get any more perfect than that?
Lottery vs. accident = happiness after two years the same.
Standards and comparison
Chemical happiness - biochemical system wants to make sure that the happiness level remains relatively constant. Comparison air-conditioner
Nietzsche: when there is a why, life is good no matter the how
liberalism: everybody decides for themselves what is good and what is bad
Selfish gene, darwin and dawkins
Happiness is not the only thing worthwhile
Trying to control happiness is like a man standing at the shore trying to control waves. He tries to attract good waves and push away bad waves. As soon as he realises it’s nonsense and sits down to just watch the waves and not judge, he can enjoy the waves.


{% extends 'base.html' %} {% block content %}
{{text_boxs.Header1|safe}}* Weight: {{text_boxs.Weight|safe}} kg * Drive type: {{text_boxs.Propulsion_type|safe}} * Motor Gear Ratio: {{text_boxs.Paddle_conversion|safe}} * Amount of motors on each side: {{text_boxs.Amount_of_propulsion_engines|safe}} |
{{text_boxs.Header2|safe}}
* Averge of balls teleop to Hole: {{text_boxs.Telep_Avg_Of_Balls_Hole|safe}}
* Averge of balls autonmus to Hole: {{text_boxs.Autonomous_Avg_Of_Balls_Hole|safe}}
|
{{text_boxs.Header3|safe}}* {{text_boxs.whenshot_teleop|safe}} * {{text_boxs.whereshot_autonomuous|safe}} * Does the robot have auton: {{text_boxs.have_auton|safe}} * Where the robot can climb: {{text_boxs.where_he_can_climb|safe}} * Can the robot move on the bar: {{text_boxs.can_move_on_bar|safe}} * Can the robot climb with more robots: {{text_boxs.can_climb_with_more_robots|safe}} |
{{text_boxs.Header4|safe}}* Passing under the roulette: {{text_boxs.Move_down_roll|safe}} * Can Do Defense: {{text_boxs.can_do_deffend|safe}} * Robot Auton Route option: {{text_boxs.route_options|safe }} * Robot shooting options: {{text_boxs.where_shoting|safe }} * Shooting location: {{text_boxs.from_were_he_can_shot|safe }} * Dose The Robot Can do Rollet: {{text_boxs.can_make_rollet|safe }} |


Relative kinematic quantities between frame_a and frame_b are determined and provided at the conditional output signal connectors. For example, if parameter "get_r_rel = true", the connector "r_rel" is enabled and contains the relative vector from frame_a to frame_b. The following quantities can be provided as output signals:
Via parameter resolveInFrame it is defined, in which frame a vector is resolved (before differentiation):
| resolveInFrame = Types.ResolveInFrameAB. |
Meaning |
|---|---|
| world | Resolve vectors in world frame |
| frame_a | Resolve vectors in frame_a |
| frame_b | Resolve vectors in frame_b |
| frame_resolve | Resolve vectors in frame_resolve |
If resolveInFrame = Types.ResolveInFrameAB.frame_resolve, the conditional connector "frame_resolve" is enabled and the vectors are resolved in the frame, to which frame_resolve is connected. Note, if this connector is enabled, it must be connected.
In the following figure the animation of a RelativeSensor component is shown. The light blue coordinate system is frame_a, the dark blue coordinate system is frame_b, and the yellow arrow is the animated sensor.
Note, derivatives of relative kinematic quantities are always performed with respect to the frame, in which the vector to be differentiated is resolved. After differentiation, it is possible via parameter resolveInFrameAfterDifferentiation (in the "Advanced" menu) to resolve the differentiated vector in another frame.
For example, if resolveInFrame = Types.ResolveInFrameAB.frame_b, then
r_rel = resolve2(frame_b.R, frame_b.r_0 - frame_a.r0); v_rel = der(r_rel);
is returned (r_rel = resolve2(frame_b.R, frame_b.r_0 - frame_a.r0)), i.e., the derivative of the relative distance from frame_a to frame_b, resolved in frame_b. If resolveInFrameAfterDifferentiation = Types.ResolveInFrameAB.world, then v_rel is additionally transformed to:
v_rel = resolve1(frame_b.R, der(r_rel))
The cut-force and the cut-torque in frame_resolve are always zero, whether frame_resolve is connected or not.
If get_angles = true, the 3 angles to rotate frame_a into frame_b along the axes defined by parameter sequence are returned. For example, if sequence = {3,1,2} then frame_a is rotated around angles[1] along the z-axis, afterwards it is rotated around angles[2] along the x-axis, and finally it is rotated around angles[3] along the y-axis and is then identical to frame_b. The 3 angles are returned in the range
-p <= angles[i] <= p
There are two solutions for "angles[1]" in this range. Via parameter guessAngle1 (default = 0) the returned solution is selected such that |angles[1] - guessAngle1| is minimal. The relative transformation matrix between frame_a and frame_b may be in a singular configuration with respect to "sequence", i.e., there is an infinite number of angle values leading to the same relative transformation matrix. In this case, the returned solution is selected by setting angles[1] = guessAngle1. Then angles[2] and angles[3] can be uniquely determined in the above range.
The parameter sequence has the restriction that only values 1,2,3 can be used and that sequence[1] ≠ sequence[2] and sequence[2] ≠ sequence[3]. Often used values are:
sequence = {1,2,3} // Cardan or Tait-Bryan angle sequence = {3,1,3} // Euler angle sequence = {3,2,1}


Download Pomodoro For Desktop
A time management app.
Windows Installer
Download and install for windows 32 and 64 bits
Windows Installer (v1.0.0)
Mac Installer
Not Available yet
Linux Installer
Not Available yet


| Member ID | Name | Age | Phone | State | Gender | Seeking | Premium | Interests | ||
|---|---|---|---|---|---|---|---|---|---|---|
| {{ @member['member_id'] }} | {{ @member['fname'] }} {{ @member['lname'] }} | {{ @member['age'] }} | ( {{ @member['phone'] }} ) | {{ @member['email'] }} | {{ @member['state'] }} | {{ @member['gender'] }} | {{ @member['seeking'] }} | ☑ | ☐ | {{ @member['interests'] }} |


Options
Save options
Time options
Work Time (Minutes):
Break Time (Minutes):
Blocking
use whitelist:
Add item


Data resources¶
Taxonomy classifiers for use with q2-feature-classifier¶
Danger
Pre-trained classifiers that can be used with q2-feature-classifier
currently present a security risk. If using a pre-trained classifier such as the ones provided here, you should trust the person who trained the classifier and the person who provided you with the qza file. This security risk will be addressed in a future version of q2-feature-classifier
.
Warning
These classifiers were trained using scikit-learn 0.20.2, and therefore can only be used with scikit-learn 0.20.2. If you are using a native installation of QIIME, before using these classifiers you should run the following to ensure that you are using the correct version of scikit-learn. If you are using a QIIME 2019.1 virtual machine, scikit-learn 0.20.2 will be installed and you do not need to run this command. The scikit-learn version restriction will be relaxed in a future version of q2-feature-classifier
.
conda install --override-channels -c defaults scikit-learn=0.20.2
Note
Taxonomic classifiers perform best when they are trained based on your specific sample preparation and sequencing parameters, including the primers that were used for amplification and the length of your sequence reads. Therefore in general you should follow the instructions in Training feature classifiers with q2-feature-classifier to train your own taxonomic classifiers (for example, from the marker gene reference databases below).
Naive Bayes classifiers trained on:
- Silva 132 99% OTUs full-length sequences (MD5:
a4d0da77c39da87ee1affa06b61d1224
) - Silva 132 99% OTUs from 515F/806R region of sequences (MD5:
9f50514214ffb6fee9d2f87a47a51076
) - Greengenes 13_8 99% OTUs full-length sequences (MD5:
581f97e4294cce93102b00ffaf8a1d9a
) - Greengenes 13_8 99% OTUs from 515F/806R region of sequences (MD5:
3afcc86150423263b3a7d983789ad0a3
)
Marker gene reference databases¶
These marker gene reference databases are formatted for use with QIIME 1 and QIIME 2. If you’re using these databases with QIIME 2, you’ll need to import them into artifacts before using them.
Greengenes (16S rRNA)¶
- 13_8 (most recent)
- 13_5
- 12_10
- February 4th, 2011
Find more information about Greengenes in the DeSantis (2006) and McDonald (2012) papers.
Silva (16S/18S rRNA)¶
QIIME-compatible SILVA releases, as well as the licensing information for commercial and non-commercial use, are available at https://www.arb-silva.de/download/archive/qiime.
UNITE (fungal ITS)¶
All releases are available for download at https://unite.ut.ee/repository.php.
Find more information about UNITE at https://unite.ut.ee.
Microbiome bioinformatics benchmarking¶
Many microbiome bioinformatics benchmarking studies use mock communities (artificial communities constructed by pooling isolated microorganisms together in known abundances). For example, see Bokulich et al., (2013) and Caporaso et al., (2011). Public mock community data can be downloaded from mockrobiota, which is described in Bokulich et al., (2016).


immune infection cells cell virus secondary Immunol IL- responses influenza infections pertussis human measles cause Infect primary response Immun cells, cytokine patients viral Dis associated expression function infection. neutrophil Bordetella HIV Leishmania S.Â immunity infection, respiratory bacterial caused microbes receptor susceptibility visceral activation host immunosuppression {border-style IL-, deficiency pneumoniae production B.Â Med dendritic leading px;} #ffffff;} effects major Th-like adaptive induced infected innate protein regulatory toxin clinical different disease increased Thus, inÂ role suppression class effective infections. leishmaniasis microbial severe causing decreased induces multiple HTLV- acute cells. mechanisms molecule proliferation signaling surface Clin Exp However, Virol causes leishmaniasisJÂ malaria neutrophils resistance (Fig.Â Biol Fig.Â HIV-infected MHC airway alters control days develop development donovani factor interleukin- killing likely macrophages mortality rash significant tissue type Immune Immunopathol Microbiol Rev addition, chronic cyclase fatal high important including levels mice million parasites pathogenesis patient polymorphonuclear protection proteins px; temporary virus-induced vitro {font-family Gen Influenza RNA Streptococcus VirolPt Virus antigen binding blood complex count cycle cytokines cytotoxic essential experimental font-size genetic induction inhibits initial involved lead lymphocyte microbes. organisms parasite pneumonia shown signal vaccination viruses weeks â€"Â (T/B/NK Epstein-Barr Human IFN-Î³ Measles Sci T-cell TableÂ ability adenylate altered cellular common continues death deaths double; epithelial expressed immunodeficiency immunologic individual individuals infectionJÂ infections, inhibition known leishmania leukocyte long membrane normal occurs persistent pneumonia, presentation prevent protective required suppress syndrome tract treatment virus, virus-infected ()Lymphocyte Acad CL, EBV Elsevier HLH HTLV IL-) Investig Leukoc Natl Taken adherence antiviral aureus, bacteria balance border-color border-width cases changes chemokines children consequences contribute critical damage decrease defense depletion dysfunction effect effector enhances factors failure functional heterologous immunophenotype) induce infectious inflammatory inhibit kill macrophage marrow mechanism mediated morbidity murine natural new nitric opportunistic pneumococcal produce recruitment reduces regulation related remains responses, result results risk solid; storm time together, ultimately vaccines virus: {font-style {font-weight ()Decreased Bone BoxÂ COVID- HIV- HN, IFN-gamma Infections Leishmaniasis PIDD Parasitol Sepsis Tax Trop activation, active and/or antibodies antibody antigens apoptosis appropriate approximately arrest bactericidal bold cellsJÂ centre chemokine ciliated clearance commonly conditions correlates courier; crucial cutaneous decreasing defined down-regulation em; express expression., fever fever, function, given greatest helper hepatitis histocompatibility however, identified immunosuppressive increase increases interaction intracellular lethal leukemia lipid lung maturation measles. novel outcomes parasitic pathogens period phagocytosis presenting prevents pro-inflammatory promotes properties protect pt;} repertoire research resolution resource responses. resulting secretion select sepsis signs successful suppresses temporarily therapy types underlying uninfected versus zoster â€¢Decreased â€¢Diminished


Saved Charities
Search Charities
Search for your charity
Select Cause
Animals
Culture
Education
Health
Changing of laws
Environment
Human rights
Miscellaneous
Reconciliation, respect, and tolerance
Religion
Social and public welfare
Public security
Indigenous and/or Torres Strait Islanders
Adults
Elderly
Children
Overseas communities
Early Childhood
Ethnic Groups
Families
Females
Financially Disadvantaged
LGBTQIA
Australian Community
Males
Migrants, Refugees and Asylum Seekers
Other Beneficiaries
Other Charities
At Risk of Homelessness
Chronic Illness
People with Disabilities
Pre and Post Release Offenders
Rural and Remote Communities
Unemployed Persons
Veterans
Victims of Crime
Victims of Disasters
Youth
Select State
ACT
NSW
NT
QLD
SA
TAS
VIC
WA
Search
Charity Facts
Facts found on https://www.philanthropy.org.au/tools-resources/fast-facts-and-stats/


To inquire about our event planning services please call or email for the below mentioned details.
For any immediate inquiries please don't hesitate to contact us. We look forward to celebrating with you!
Melissa |<PHONE_NUMBER>
Email: melik@alleventplanning.com


Full name: {{student | fullName}}
Email: {{student.email}}
Specialty: {{student.specialty}}
Course: {{student.currentCourseInUniversity}}


Ask questions or make suggestions about marketing, business development, or anything else relevant. This is the channel to discuss topics with Komodo team.
100 messages
Before 05-Dec-19 12:00 AM
ComputerGenie 👴👴👴08-Oct-19 12:27 PM
personally, I find it extremely disheartening how it went from "everyone" trying to make an example product that would blow people's minds to "how can I get mine?"
Mylo08-Oct-19 12:27 PM
In 6 months, we'll see the fruits of our labour and be able to look back.
ComputerGenie 👴👴👴08-Oct-19 12:27 PM
In 6 months, we'll see the fruits of our labour and be able to look back.
I remember making a similar comment nearly 2 years ago
1
Mylo08-Oct-19 12:28 PM
i'm sure the cycle will come around again
Gordon Komodo08-Oct-19 12:52 PM
in lizard years it's different maybe(edited)
1
mobipoi08-Oct-19 02:26 PM
Not sure your 250 coin community paying a GUI 2000 usd is accurate , you need volume at least , to many exchanges out there already listing @siu - Chainmakers
I agree with attaining volume first, then the rest it easy
It like charging customers to get into a supermarket
Or better yet charging traders and merchants to setup a stall before you have created a footfall of customers , traders would rather pay for a stall at a place with higher volume of people
Cryptoon08-Oct-19 02:57 PM
Get some decent volume for some big name coins and people will be begging to pay only 2000 usd
if you see coins paying 2-3btc easy for some crap exchange where volume dies down after a few weeks/months 2k is peanuts
and you get to claim you are atomic swap capable ;p
siu - Chainmakers08-Oct-19 03:48 PM
the thing about volume in atomic dex is that its shared among GUIs
so i dont have to look for volume for "my exchange" but for the network itself.
2
1
jorian08-Oct-19 05:25 PM
@PTYX didn't you also want to make a GUI for atomicdex?
PTYX08-Oct-19 05:25 PM
We're working on the Chameleon Dex but have a few other contracts that are prioritized. It will likely be available once the dex comes out of beta
jorian08-Oct-19 05:25 PM
great
is it similar to atomicdex?
PTYX08-Oct-19 05:26 PM
Similar yeah, the atomicdex is becoming very polished and there's only a few things I'd change(edited)
It will be integrated into Chameleon Pay
jorian08-Oct-19 05:30 PM
mobile only?
willofleo08-Oct-19 05:31 PM
@siu - Chainmakers listing fee will be a zero sum game then as all GUIs will have to compete to earn their listing fees (or price) , to allow coins to access the liquidity pool which is where the value comes from(edited)
which is good competition is great in a free market albeit first mover will get the listing advantage (first proper GUI , on mm2 I am assuming atomicdex)
which is already playing out atomicdex is asking around 6500 usd and chainmaker is asking 2000 usd (~300% discount)
Cryptoon08-Oct-19 07:39 PM
66% discount
(Sorry I’m a sucker for these kinds of things )
ComputerGenie 👴👴👴08-Oct-19 07:42 PM
forks hyperdex, charges $200 USD per, and adds coins on the 1st & 15th of each month
PTYX08-Oct-19 08:00 PM
@jorian mobile only and possibly a web version for dex only.
Contribute to smk762/pytomicDEX development by creating an account on GitHub.
1
smk762 - dracocanis ominator09-Oct-19 02:14 AM
forks genies fork, charges 99 cents, makes gui so users can add thier own coins.(edited)
4
grewalsatinder09-Oct-19 02:26 AM
forks none. sleeps on the holdings(edited)
Gordon Komodo09-Oct-19 03:15 AM
wild marketing and educating public idea: writing a sci-fi novel about a dystopian future where the society is using KMD techs (even CCs that is not yet made) in their daily life.(edited)
2
1
1
Regnar09-Oct-19 03:31 AM
Yea but that is a TUI, I was going to make mine in Tkinter.
Expanding Jupyter Notebook Stock Portfolio Analyses with Interactive Charting in Dash by Plotly.
Regnar09-Oct-19 03:54 AM
Oh yea I have messed with some of the dash stuff.
Made a really cool candlestick chart with scrolling and highlighting etc. Super nice and easy, though I thought I remembered it opening in a browser window or something.
The thing about adding coins is that you will have to not just work to place some lines of code and test, you will also have a community that will use your app and will require support.
I know there could be better ideas for revenue streams but right now i dont know anything else other than asking for donations or placing a gui fee . At this point in time i dont see any other way to sustain the development. Unless komodo rises in price and NN are enough to sustain it.
At 60 cents, nn earnings are mostly non existant.
polycryptoblog09-Oct-19 11:55 AM
If only there was a multi billion dollar project that was looking to hire us to consult integrate and manage
ComputerGenie 👴👴👴09-Oct-19 11:56 AM
I know there could be better ideas for revenue streams but right now...
imo, literally the problem with the "new" direction... "revenue" is thought one of all things, even over utility
siu - Chainmakers09-Oct-19 11:56 AM
Right ... Heheh i see what you are doing there @polycryptoblog
polycryptoblog09-Oct-19 11:59 AM
ComputerGenie 👴👴👴09-Oct-19 12:00 PM
900 bajillion separate projects all working on the same thing and the total sum is that it's less usable than it was 20 months ago when the community was working as one
just my 2 cents
siu - Chainmakers09-Oct-19 12:01 PM
@ComputerGenie 👴👴👴 i find mm2 and the guis and tuis being built all really useful
I do see a jump in ease of use and performance from old barterdex
polycryptoblog09-Oct-19 12:02 PM
Matching utxos for trades was nightmarish in mm1 for us less technically skilled
ComputerGenie 👴👴👴09-Oct-19 12:03 PM
I'm not saying that having options isn't good
I'm saying that it was better when a body could hear about it, come into slack, and in 5 minutes make a trade
siu - Chainmakers09-Oct-19 12:03 PM
Also, i have a real life business, family, wife and real life responsabilities i need to be sure are well taken care of. At this time in life, i need to be sure that all my time is spent in a sustainable way... By that i mean that while i spend time on one thing, it os becoming fuel to maintain tue other things...
ComputerGenie 👴👴👴09-Oct-19 12:05 PM
maybe it's just nostalgia but I preferred when we were a community and not a "revenue machine"
siu - Chainmakers09-Oct-19 12:06 PM
I think we are still a community
ComputerGenie 👴👴👴09-Oct-19 12:06 PM
Do one thing and do it well; don't do 100 things almost well
siu - Chainmakers09-Oct-19 12:06 PM
But i think it has been evident that you cant go full retard and expect things to just come into place by themselves...
Gordon Komodo09-Oct-19 12:06 PM
I think we are all here to make money one way or another though
Unless you are here to loose money of course
then you are in the right place
ComputerGenie 👴👴👴09-Oct-19 12:08 PM
I think we are all here to make money one way or another though
Of that, there's no doubt
imo, though
then: let's all make some $ over here
now: you make your $ over there and I'll make mine over here
takes his lone PC and remembrances of trustless apps and wanders back to his cave
siu - Chainmakers09-Oct-19 12:10 PM
trustless apps?
tell more about it...
polycryptoblog09-Oct-19 12:11 PM
Lack of open source for the GUI part of Atomicdex
siu - Chainmakers09-Oct-19 12:11 PM
ohh..
well, they need to have something to gain value from
chainswap is open source tho :p
what i do think we should be getting attention and efforts to is to pegged coins
ComputerGenie 👴👴👴09-Oct-19 12:12 PM
chainswap is open source tho :p
let me know when it's also native
siu - Chainmakers09-Oct-19 12:13 PM
those would finally bring a value use case for the komodo coin.
1
what you mean by native @ComputerGenie 👴👴👴
CHMEX09-Oct-19 12:13 PM
not electrum SPV?(edited)
1
ComputerGenie 👴👴👴09-Oct-19 12:14 PM
electrum sucks for more people than you know outside of urban areas
Re: Closed GUI It will be used as a product to raise funding, basically as part of a turnkey solution for CEXs to have their “own” Dex. Some level of copy protection is needed. This is not to mention the cost of the thing was quite expensive and needs recouped
siu - Chainmakers09-Oct-19 12:16 PM
i guess pytomicDEX might be your best bet then.
1
ComputerGenie 👴👴👴09-Oct-19 12:17 PM
closed-source phone app is only an issue if you have a phone
polycryptoblog09-Oct-19 12:21 PM
The 3 facets for Komodo growth I’ve been advocating for in team channels are 1) trade filtering 2) pirate atomic swaps and 3) CC peg . It’s like the fuel injector, drivetrain and transmission to Atomicdex’s engine.
All are being worked on currently
ComputerGenie 👴👴👴09-Oct-19 12:22 PM
fwiw: I represent this viewpoint not as what I, personally, need/want, but as a broad view. Personally I still have all the scripts I wrote for mm1 and can easily adapt them for mm2
siu - Chainmakers09-Oct-19 12:24 PM
well, do that. I think your argument proves the need of different GUIs, interfaces and approaches.(edited)
you dont like chainswap because it uses electrum... fair enough.
ComputerGenie 👴👴👴09-Oct-19 12:25 PM
goes in search of a GUI prettyfier
polycryptoblog09-Oct-19 12:27 PM
@ComputerGenie 👴👴👴 got you fam
ComputerGenie 👴👴👴09-Oct-19 12:27 PM
you dont like chainswap because it uses electrum... fair enough.
it's not that I don't like it
the way internet is here I, literally, cannot use electrum with utility because of the low up speed and I have better than a lot of folks in the world
@polycryptoblog needs cocoa butter
siu - Chainmakers09-Oct-19 12:30 PM
it just comes to the bottom line of it being a thing of taste.
There is people who wont use atomicdex if its not in light mode
others prefer to have it running natively
soon there will be nspv atomicdex
ComputerGenie 👴👴👴09-Oct-19 12:31 PM
fwiw: if I could use electrum I likely would more often than not
* for my trade wallets anyway
siu - Chainmakers09-Oct-19 12:42 PM
Maybe you can call your isp and get a better offer
I recently called mine for unrelated reasons and told me i had a old package and i could upgrade from 20mb to 50mb for $5 extra on the monthly bill
I took it and now have much better connection
ComputerGenie 👴👴👴09-Oct-19 12:44 PM
it's line capacity
lives in a town of 600 people in a county of 13k in a state of 3 million :P


Introducing Top Programming Lab
We develop many kinds of things with lots of programming languages such as Python, C#, C++, Javascript, HTML and more.
We need images to make develop program. So, our great design team designs sprite.
We help people out tech related things in lots of online community such as Discord.


On the 18-th of September is Open doors day. Everyone would have the opportunity to watch how is proceed a single rehearsal at the school.
From the 1-st of October will start a new group for Adults Ballet. And a new group for point shoes.
To celebrate the fifth anniversary of the Ballet School is planned a Concert in Kurhaus Oberstaufen in November 2019.
Since 2017 until now performes at the Summer Festival in Oberstaufen. In Januar 2019 was a concert in the city of Wangen.
On the 28.07.2016 and 26.07.2015 the school brought on stage of Kurhaus Oberstaufen an independent show production ‘’Machen es mit Spass’’.
Since the Spring of 2016 and till now took part of the Festivals in Oberstaifen marking the end of the winter – fasching.
The first performance was on the 26-th of December, 2014 and until now every year charitable concert for elderly people in the retirement home in Oberstaufen


Toggle navigation
Blend
Feed
Borrow
Lend
Activity
Profile
Logout
{{#success}}
Item Successfully Uploaded!
Other users can now request to borrow the item.
{{/success}}
Lend An Item
Item name
Price
Lending Period
Hour
1 Day
1 Week
1 Month
Select Condition
New
Used:Like New
Used:Very Good
Used:Good
Used:Acceptable
Price


Your issue has been successfully posted. You will recieve email alerts as it gets resolved. You can track the status of your issue request online at {{currentUrl}}.
For your convenience, your issue requests automatically appear on the Issue Status tab
Sorry, we could not find any issues with the tracking code {{code}}.


This drawing database is a repository for drawings, documentation, maps and manuals. Commissioned by the Red Stag Projects and Maintenance teams.


{{- partial "head/ga" . -}} {{- partial "head/meta-seo" . -}} {{- partial "head/preload-css" (dict "href" "/css/tidb-planet.css") -}}
If a PR (Pull Request) submitted to TiDB is approved and merged, then you become a TiDB contributor.


| RUN | Shows information on consumption of cluster resources through COMMIT statements |
| RUN | Shows longest running copy for past 7 days |
| RUN | Query showing information about sessions with currently running queries |
| RUN | Return filter applied to tables on scans. To aid on choosing sortkey |
| RUN | Query shows EXPLAIN plans which flagged "missing statistics" on the underlying tables |
| RUN | Return top occurrences of alerts, join with table scans |
| RUN | Return Table storage information (size, skew, etc) |
| RUN | Table Analysis based on content in Analyzing Table Design. Complements table_info.sql |
| RUN | Return the top 50 most time consuming statements in the last 7 days |
| RUN | Summarizes storage consumed by unscanned tables |


If you see this you very likely already closed the slider.
If the slider did not open automatically something is broken.


--- title: About layout: default permalink: /about/ --- {% include breadcrumbs.html %}
This is a simple, static data portal primarily meant for internal Brigade data sharing and storage.
Anyone added to Open Savannah's GitHub organization should be able to automatically log in as an administrator by selecting `Log in` from the top right. Only members of the Open Savannah GitHub org have administrative privileges, but, upon request, we will be happy to add you to the GitHub organization so that you can upload new datasets. Simply email<EMAIL_ADDRESS>with the subject line "REQUEST TO JOIN OPEN SAVANNAH GITHUB ORG" and your GitHub username in the body of the email.


| Application Section | Started editing | Ready for submission |
|---|---|---|
| First Applicant | yes no | |
| Second Applicant | yes no | |
| Household Information | yes no | |
| Real Estate Property | yes no | |
|
Financing |
yes no |
| Application Section | Started editing | Ready for submission |
|---|---|---|
| First Applicant | yes no | |
| Second Applicant | yes no | |
| Household Information | yes no | |
| Real Estate Property | yes no | |
|
Financing |
yes no |