Welcome.
This is my personal website! Due to lack of time, this site is still in contruction. Enjoy.
|
Lucas
Fermo
|
Profile
Key Skills
Work
Education
Contact
Recent Economics graduate with workplace experience in data analysis and inventory management.
Excels at using programming knowledge to facilitate tasks. Former chess tutor at the elementary and
high school level. Sitting CFA level 2 in June 2018.
Summary
Languages
Programming
Data Analysis Sales Funnel Diagnostics Website Development Automation Excel Programming Regression Analysis
English
French(Spoken)
Python
VBA SQL
HTML
JavaSCript R
Click the GitHub logo to view my porfolio
Current
2017
2016
2015
Bell Mobility
Direct Sales, Lucky Mobile
Use Python and Tableau to clean and visualize data for KPI dashboards
Raise caller conversion rate by finding and eliminating problem areas in IVR Automate majority of shipping processes through VBA and Python Create detailed reports for team leader for use in high-level ops meetings
Burnac Limited
Data Administrator
Manage bills of sale for Canada's largest produce wholsaler
Built a VBA application to expedite bill input into ERP system by more than 100% Repath Industries
Cost Analyst
Maintain and update databases and perform analysis
Translate large data sets into visual summary data Work with management to find cost overruns
MargaritaVille Niagara Falls
Inventory Manager
Sign off on food and drink delivery
Verify receiving order regarding quality Account for perishable stock Passed CFA Level 1 Exam in December 2017
Brock University 2013-2017
Bachelor in Economics (Honours)
President of the Brock Young Investors Society
Toronto, Ontario
(416)-577-9932<EMAIL_ADDRESS>|


I am in
Stage 0
Not quarantined; currently living, commuting from home
I am in
Stage 1
Living in quarantine, asymptomatic and working
I am in
Stage 2
Symptomatic, with testing pending
I am in
Stage 3
Positive COVID-19 test; not working
I am in
Stage 4
Post-tour of duty quarantine; awaiting re-entry into home


A federal judge agreed Wednesday to a two-month delay to the date by which President Donald Trump's former personal attorney, Michael Cohen, must report to prison.
WASHINGTON—Michael Cohen, a former lawyer for President Trump, has agreed to testify publicly before the House Oversight Committee on Feb. 27, in what is expected to be an explosive hearing focused on his decade of working for the president.
A federal judge agreed Wednesday to a two-month delay to the date by which President Donald Trump's former personal attorney, Michael Cohen, must report to prison.
Who do you want to believe? President Donald Trump, who has told more than 8,000 lies since becoming president, or his ex-attorney, the recently disbarred Michael Cohen, who has confessed to lying to Congress and is prison-bound for those fibs, as well as other charges, who now calls his former boss a “conman”?
President Trump late Sunday tweeted that the call to have his former attorney Michael Cohen testify Wednesday in front of the House Oversight Committee may have contributed to the "walk" that resulted from his second nuclear summit with North Korean leader Kim Jong Un.
President Donald Trump's former lawyer has made a series of allegations about his former boss. Politically embarrassing, yes. But how much legal jeopardy? Jonathan Turley, professor of constitutional law at George Washington University, gives his view.
Democrats have promised to go after the president. Steve Inskeep talks to Republican strategist Scott Jennings about how testimony by Trump's former attorney Michael Cohen might impact the president.
There are several parallels between my testimony before Congress in 1973, about President Richard Nixon and his White House, and Michael Cohen’s testimony this week about President Trump and his business practices.


{% include meta.html %}
{{ site.name }}
{{ site.description }}
Blog
About
{{ content }}
{% include analytics.html %}


Licenses
The following 3rd party libraries, APIs, and data sources are used:
TMDb
This product uses the TMDb API but is not endorsed or certified by TMDb.
JayWay JSONPath
Android-ExpandableTextView
Fresco
Android based YouTube url extractor
Android About Page
Movie Camera icon designed by Monkik from Flaticon
Circled Play icon designed by Smashicons from Flaticon


|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ThreadMXBean
The management interface for the thread system of the Java virtual machine.
A Java virtual machine has a single instance of the implementation
class of this interface. This instance implementing this interface is
an MXBean
that can be obtained by calling
the ManagementFactory.getThreadMXBean()
method or
from the platform MBeanServer
method.
The ObjectName for uniquely identifying the MXBean for the thread system within an MBeanServer is:
java.lang:type=Threading
Thread.getId()
method for a thread.
The thread ID is unique during its lifetime. When a thread
is terminated, this thread ID may be reused.
Some methods in this interface take a thread ID or an array of thread IDs as the input parameter and return per-thread information.
The isThreadCpuTimeSupported()
method can be used to determine
if a Java virtual machine supports measuring of the CPU time for any
thread. The isCurrentThreadCpuTimeSupported()
method can
be used to determine if a Java virtual machine supports measuring of
the CPU time for the current thread.
A Java virtual machine implementation that supports CPU time measurement
for any thread will also support that for the current thread.
The CPU time provided by this interface has nanosecond precision but not necessarily nanosecond accuracy.
A Java virtual machine may disable CPU time measurement
by default.
The isThreadCpuTimeEnabled()
and setThreadCpuTimeEnabled(boolean)
methods can be used to test if CPU time measurement is enabled
and to enable/disable this support respectively.
Enabling thread CPU measurement could be expensive in some
Java virtual machine implementations.
isThreadContentionMonitoringSupported()
method can be used to
determine if a Java virtual machine supports thread contention monitoring.
The thread contention monitoring is disabled by default. The
setThreadContentionMonitoringEnabled(boolean)
method can be used to enable
thread contention monitoring.
| Method Summary | |
|---|---|
long[] |
findMonitorDeadlockedThreads()
Finds cycles of threads that are in deadlock waiting to acquire object monitors. |
long[] |
getAllThreadIds()
Returns all live thread IDs. |
long |
getCurrentThreadCpuTime()
Returns the total CPU time for the current thread in nanoseconds. |
long |
getCurrentThreadUserTime()
Returns the CPU time that the current thread has executed in user mode in nanoseconds. |
int |
getDaemonThreadCount()
Returns the current number of live daemon threads. |
int |
getPeakThreadCount()
Returns the peak live thread count since the Java virtual machine started or peak was reset. |
int |
getThreadCount()
Returns the current number of live threads including both daemon and non-daemon threads. |
long |
getThreadCpuTime(long id)
Returns the total CPU time for a thread of the specified ID in nanoseconds. |
ThreadInfo |
getThreadInfo(long id)
Returns the thread info for a thread of the specified id with no stack trace. |
ThreadInfo[] |
getThreadInfo(long[] ids)
Returns the thread info for each thread whose ID is in the input array ids with no stack trace. |
ThreadInfo[] |
getThreadInfo(long[] ids,
int maxDepth)
Returns the thread info for each thread whose ID is in the input array ids. |
ThreadInfo |
getThreadInfo(long id,
int maxDepth)
Returns a thread info for a thread of the specified id. |
long |
getThreadUserTime(long id)
Returns the CPU time that a thread of the specified ID has executed in user mode in nanoseconds. |
long |
getTotalStartedThreadCount()
Returns the total number of threads created and also started since the Java virtual machine started. |
boolean |
isCurrentThreadCpuTimeSupported()
Tests if the Java virtual machine supports CPU time measurement for the current thread. |
boolean |
isThreadContentionMonitoringEnabled()
Tests if thread contention monitoring is enabled. |
boolean |
isThreadContentionMonitoringSupported()
Tests if the Java virtual machine supports thread contention monitoring. |
boolean |
isThreadCpuTimeEnabled()
Tests if thread CPU time measurement is enabled. |
boolean |
isThreadCpuTimeSupported()
Tests if the Java virtual machine implementation supports CPU time measurement for any thread. |
void |
resetPeakThreadCount()
Resets the peak thread count to the current number of live threads. |
void |
setThreadContentionMonitoringEnabled(boolean enable)
Enables or disables thread contention monitoring. |
void |
setThreadCpuTimeEnabled(boolean enable)
Enables or disables thread CPU time measurement. |
| Method Detail |
|---|
int getThreadCount()
int getPeakThreadCount()
long getTotalStartedThreadCount()
int getDaemonThreadCount()
long[] getAllThreadIds()
SecurityException
- if a security manager
exists and the caller does not have
ManagementPermission("monitor").ThreadInfo getThreadInfo(long id)
getThreadInfo(id, 0);
This method returns a ThreadInfo object representing the thread information for the thread of the specified ID. The stack trace in the returned ThreadInfo object will be an empty array of StackTraceElement. If a thread of the given ID is not alive or does not exist, this method will return null. A thread is alive if it has been started and has not yet died.
MBeanServer access:
The mapped type of ThreadInfo is
CompositeData with attributes as specified in
ThreadInfo
.
id
- the thread ID of the thread. Must be positive.
ThreadInfo
object for the thread of the given ID
with no stack trace;
null if the thread of the given ID is not alive or
it does not exist.
IllegalArgumentException
- if id <= 0.
SecurityException
- if a security manager
exists and the caller does not have
ManagementPermission("monitor").ThreadInfo[] getThreadInfo(long[] ids)
getThreadInfo
(ids, 0);
This method returns an array of the ThreadInfo objects. The stack trace in each ThreadInfo object will be an empty array of StackTraceElement. If a thread of a given ID is not alive or does not exist, the corresponding element in the returned array will contain null. A thread is alive if it has been started and has not yet died.
MBeanServer access:
The mapped type of ThreadInfo is
CompositeData with attributes as specified in
ThreadInfo
.
ids
- an array of thread IDs
ThreadInfo
objects, each containing
information about a thread whose ID is in the corresponding
element of the input array of IDs.
IllegalArgumentException
- if any element in the input array
ids is <= 0.
SecurityException
- if a security manager
exists and the caller does not have
ManagementPermission("monitor").ThreadInfo getThreadInfo(long id, int maxDepth)
When the Java virtual machine has no stack trace information about a thread or maxDepth == 0, the stack trace in the ThreadInfo object will be an empty array of StackTraceElement.
If a thread of the given ID is not alive or does not exist, this method will return null. A thread is alive if it has been started and has not yet died.
MBeanServer access:
The mapped type of ThreadInfo is
CompositeData with attributes as specified in
ThreadInfo
.
id
- the thread ID of the thread. Must be positive.maxDepth
- the maximum number of entries in the stack trace
to be dumped. Integer.MAX_VALUE could be used to request
the entire stack to be dumped.
ThreadInfo
of the thread of the given ID.
null if the thread of the given ID is not alive or
it does not exist.
IllegalArgumentException
- if id <= 0.
IllegalArgumentException
- if maxDepth is negative.
SecurityException
- if a security manager
exists and the caller does not have
ManagementPermission("monitor").ThreadInfo[] getThreadInfo(long[] ids, int maxDepth)
When the Java virtual machine has no stack trace information about a thread or maxDepth == 0, the stack trace in the ThreadInfo object will be an empty array of StackTraceElement.
This method returns an array of the ThreadInfo objects, each is the thread information about the thread with the same index as in the ids array. If a thread of the given ID is not alive or does not exist, null will be set in the corresponding element in the returned array. A thread is alive if it has been started and has not yet died.
MBeanServer access:
The mapped type of ThreadInfo is
CompositeData with attributes as specified in
ThreadInfo
.
ids
- an array of thread IDsmaxDepth
- the maximum number of entries in the stack trace
to be dumped. Integer.MAX_VALUE could be used to request
the entire stack to be dumped.
ThreadInfo
objects, each containing
information about a thread whose ID is in the corresponding
element of the input array of IDs.
IllegalArgumentException
- if maxDepth is negative.
IllegalArgumentException
- if any element in the input array
ids is <= 0.
SecurityException
- if a security manager
exists and the caller does not have
ManagementPermission("monitor").boolean isThreadContentionMonitoringSupported()
boolean isThreadContentionMonitoringEnabled()
UnsupportedOperationException
- if the Java virtual
machine does not support thread contention monitoring.isThreadContentionMonitoringSupported()
void setThreadContentionMonitoringEnabled(boolean enable)
enable
- true to enable;
false to disable.
UnsupportedOperationException
- if the Java
virtual machine does not support thread contention monitoring.
SecurityException
- if a security manager
exists and the caller does not have
ManagementPermission("control").isThreadContentionMonitoringSupported()
long getCurrentThreadCpuTime()
This is a convenient method for local management use and is equivalent to calling:
getThreadCpuTime
(Thread.currentThread().getId());
UnsupportedOperationException
- if the Java
virtual machine does not support CPU time measurement for
the current thread.getCurrentThreadUserTime()
,
isCurrentThreadCpuTimeSupported()
,
isThreadCpuTimeEnabled()
,
setThreadCpuTimeEnabled(boolean)
long getCurrentThreadUserTime()
This is a convenient method for local management use and is equivalent to calling:
getThreadUserTime
(Thread.currentThread().getId());
UnsupportedOperationException
- if the Java
virtual machine does not support CPU time measurement for
the current thread.getCurrentThreadCpuTime()
,
isCurrentThreadCpuTimeSupported()
,
isThreadCpuTimeEnabled()
,
setThreadCpuTimeEnabled(boolean)
long getThreadCpuTime(long id)
If the thread of the specified ID is not alive or does not exist, this method returns -1. If CPU time measurement is disabled, this method returns -1. A thread is alive if it has been started and has not yet died.
If CPU time measurement is enabled after the thread has started, the Java virtual machine implementation may choose any time up to and including the time that the capability is enabled as the point where CPU time measurement starts.
id
- the thread ID of a thread
IllegalArgumentException
- if id <= 0 .
UnsupportedOperationException
- if the Java
virtual machine does not support CPU time measurement for
other threads.getThreadUserTime(long)
,
isThreadCpuTimeSupported()
,
isThreadCpuTimeEnabled()
,
setThreadCpuTimeEnabled(boolean)
long getThreadUserTime(long id)
If the thread of the specified ID is not alive or does not exist, this method returns -1. If CPU time measurement is disabled, this method returns -1. A thread is alive if it has been started and has not yet died.
If CPU time measurement is enabled after the thread has started, the Java virtual machine implementation may choose any time up to and including the time that the capability is enabled as the point where CPU time measurement starts.
id
- the thread ID of a thread
IllegalArgumentException
- if id <= 0 .
UnsupportedOperationException
- if the Java
virtual machine does not support CPU time measurement for
other threads.getThreadCpuTime(long)
,
isThreadCpuTimeSupported()
,
isThreadCpuTimeEnabled()
,
setThreadCpuTimeEnabled(boolean)
boolean isThreadCpuTimeSupported()
boolean isCurrentThreadCpuTimeSupported()
isThreadCpuTimeSupported()
returns true.
boolean isThreadCpuTimeEnabled()
UnsupportedOperationException
- if the Java virtual
machine does not support CPU time measurement for other threads
nor for the current thread.isThreadCpuTimeSupported()
,
isCurrentThreadCpuTimeSupported()
void setThreadCpuTimeEnabled(boolean enable)
enable
- true to enable;
false to disable.
UnsupportedOperationException
- if the Java
virtual machine does not support CPU time measurement for
any threads nor for the current thread.
SecurityException
- if a security manager
exists and the caller does not have
ManagementPermission("control").isThreadCpuTimeSupported()
,
isCurrentThreadCpuTimeSupported()
long[] findMonitorDeadlockedThreads()
Object.wait
call,
where each thread owns one monitor while
trying to obtain another monitor already held by another thread
in a cycle.
More formally, a thread is monitor deadlocked if it is part of a cycle in the relation "is waiting for an object monitor owned by". In the simplest case, thread A is blocked waiting for a monitor owned by thread B, and thread B is blocked waiting for a monitor owned by thread A.
This method is designed for troubleshooting use, but not for synchronization control. It might be an expensive operation.
SecurityException
- if a security manager
exists and the caller does not have
ManagementPermission("monitor").void resetPeakThreadCount()
SecurityException
- if a security manager
exists and the caller does not have
ManagementPermission("control").getPeakThreadCount()
,
getThreadCount()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.


Toggle navigation
SPARQL
Wikimedia Toolforge
×
For interactive query editing, a localized user interface, and other improvements, please enable JavaScript or use a browser that supports it.
Test result
Loading...


--- layout: post title: Boat date: '2015-10-04T18:30:40+02:00' categories: - Klare Lijn — Ligne Claire - Ello Mobile picture_url: https://film-Storyboards.tumblr.com/post/130510817769 ---


Diagnostic
Checks whether device hardware features are enabled or available to the app, e.g. camera, GPS, wifi
Repo: https://github.com/dpa99c/cordova-diagnostic-plugin
Installation
- Install the Cordova and Ionic Native plugins:
$ ionic cordova plugin add cordova.plugins.diagnostic $ npm install --save @ionic-native/diagnostic
- Add this plugin to your app's module
Supported platforms
- Android
- iOS
- Windows
Usage
import { Diagnostic } from '@ionic-native/diagnostic';
constructor(private diagnostic: Diagnostic) { }
...
let successCallback = (isAvailable) => { console.log('Is available? ' + isAvailable); };
let errorCallback = (e) => console.error(e);
this.diagnostic.isCameraAvailable().then(successCallback).catch(errorCallback);
this.diagnostic.isBluetoothAvailable().then(successCallback, errorCallback);
this.diagnostic.getBluetoothState()
.then((state) => {
if (state == this.diagnostic.bluetoothState.POWERED_ON){
// do something
} else {
// do something else
}
}).catch(e => console.error(e));
Instance Members
permission
permissionStatus
locationAuthorizationMode
permissionGroups
locationMode
bluetoothState
NFCState
isLocationAvailable()
Checks if app is able to access device location.
Returns: Promise<any>
isWifiAvailable()
Checks if Wifi is connected/enabled. On iOS this returns true if the device is connected to a network by WiFi. On Android and Windows 10 Mobile this returns true if the WiFi setting is set to enabled.
On Android this requires permission. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Returns: Promise<any>
isCameraAvailable(externalStorage)
Checks if the device has a camera. On Android this returns true if the device has a camera. On iOS this returns true if both the device has a camera AND the application is authorized to use it. On Windows 10 Mobile this returns true if both the device has a rear-facing camera AND the application is authorized to use it.
| Param | Type | Details |
|---|---|---|
| externalStorage |
boolean
|
Android only: If true, checks permission for READ_EXTERNAL_STORAGE in addition to CAMERA run-time permission. [email protected]+ requires both of these permissions. Defaults to true.Optional |
Returns: Promise<any>
isBluetoothAvailable()
Checks if the device has Bluetooth capabilities and if so that Bluetooth is switched on (same on Android, iOS and Windows 10 Mobile)
On Android this requires permission
Returns: Promise<any>
switchToLocationSettings()
Platforms:Android Windows 10
Displays the device location settings to allow user to enable location services/change location mode.
switchToMobileDataSettings()
Platforms:Android Windows 10
Displays mobile settings to allow user to enable mobile data.
switchToBluetoothSettings()
Platforms:Android Windows 10
Displays Bluetooth settings to allow user to enable Bluetooth.
switchToWifiSettings()
Platforms:Android Windows 10
Displays WiFi settings to allow user to enable WiFi.
isWifiEnabled()
Platforms:Android Windows 10
Returns true if the WiFi setting is set to enabled, and is the same as isWifiAvailable()
Returns: Promise<boolean>
setWifiState(state)
Platforms:Android Windows 10
Enables/disables WiFi on the device.
Requires ACCESS_WIFI_STATE
and CHANGE_WIFI_STATE
permissions on Android
| Param | Type | Details |
|---|---|---|
| state |
boolean
|
Returns: Promise<any>
setBluetoothState(state)
Platforms:Android Windows 10
Enables/disables Bluetooth on the device.
Requires BLUETOOTH
and BLUETOOTH_ADMIN
permissions on Android
| Param | Type | Details |
|---|---|---|
| state |
boolean
|
Returns: Promise<any>
isLocationEnabled()
Platforms:Android iOS
Returns true if the device setting for location is on. On Android this returns true if Location Mode is switched on. On iOS this returns true if Location Services is switched on.
Returns: Promise<boolean>
isLocationAuthorized()
Checks if the application is authorized to use location. Note for Android: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
Returns: Promise<any>
getLocationAuthorizationStatus()
Platforms:Android iOS
Returns the location authorization status for the application.
Returns: Promise<any>
requestLocationAuthorization(mode)
Platforms:Android iOS
Returns the location authorization status for the application. Note for Android: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
| Param | Type | Details |
|---|---|---|
| mode |
string
|
iOS only: location authorization mode: "always" or "when_in_use". If not specified, defaults to "when_in_use".Optional |
Returns: Promise<any>
isCameraPresent()
Platforms:Android iOS
Checks if camera hardware is present on device.
Returns: Promise<any>
isCameraAuthorized(externalStorage)
Platforms:Android iOS
Checks if the application is authorized to use the camera. Note for Android: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return TRUE as permissions are already granted at installation time.
| Param | Type | Details |
|---|---|---|
| externalStorage |
boolean
|
Android only: If true, checks permission for READ_EXTERNAL_STORAGE in addition to CAMERA run-time permission. [email protected]+ requires both of these permissions. Defaults to true.Optional |
Returns: Promise<any>
getCameraAuthorizationStatus(externalStorage)
Platforms:Android iOS
Returns the camera authorization status for the application.
| Param | Type | Details |
|---|---|---|
| externalStorage |
boolean
|
Android only: If true, checks permission for READ_EXTERNAL_STORAGE in addition to CAMERA run-time permission. [email protected]+ requires both of these permissions. Defaults to true.Optional |
Returns: Promise<any>
requestCameraAuthorization(externalStorage)
Platforms:Android iOS
Requests camera authorization for the application.
| Param | Type | Details |
|---|---|---|
| externalStorage |
boolean
|
Android only: If true, requests permission for READ_EXTERNAL_STORAGE in addition to CAMERA run-time permission. [email protected]+ requires both of these permissions. Defaults to true.Optional |
Returns: Promise<any>
isMicrophoneAuthorized()
Platforms:Android iOS
Checks if the application is authorized to use the microphone.
Returns: Promise<boolean>
getMicrophoneAuthorizationStatus()
Platforms:Android iOS
Returns the microphone authorization status for the application.
Returns: Promise<any>
requestMicrophoneAuthorization()
Platforms:Android iOS
Requests microphone authorization for the application.
Returns: Promise<any>
isContactsAuthorized()
Platforms:Android iOS
Checks if the application is authorized to use contacts (address book).
Returns: Promise<boolean>
getContactsAuthorizationStatus()
Platforms:Android iOS
Returns the contacts authorization status for the application.
Returns: Promise<any>
requestContactsAuthorization()
Platforms:Android iOS
Requests contacts authorization for the application.
Returns: Promise<any>
isCalendarAuthorized()
Platforms:Android iOS
Checks if the application is authorized to use the calendar.
Notes for Android:
- This is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return TRUE as permissions are already granted at installation time.
Notes for iOS:
- This relates to Calendar Events (not Calendar Reminders)
Returns: Promise<boolean>
getCalendarAuthorizationStatus()
Platforms:Android iOS
Returns the calendar authorization status for the application.
Notes for Android:
- This is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return
GRANTED
status as permissions are already granted at installation time.
Notes for iOS:
- This relates to Calendar Events (not Calendar Reminders)
Returns: Promise<any>
requestCalendarAuthorization()
Platforms:Android iOS
Requests calendar authorization for the application.
Notes for iOS:
- Should only be called if authorization status is NOT_DETERMINED. Calling it when in any other state will have no effect and just return the current authorization status.
- This relates to Calendar Events (not Calendar Reminders)
Notes for Android:
- This is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will have no effect as the permissions are already granted at installation time.
- This requests permission for
READ_CALENDAR
run-time permission - Required permissions must be added to
AndroidManifest.xml
as appropriate - see Android permissions:READ_CALENDAR
,WRITE_CALENDAR
Returns: Promise<any>
switchToSettings()
Platforms:Android iOS
Opens settings page for this app. On Android, this opens the “App Info” page in the Settings app. On iOS, this opens the app settings page in the Settings app. This works only on iOS 8+ - iOS 7 and below will invoke the errorCallback.
Returns: Promise<any>
getBluetoothState()
Platforms:Android iOS
Returns the state of Bluetooth on the device.
Returns: Promise<any>
registerBluetoothStateChangeHandler(handler)
Platforms:Android iOS
Registers a function to be called when a change in Bluetooth state occurs.
| Param | Type | Details |
|---|---|---|
| handler |
registerLocationStateChangeHandler(handler)
Platforms:Android iOS
Registers a function to be called when a change in Location state occurs.
| Param | Type | Details |
|---|---|---|
| handler |
isGpsLocationAvailable()
Platforms:Android
Checks if high-accuracy locations are available to the app from GPS hardware. Returns true if Location mode is enabled and is set to “Device only” or “High accuracy” AND if the app is authorised to use location.
Returns: Promise<boolean>
isGpsLocationEnabled()
Platforms:Android
Checks if location mode is set to return high-accuracy locations from GPS hardware. Returns true if Location mode is enabled and is set to either:
- Device only = GPS hardware only (high accuracy)
- High accuracy = GPS hardware, network triangulation and Wifi network IDs (high and low accuracy)
Returns: Promise<any>
isNetworkLocationAvailable()
Platforms:Android
Checks if low-accuracy locations are available to the app from network triangulation/WiFi access points. Returns true if Location mode is enabled and is set to “Battery saving” or “High accuracy” AND if the app is authorised to use location.
Returns: Promise<any>
isNetworkLocationEnabled()
Platforms:Android
Checks if location mode is set to return low-accuracy locations from network triangulation/WiFi access points. Returns true if Location mode is enabled and is set to either:
- Battery saving = network triangulation and Wifi network IDs (low accuracy)
- High accuracy = GPS hardware, network triangulation and Wifi network IDs (high and low accuracy)
Returns: Promise<any>
getLocationMode()
Platforms:Android
Returns the current location mode setting for the device.
Returns: Promise<any>
getPermissionAuthorizationStatus(permission)
Platforms:Android
Returns the current authorisation status for a given permission. Note: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
| Param | Type | Details |
|---|---|---|
| permission |
Returns: Promise<any>
getPermissionsAuthorizationStatus(permissions)
Platforms:Android
Returns the current authorisation status for multiple permissions. Note: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
| Param | Type | Details |
|---|---|---|
| permissions |
Returns: Promise<any>
requestRuntimePermission(permission)
Platforms:Android
Requests app to be granted authorisation for a runtime permission. Note: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will have no effect as the permissions are already granted at installation time.
| Param | Type | Details |
|---|---|---|
| permission |
Returns: Promise<any>
requestRuntimePermissions(permissions)
Platforms:Android
Requests app to be granted authorisation for multiple runtime permissions. Note: this is intended for Android 6 / API 23 and above. Calling on Android 5 / API 22 and below will always return GRANTED status as permissions are already granted at installation time.
| Param | Type | Details |
|---|---|---|
| permissions |
Returns: Promise<any>
isRequestingPermission()
Indicates if the plugin is currently requesting a runtime permission via the native API. Note that only one request can be made concurrently because the native API cannot handle concurrent requests, so the plugin will invoke the error callback if attempting to make more than one simultaneous request. Multiple permission requests should be grouped into a single call since the native API is setup to handle batch requests of multiple permission groups.
Returns: boolean
registerPermissionRequestCompleteHandler(handler)
Registers a function to be called when a runtime permission request has completed. Pass in a falsey value to de-register the currently registered function.
| Param | Type | Details |
|---|---|---|
| handler |
Function
|
isBluetoothEnabled()
Platforms:Android
Checks if the device setting for Bluetooth is switched on.
This requires BLUETOOTH
permission on Android
Returns: Promise<boolean>
hasBluetoothSupport()
Platforms:Android
Checks if the device has Bluetooth capabilities.
Returns: Promise<boolean>
hasBluetoothLESupport()
Platforms:Android
Checks if the device has Bluetooth Low Energy (LE) capabilities.
Returns: Promise<boolean>
hasBluetoothLEPeripheralSupport()
Platforms:Android
Checks if the device supports Bluetooth Low Energy (LE) Peripheral mode.
Returns: Promise<boolean>
isExternalStorageAuthorized()
Platforms:Android
Checks if the application is authorized to use external storage.
Returns: Promise<boolean>
getExternalStorageAuthorizationStatus()
Platforms:Android
CReturns the external storage authorization status for the application.
Returns: Promise<boolean>
requestExternalStorageAuthorization()
Platforms:Android
Requests external storage authorization for the application.
Returns: Promise<any>
getExternalSdCardDetails()
Platforms:Android
Returns details of external SD card(s): absolute path, is writable, free space.
The intention of this method is to return the location and details of removable external SD cards. This differs from the “external directories” returned by cordova-plugin-file which return mount points relating to non-removable (internal) storage.
Learn more about this method here
Returns: Promise<any>
switchToWirelessSettings()
Platforms:Android
Switches to the wireless settings page in the Settings app. Allows configuration of wireless controls such as Wi-Fi, Bluetooth and Mobile networks.
switchToNFCSettings()
Platforms:Android
Displays NFC settings to allow user to enable NFC.
isNFCPresent()
Platforms:Android
Checks if NFC hardware is present on device.
Returns: Promise<boolean>
isNFCEnabled()
Platforms:Android
Checks if the device setting for NFC is switched on. Note: this operation does not require NFC permission in the manifest.
Returns: Promise<boolean>
isNFCAvailable()
Platforms:Android
Checks if NFC is available to the app. Returns true if the device has NFC capabilities AND if NFC setting is switched on. Note: this operation does not require NFC permission in the manifest.
Returns: Promise<any>
registerNFCStateChangeHandler(hander)
Platforms:Android
Registers a function to be called when a change in NFC state occurs. Pass in a falsey value to de-register the currently registered function.
| Param | Type | Details |
|---|---|---|
| hander |
Function
|
callback function to be called when NFC state changes |
Returns: Promise<any>
isCameraRollAuthorized()
Platforms:iOS
Checks if the application is authorized to use the Camera Roll in Photos app.
Returns: Promise<boolean>
getCameraRollAuthorizationStatus()
Platforms:iOS
Returns the authorization status for the application to use the Camera Roll in Photos app.
Returns: Promise<string>
requestCameraRollAuthorization()
Platforms:iOS
Requests camera roll authorization for the application. Should only be called if authorization status is NOT_REQUESTED. Calling it when in any other state will have no effect.
Returns: Promise<any>
isRemoteNotificationsEnabled()
Platforms:iOS
Checks if remote (push) notifications are enabled.
Returns: Promise<boolean>
isRegisteredForRemoteNotifications()
Platforms:iOS
Indicates if the app is registered for remote (push) notifications on the device.
Returns: Promise<boolean>
getRemoteNotificationTypes()
Platforms:iOS
Indicates the current setting of notification types for the app in the Settings app. Note: on iOS 8+, if “Allow Notifications” switch is OFF, all types will be returned as disabled.
Returns: Promise<any>
isRemindersAuthorized()
Platforms:iOS
Checks if the application is authorized to use reminders.
Returns: Promise<boolean>
getRemindersAuthorizationStatus()
Platforms:iOS
Returns the reminders authorization status for the application.
Returns: Promise<any>
requestRemindersAuthorization()
Platforms:iOS
Requests reminders authorization for the application.
Returns: Promise<any>
isBackgroundRefreshAuthorized()
Platforms:iOS
Checks if the application is authorized for background refresh.
Returns: Promise<boolean>
getBackgroundRefreshStatus()
Platforms:iOS
Returns the background refresh authorization status for the application.
Returns: Promise<any>
requestBluetoothAuthorization()
Platforms:iOS
Requests Bluetooth authorization for the application.
Learn more about this method here
Returns: Promise<any>
isMotionAvailable()
Platforms:iOS
Checks if motion tracking is available on the current device.
Returns: Promise<boolean>
isMotionRequestOutcomeAvailable()
Platforms:iOS
Checks if it’s possible to determine the outcome of a motion authorization request on the current device. There’s no direct way to determine if authorization was granted or denied, so the Pedometer API must be used to indirectly determine this: therefore, if the device supports motion tracking but not Pedometer Event Tracking, the outcome of requesting motion detection cannot be determined.
Returns: Promise<boolean>
requestAndCheckMotionAuthorization()
Platforms:iOS
Requests and checks motion authorization for the application: there is no way to independently request only or check only, so both must be done in one operation.
Learn more about this method here
Returns: Promise<any>


The audio for this story is currently not available.
Inna wahn vilij slaant wie pan Mount Kenya inna Iist Afrika, wa likl gyal pikni did wok inna di fiil wid ar mada. Shi did niem Wangaari.
In a village on the slopes of Mount Kenya in East Africa, a little girl worked in the fields with her mother. Her name was Wangari.
@inna wã @vilij @slaant wɪɛ @pan @mount @kenya @inna @iist afɹika wa likl̩ ɟal pikni @did wok @inna di fiːl wid aɹ mada @shi @did nɪɛm @wangaari
Wangaari lov fi de outaduo. Inna ar fambili fuud gyaadn shi dig op di dort wid di kotlas. Shi plaant biini siid inna di waam dort.
Wangari loved being outside. In her family’s food garden she broke up the soil with her machete.  Wen it get tuu daak fi si di flowaz dem, Wangaari nuo se a taim fi go a ar yaad. Shi wuda tek di likl trak dem chuu di fiil dem, an a kraas som riva pan ar wie.
Her favourite time of day was just after sunset. When it got too dark to see the plants, Wangari knew it was time to go home.
 Bot ar mada an faada did waahn ar fi stie uom an elp dem a di yaad. Wen shi ton sevn iez-uol, ar big breda kanvins ar pierens dem fi mek shi go skuul.
Wangari was a clever child and couldn’t wait to go to school. But her mother and father wanted her to stay and help them at home.
When she was seven years old, her big brother persuaded her parents to let her go to school.
@wangaari a @did wan @smaat pikni an kudn̩ wɪɛt fi @go a skuːl bot aɹ mada an faːda @did @waan aɹ fi stɪɛ uɔm an elp dem a di jaːd @wen @shi ton @sevn @iez-uol aɹ @big @bredda @kanvins aɹ @pierens dem fi mek @shi @go skuːl
Shi did laik lorn! Wangaari lorn muor an mour wid evri buk shi riid. Shi du so gud inna skuul so dat dem aks ar fi kom a skuul kom stodi inna Merika. Wangaari di wel api! Shi did waahn nuo muor bout di wol.
She liked to learn! Wangari learnt more and more with every book she read. She did so well at school that she was invited to study in the United States of America.
Wangari was excited!  Shi stodi bout plaant an ou dem gruo. An shi did memba ou shi did gruo op a plie giem wid ar breda dem and di kuul shied inna di Kenyan faris dem.
At the American university Wangari learnt many new things. She studied plants and how they grow. And she remembered how she grew: playing games with her brothers in the shade of the trees in the beautiful Kenyan forests.
a di @yuunivosrti @inna @merika @wangaari loɹn huɔliːp a ɲuː tiŋz @shi stodi bɔut plaːnt an ɔu dem gɹuɔ an @shi @did memba ɔu @shi @did gɹuɔ op a plɪɛ @giem wid aɹ @bredda dem @and di kuːl @shied @inna di @kenyan @faris dem
Di muor shi lorn, di muor shi riyalaiz se shi lov di Kenya piipl dem. Shi di waahn dem fi bi api an frii. Di muor shi lorn, di muor shi memba ar yaad inna Afrika.
The more she learnt, the more she realised that she loved the people of Kenya. She wanted them to be happy and free.
The more she learnt, the more she remembered her African home.
di muɔɹ @shi loɹn di muɔɹ @shi @riyalaiz se @shi @lov di @kenya piːpl̩ dem @shi di @waahn dem fi @bi api an @frii di muɔɹ @shi loɹn @shi muɔɹ si memba aɹ jaːd @inna afɹika
Wen shi don ar stodiz, shi go bak a Kenya. Bot ar konchri did chienj op. Som eleva faam schrech out kraas di lan. Di uman dem no av no ud fi mek faiya fi kuk pan. Di piipl dem did puor an di pikni dem did onggri.
When she had finished her studies, she returned to Kenya. But her country had changed. Huge farms stretched across the land. Women had no wood to make cooking fires. The people were poor and the children were hungry.
@wen @shi @don aɹ @stodiz @shi @go @bak a @kenya bot aɹ kontʃɹi @did tʃɪɛndʒ op som @eleva faːm @schrech @out @kraas di lan di uman dem @no @av @no ud fi mek faɪja fi kuk @pan di piːpl̩ dem di @puor an di pikni dem @did @onggri
Wangaari did nuo we fi du. Shi did tiich di uman dem ou fi plaant chrii fram siid. Di uman dem sel di chrii dem an yuuz di moni fi luk afta dem fambili dem. Di uman dem did api. Wangaari did elp dem fi fiil powaful an schrang.
Wangari knew what to do. She taught the women how to plant trees from seeds. The women sold the trees and used the money to look after their families. The women were very happy.  Nyuuz bout we Wangaari se spred kraas Afrika. Tide, miliyan a chrii gruo fram Wangaari siid dem.
As time passed, the new trees grew into forests, and the rivers started flowing again. Wangari’s message spread across Africa. Today, millions of trees have grown from Wangari’s seeds.
@az di taɪm @go baɪ di ɲuː tʃɹiː dem ton @inna wã @faris an di @riva dem staːt ɹon agen ɲuːz bɔut @we @wangaari se @spred @kraas afɹika tide milijan a tʃɹiː gɹuɔ @fram @wangaari @siid dem
Wangaari did wok aad. Piipl aal uova di wol tek nuotis a ar, an gi ar wahn fiemos praiz. Dem kaal it di Nuobl Piis Praiz, an shi a did di fos uman fram Afrika fi eva get it.
Wangari had worked hard. People all over the world took notice, and gave her a famous prize. It is called the Nobel Peace Prize, and she was the first African woman ever to receive it.
@wangaari @did wok aːd piːpl̩ aːl @uova di @worl tek @nuotis a aɹ an @gi aɹ wã fɪɛmos @praiz dem kaːl it di @nuobl piːs @praiz an @shi a @did di fos uman @fram afɹika fi @eva @get it
Wangaari ded inna 2011, bot wi kyan tingk bout ar evritaim wi si wahn priti chrii.
Wangari died in 2011, but we can think of her every time we see a beautiful tree.
@wangaari ded @inna @2011 bot wi @kyan tiŋk bɔut aɹ @evritaim wi si wan @priti tʃɹiː


A place to share knowlege and learn! Fancy contributing a workshop? Then checkout GitHub and make a PR adding your workshop in markdown or contact Layla for help!


We recommend using our tool to build a custom bundle that contains only the components you need. The builder generates a custom JavaScript file, as well as full and structure-only stylesheets for production use.
ZIP file
If you want to host the files yourself you can download a zip of all the files:
jQuery CDN provided by StackPath
JavaScript:
CSS:
Copy-and-Paste snippet for jQuery CDN hosted files:
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script src="https://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
Google CDN
Microsoft CDN
ZIP file
If you want to host the files yourself you can download a zip of all the files:
jQuery CDN
JavaScript:
CSS:
Copy-and-Paste snippet for jQuery CDN hosted files:
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="https://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
Microsoft CDN
ZIP file
If you want to host the files yourself you can download a zip of all the files:
jQuery CDN
JavaScript:
CSS:
Copy-and-Paste snippet for jQuery CDN hosted files:
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.css" />
<script src="https://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="https://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.js"></script>
Microsoft CDN
ZIP file
If you want to host the files yourself you can download a zip of all the files:
jQuery CDN
JavaScript:
CSS:
Copy-and-Paste snippet for jQuery CDN hosted files:
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.1.2/jquery.mobile-1.1.2.min.css" />
<script src="https://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="https://code.jquery.com/mobile/1.1.2/jquery.mobile-1.1.2.min.js"></script>
Microsoft CDN
ZIP file
If you want to host the files yourself you can download a zip of all the files:
jQuery CDN
JavaScript:
CSS:
Copy-and-Paste snippet for jQuery CDN hosted files:
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
<script src="https://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="https://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
Microsoft CDN
Links to zip files of all releases.
Work in progress build, for testing.


Public input needed for Waterloo cannabis shop
You have until November 21 to have your say on a proposed retail cannabis shop in Waterloo
by Mark PareThe first of three proposed cannabis shops in Waterloo Region has reached the next steps to becoming reality.
The public input phase is open for the location at 32 King Street South in Waterloo, with submissions to be accepted until November 21 at midnight.
This was the licensee that originally wanted to open in downtown Kitchener, but switched to the Waterloo location last month.
According to the AGCO website, the Waterloo location would be called "Bud and Sally Cannabis Co."
Once the public input period is over, the storefront would need an inspection by the AGCO before an opening date could be approved.
The other two proposed stores in the region --- at 589 Fairway Road South in Kitchener and 75 Pinebush Road in Cambridge --- are still waiting to get to the next stage.
CLICK HERE for the submission form on the AGCO website, and put "2208292" on the Applicant section for this storefront.


{% raw %}
A device used by a patient during a functional status assessment.
An point in time bundle of functional status observations for a patient.
A device used by a Patient during a functional status assessment.
An exchange of functional status data for a patient.
A completed, or sections of a completed, CMS PAC assessment.


Oh hai there... Filling your hard disk with lots of cats...
Works in Chrome, Safari (iOS and desktop), Opera and IE. Firefox is immune to this hackery.
Read about how this works. Hacked by Feross.
Source code is available. Happy hacking!


Hi,
I recently realised that the national voltage phase angle is presumably the same everywhere in the country. Is it possible to scrape this from the internet (or someone else's OEM project!) to turn a "current only" project into something that can do real power calcs (obviously with a non-dynamic voltage which could be set with a multimeter?)
Anyone got any experience with this or would the timing/syncronisation be too much of a headache?
Cheers
Re: National voltage phase information
What is "the national voltage phase angle"? And what is "a non-dynamic voltage"? I've never worked in power distribution but those are terms that I've never heard, even having spent all my working life as an electrical engineer.
Are you trying to say that everyone everywhere (a) knows which phase they are on (if a single phase supply) or which phase is No.1, and what about how many star-delta transformers the supply has been through?
Then how are you going to know the timing to within a few milliseconds and synchronise your current measurements to that?
It is far easier to look at the voltage locally.
Re: National voltage phase information
I always thought http://www.nationalgrid.com/ngrealtime/realtime/systemdata.aspx provided real-time data, but just noticed the date/time displayed... I'll check with National Grid.
Paul
Re: National voltage phase information
Paul - that is frequency, not phase. Even if you know the phase with respect to clock time at one defined instant, as frequency drifts, the phase changes too.
If you run MartinR's PLL, you can watch the frequency changing as the system load varies and sets are put on and taken off to meet the demand. And if you plot 'your' frequency and compare it with the published one (http://www2.nationalgrid.com/uk/Industry-information/electricity-transmi...), you can calibrate your crystal (then change the software divider to read the frequency accurately).
Re: National voltage phase information
Sorry - I was using made up terms and hoping that they were close enough that people would know what I was talking about. I DON'T have a background in electrical engineering so please forgive me!
It was my understanding that with systems that have current and voltage readings you look at the phase-difference between current and voltage in order to calculate the real power (when they're totally in phase real power=apparent power). Maybe I've got this wrong?
I was also under the impression that the national grid frequency is the same across the country (otherwise different regions would drift apart). The "national voltage phase angle" is my attempt at refering to this national voltage frequency. Although you are implying that what phase one is on and what transformers it's been through means it's impossible even in theory to do it - let alone the timing hurdles!
By non-dynamic voltage I mean one would have to hard code a value for voltage magnitude (say 230V although it could be actually measured with a multimeter to take account local wiring losses?)
I know it's easier to do it locally - I was just looking to see if it was possible to get a crude setup for real power with just a current clamp.
Thanks for your comments
Re: National voltage phase information
"I was just looking to see if it was possible to get a crude setup for real power with just a current clamp."
NO!


Icons visually add continuity, branding, and flow to otherwise homogeneous data. The contrast added to the UI can help make important data stand out. However, adding too many icons increases visual turbulence and will decrease the icons' value.
Icons specifically designed for IAS products can be found here: https://microfocus.github.io/ias-icons.


Pressure is a JavaScript library for handling Force Touch, 3D Touch, and Pointer Pressure on the web, bundled under one library with a simple API that makes working with them painless.
Click the Circles Above to Test Pressure
Your device does not support force touch or 3d touch so Pressure.js has fallen back to the polyfill.
Features
All Devices
Devices implement force differently from one another. Pressure has a simple to use API that works across all devices.
Support Testing
It can be hard to know if a user is using a force sensitive device. With Pressure, you can determine supported and upsupported devices.
Multitouch Support
Pressure will handle multiple fingers on the screen pushing with different amounts of force on different elements simultaneously.
Polyfill
Don't have a force sensitive device? Not a problem, use the polyfill to use time as a replacement for force.
Device Support
Future devices and browsers that support pressure will be added when they are released.
Microsoft Surface, Wacom Tablets (Device that supports pointer events)
Note: This page is using the "polyfill" option on most of the Pressure elements to give support for browsers that do not support Force or 3D touch. The "polyfill" option is enabled by default but can be useful in lots of situations where time is an ok replacement for force. For Example: The Instagram app uses 3D touch to allow users to quick look images, however if you do not have 3D touch support, you can simply hold down on the image for a second and it will have the same effect.
1. Pressure Change
The best part about Pressure is that is uses a single API that works on both Force Touch and 3D Touch. (note: Apple currently only has support for desktop and mobile safari, but luckily with pressure you can test for that)
Targets All
0
Targets ONLY Force Touch (mouse)
0
Targets ONLY 3D Touch (touch)
0
Targets ONLY Pointer Events (pointer)
0
2. Unblur Photo
The harder you press on the image the less blurry it will become.
3. Text Size
The harder you press on the text, the bigger it gets. Then when you let go it sticks at that size till the next time you press. This could be useful for accessibility on online articles or blogs
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
4. Rotating Square
The harder you press on the button, the farther the image will spin. Try pressing with variable amounts of pressure.
5. "Deep" or Force Press
Press hard on the button, a "Deep" or Force press will occur and launch a bootstrap popover.
If you are not using one of the devices / browsers listed above, here is a gif to show it in action.


# Glob
Match files using the patterns the shell uses, like stars and stuff.
This is a glob implementation in JavaScript. It uses the minimatch library to do its matching.
## Attention: node-glob users!
The API has changed dramatically between 2.x and 3.x. This library is now 100% JavaScript, and the integer flags have been replaced with an options object.
Also, there’s an event emitter class, proper tests, and all the other things you’ve come to expect from node modules.
And best of all, no compilation!
## Usage
```javascript var glob = require(“glob”)
// options is optional glob(“**/*.js”, options, function (er, files) {
})¶
## Features
Please see the [minimatch documentation](https://github.com/isaacs/minimatch) for more details.
Supports these glob features:
- Brace Expansion
- Extended glob matching
- “Globstar” ** matching
See:
- man sh
- man bash
- man 3 fnmatch
- man 5 gitignore
- [minimatch documentation](https://github.com/isaacs/minimatch)
## glob(pattern, [options], cb)
- pattern {String} Pattern to be matched
- options {Object}
- cb {Function} * err {Error | null} * matches {Array<String>} filenames found matching the pattern
Perform an asynchronous glob search.
## glob.sync(pattern, [options])
- pattern {String} Pattern to be matched
- options {Object}
- return: {Array<String>} filenames found matching the pattern
Perform a synchronous glob search.
## Class: glob.Glob
Create a Glob object by instanting the glob.Glob class.
`javascript
var Glob = require("glob").Glob
var mg = new Glob(pattern, options, cb)
`
It’s an EventEmitter, and starts walking the filesystem to find matches immediately.
### new glob.Glob(pattern, [options], [cb])
- pattern {String} pattern to search for
- options {Object}
- cb {Function} Called when an error occurs, or matches are found * err {Error | null} * matches {Array<String>} filenames found matching the pattern
Note that if the sync flag is set in the options, then matches will be immediately available on the g.found member.
### Properties
minimatch The minimatch object that the glob uses.
options The options object passed in.
error The error encountered. When an error is encountered, the glob object is in an undefined state, and should be discarded.
aborted Boolean which is set to true when calling abort(). There is no way at this time to continue a glob search after aborting, but you can re-use the statCache to avoid having to duplicate syscalls.
statCache Collection of all the stat results the glob search performed.
cache Convenience object. Each field has the following possible values: * false - Path does not exist * true - Path exists * 1 - Path exists, and is not a directory * 2 - Path exists, and is a directory * [file, entries, ...] - Path exists, is a directory, and the
array value is the results of fs.readdir
### Events
- end When the matching is finished, this is emitted with all the matches found. If the nonull option is set, and no match was found, then the matches list contains the original pattern. The matches are sorted, unless the nosort flag is set.
- match Every time a match is found, this is emitted with the matched.
- error Emitted when an unexpected error is encountered, or whenever any fs error occurs if options.strict is set.
- abort When abort() is called, this event is raised.
### Methods
- abort Stop the search.
### Options
All the options that can be passed to Minimatch can also be passed to Glob to change pattern matching behavior. Also, some have been added, or have glob-specific ramifications.
All options are false by default, unless otherwise noted.
All options are added to the glob object, as well.
- cwd The current working directory in which to search. Defaults to process.cwd().
- root The place where patterns starting with / will be mounted onto. Defaults to path.resolve(options.cwd, “/”) (/ on Unix systems, and `C:` or some such on Windows.)
- dot Include .dot files in normal matches and globstar matches. Note that an explicit dot in a portion of the pattern will always match dot files.
- nomount By default, a pattern starting with a forward-slash will be “mounted” onto the root setting, so that a valid filesystem path is returned. Set this flag to disable that behavior.
- mark Add a / character to directory matches. Note that this requires additional stat calls.
- nosort Don’t sort the results.
- stat Set to true to stat all results. This reduces performance somewhat, and is completely unnecessary, unless readdir is presumed to be an untrustworthy indicator of file existence. It will cause ELOOP to be triggered one level sooner in the case of cyclical symbolic links.
- silent When an unusual error is encountered when attempting to read a directory, a warning will be printed to stderr. Set the silent option to true to suppress these warnings.
- strict When an unusual error is encountered when attempting to read a directory, the process will just continue on in search of other matches. Set the strict option to raise an error in these cases.
- cache See cache property above. Pass in a previously generated cache object to save some fs calls.
- statCache A cache of results of filesystem information, to prevent unnecessary stat calls. While it should not normally be necessary to set this, you may pass the statCache from one glob() call to the options object of another, if you know that the filesystem will not change between calls. (See “Race Conditions” below.)
- sync Perform a synchronous glob search.
- nounique In some cases, brace-expanded patterns can result in the same file showing up multiple times in the result set. By default, this implementation prevents duplicates in the result set. Set this flag to disable that behavior.
- nonull Set to never return an empty set, instead returning a set containing the pattern itself. This is the default in glob(3).
- nocase Perform a case-insensitive match. Note that case-insensitive filesystems will sometimes result in glob returning results that are case-insensitively matched anyway, since readdir and stat will not raise an error.
- debug Set to enable debug logging in minimatch and glob.
- globDebug Set to enable debug logging in glob, but not minimatch.
## Comparisons to other fnmatch/glob implementations
While strict compliance with the existing standards is a worthwhile goal, some discrepancies exist between node-glob and other implementations, and are intentional.
If the pattern starts with a ! character, then it is negated. Set the nonegate flag to suppress this behavior, and treat leading ! characters normally. This is perhaps relevant if you wish to start the pattern with a negative extglob pattern like !(a|B). Multiple ! characters at the start of a pattern will negate the pattern multiple times.
If a pattern starts with #, then it is treated as a comment, and will not match anything. Use # to match a literal # at the start of a line, or set the nocomment flag to suppress this behavior.
The double-star character ** is supported by default, unless the noglobstar flag is set. This is supported in the manner of bsdglob and bash 4.1, where ** only has special significance if it is the only thing in a path part. That is, a/**/b will match a/x/y/b, but a/**b will not.
If an escaped pattern has no matches, and the nonull flag is set, then glob returns the pattern as-provided, rather than interpreting the character escapes. For example, glob.match([], “\*a\?”) will return “\*a\?” rather than “*a?”. This is akin to setting the nullglob option in bash, except that it does not resolve escaped pattern characters.
If brace expansion is not disabled, then it is performed before any other interpretation of the glob pattern. Thus, a pattern like +(a|{b),c)}, which would not be valid in bash or zsh, is expanded first into the set of +(a|b) and +(a|c), and those patterns are checked for validity. Since those two are valid, matching proceeds.
## Windows
Please only use forward-slashes in glob expressions.
Though windows uses either / or ` as its path separator, only `/ characters are used by this glob implementation. You must use forward-slashes only in glob expressions. Back-slashes will always be interpreted as escape characters, not path separators.
Results from absolute patterns such as /foo/* are mounted onto the root setting using path.join. On windows, this will by default result in /foo/* matching C:foobar.txt.
## Race Conditions
Glob searching, by its very nature, is susceptible to race conditions, since it relies on directory walking and such.
As a result, it is possible that a file that exists when glob looks for it may have been deleted or modified by the time it returns the result.
As part of its internal implementation, this program caches all stat and readdir calls that it makes, in order to cut down on system overhead. However, this also makes it even more susceptible to races, especially if the cache or statCache objects are reused between glob calls.
Users are thus advised not to use a glob result as a guarantee of filesystem state in the face of rapid changes. For the vast majority of operations, this is never a problem.


| Category: containers | Component type: type |
Char_producer<charT> is an abstract base class; it provides an empty virtual destructor and a pure virtual operator(). Only subclasses of char_producer can be used, not char_producer directly.
Classes derived from char_producer define a method for computing the characters in a rope lazily, whenever those characters are needed. Unlike Function Objects, char_producers can be stored inside a rope data structure. All char producers must be derived from the single base class char_producer.
For performance reasons, the operator() inside char_producer is invoked to fill a buffer with a sequence of characters rather than producing a single character at a time. Its declaration is
virtual void operator()(size_t start_pos, size_t len, charT* buffer) = 0;
An invocation of operator() requests that len characters starting at start_pos should be deposited into buffer. If the character at the nth position is requested twice, the same character must be returned both times. (That is, a char_producer must represent a specific, deterministic sequence of characters.)
The following is an example of how to use char_producer and lazy evaluation: it is a (somewhat naive implementation of a) char_producer subclass, which allows an entire file to be treated as a rope. A rope constructed from file_char_prod will contain the same character sequence as the file specified in the constructor. The file will be read only when the rope is accessed, not when the rope is constructed.
void fail(char* s) { fprintf(stderr, "%s errno = %d\n", s, errno); exit(1); } class file_char_prod : public char_producer<char> { public: FILE* f; file_char_prod(char *file_name) { if (NULL == (f = fopen(file_name, "rb"))) fail("Open failed"); } ~file_char_prod() { fclose(f); } virtual void operator()(size_t start_pos, size_t len, char* buffer) { if (fseek(f, start_pos, SEEK_SET)) fail("Seek failed"); if (fread(buffer, sizeof(char), len, f) < len) fail("Read failed"); } long len() { // Return the length of a file; this is the only // mechanism that the standard C library makes possible. if (fseek(f, 0, SEEK_END)) fail("Seek failed"); return ftell(f); } };
The following program uses the above class to extract and write the middle 200 characters of a file. Note that even if it is invoked on a gigabyte file, it will still only read approximately 200 characters from the file. Likewise, the rope will only require a small amount of memory.
int main(int argc, char** argv) { if (argc != 2) fail("wrong number of arguments"); file_char_prod* fcp = new file_char_prod(argv[1]); crope s(fcp, fcp -> len(), true); size_t len = s.size(); crope middle = s.substr(len/2 - 100, 200) + "\n"; fwrite(middle.c_str(), sizeof(char), middle.size(), stdout); }
| Parameter | Description | Default |
|---|---|---|
| charT | The character type |
| Member | Where defined | Description |
|---|---|---|
| virtual ~char_producer() | char_producer | A virtual destructor. |
virtual void operator()(size_t start_pos, size_t len, charT* buffer) |
Copy len characters starting at position start_pos in the string into buffer. If a character at a particular position is requested more than once, each request must result in the same character. Note that this is a pure virtual function; it must be overridden by every subclass of char_producer. |


Enter the words above Enter the numbers you hear
Note: Please visit http://www.google.com/recaptcha to learn more about the Google reCaptcha


Uber stripped of London operating licence, again
A change to Uber's systems allowed unauthorised drivers to upload their photos to other drivers' accounts, meaning they could pick up passengers as if they were the booked driver, which happened in at least 14,000 trips, Transport for London (TfL) said.
by ReutersUber was stripped of its London operating licence on Monday for the second time in just over two years as the city's regulator said the taxi app was not "fit and proper", having put passenger safety at risk.
A change to Uber's systems allowed unauthorised drivers to upload their photos to other drivers' accounts, meaning they could pick up passengers as if they were the booked driver, which happened in at least 14,000 trips, Transport for London (TfL) said.
"It is unacceptable that Uber has allowed passengers to get into minicabs with drivers who are potentially unlicensed and uninsured," Director of Licensing, Regulation and Charging at TfL, Helen Chapman said on Monday, the day the firm's licence expires.
The Silicon Valley-based company has 21 days to appeal the decision and can continue to operate throughout the process, which is likely to include court action.


Hordeum vulgare (Hordeum vulgare, 030312v2) and Triticum urartu (Triticum urartu, GCA_000347455.1) were aligned using the LastZ alignment algorithm (LastZ) in Ensembl release 76. Hordeum vulgare was used as the reference species. After running LastZ, the raw LastZ alignment blocks are chained according to their location in both genomes. During the final netting process, the best sub-chain is chosen in each region on the reference species.
Full list of pairwise alignments| Gap open penalty (O) | 400 |
| Gap extend penalty (E) | 30 |
| HSP threshold (K) | 3000 |
| Threshold for gapped extension (L) | 3000 |
| Threshold for alignments between gapped alignment blocks (H) | 2200 |
| Masking count (M) | |
| Seed and Transition value (T) | 1 |
| Additional parameters | --ambiguous=iupac--identity=75..100--matchcount=1000 |
| Scoring matrix (Q) | Default |
| Hordeum vulgare | Triticum urartu | |
|---|---|---|
| Chunk size | 50,000,000 | 100,100,000 |
| Overlap | 0 | 100,000 |
| Group set size | 0 | 801,000,000 |
| Masking options | {default_soft_masking => 1} | {default_soft_masking => 1} |
Number of alignment blocks: 287740
| Genome coverage(bp) | Coding exon coverage (bp) | |
|---|---|---|
| Hordeum vulgare | ||
| Covered: 208,911,653 out of 4,706,173,842 | Matches: 19,980,450 out of 27,615,842 | |
| Uncovered: 4,497,262,189 out of 4,706,173,842 | Mis-matches: 1,419,528 out of 27,615,842 | |
| Insertions: 182,243 out of 27,615,842 | ||
| Uncovered: 6,033,621 out of 27,615,842 | ||
| Triticum urartu | ||
| Covered: 136,653,047 out of 3,747,163,292 | Matches: 21,631,646 out of 36,143,424 | |
| Uncovered: 3,610,510,245 out of 3,747,163,292 | Mis-matches: 1,463,568 out of 36,143,424 | |
| Insertions: 172,025 out of 36,143,424 | ||
| Uncovered: 12,876,185 out of 36,143,424 |


RIB currently does not support multiple vertex weights. For such cases, use RCB instead.
| Method String: | RIB |
| Parameters: | |
| RIB_OVERALLOC | The amount by which to over-allocate temporary storage arrays for objects
within the RIB algorithm when additional storage is due to changes in processor
assignments.
1.0 = no extra storage allocated; 1.5 = 50% extra storage; etc. |
| RIB_OUTPUT_LEVEL | Flag controlling the amount of timing and diagnostic output the routine
produces.
0 = no output; 1 = print summary; 2 = print data for each processor. |
| CHECK_GEOM | Flag controlling the invocation of input and output error checking.
0 = don't do checking; 1 = do checking. |
| KEEP_CUTS | Should information about the cuts determining the RIB decomposition
be retained? It costs a bit of time to do so, but this information is necessary
if application wants to add more objects to the decomposition via calls
to Zoltan_LB_Point_PP_Assign
or to Zoltan_LB_Box_PP_Assign.
0 = don't keep cuts; 1 = keep cuts. |
| AVERAGE_CUTS | When set to one, coordinates of RIB cutting planes are computed to be the
average of the coordinates of the closest object on each side of the cut.
Otherwise, coordinates of cutting planes may equal those of one of the
closest objects.
0 = don't average cuts; 1 = average cuts. |
| REDUCE_DIMENSIONS | When a 3 dimensional geometry is almost flat, it may make more sense to treat it as a 2 dimensional geometry when applying the RIB algorithm. (Coordinate values in the omitted direction are ignored for the purposes of partitioning.) If this parameter is set to 1, a 3 dimensional geometry will be treated as 2 dimensional if it is very flat, or 1 dimensional if it is very thin. A 2 dimensional geometry will be treated as 1 dimensional if it is very thin. |
| DEGENERATE_RATIO | If the REDUCE_DIMENSIONS parameter is set, then this parameter determines when a geometry is considered to be degenerate. A bounding box which is oriented to the geometry is constructed, and the lengths of its sides are tested against a ratio of 1 : DEGENERATE_RATIO. |
| Default: | |
| RIB_OVERALLOC = 1.2 | |
| RIB_OUTPUT_LEVEL = 0 | |
| CHECK_GEOM = 1 | |
| KEEP_CUTS = 0 | |
| AVERAGE_CUTS = 0 | |
| REDUCE_DIMENSIONS = 0 | |
| DEGENERATE_RATIO = 10 | |
| Required Query Functions: | |
| ZOLTAN_NUM_OBJ_FN | |
| ZOLTAN_OBJ_LIST_FN | |
| ZOLTAN_NUM_GEOM_FN | |
| ZOLTAN_GEOM_MULTI_FN or ZOLTAN_GEOM_FN |


| Enumerations | ||
| Anonymous enum 1 |
| Public fields | ||
| absents | static | |
| alph | static const | |
| copay | static const | |
| delt | static const | |
| disc | static const | |
| etas | static const | |
| lagk | static | |
| phi | static const | |
| phyfee | static const | |
| SickL | static | |
| spell | static | |
| t | static | |
| trt | static | |
| visits | static | |
| wrk | static | |
| Y | static const | |
| Public methods | ||
| FeasibleActions | ||
| NewEpisode | static | |
| PIll | static | Return FeasA x NK matrix of illness onset probabilities. |
| PWell | static | Return FeasA x 1 matrix of episode ending probabilities. |
| Reachable | ||
| Replicate | static | |
| Utility |
| Enumerations | ||
| Anonymous enum 1 | T, NK, LX, MaxVisits, MaxAbsences |
| FeasA | matrix of feasible actions. Not used in this model because illness onset is independent of choices. First column is the probability of k=0 state continuing. |
| FeasA | matrix of feasible actions. First column is the probability of k=0 state continuing. |


Whitefoot the Woodmouse
by Thornton W. Burgess
"Timmy Proves to be a True Neighbor"
Additional Information
- Year Published: 1922
- Language: English
- Country of Origin: United States of America
- Source: Burgess T. W. (1922). Whitefoot the Woodmouse Boston: Little, Brown & Co..
-
Readability:
- Flesch–Kincaid Level: 4.5
- Word Count: 732
- Genre: Fantasy
- Keywords: 20th century literature, american literature, life lessons, nature
- ✎ Cite This
Downloads
He proves himself a neighbor true
Who seeks a kindly deed to do.
—Whitefoot.
Occasionally Timmy the Flying Squirrel came over to visit Whitefoot. If Whitefoot was in his house he always knew when Timmy arrived. He would hear a soft thump down near the bottom of the tall stub. He would know instantly that thump was made by Timmy striking the foot of the stub after a long jump from the top of a tree. Whitefoot would poke his head out of his doorway and there, sure enough, would be Timmy scrambling up towards him.
Whitefoot had grown to admire Timmy with all his might. It seemed to him that Timmy was the most wonderful of all the people he knew. You see there was none of the others who could jump as Timmy could. Timmy on his part enjoyed having Whitefoot for a neighbor. Few of the little people of the Green Forest are more timid than Timmy the Flying Squirrel, but here was one beside whom Timmy actually felt bold. It was such a new feeling that Timmy enjoyed it.
So it was that in the dusk of early evening, just after the Black Shadows had come creeping out from the Purple Hills across the Green Meadows and through the Green Forest, these two little neighbors would start out to hunt for food. Whitefoot never went far from the tall, dead stub in which he was now living. He didn’t dare to. He wanted to be where at the first sign of danger he could scamper back there to safety. Timmy would go some distance, but he was seldom gone long. He liked to be where he could watch and talk with Whitefoot. You see Timmy is very much like other people,—he likes to gossip a little.
One evening Whitefoot had found it hard work to find enough food to fill his stomach. He had kept going a little farther and a little farther from home. Finally he was farther from it than he had ever been before. Timmy had filled his stomach and from near the top of a tree was watching Whitefoot. Suddenly what seemed like a great Black Shadow floated right over the tree in which Timmy was sitting, and stopped on the top of a tall, dead tree. It was Hooty the Owl, and it was simply good fortune that Timmy happened to see him. Timmy did not move. He knew that he was safe so long as he kept perfectly still. He knew that Hooty didn’t know he was there. Unless he moved, those great eyes of Hooty’s, wonderful as they were, would not see him.
Timmy looked over to where he had last seen Whitefoot. There he was picking out seeds from a pine cone on the ground. The trunk of a tree was between him and Hooty. But Timmy knew that Whitefoot hadn’t seen Hooty, and that any minute he might run out from behind that tree. If he did Hooty would see him, and silently as a shadow would swoop down and catch him. What was to be done?
“It’s no business of mine,” said Timmy to himself. “Whitefoot must look out for himself. It is no business of mine at all. Perhaps Hooty will fly away before Whitefoot moves. I don’t want anything to happen to Whitefoot, but if something does, it will be his own fault; he should keep better watch.”
For a few minutes nothing happened. Then Whitefoot finished the last seed in that cone and started to look for more. Timmy knew that in a moment Hooty would see Whitefoot. What do you think Timmy did? He jumped. Yes, sir, he jumped. Down, down, down, straight past the tree on which sat Hooty the Owl, Timmy sailed. Hooty saw him. Of course. He couldn’t help but see him. He spread his great wings and was after Timmy in an instant. Timmy struck near the foot of a tree and without wasting a second darted around to the other side. He was just in time. Hooty was already reaching for him. Up the tree ran Timmy and jumped again. Again Hooty was too late. And so Timmy led Hooty the Owl away from Whitefoot the Wood Mouse.


Sample Form
Create an account
One account for everything Intuit, including Mint.
By clicking Create account, you agree to our
Terms
and have read and acknowledge our
Privacy Statement.


Comet parameter: allowed_missed_cleavage
- Number of allowed missed enzyme cleavages in a peptide.
- Parameter is not applied of the no-enzyme option is specified
in the search_enzyme_number
parameter.
- The default value is "2" if this parameter is missing.
Example:
allowed_missed_cleavage = 0 for no missed cleavages
allowed_missed_cleavage = 2 allow two missed cleavages


CIFS SMB1 optimization performs latency and SDR optimizations on SMB1 traffic. Without this feature, Steelhead appliances perform only SDR optimization without improving CIFS latency.Important: You must restart the client Steelhead appliance optimization service after enabling SMB1 latency optimization.
Enables SMB1 optimized connections for file opens and reads. This is the fundamental component of the CIFS module and is required for base optimized connections for file opens and reads. Although latency optimization incorporates several hundred individual optimized connection types, the most frequent type of file opens is where exclusive opportunistic locks have been granted, and read-ahead operations are initiated on the file data. RiOS optimizes the bandwidth used to transfer the read-ahead data from the server side to the client side.Only clear this check box if you want to disable latency optimization. Typically, you disable latency optimization to troubleshoot problems with the system.Important: Latency optimization must be enabled (or disabled) on both Steelhead appliances. You must restart the optimization service on the client-side Steelhead after enabling latency optimization. Prevents write optimization. If you disable write optimization, the Steelhead appliance still provides optimization for CIFS reads and for other protocols, but you might experience a slight decrease in overall optimization.Select this control only if you have applications that assume and require write-through in the network.Most applications operate safely with write optimization because CIFS allows you to explicitly specify write-through on each write operation. However, if you have an application that does not support explicit write-through operations, you must disable it in the Steelhead appliance.If you do not disable write-through, the Steelhead appliance acknowledges writes before they are fully committed to disk, to speed up the write operation. The Steelhead appliance does not acknowledge the file close until the file is safely written. Optimize Connections with Security Signatures (that do not require signing) This feature automatically stops Windows SMB signing. SMB signing prevents the Steelhead appliance from applying full optimization on CIFS connections and significantly reduces the performance gain from a Steelhead deployment. Because many enterprises already take additional security precautions (such as firewalls, internal-only reachable servers, and so on), SMB signing adds little additional security, at a significant performance cost (even without Steelhead appliances).If the client-side machine has Required signing, enabling this feature prevents the client from connecting to the server. If the server-side machine has Required signing, the client and the server connect but you cannot perform full latency optimization with the Steelhead appliance. Domain Controllers default to Required. Important: If your deployment requires SMB signing, you can optimize signed CIFS messages using the Enable SMB Signing feature.For details about SMB signing and the performance cost associated with it, see the Steelhead Appliance Deployment Guide - Protocols. Enables CIFS dynamic throttling mechanism which replaces the current static buffer scheme. When there is congestion on the server side of the optimized connection, dynamic write throttling provides feedback to the client side, allowing the write buffers to be used more dynamically to smooth out any traffic bursts. Riverbed recommends that you enable dynamic write throttling because it prevents clients from buffering too much file-write data.If you enable CIFS dynamic throttling, it is activated only when there are suboptimal conditions on the server-side causing a backlog of write messages; it does not have a negative effect under normal network conditions. Enables CIFS latency optimizations to improve read and write performance for Microsoft Word (.doc) and Excel (.xls) documents when multiple users have the file open. This setting is enabled by default in v6.0 and later.This feature enhances the Enable Overlapping Open Optimization feature by identifying and obtaining locks on read write access at the application level. The overlapping open optimization feature handles locks at the file level. Improves centralized print traffic performance: for example, when the print server is located in the data center and the printer is located in the branch office, enabling this option speeds the transfer of a print job spooled across the WAN to the server and back again to the printer. By default, this setting is disabled.Enable on the client-side Steelhead appliance. Enabling this option requires an optimization service restart.This option supports Windows XP (client), Vista (client), Windows 2003 (server), and Windows 2008 (server).Note: This feature does not improve optimization for a Windows Vista client printing over a Windows 2008 server, because this client and server pair uses a different print protocol.
3. Click Apply to apply your settings to the current configuration.
4. Click Save to save your settings permanently.
5.
1. On the client-side Steelhead appliance, under Overlapping Open Optimization (Advanced), complete the configuration as described in this table.
Enable Overlapping Open Optimization Enables overlapping opens to obtain better performance with applications that perform multiple opens on the same file (for example, CAD applications). By default, this setting is disabled.With overlapping opens enabled the Steelhead appliance optimizes data where exclusive access is available (in other words, when locks are granted). When an oplock is not available, the Steelhead appliance does not perform application-level latency optimizations but still performs SDR and compression on the data as well as TCP optimizations.Note: If a remote user opens a file that is optimized using the overlapping opens feature and a second user opens the same file, they might receive an error if the file fails to go through a v3.x.x or later Steelhead appliance or if it does not go through a Steelhead appliance (for example, certain applications that are sent over the LAN). If this occurs, disable overlapping opens for those applications.Use the radio buttons to set either an include list or exclude list of file types subject to overlapping opens optimization. Optimize only the following extensions Optimize all except the following extensions Specify a list of extensions you do not want to include; for example, specify any file extensions that Enable Applock Optimization is being used for.
2. Click Save to save your settings permanently.Tip: After you apply your settings, you can verify whether changes have had the desired effect by reviewing related reports. When you have verified appropriate changes, you can write the active configuration that is stored in memory to the active configuration file (or you can save it as any filename you choose). For details about saving configurations, see Managing Configuration Files.