This template will allow you to easily monitor and graph a TrueNAS/FreeNAS server including ZFS ARC stats. This requires TrueNAS/FreeNAS 9.3 or above.
You will also need to create a Zabbix macro named {$SNMP_COMMUNITY} which contains your SNMP community name. The FREENAS-MIB.txt will also need to be uploaded to your Zabbix Server. The MIB can be downloaded from your FreeNAS server and is located in /usr/local/share/snmp/mibs/.
FreeNAS Community
There are no macros links in this template.
| Name |
|---|
| Template SNMP Generic |
| Template SNMP Interfaces |
| Template SNMP Processors |
| Template SNMP Disks |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Network interfaces |
You may also consider using IF-MIB::ifType or IF-MIB::ifAlias for discovery depending on your filtering needs. {$SNMP_COMMUNITY} is a global macro.
 | SNMP agent |
ifDescr
Update: 3600
 |
| Memory statistics |
The rule will discover all memory matching the global regexp “Storage devices for SNMP discovery”. {$SNMP_COMMUNITY} is a global macro.
 | SNMP agent |
hrMemDescr
Update: 3600
 |
| ZFS Pools |
ZFS pools
 | SNMP agent |
zfsPoolName
Update: 3600
 |
| Disk partitions |
The rule will discover all disk partitions matching the global regexp “Storage devices for SNMP discovery”. {$SNMP_COMMUNITY} is a global macro.
 | SNMP agent |
hrStorageDescr
Update: 3600
 |
| Processors |
{$SNMP_COMMUNITY} is a global macro.
 | SNMP agent |
hrProcessorLoad
Update: 3600
 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Arc Cache miss ratio |
Arc cach miss ratio
 | SNMP agent |
zfs.ArcMissratio
Update: 60
 |
| ZIL operations per second |
ZIL operations per second
 | SNMP agent |
zfs.ZilstatOps1sec
Update: 60
 |
| L2Arc size |
L2Arc size iin bytes
 | SNMP agent |
zfs.L2Arcsize
Update: 60
 |
| Arc P |
Arc P ?
 | SNMP agent |
zfs.ArcP
Update: 60
 |
| Arc Cache miss percent |
Arc cach miss percentage
 | SNMP agent |
zfs.ArcMissPercent
Update: 60
 |
| Arc Cache hit ratio |
Arc hit ratio
 | SNMP agent |
zfs.ArcHitratio
Update: 60
 |
| Arc misses |
Arc misses
 | SNMP agent |
zfs.ArcMisses
Update: 60
 |
| Arc hits |
Arc hits
 | SNMP agent |
zfs.Archits
Update: 60
 |
| Arc meta |
Arc meta ?
 | SNMP agent |
zfs.Arcmeta
Update: 60
 |
| Arc C |
Arc C ?
 | SNMP agent |
zfs.ArcC
Update: 60
 |
| Arc size |
Arc size iin bytes
 | SNMP agent |
zfs.Arcsize
Update: 60
 |
| L2Arc hits |
L2Arc hits
 | SNMP agent |
zfs.L2Archits
Update: 60
 |
| Arc data |
Arc data
 | SNMP agent |
zfs.ArcData
Update: 60
 |
| L2Arc misses |
L2Arc misses
 | SNMP agent |
zfs.L2ArcMisses
Update: 60
 |
| Admin status of interface $1 |
The desired state of the interface.
 | SNMP agent |
ifAdminStatus[{#SNMPVALUE}]
Update: 60

LLD
 |
| Alias of interface $1 |
-
 | SNMP agent |
ifAlias[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Description of interface $1 |
A textual string containing information about the interface. This string should include the name of the manufacturer, the product name and the version of the interface hardware/software.
 | SNMP agent |
ifDescr[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Inbound errors on interface $1 |
For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol.
 | SNMP agent |
ifInErrors[{#SNMPVALUE}]
Update: 60

LLD
 |
| Incoming traffic on interface $1 |
The number of octets in valid MAC frames received on this interface, including the MAC header and FCS.
 | SNMP agent |
ifInOctets[{#SNMPVALUE}]
Update: 60

LLD
 |
| Operational status of interface $1 |
The current operational state of the interface.
 | SNMP agent |
ifOperStatus[{#SNMPVALUE}]
Update: 60

LLD
 |
| Outbound errors on interface $1 |
For packet-oriented interfaces, the number of outbound packets that could not be transmitted because of errors. For character-oriented or fixed-length interfaces, the number of outbound transmission units that could not be transmitted because of errors.
 | SNMP agent |
ifOutErrors[{#SNMPVALUE}]
Update: 60

LLD
 |
| Outgoing traffic on interface $1 |
The number of octets transmitted in MAC frames on this interface, including the MAC header and FCS.
 | SNMP agent |
ifOutOctets[{#SNMPVALUE}]
Update: 60

LLD
 |
| {#SNMPVALUE} allocated units |
-
 | SNMP agent |
memAllocated[{#SNMPVALUE}]
Update: 60

LLD
 |
| {#SNMPVALUE} size |
-
 | Calculated |
memSize[{#SNMPVALUE}]
Update: 60

LLD
 |
| {#SNMPVALUE} units |
-
 | SNMP agent |
memUnits[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Available bytes on pool {#SNMPVALUE} |
The number of available bytes (rounded to 1 MB blocks) on the volume.
 | SNMP agent |
vfs.fs.size[{#SNMPVALUE},free]
Update: 60

LLD
 |
| Health of pool {#SNMPVALUE} |
The current health of the containing pool, as reported by zpool status. online(1), degraded(2), faulted(3), unknown(4)
 | SNMP agent |
zfsPoolHealth[{#SNMPVALUE}]
Update: 60

LLD
 |
| IO Read Ops on pool {#SNMPVALUE} |
The number of read I/O operations sent to the pool or device.
 | SNMP agent |
vfs.fs.iops[{#SNMPVALUE},read]
Update: 60

LLD
 |
| IO Write Ops on pool {#SNMPVALUE} |
The number of write I/O operations sent to the pool or device.
 | SNMP agent |
vfs.fs.iops[{#SNMPVALUE},write]
Update: 60

LLD
 |
| Name of pool #$1 |
The name of the filesystem type Volume
 | SNMP agent |
zfsPoolName[{#SNMPINDEX}]
Update: 3600

LLD
 |
| Read bandwidth on pool {#SNMPVALUE} |
the bandwidth of all read operations (including metadata), expressed as units per second
 | SNMP agent |
vfs.fs.bandwidth[{#SNMPVALUE},read]
Update: 60

LLD
 |
| Size of pool {#SNMPVALUE} |
The number of bytes (rounded to 1 MB blocks) part of the volume.
 | SNMP agent |
vfs.fs.size[{#SNMPVALUE},total]
Update: 60

LLD
 |
| Usage of pool {#SNMPVALUE} |
Used percentage of the pools capacity
 | Calculated |
vfs.fs.size[{#SNMPVALUE},pfree]
Update: 60

LLD
 |
| Used bytes on pool {#SNMPVALUE} |
The number of bytes (rounded to 1 MB blocks) that are used.
 | SNMP agent |
vfs.fs.size[{#SNMPVALUE},used]
Update: 60

LLD
 |
| Write bandwidth on pool {#SNMPVALUE} |
the bandwidth of all write operations expressed as units per second
 | SNMP agent |
vfs.fs.bandwidth[{#SNMPVALUE},write]
Update: 60

LLD
 |
| Allocation units for storage $1 |
The size, in bytes, of the data objects allocated from this pool. If this entry is monitoring sectors, blocks, buffers, or packets, for example, this number will commonly be greater than one. Otherwise this number will typically be one.
 | SNMP agent |
hrStorageAllocationUnits[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Description of storage $1 |
A description of the type and instance of the storage described by this entry.
 | SNMP agent |
hrStorageDescr[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Total disk space on $1 |
This is a calculated item, we need it to get total disk space in bytes.
 | Calculated |
hrStorageSizeInBytes[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Total disk space on $1 in units |
The size of the storage represented by this entry, in units of hrStorageAllocationUnits. This object is writable to allow remote configuration of the size of the storage area in those cases where such an operation makes sense and is possible on the underlying system. For example, the amount of main memory allocated to a buffer pool might be modified or the amount of disk space allocated to virtual memory might be modified.
 | SNMP agent |
hrStorageSize[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Used disk space on $1 |
This is a calculated item, we need it to get used disk space in bytes.
 | Calculated |
hrStorageUsedInBytes[{#SNMPVALUE}]
Update: 60

LLD
 |
| Used disk space on $1 in units |
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
 | SNMP agent |
hrStorageUsed[{#SNMPVALUE}]
Update: 60

LLD
 |
| Utilization of processor #$1 |
The average, over the last minute, of the percentage of time that this processor was not idle. Implementations may approximate this one minute smoothing period if necessary.
 | SNMP agent |
hrProcessorLoad[{#SNMPINDEX}]
Update: 60

LLD
 |
| Name | Description | Expression | Priority |
|---|---|---|---|
| Operational status was changed on {HOST.NAME} interface {#SNMPVALUE} |
-
 |
Expression: {SNMP FreeNAS:ifOperStatus[{#SNMPVALUE}].diff(0)}=1

Recovery expression:
 | information |
| Free disk space is less than 20% on volume {#SNMPVALUE} |
-
 |
Expression: {SNMP FreeNAS:hrStorageUsed[{#SNMPVALUE}].last(0)} / {SNMP FreeNAS:hrStorageSize[{#SNMPVALUE}].last(0)} > 0.8

Recovery expression:
 | warning |
| Pool {#SNMPVALUE} is DEGRADED! |
Your pool {#SNMPVALUE} is in degraded state. online(1), degraded(2), faulted(3), unknown(4)
 |
Expression: {SNMP FreeNAS:zfsPoolHealth[{#SNMPVALUE}].last()}=2

Recovery expression:
 | high |
| Pool {#SNMPVALUE} is FAULTED! |
Your pool {#SNMPVALUE} is in faulted state. You are in trouble
 |
Expression: {SNMP FreeNAS:zfsPoolHealth[{#SNMPVALUE}].last()}=3

Recovery expression:
 | disaster |
| Pool {#SNMPVALUE} is in UNKNOWN state |
Your pool {#SNMPVALUE} is in unknown state. You are in trouble, I really hope you have a backup
 |
Expression: {SNMP FreeNAS:zfsPoolHealth[{#SNMPVALUE}].last()}=4

Recovery expression:
 | disaster |
| Pool {#SNMPVALUE} usage is over 80% |
Your pool {#SNMPVALUE} is more than 80% full! It is a known fact that performance will degrade significantly. Please free up some space.
 |
Expression: {SNMP FreeNAS:vfs.fs.size[{#SNMPVALUE},pfree].last(0)}>80

Recovery expression:
 | average |
| Operational status was changed on {HOST.NAME} interface {#SNMPVALUE} (LLD) |
-
 |
Expression: {SNMP FreeNAS:ifOperStatus[{#SNMPVALUE}].diff(0)}=1

Recovery expression:
 | information |
| Pool {#SNMPVALUE} is DEGRADED! (LLD) |
Your pool {#SNMPVALUE} is in degraded state. online(1), degraded(2), faulted(3), unknown(4)
 |
Expression: {SNMP FreeNAS:zfsPoolHealth[{#SNMPVALUE}].last()}=2

Recovery expression:
 | high |
| Pool {#SNMPVALUE} is FAULTED! (LLD) |
Your pool {#SNMPVALUE} is in faulted state. You are in trouble
 |
Expression: {SNMP FreeNAS:zfsPoolHealth[{#SNMPVALUE}].last()}=3

Recovery expression:
 | disaster |
| Pool {#SNMPVALUE} is in UNKNOWN state (LLD) |
Your pool {#SNMPVALUE} is in unknown state. You are in trouble, I really hope you have a backup
 |
Expression: {SNMP FreeNAS:zfsPoolHealth[{#SNMPVALUE}].last()}=4

Recovery expression:
 | disaster |
| Pool {#SNMPVALUE} usage is over 80% (LLD) |
Your pool {#SNMPVALUE} is more than 80% full! It is a known fact that performance will degrade significantly. Please free up some space.
 |
Expression: {SNMP FreeNAS:vfs.fs.size[{#SNMPVALUE},pfree].last(0)}>80

Recovery expression:
 | average |
| Free disk space is less than 20% on volume {#SNMPVALUE} (LLD) |
-
 |
Expression: {SNMP FreeNAS:hrStorageUsed[{#SNMPVALUE}].last(0)} / {SNMP FreeNAS:hrStorageSize[{#SNMPVALUE}].last(0)} > 0.8

Recovery expression:
 | warning |
This template will allow you to easily monitor and graph a TrueNAS/FreeNAS server including ZFS ARC stats. This requires TrueNAS/FreeNAS 9.3 or above.
You will also need to create a Zabbix macro named {$SNMP_COMMUNITY} which contains your SNMP community name. The FREENAS-MIB.txt will also need to be uploaded to your Zabbix Server. The MIB can be downloaded from your FreeNAS server and is located in /usr/local/share/snmp/mibs/.
FreeNAS Community
There are no macros links in this template.
| Name |
|---|
| Template SNMP Processors |
| Template SNMP Interfaces |
| Template SNMP Disks |
| Template SNMP Generic |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Disk partitions |
The rule will discover all disk partitions matching the global regexp “Storage devices for SNMP discovery”. {$SNMP_COMMUNITY} is a global macro.
 | SNMP agent |
hrStorageDescr
Update: 3600
 |
| Processors |
{$SNMP_COMMUNITY} is a global macro.
 | SNMP agent |
hrProcessorLoad
Update: 3600
 |
| Network interfaces |
You may also consider using IF-MIB::ifType or IF-MIB::ifAlias for discovery depending on your filtering needs. {$SNMP_COMMUNITY} is a global macro.
 | SNMP agent |
ifDescr
Update: 3600
 |
| Memory statistics |
The rule will discover all memory matching the global regexp “Storage devices for SNMP discovery”. {$SNMP_COMMUNITY} is a global macro.
 | SNMP agent |
hrMemDescr
Update: 3600
 |
| ZFS Pools |
ZFS pools
 | SNMP agent |
zfsPoolName
Update: 3600
 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Arc Cache hit ratio |
Arc hit ratio
 | SNMP agent |
zfs.ArcHitratio
Update: 60
 |
| Arc P |
Arc P ?
 | SNMP agent |
zfs.ArcP
Update: 60
 |
| L2Arc hits |
L2Arc hits
 | SNMP agent |
zfs.L2Archits
Update: 60
 |
| Arc Cache miss ratio |
Arc cach miss ratio
 | SNMP agent |
zfs.ArcMissratio
Update: 60
 |
| L2Arc misses |
L2Arc misses
 | SNMP agent |
zfs.L2ArcMisses
Update: 60
 |
| Arc C |
Arc C ?
 | SNMP agent |
zfs.ArcC
Update: 60
 |
| Arc size |
Arc size iin bytes
 | SNMP agent |
zfs.Arcsize
Update: 60
 |
| L2Arc size |
L2Arc size iin bytes
 | SNMP agent |
zfs.L2Arcsize
Update: 60
 |
| Arc meta |
Arc meta ?
 | SNMP agent |
zfs.Arcmeta
Update: 60
 |
| Arc Cache miss percent |
Arc cach miss percentage
 | SNMP agent |
zfs.ArcMissPercent
Update: 60
 |
| Arc hits |
Arc hits
 | SNMP agent |
zfs.Archits
Update: 60
 |
| Arc misses |
Arc misses
 | SNMP agent |
zfs.ArcMisses
Update: 60
 |
| Arc data |
Arc data
 | SNMP agent |
zfs.ArcData
Update: 60
 |
| ZIL operations per second |
ZIL operations per second
 | SNMP agent |
zfs.ZilstatOps1sec
Update: 60
 |
| Allocation units for storage $1 |
The size, in bytes, of the data objects allocated from this pool. If this entry is monitoring sectors, blocks, buffers, or packets, for example, this number will commonly be greater than one. Otherwise this number will typically be one.
 | SNMP agent |
hrStorageAllocationUnits[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Description of storage $1 |
A description of the type and instance of the storage described by this entry.
 | SNMP agent |
hrStorageDescr[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Total disk space on $1 |
This is a calculated item, we need it to get total disk space in bytes.
 | Calculated |
hrStorageSizeInBytes[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Total disk space on $1 in units |
The size of the storage represented by this entry, in units of hrStorageAllocationUnits. This object is writable to allow remote configuration of the size of the storage area in those cases where such an operation makes sense and is possible on the underlying system. For example, the amount of main memory allocated to a buffer pool might be modified or the amount of disk space allocated to virtual memory might be modified.
 | SNMP agent |
hrStorageSize[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Used disk space on $1 |
This is a calculated item, we need it to get used disk space in bytes.
 | Calculated |
hrStorageUsedInBytes[{#SNMPVALUE}]
Update: 60

LLD
 |
| Used disk space on $1 in units |
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
 | SNMP agent |
hrStorageUsed[{#SNMPVALUE}]
Update: 60

LLD
 |
| Utilization of processor #$1 |
The average, over the last minute, of the percentage of time that this processor was not idle. Implementations may approximate this one minute smoothing period if necessary.
 | SNMP agent |
hrProcessorLoad[{#SNMPINDEX}]
Update: 60

LLD
 |
| Admin status of interface $1 |
The desired state of the interface.
 | SNMP agent |
ifAdminStatus[{#SNMPVALUE}]
Update: 60

LLD
 |
| Alias of interface $1 |
-
 | SNMP agent |
ifAlias[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Description of interface $1 |
A textual string containing information about the interface. This string should include the name of the manufacturer, the product name and the version of the interface hardware/software.
 | SNMP agent |
ifDescr[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Inbound errors on interface $1 |
For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol.
 | SNMP agent |
ifInErrors[{#SNMPVALUE}]
Update: 60

LLD
 |
| Incoming traffic on interface $1 |
The number of octets in valid MAC frames received on this interface, including the MAC header and FCS.
 | SNMP agent |
ifInOctets[{#SNMPVALUE}]
Update: 60

LLD
 |
| Operational status of interface $1 |
The current operational state of the interface.
 | SNMP agent |
ifOperStatus[{#SNMPVALUE}]
Update: 60

LLD
 |
| Outbound errors on interface $1 |
For packet-oriented interfaces, the number of outbound packets that could not be transmitted because of errors. For character-oriented or fixed-length interfaces, the number of outbound transmission units that could not be transmitted because of errors.
 | SNMP agent |
ifOutErrors[{#SNMPVALUE}]
Update: 60

LLD
 |
| Outgoing traffic on interface $1 |
The number of octets transmitted in MAC frames on this interface, including the MAC header and FCS.
 | SNMP agent |
ifOutOctets[{#SNMPVALUE}]
Update: 60

LLD
 |
| {#SNMPVALUE} allocated units |
-
 | SNMP agent |
memAllocated[{#SNMPVALUE}]
Update: 60

LLD
 |
| {#SNMPVALUE} size |
-
 | Calculated |
memSize[{#SNMPVALUE}]
Update: 60

LLD
 |
| {#SNMPVALUE} units |
-
 | SNMP agent |
memUnits[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Available bytes on pool {#SNMPVALUE} |
The number of available bytes (rounded to 1 MB blocks) on the volume.
 | SNMP agent |
vfs.fs.size[{#SNMPVALUE},free]
Update: 60

LLD
 |
| Health of pool {#SNMPVALUE} |
The current health of the containing pool, as reported by zpool status. online(1), degraded(2), faulted(3), unknown(4)
 | SNMP agent |
zfsPoolHealth[{#SNMPVALUE}]
Update: 60

LLD
 |
| IO Read Ops on pool {#SNMPVALUE} |
The number of read I/O operations sent to the pool or device.
 | SNMP agent |
vfs.fs.iops[{#SNMPVALUE},read]
Update: 60

LLD
 |
| IO Write Ops on pool {#SNMPVALUE} |
The number of write I/O operations sent to the pool or device.
 | SNMP agent |
vfs.fs.iops[{#SNMPVALUE},write]
Update: 60

LLD
 |
| Name of pool #$1 |
The name of the filesystem type Volume
 | SNMP agent |
zfsPoolName[{#SNMPINDEX}]
Update: 3600

LLD
 |
| Read bandwidth on pool {#SNMPVALUE} |
the bandwidth of all read operations (including metadata), expressed as units per second
 | SNMP agent |
vfs.fs.bandwidth[{#SNMPVALUE},read]
Update: 60

LLD
 |
| Size of pool {#SNMPVALUE} |
The number of bytes (rounded to 1 MB blocks) part of the volume.
 | SNMP agent |
vfs.fs.size[{#SNMPVALUE},total]
Update: 60

LLD
 |
| Usage of pool {#SNMPVALUE} |
Used percentage of the pools capacity
 | Calculated |
vfs.fs.size[{#SNMPVALUE},pfree]
Update: 60

LLD
 |
| Used bytes on pool {#SNMPVALUE} |
The number of bytes (rounded to 1 MB blocks) that are used.
 | SNMP agent |
vfs.fs.size[{#SNMPVALUE},used]
Update: 60

LLD
 |
| Write bandwidth on pool {#SNMPVALUE} |
the bandwidth of all write operations expressed as units per second
 | SNMP agent |
vfs.fs.bandwidth[{#SNMPVALUE},write]
Update: 60

LLD
 |
| Name | Description | Expression | Priority |
|---|---|---|---|
| Operational status was changed on {HOST.NAME} interface {#SNMPVALUE} |
-
 |
Expression: (last(/SNMP FreeNAS/ifOperStatus[{#SNMPVALUE}],#1)<>last(/SNMP FreeNAS/ifOperStatus[{#SNMPVALUE}],#2))=1

Recovery expression:
 | information |
| Free disk space is less than 20% on volume {#SNMPVALUE} |
-
 |
Expression: last(/SNMP FreeNAS/hrStorageUsed[{#SNMPVALUE}]) / last(/SNMP FreeNAS/hrStorageSize[{#SNMPVALUE}]) > 0.8

Recovery expression:
 | warning |
| Pool {#SNMPVALUE} is DEGRADED! |
Your pool {#SNMPVALUE} is in degraded state. online(1), degraded(2), faulted(3), unknown(4)
 |
Expression: last(/SNMP FreeNAS/zfsPoolHealth[{#SNMPVALUE}])=2

Recovery expression:
 | high |
| Pool {#SNMPVALUE} is FAULTED! |
Your pool {#SNMPVALUE} is in faulted state. You are in trouble
 |
Expression: last(/SNMP FreeNAS/zfsPoolHealth[{#SNMPVALUE}])=3

Recovery expression:
 | disaster |
| Pool {#SNMPVALUE} is in UNKNOWN state |
Your pool {#SNMPVALUE} is in unknown state. You are in trouble, I really hope you have a backup
 |
Expression: last(/SNMP FreeNAS/zfsPoolHealth[{#SNMPVALUE}])=4

Recovery expression:
 | disaster |
| Pool {#SNMPVALUE} usage is over 80% |
Your pool {#SNMPVALUE} is more than 80% full! It is a known fact that performance will degrade significantly. Please free up some space.
 |
Expression: last(/SNMP FreeNAS/vfs.fs.size[{#SNMPVALUE},pfree])>80

Recovery expression:
 | average |
| Free disk space is less than 20% on volume {#SNMPVALUE} (LLD) |
-
 |
Expression: last(/SNMP FreeNAS/hrStorageUsed[{#SNMPVALUE}]) / last(/SNMP FreeNAS/hrStorageSize[{#SNMPVALUE}]) > 0.8

Recovery expression:
 | warning |
| Operational status was changed on {HOST.NAME} interface {#SNMPVALUE} (LLD) |
-
 |
Expression: (last(/SNMP FreeNAS/ifOperStatus[{#SNMPVALUE}],#1)<>last(/SNMP FreeNAS/ifOperStatus[{#SNMPVALUE}],#2))=1

Recovery expression:
 | information |
| Pool {#SNMPVALUE} is DEGRADED! (LLD) |
Your pool {#SNMPVALUE} is in degraded state. online(1), degraded(2), faulted(3), unknown(4)
 |
Expression: last(/SNMP FreeNAS/zfsPoolHealth[{#SNMPVALUE}])=2

Recovery expression:
 | high |
| Pool {#SNMPVALUE} is FAULTED! (LLD) |
Your pool {#SNMPVALUE} is in faulted state. You are in trouble
 |
Expression: last(/SNMP FreeNAS/zfsPoolHealth[{#SNMPVALUE}])=3

Recovery expression:
 | disaster |
| Pool {#SNMPVALUE} is in UNKNOWN state (LLD) |
Your pool {#SNMPVALUE} is in unknown state. You are in trouble, I really hope you have a backup
 |
Expression: last(/SNMP FreeNAS/zfsPoolHealth[{#SNMPVALUE}])=4

Recovery expression:
 | disaster |
| Pool {#SNMPVALUE} usage is over 80% (LLD) |
Your pool {#SNMPVALUE} is more than 80% full! It is a known fact that performance will degrade significantly. Please free up some space.
 |
Expression: last(/SNMP FreeNAS/vfs.fs.size[{#SNMPVALUE},pfree])>80

Recovery expression:
 | average |
This template will allow you to easily monitor and graph a TrueNAS/FreeNAS server including ZFS ARC stats. This requires TrueNAS/FreeNAS 9.3 or above.
You will also need to create a Zabbix macro named {$SNMP_COMMUNITY} which contains your SNMP community name. The FREENAS-MIB.txt will also need to be uploaded to your Zabbix Server. The MIB can be downloaded from your FreeNAS server and is located in /usr/local/share/snmp/mibs/.
FreeNAS Community
There are no macros links in this template.
| Name |
|---|
| Template SNMP Processors |
| Template SNMP Interfaces |
| Template SNMP Disks |
| Template SNMP Generic |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Disk partitions |
The rule will discover all disk partitions matching the global regexp “Storage devices for SNMP discovery”. {$SNMP_COMMUNITY} is a global macro.
 | SNMP agent |
hrStorageDescr
Update: 3600
 |
| Processors |
{$SNMP_COMMUNITY} is a global macro.
 | SNMP agent |
hrProcessorLoad
Update: 3600
 |
| Network interfaces |
You may also consider using IF-MIB::ifType or IF-MIB::ifAlias for discovery depending on your filtering needs. {$SNMP_COMMUNITY} is a global macro.
 | SNMP agent |
ifDescr
Update: 3600
 |
| Memory statistics |
The rule will discover all memory matching the global regexp “Storage devices for SNMP discovery”. {$SNMP_COMMUNITY} is a global macro.
 | SNMP agent |
hrMemDescr
Update: 3600
 |
| ZFS Pools |
ZFS pools
 | SNMP agent |
zfsPoolName
Update: 3600
 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Arc Cache hit ratio |
Arc hit ratio
 | SNMP agent |
zfs.ArcHitratio
Update: 60
 |
| Arc P |
Arc P ?
 | SNMP agent |
zfs.ArcP
Update: 60
 |
| L2Arc hits |
L2Arc hits
 | SNMP agent |
zfs.L2Archits
Update: 60
 |
| Arc Cache miss ratio |
Arc cach miss ratio
 | SNMP agent |
zfs.ArcMissratio
Update: 60
 |
| L2Arc misses |
L2Arc misses
 | SNMP agent |
zfs.L2ArcMisses
Update: 60
 |
| Arc C |
Arc C ?
 | SNMP agent |
zfs.ArcC
Update: 60
 |
| Arc size |
Arc size iin bytes
 | SNMP agent |
zfs.Arcsize
Update: 60
 |
| L2Arc size |
L2Arc size iin bytes
 | SNMP agent |
zfs.L2Arcsize
Update: 60
 |
| Arc meta |
Arc meta ?
 | SNMP agent |
zfs.Arcmeta
Update: 60
 |
| Arc Cache miss percent |
Arc cach miss percentage
 | SNMP agent |
zfs.ArcMissPercent
Update: 60
 |
| Arc hits |
Arc hits
 | SNMP agent |
zfs.Archits
Update: 60
 |
| Arc misses |
Arc misses
 | SNMP agent |
zfs.ArcMisses
Update: 60
 |
| Arc data |
Arc data
 | SNMP agent |
zfs.ArcData
Update: 60
 |
| ZIL operations per second |
ZIL operations per second
 | SNMP agent |
zfs.ZilstatOps1sec
Update: 60
 |
| Allocation units for storage $1 |
The size, in bytes, of the data objects allocated from this pool. If this entry is monitoring sectors, blocks, buffers, or packets, for example, this number will commonly be greater than one. Otherwise this number will typically be one.
 | SNMP agent |
hrStorageAllocationUnits[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Description of storage $1 |
A description of the type and instance of the storage described by this entry.
 | SNMP agent |
hrStorageDescr[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Total disk space on $1 |
This is a calculated item, we need it to get total disk space in bytes.
 | Calculated |
hrStorageSizeInBytes[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Total disk space on $1 in units |
The size of the storage represented by this entry, in units of hrStorageAllocationUnits. This object is writable to allow remote configuration of the size of the storage area in those cases where such an operation makes sense and is possible on the underlying system. For example, the amount of main memory allocated to a buffer pool might be modified or the amount of disk space allocated to virtual memory might be modified.
 | SNMP agent |
hrStorageSize[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Used disk space on $1 |
This is a calculated item, we need it to get used disk space in bytes.
 | Calculated |
hrStorageUsedInBytes[{#SNMPVALUE}]
Update: 60

LLD
 |
| Used disk space on $1 in units |
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
 | SNMP agent |
hrStorageUsed[{#SNMPVALUE}]
Update: 60

LLD
 |
| Utilization of processor #$1 |
The average, over the last minute, of the percentage of time that this processor was not idle. Implementations may approximate this one minute smoothing period if necessary.
 | SNMP agent |
hrProcessorLoad[{#SNMPINDEX}]
Update: 60

LLD
 |
| Admin status of interface $1 |
The desired state of the interface.
 | SNMP agent |
ifAdminStatus[{#SNMPVALUE}]
Update: 60

LLD
 |
| Alias of interface $1 |
-
 | SNMP agent |
ifAlias[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Description of interface $1 |
A textual string containing information about the interface. This string should include the name of the manufacturer, the product name and the version of the interface hardware/software.
 | SNMP agent |
ifDescr[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Inbound errors on interface $1 |
For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol.
 | SNMP agent |
ifInErrors[{#SNMPVALUE}]
Update: 60

LLD
 |
| Incoming traffic on interface $1 |
The number of octets in valid MAC frames received on this interface, including the MAC header and FCS.
 | SNMP agent |
ifInOctets[{#SNMPVALUE}]
Update: 60

LLD
 |
| Operational status of interface $1 |
The current operational state of the interface.
 | SNMP agent |
ifOperStatus[{#SNMPVALUE}]
Update: 60

LLD
 |
| Outbound errors on interface $1 |
For packet-oriented interfaces, the number of outbound packets that could not be transmitted because of errors. For character-oriented or fixed-length interfaces, the number of outbound transmission units that could not be transmitted because of errors.
 | SNMP agent |
ifOutErrors[{#SNMPVALUE}]
Update: 60

LLD
 |
| Outgoing traffic on interface $1 |
The number of octets transmitted in MAC frames on this interface, including the MAC header and FCS.
 | SNMP agent |
ifOutOctets[{#SNMPVALUE}]
Update: 60

LLD
 |
| {#SNMPVALUE} allocated units |
-
 | SNMP agent |
memAllocated[{#SNMPVALUE}]
Update: 60

LLD
 |
| {#SNMPVALUE} size |
-
 | Calculated |
memSize[{#SNMPVALUE}]
Update: 60

LLD
 |
| {#SNMPVALUE} units |
-
 | SNMP agent |
memUnits[{#SNMPVALUE}]
Update: 3600

LLD
 |
| Available bytes on pool {#SNMPVALUE} |
The number of available bytes (rounded to 1 MB blocks) on the volume.
 | SNMP agent |
vfs.fs.size[{#SNMPVALUE},free]
Update: 60

LLD
 |
| Health of pool {#SNMPVALUE} |
The current health of the containing pool, as reported by zpool status. online(1), degraded(2), faulted(3), unknown(4)
 | SNMP agent |
zfsPoolHealth[{#SNMPVALUE}]
Update: 60

LLD
 |
| IO Read Ops on pool {#SNMPVALUE} |
The number of read I/O operations sent to the pool or device.
 | SNMP agent |
vfs.fs.iops[{#SNMPVALUE},read]
Update: 60

LLD
 |
| IO Write Ops on pool {#SNMPVALUE} |
The number of write I/O operations sent to the pool or device.
 | SNMP agent |
vfs.fs.iops[{#SNMPVALUE},write]
Update: 60

LLD
 |
| Name of pool #$1 |
The name of the filesystem type Volume
 | SNMP agent |
zfsPoolName[{#SNMPINDEX}]
Update: 3600

LLD
 |
| Read bandwidth on pool {#SNMPVALUE} |
the bandwidth of all read operations (including metadata), expressed as units per second
 | SNMP agent |
vfs.fs.bandwidth[{#SNMPVALUE},read]
Update: 60

LLD
 |
| Size of pool {#SNMPVALUE} |
The number of bytes (rounded to 1 MB blocks) part of the volume.
 | SNMP agent |
vfs.fs.size[{#SNMPVALUE},total]
Update: 60

LLD
 |
| Usage of pool {#SNMPVALUE} |
Used percentage of the pools capacity
 | Calculated |
vfs.fs.size[{#SNMPVALUE},pfree]
Update: 60

LLD
 |
| Used bytes on pool {#SNMPVALUE} |
The number of bytes (rounded to 1 MB blocks) that are used.
 | SNMP agent |
vfs.fs.size[{#SNMPVALUE},used]
Update: 60

LLD
 |
| Write bandwidth on pool {#SNMPVALUE} |
the bandwidth of all write operations expressed as units per second
 | SNMP agent |
vfs.fs.bandwidth[{#SNMPVALUE},write]
Update: 60

LLD
 |
| Name | Description | Expression | Priority |
|---|---|---|---|
| Operational status was changed on {HOST.NAME} interface {#SNMPVALUE} |
-
 |
Expression: (last(/SNMP FreeNAS/ifOperStatus[{#SNMPVALUE}],#1)<>last(/SNMP FreeNAS/ifOperStatus[{#SNMPVALUE}],#2))=1

Recovery expression:
 | information |
| Free disk space is less than 20% on volume {#SNMPVALUE} |
-
 |
Expression: last(/SNMP FreeNAS/hrStorageUsed[{#SNMPVALUE}]) / last(/SNMP FreeNAS/hrStorageSize[{#SNMPVALUE}]) > 0.8

Recovery expression:
 | warning |
| Pool {#SNMPVALUE} is DEGRADED! |
Your pool {#SNMPVALUE} is in degraded state. online(1), degraded(2), faulted(3), unknown(4)
 |
Expression: last(/SNMP FreeNAS/zfsPoolHealth[{#SNMPVALUE}])=2

Recovery expression:
 | high |
| Pool {#SNMPVALUE} is FAULTED! |
Your pool {#SNMPVALUE} is in faulted state. You are in trouble
 |
Expression: last(/SNMP FreeNAS/zfsPoolHealth[{#SNMPVALUE}])=3

Recovery expression:
 | disaster |
| Pool {#SNMPVALUE} is in UNKNOWN state |
Your pool {#SNMPVALUE} is in unknown state. You are in trouble, I really hope you have a backup
 |
Expression: last(/SNMP FreeNAS/zfsPoolHealth[{#SNMPVALUE}])=4

Recovery expression:
 | disaster |
| Pool {#SNMPVALUE} usage is over 80% |
Your pool {#SNMPVALUE} is more than 80% full! It is a known fact that performance will degrade significantly. Please free up some space.
 |
Expression: last(/SNMP FreeNAS/vfs.fs.size[{#SNMPVALUE},pfree])>80

Recovery expression:
 | average |
| Free disk space is less than 20% on volume {#SNMPVALUE} (LLD) |
-
 |
Expression: last(/SNMP FreeNAS/hrStorageUsed[{#SNMPVALUE}]) / last(/SNMP FreeNAS/hrStorageSize[{#SNMPVALUE}]) > 0.8

Recovery expression:
 | warning |
| Operational status was changed on {HOST.NAME} interface {#SNMPVALUE} (LLD) |
-
 |
Expression: (last(/SNMP FreeNAS/ifOperStatus[{#SNMPVALUE}],#1)<>last(/SNMP FreeNAS/ifOperStatus[{#SNMPVALUE}],#2))=1

Recovery expression:
 | information |
| Pool {#SNMPVALUE} is DEGRADED! (LLD) |
Your pool {#SNMPVALUE} is in degraded state. online(1), degraded(2), faulted(3), unknown(4)
 |
Expression: last(/SNMP FreeNAS/zfsPoolHealth[{#SNMPVALUE}])=2

Recovery expression:
 | high |
| Pool {#SNMPVALUE} is FAULTED! (LLD) |
Your pool {#SNMPVALUE} is in faulted state. You are in trouble
 |
Expression: last(/SNMP FreeNAS/zfsPoolHealth[{#SNMPVALUE}])=3

Recovery expression:
 | disaster |
| Pool {#SNMPVALUE} is in UNKNOWN state (LLD) |
Your pool {#SNMPVALUE} is in unknown state. You are in trouble, I really hope you have a backup
 |
Expression: last(/SNMP FreeNAS/zfsPoolHealth[{#SNMPVALUE}])=4

Recovery expression:
 | disaster |
| Pool {#SNMPVALUE} usage is over 80% (LLD) |
Your pool {#SNMPVALUE} is more than 80% full! It is a known fact that performance will degrade significantly. Please free up some space.
 |
Expression: last(/SNMP FreeNAS/vfs.fs.size[{#SNMPVALUE},pfree])>80

Recovery expression:
 | average |


The purpose of this sample is to demonstrate the ability to use the hawkular-chart tag outside of a full blown angular application. It's an Angular tag so it will still require Angular but eliminating many of the dependencies of the application and getting it down to Angular and a couple libs and css dependencies is the goal. Placing the tag in a normal html web page and have it retrieve and update data is the objective. We are not there yet but here is the first pass.
InstructionsExplanation: Examining the source code, there is an app and a controller required to render the angular directive. The StandAloneController is just a dummy controller required to render directives(tags). It doesn't really do anything just required for Angular directives. After that, the only thing that is needed for use is some hawkular-chart tags with relevant metric-id and metric-url attributes. So this will all be boiled down to several additional lines of code (< 5) to support angular tags in pages; with one angular tag for each chart.


SimpleXMLElement::count
(PHP 5 >= 5.3.0, PHP 7)
SimpleXMLElement::count — Counts the children of an element
说明
public int SimpleXMLElement::count ( void )
This method counts the number of children of an element.
返回值
Returns the number of elements of an element.
范例
Example #1 Counting the number of children
EOF;
$elem = new SimpleXMLElement($xml);
foreach ($elem as $person) {
printf("%s has got %d children.\n", $person['name'], $person->count());
}
?>
以上例程会输出：
Person 1 has got 3 children.
Person 2 has got 5 children.
参见
• SimpleXMLElement::children() - Finds children of given node
User Contributed Notes 1 note
===============================================================================
Alternative code for PHP < 5.3:
count(); // PHP > 5.3
$count = count($node->children()); // PHP < 5.3
?>


{{ $img := .Resources.GetMatch "banner.jpg" }}
I am excited to design and sew your dreams and ideas into tangible concepts, working models, prototypes and production–ready products."


{% assign cat = page.url | remove:'/ideas/' | remove:'/' %}
The ideas listed on this page do not necessarily have all the implementation details such as scripts, and code. This is a list of all possible automations for '{{ cat }}' category, and is purely meant to promote creative thinking among the home-automation enthusiasts 😂
If you think of any critical/obvious automations that are missing, or have better automations, please share here!
| Event/Trigger(s): |
{% assign triggers = dropdown_link.trigger | split: '|' %}
{% for x in triggers %}
{{ forloop.index }}. {{ x }} {% if forloop.index != forloop.length %}, OR {% endif %}
{% endfor %} |
|---|---|
| Condition(s): |
{% assign conditions = dropdown_link.condition | split: '|' %}
{% for y in conditions %}
{{ forloop.index }}. {{ y }} {% if forloop.index != forloop.length %}, AND {% endif %}
{% endfor %} |
| Action(s): |
{% assign actions = dropdown_link.action | split: '|' %}
{% for z in actions %}
{{ forloop.index }}. {{ z }} {% if forloop.index != forloop.length %}, AND {% endif %}
{% endfor %} |
| Why do you need this automation? | {{ dropdown_link.usecase }} |
| ✅ Additional details are available for this automation. click here to read more! |


Savegame Editor
for Kid Icarus: Uprising
by
Marc Robledo
See on GitHub
Donate
Close file
Save changes
Hearts
Current hearts
Hearts offered to Palutena
Hearts offered to Viridi
Unlock unreleased trophies
Unlock
Stats
Weapons
Weapon slot
Weapon type
Ranged stars
Melee stars
Modifier 1
Modifier 2
Modifier 3
Modifier 4
Modifier 5
Modifier 6
Approximate value:


Hover over palavras portuguesas to see their translation.
Go over the materials at your own pace, and let your curiosity lead you to where you want to go. Feel free to skip chapters, skim through them, do questionnaires whenever or not at all. It's your learning experience after all!


Toggle navigation
FHIR Simple Demo Application
Dashboard
Modules
Patients
Practitioners
Encounters
Appointments
Claims
Conditions
Allergies
OIDC Demo
API Documentation
▶ Dashboard
Patients
Practitioners
Encounters
Appointments
Claims
Conditions
Allergies
Dashboard
Source: InterSystems IRIS FHIR API
>
>
>
Features - Click the links below for a demo
Searchable fields
Sortable fields
Pagination
Related resources
Clickable reference field
Dynamic data transformation
Charts & Metrics


A Show is running
We are currently performing by .
If you are a nerd: Go to on freenode
If you are not a nerd: Click here
Next Show in
Currently no play has been voted for. Select one at the bottom and give your vote. You may even select a different channel if you wish to.
The upcoming play will be by . If you would like to see a different play performed by us, please give your vote below.
Repertoire
About
closeWe are a flying circus company of sophisticated robots playing your favorite scenes in online chats. Every 15 minutes a new show starts on freenode. You can decide what we play next and where. Vote on the page and and wait for the next show to begin.
FAQ
What does "Wandercircus" mean?
The german word "Wanderzirkus" means flying circus, but that .com-domain was already taken, so we moved on to this english-german mix word. Serendipity-Bonus: the word contains IRC!
Who built you? And why?
Our creators are @freenerd, @kreichgauer, @m_schneider, and @stefanwehrmeyer. They built us during the Node.js Knockout August 2011 for fun, ??? and profit.
Where can I see the show?
When a show is running it's location is shown on the website. If you are a nerd, just join the displayed channel on chat.freenode.net. If you are not a nerd, there is a link displayed to open a webchat in your browser.
Are you spammers?
No, we are artists. If you feel that we are spamming your channel, please write "stop show" during the performance and we will move on.
How can I contact you?
Write us on twitter at @wandercircus
Nice Clown ...
Thanks. But it's not ours. It's the Pagliaccibot by JoeAlterio under CC-BY-NC-ND 2.0


november 28, 2014
Everything we learn is through feedback, It is kind of obvious but we don't really think much about it. At Dev Boot Camp we are thought that feedback is crucial to our leaning. The easiest example of learning is watching kids and all the experimenting they do. We learn by experimenting, can I touch that? Is it hot? Cold? Can I walk faster? Can I run? Can I flip? Can I jump higher?
For the most part, we do not get constant feedback as adults. Think about your job or your school? How often is feedback? Is it enough?
At DBC we are given feedback at the end of every week for every time we work on a challenge with someone. Challenges typically last an hour to two hours and students work in pairs(sometimes a pair and a guide) to solve them. Do you get feedback from other students at your school every time you work together? From you teacher/professor? Is it one evaluation per semester? From your meetings during the week at work? It is intimidating to know you will receive feedback from all your pairing sessions/meetings/ etc… but it is a great tool to know what you are doing right and what you are doing wrong and what you can improve.
There are 3 rules to give feedback, it has to be actionable, specific and kind. The best way to explain it is giving you an example of good feedback.
Feedback Example
It was great to work with you. You are very patient and have a great way to explain your thought process. I particularly liked the way you explained how we could get rid of steps 5-6 in the algorithm. For actionable feedback I would suggest that you take a few moments to outline the way you want to solve the problem, I felt you jumped into the problem too quickly before we could agree on the goal for the meeting. Other than that, great job!
My personal take on the feedback I’ve received at DBC is that it works. I‘ve received some great actionable feedback on things I can do better and improve and I really like that it is specific on things I do correctly that my pairing partner appreciate or benefit from. What really drew my attention is how negative we can be with ourselves. In one pairing session where I had a guide and a pair to work through a coding challenge I felt that I did not do a very good job and that I was way behind the material. However, when I received the feedback from that session I realize the complete opposite, that I was technically ahead with/of the curriculum. It easy how we can be so negative about ourselves and it is great to know that sometimes we are doing better than what you actually think.
Stay tuned for more,
Andy-dev —OVER AND OUT


Recognize group
Recognize custom tags
Recognize time entries
Recognize priority (medium, high, critical)
Recognize points
Display card numbers
Display full-sized labels
Beautify Card Description
Hide "Activity" entries
Apply custom background
Show list stats
Use progress bar in list stats
Compact Board
Hide "Add a list.." input
Apply custom CSS


I am a Graphics and Web Designer with stunning skills that helps people create their own online identity and to create impressive and mind-blowing graphics. Web Designing is an essential thing for online commercing and I can help you do it better.
Whether you're a student looking for help or a professional looking to attract clients. Feel free to contact me. Graphics increase the attraction and makes your site look breathtaking. So come on, Let's create something astonishing.


@@include('../partials/head/head.html', { "title": "bootstrap-jumbotron", "path": "../.." })
This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.
It uses utility classes for typography and spacing to space content out within the larger container.
Learn moreThis is a modified jumbotron that occupies the entire horizontal space of its parent.


Maximum Contiguous Sum
I have been reading Programming Pearls by Jon Bentley. It's an old school book about programming. One of the problem posed by is from image processing, to find the maximum contiguous sum:
For an input vector x of n [integers]; the output is the maximum sum found in any contiguous subvector of the input.
For instance, if the input vector contains these ten elements: (31, -41, 59, 26, -53, 58, 97, -93, -23, 84) then the program returns the sum of x[2...6], or 187. The problem is easy when all the numbers are positive; the maximum subvector is the entire input vector. The rub comes when some of the numbers are negative: should we include a negative number in hopes that positive numbers on either side will compensate for it? To complete the problem definition , we'll say that when all inputs are negative the maximum-sum subvector is the empty vector, which has sum zero.
Its straight forward to find an inefficient solution, but harder to find a solution which copes well with large n.
The idea for my solution is shown in the picture. Loop through the vector adding up the values as you go, making the sum. Keep track of the minimum sum so far. If the difference between rolling sum and the minimum sum is a new best value, update the best value.
private int Mcs(int[] vec)
{
int minSum = 0;
int bestSum = 0;
int sum=0;
for (int i = 0; i < vec.Length; i++)
{
sum += vec[i];
if (sum < minSum)
minSum = sum;
if ((sum - minSum) > bestSum)
bestSum = sum - minSum;
}
return bestSum;
}
It's not ground breaking stuff, but I was pleased all the same to find an O(n) solution.


Cake uses a dependency based programming model just like Rake, FAKE and similar build automation systems where you declare tasks and the dependencies between those.
To define a new task, use the Task
-method.
Task("A")
.Does(() =>
{
});
RunTarget("A");
To add a dependency on another task, use the IsDependentOn
-method.
Task("A")
.Does(() =>
{
});
Task("B")
.IsDependentOn("A");
.Does(() =>
{
});
RunTarget("B");
This will first execute target A
and then B
as expected.
You can also control the flow by providing criterias
. A criteria is a predicate that has to be fulfilled for the task to execute. The criteria does not affect however succeeding task will be executed.
Task("A")
.WithCriteria(DateTime.Now.Second % 2 == 0)
.Does(() =>
{
});
Task("B")
.WithCriteria(() => DateTime.Now.Second % 2 == 0)
.IsDependentOn("A");
.Does(() =>
{
});
RunTarget("B");
Task A
's criteria will be set when the task is created while Task B
's criteria will be evaluated when the task is being executed.
For criterias with states that might change during the execution of the build script, consider using the lambda alternative.
In order to act on an error thrown from an individual task, you can use the OnError
task extension.
This will give you the opportunity to act on the error. If you want the error to propagate as normal, you can rethrow the exception.
Task("A")
.Does(() =>
{
})
.OnError(exception =>
{
// Handle the error here.
});
To automatically swallow errors that occur in a task, you can use the ContinueOnError
task extension.
The ContinueOnError
extension cannot be combined with OnError
.
Task("A")
.ContinueOnError()
.Does(() =>
{
});
If you want to do something before the first or after the last task has been run, you can use Setup
and Teardown
. A use case for this might be when you need to start some kind of server and want to make sure it gets teared down properly.
Setup(() =>
{
// Executed BEFORE the first task.
});
Teardown(() =>
{
// Executed AFTER the last task.
});
Setup will only be called if a call to RunTarget
is made and the dependency graph is correct. If Cake doesn't run any tasks, neither Setup
or Teardown
will be called.


Home
About Us
Newsroom
Bureaus
Initiatives
Schemes
Education
Opportunities
Statistics
Bulletins
Admin's Area
Click Here
College's Area
Click Here
Mentor's Area
Click Here
Student's Area
Click Here


Match Play. Double Match Point. How should Red play 62?
pips Red=96 White=76
(CorrectAnswer= 0/0, ErrorScore= 0)
Looks like the quizmaster got one over on the readers here!
Because it is DMP many will have gone for bar/19, 6/4* but that play is a small error. It is not yet time for desperate measures and Red should hold on to his five-point home board.
When I had this position I chose bar/19, 16/14, minimising shots – 19 of them but including a perfect double fives. XG prefers bar/19/17 with 21 shots – why? I believe it is that there is very real duplication of sixes for White (six to hit, six to cover). And the perfect 55 for White after bar/19, 16/14 probably comes into the equity calculations.
What I didn’t expect was that bar/19, 16/14 would be flagged as a blunder! Bar/19, 5/3 is actually rated as much better than bar/19, 16/14.
Because it is DMP many will have gone for bar/19, 6/4* but that play is a small error. It is not yet time for desperate measures and Red should hold on to his five-point home board.
When I had this position I chose bar/19, 16/14, minimising shots – 19 of them but including a perfect double fives. XG prefers bar/19/17 with 21 shots – why? I believe it is that there is very real duplication of sixes for White (six to hit, six to cover). And the perfect 55 for White after bar/19, 16/14 probably comes into the equity calculations.
What I didn’t expect was that bar/19, 16/14 would be flagged as a blunder! Bar/19, 5/3 is actually rated as much better than bar/19, 16/14.
1. Cubeful 2-ply bar/17 Eq.: +0.099 0.550 0.112 0.003 - 0.450 0.064 0.001 2. Cubeful 2-ply bar/19 5/3 Eq.: +0.061 (-0.038) 0.531 0.111 0.002 - 0.469 0.074 0.001 3. Cubeful 2-ply bar/19 6/4* Eq.: +0.039 (-0.060) 0.520 0.174 0.004 - 0.480 0.224 0.005 4. Cubeful 2-ply bar/19 16/14 Eq.: -0.005 (-0.104) 0.498 0.116 0.003 - 0.502 0.072 0.001 5. Cubeful 0-ply bar/19 8/6 Eq.: -0.118 (-0.217) 0.441 0.090 0.001 - 0.559 0.128 0.002


Module Class
This is a parent class that all PICKLES modules should be extending. Each module can specify it's own meta data and whether or not a user must be properly authenticated to view the page. Currently any pages without a template are treated as pages being requested via AJAX and the return will be JSON encoded. In the future this may need to be changed out for logic that allows the requested module to specify what display type(s) it can use.
Located in /classes/Module.php (line 28)
Object | --Module
Database object
Meta description
Default display engine
Defaults to PHP but could be set to JSON, XML or RSS. Value is overwritten by the config value if not set by the module.
Hash
Whether or not to validate the security hash. Boolean true will indicate using the name of the module as the hash, a string value will use the value instead.
Meta keywords (comma separated)
Method
Request methods that are allowed to access the module.
Private
Whether or not the page can be accessed directly.
Secure
Whether or not the page should be loaded via SSL.
Security settings of the page
Session
Whether or not a session should be established.
Default template
Defaults to null but could be set to any valid template basename. The value is overwritten by the config value if not set by the module. The display engine determines what the file extension should be.
Page title
Inherited from Object
Object::$config
Object::$instances
Constructor
The constructor does nothing by default but can be passed a boolean variable to tell it to automatically run the __default() method. This is typically used when a module is called outside of the scope of the controller (the registration page calls the login page in this manner.
Sets the Request
Default "Magic" Method
This function is overloaded by the module. The __default() method is where you want to place any code that needs to be executed at runtime. The reason the code isn't in the constructor is because the module must be instantiated before the code is executed so that the controller script is aware of the authentication requirements.
Magic Getter Method
Attempts to load the module variable. If it's not set, will attempt to load from the config.
Magic Setter Method
Prohibits the direct modification of module variables.
Inherited From Object
Object::__construct()
Object::getInstance()
Object::__destruct()
Documentation generated on Fri, 24 Dec 2010 19:43:54 -0500 by phpDocumentor 1.4.3


Encoded Polyline Algorithm Format
Encoded polylines store two types of encoded information for any given set of points: the
latitude and longitudes of those points, and the maximum zoom levels to display these points.
Levels are encoded using unsigned values, while point coordinates need to use signed values,
so the encoding process is slightly different for each case. This process is noted below.
If you only have a few static points, you may also wish to use the interactive
polyline encoding utility.
Encoding Latitudes and Longitudes
The encoding process converts a binary value into a series of character codes for
ASCII characters using the familiar base64 encoding scheme: to ensure proper display
of these characters, encoded values are summed with 63 (the ASCII character '?')
before converting them into ASCII. The algorithm also checks for additional
character codes for a given point by checking the least significant bit of each
byte group; if this bit is set to 1, the point is not yet fully formed and
additional data must follow.
Additionally, to conserve space, points only include the offset from the
previous point (except of course for the first point). All points are encoded
in Base64 as signed integers, as latitudes and longitudes are signed values.
The encoding format within a polyline needs to represent two coordinates
representing latitude and longitude to a reasonable precision. Given a maximum
longitude of +/- 180 degrees to a precision of 5 decimal places
(180.00000 to -180.00000), this results in the need for a 32 bit signed
binary integer value.
Note that the backslash is interpreted as an escape character
within string literals. Any output of this utility should convert backslash
characters to double-backslashes within string literals.
The steps for encoding such a signed value are specified below.
- Take the initial signed value:
-179.9832104
- Take the decimal value and multiply it by 1e5, rounding the result:
-17998321
- Convert the decimal value to binary. Note that a negative value must be
calculated using its
two's complement by inverting the binary value and adding one to the result:
00000001 00010010 10100001 11110001
11111110 11101101 01011110 00001110
11111110 11101101 01011110 00001111
- Left-shift the binary value one bit:
11111101 11011010 10111100 00011110
- If the original decimal value is negative, invert this encoding:
00000010 00100101 01000011 11100001
- Break the binary value out into 5-bit chunks (starting from the right hand side):
00001 00010 01010 10000 11111 00001
- Place the 5-bit chunks into reverse order:
00001 11111 10000 01010 00010 00001
- OR each value with 0x20 if another bit chunk follows:
100001<PHONE_NUMBER>00<PHONE_NUMBER>10 000001
- Convert each value to decimal:
33 63 48 42 34 1
- Add 63 to each value:
96 126 111 105 97 64
- Convert each value to its ASCII equivalent:
`~oia@
The table below shows some examples of encoded points, showing the
encodings as a series of offsets from previous points.
Example
Points: (38.5, -120.2), (40.7, -120.95), (43.252, -126.453)
| 38.5 |
-120.2 |
3850000 |
-12020000 |
+3850000 |
-12020000 |
_p~iF |
~ps|U |
_p~iF~ps|U |
| 40.7 |
-120.95 |
4070000 |
-12095000 |
+220000 |
-75000 |
_ulL |
nnqC |
_ulLnnqC |
| 43.252 |
-126.453 |
4325200 |
-12645300 |
+255200 |
-550300 |
_mqN |
vxq`@ |
_mqNvxq`@ |
Encoded polyline: _p~iF~ps|U_ulLnnqC_mqNvxq`@
Encoding Levels
An encoded polyline also stores information specifying the precision when
drawing the polyline. This information allows the map to ignore drawing
segments at zoom levels where that precision is not necessary. Each point in
an encoded polyline stores this information in a levels
string
which is also encoded alongside the encoded points.
Note: this encoded "level" does not correspond directly to a zoom level,
though they are related. More accurately, the numLevels
parameter
divides up the existing zoom levels (currently 18) into groups of zoom levels.
For example, given a numLevels
value of 4, the zoom levels are
grouped together into the following levels:
| Level 0 |
Zoom levels 0-5 |
| Level 1 |
Zoom levels 6-10 |
| Level 2 |
Zoom levels 11-14 |
| Level 3 |
Zoom levels 15-18 |
An encoded level value of 3 in this case would ensure that a point appears in all
zoom level, while a level of 0 will ignore points specified beyond zoom level 5. The
endpoints of a polyline should often be set to the largest encoded level, to ensure
that the endpoints will appear in all zoom levels and the line is drawn correctly.
For optimization, the zoomFactor
parameter should reflect the
approximate magnification between the different zoom level groups specified in
numLevels
. For example, given a doubling for each zoom level and
about 4 zoom levels in each group, this value should be set to 16.
These level values are encoded in base64 as unsigned integers. Note that because
level values are generally small, they shouldn't cross a 5-bit boundary; this
results in level encodings being very simple: the value is simply added to 63.
However, the encoding process below assumes you convert to a binary value and
back again, and your code should perform this conversion in case the value of
levels changes in an API revision.
The steps for encoding an unsigned value are specified below:
- Take the initial unsigned value:
174
- Convert the decimal value to a binary value:
10101110
- Break the binary value out into 5-bit chunks (starting from the right hand side):
101 01110
- Place the 5-bit chunks into reverse order:
01110 101
- OR each value with 0x20 if another bit chunk follows:
101110 00101
- Convert each value to decimal:
46 5
- Add 63 to each value:
109 68
- Convert each value to its ASCII equivalent:
mD


#primary_key_type
[ GitHub ]159 160 161
# File 'activerecord/lib/active_record/reflection.rb', line 159
def primary_key_type klass.type_for_attribute(klass.primary_key) end
123456789_123456789_123456789_123456789_123456789_
| Inherits: |
Object
|
| Child Classes: | |
| Direct Subclasses: | MacroReflection, ThroughReflection |
| Defined in: |
Holds all the methods that are shared between MacroReflection and ThroughReflection.
AbstractReflection
MacroReflection
AggregateReflection
AssociationReflection
HasManyReflection
HasOneReflection
BelongsToReflection
HasAndBelongsToManyReflection
ThroughReflection
PolymorphicReflection
RuntimeReflection
Returns a new, unsaved instance of the associated class.
Returns the class name for the macro.
Returns whether a counter cache should be used for this association.
Alias for #inverse_which_updates_counter_cache.

The counter_cache option must be given on either the owner or inverse association, and the column must be present on the owner.
233 234 235 236 237
# File 'activerecord/lib/active_record/reflection.rb', line 233
def has_cached_counter? [:counter_cache] || inverse_which_updates_counter_cache && inverse_which_updates_counter_cache.[:counter_cache] && !!active_record.columns_hash[counter_cache_column] end
193 194 195 196 197
# File 'activerecord/lib/active_record/reflection.rb', line 193
def inverse_of return unless inverse_name @inverse_of ||= klass._reflect_on_association inverse_name end
Alias for #inverse_which_updates_counter_cache.
223
# File 'activerecord/lib/active_record/reflection.rb', line 223
alias inverse_updates_counter_cache? inverse_which_updates_counter_cache
225 226 227
# File 'activerecord/lib/active_record/reflection.rb', line 225
def inverse_updates_counter_in_memory? inverse_of && inverse_which_updates_counter_cache == inverse_of end
This shit is nasty. We need to avoid the following situation:
* An associated record is deleted via record.destroy
* Hence the callbacks run, and they find a belongs_to on the record with a
:counter_cache options which points back at our owner. So they update the
counter cache.
* In which case, we must make sure to *not* update the counter cache, or else
it will be decremented twice.
Hence this method.
217 218 219 220 221 222
# File 'activerecord/lib/active_record/reflection.rb', line 217
def inverse_which_updates_counter_cache return @inverse_which_updates_counter_cache if defined?(@inverse_which_updates_counter_cache) @inverse_which_updates_counter_cache = klass.reflect_on_all_associations(:belongs_to).find do |inverse| inverse.counter_cache_column == counter_cache_column end end
173 174 175
# File 'activerecord/lib/active_record/reflection.rb', line 173
def join_keys(association_klass) JoinKeys.new(foreign_key, active_record_primary_key) end
159 160 161
# File 'activerecord/lib/active_record/reflection.rb', line 159
def primary_key_type klass.type_for_attribute(klass.primary_key) end
155 156 157
# File 'activerecord/lib/active_record/reflection.rb', line 155
def quoted_table_name klass.quoted_table_name end
145 146 147
# File 'activerecord/lib/active_record/reflection.rb', line 145
def table_name klass.table_name end
141 142 143
# File 'activerecord/lib/active_record/reflection.rb', line 141
def through_reflection? false end


Gene sets¶
We partition the composite genomes of multiple species into functional gene sets. This is because Xenopus is not among the most completely annotated taxa. In this analysis we consider several ways to generate gene sets. More specifically, the annotation information used may come from a list of different species or we may include/exclude specific evidence codes. The result is always a list of functional gene sets. The majority of annotations in the GO are automatically inferred and the are non-curated. They use specifically the IEA
evidence code. When IEA
is excluded we use only curated annotations.
We are most interested in the following two species of frog. However, there are other well-annotated species that can help create functional gene sets.
Taxon ID |
Scientific Name |
Common Name |
|---|---|---|
8355 |
Xenopus laevis |
African clawed frog |
8364 |
Xenopus (Silurana) tropicalis |
western clawed frog |
Xenopus annotation Summary¶
In general annotations may be associated directly with an NCBI GeneID or they may be associated with a gene product that has an assigned Uniprot accession (UniprotKB-AC) ID. All UniprotKB-AC accessions are mapped to UniprotKb-entries. To clarify the following tables.
taxon
- matches with the taxon summary table on the top of the page
genes (annots)
- The number of unique GeneIDs from NCBI that are associated with a given taxon
uniprot (annots)
- The identifiers from uniprot (non-unique) that are associated with a given taxon
coding-genes
- GeneIDs that have at least one associated uniprot identifier
combined
- uniprot and gene annotations with redundant annotations removed
coverage
-combined
divided bygenes
The combined
number of annotations may be less than the total observed annotations because multiple uniprot ids may map to a single gene id.
Including IEA evidence¶
Taxon |
genes (annots) |
uniprot (annots) |
coding-genes |
combined |
coverage |
|---|---|---|---|---|---|
8355 |
13531 (0) |
3385 (3187) |
2957 |
2773 |
20.4937 |
8364 |
24817 (0) |
1701 (1565) |
1615 |
1485 |
5.9838 |
Excluding IEA evidence¶
Taxon |
genes (annots) |
uniprot (annots) |
coding-genes |
combined |
coverage |
|---|---|---|---|---|---|
8355 |
13531 (0) |
3385 (1254) |
2957 |
1145 |
8.4621 |
8364 |
24817 (0) |
1701 (633) |
1615 |
592 |
2.3855 |
Annotation of other model organisms¶
Taxon |
Scientific Name |
Common Name |
|---|---|---|
10090 |
Mus musculus |
house mouse |
9606 |
Homo sapiens |
human |
7227 |
Drosophila melanogaster |
fruit fly |
7955 |
Danio rerio |
leopard danio |
Including IEA evidence¶
Taxon |
genes (annots) |
uniprot (annots) |
coding-genes |
combined |
coverage |
|---|---|---|---|---|---|
10090 |
69347 (18938) |
16671 (15735) |
15619 |
19006 |
27.4071 |
9606 |
47736 (18114) |
140289 (100435) |
18921 |
18244 |
38.2185 |
7227 |
23387 (11563) |
40464 (26100) |
13543 |
11870 |
50.7547 |
7955 |
36579 (14990) |
2926 (2697) |
2669 |
15069 |
41.1958 |
Excluding IEA evidence¶
Taxon |
genes (annots) |
uniprot (annots) |
coding-genes |
combined |
coverage |
|---|---|---|---|---|---|
10090 |
69347 (15763) |
16671 (11428) |
15619 |
15842 |
22.8445 |
9606 |
47736 (14077) |
140289 (17803) |
18921 |
14263 |
29.8789 |
7227 |
23387 (10338) |
40464 (12648) |
13543 |
10500 |
44.8967 |
7955 |
36579 (3962) |
2926 (1261) |
2669 |
4006 |
10.9516 |


This example demonstrates automatic panning and zooming from location to location.
Here's the full example:


Task history
"{{task.description}}"
This shows a summary of all the times you have activated the task
"{{task.description}}" for your students, as well as a pooled total result.
{% for entry in taskentries %}
Correct answers: {{entry.correct_answers}} |
Wrong answers: {{entry.wrong_answers}} |
Timed out answers: {{entry.timeout_answers}}
{{entry.timestamp}}
{%endfor%}
Total for this task:
Correct: {{total_correct_answers}} |
Wrong: {{total_wrong_answers}} |
Timed out: {{total_timeout_answers}}


Admin Basic Info
Treat Date :
*
Invalid date
Treat Time :
Choose Treat Type
{{tType}}
*
Please enter treatType
Treat type is required.
Choose Category
{{category}}
*
Please enter category
Next


It is common for the product development world to categorize organizations as either ‘Product centric’ or ‘Customer centric’ and stress on the point that you need to be ‘Customer centric’ to sremain successful. In my opinion, there are no separate entities called ‘Product centric’ and ‘Customer centric’ . Every product development company needs to be ‘product centric’ and every product being built needs to be ‘Customer centric’. This results in compounding the customer satisfaction. Especially when you are building public facing enterprise products targeting a million or a billion users, it is critical to understand both the customers and the product, and to maintain harmony between them. Its important not to be too focused on individual customers so that we keep the product generic and are solving the problems we intend to solve.
It is not only important to have a vision and process, but also execute them through the product. More than our sales representatives and advertisements, it’s the product that the customers spend more time with.
- Build the products that speak to the customers.
- Build the products that listen to the customers.
- Build the products that educate the customers.
Listed below are some things we follow which, i think are the efforts towards building such products.
DESIGN AND DEVELOPMENT:
Always go for small and focused product development teams. This worked very well for us. Being a small and focused team, we have an ideal combination here where the designers and the developers work very closely on products. The principles followed during the designs are to keep things consistent and intuitive. Every screen and behavior is designed and decided in a way that it not only looks visually appealing but is also functionally efficient. One example of a good design comes from one of our learning products is that any trainer can set up a site in a few seconds, create courses and start teaching.
We focus on giving the best experience not only to the professionals but also beginners. A great way to measure this is through customer calls. We aim at receiving minimum calls from the users asking us about a certain feature. If there is a feature which is not intuitive enough, it will not be delivered to the end user until it gets simplified.
Apart from this, we also understand that the users make mistakes. Hence, we make the user interface forgiving by providing the options to recover from errors.
Developers not only play a vital role in transforming the design into a functional product but also in enhancing the designs. Developers take initiatives to make complex things simple. They don’t hesitate writing a few thousand lines of extra code to simplify the customer’s job. For example, setting up own domain is automated so that even the users with little technical knowledge can do these things with the click of a button. Every feature is built in a way that it scales. So customers don’t have to worry about peak traffic hours. Dev-ops team contributes in identifying and fixing the scalability problems.
Hence, there is a perfect co-ordination among the teams which results in a highly efficient customer experience.
REVIEW AND EVOLVE:
Product goes through a number of reviews before and after the release. Before the release, review happens by paying attention to each and every detail so that a pixel perfect product is delivered. Each page, section and string is reviewed carefully so that customers do not find any faulty or ambiguous behavior. We believe that a product is never complete. Once it is released, efforts will be made in an iterative fashion to have the things improved and simplified. One example is that we keep upgrading the User Interface various rounds with a view of improving the experience every time and keep it up to date.
SUPPORT:
This is a critical factor in keeping the customers happy. We do not hold a huge support team for any of the products but product itself is built in a way to help the support process more efficient. We support our customers in two ways:
1. Proactive support:
We do not wait for the customers to report the issues back but product itself keeps monitoring various customer interactions to identify problems. Exception notifiers, real time monitoring and google analytics play an important role in identifying issues proactively and fix them without customers having to report. This is an example of product listening to the customers
2. Reactive support:
This happens when customer requests for help about the product. Reaching out to the support team has been made very simple and we typically respond as soon as possible. Developers are closely involved in this part as well and so far there are not many customer questions that are left unanswered.
In conclusion, all the processes are product centric with the customers in mind. This helps us in pushing the limits of the old 80-20 rule (if 80% of your customers are happy, you are successful) by keeping the happy customers percentage as close to 100 as possible.


Upload Financial Report to the Website
- Please note that prior to doing anything in the production environment you can test in the sandbox environment first. This environment is used for testing and is not seen by members.
- Your webmaster will also help with any questions you may have.
- Login to your account on raleighhog.com
- Navigate to the Financial Reports page
- Hover the mouse pointer (do not click) over "My Account"
- When the dropdown appears click "Financial Reports"
- Click the Edit tab. See image below
- Double click on the title to highlight the report you want to add (April will be used as an example for this tutorial) and then click the link icon in the Body toolbar (outlined in the image). See image below
- Upload the financial report PDF file on your local machine to the server as follows
- In the pop-up window that opens click the Browse Server button. See image below
- Click on the shared directory to expand it, then click the financials subdirectory to expand it and then click the 2022_financials subdirectory to expand it. Click the directory name, then click Upload from the toolbar. See image below
- Click the Choose File button and select from your machine the PDF file you want to upload. (This file will be in whichever directory you placed it.) When the file finishes loading click the Upload button. Click the x in the upper right to close the window. See image below
- The PDF has been successfully uploaded to the server
- In the list of files, double click on the file you just uploaded to select it, then click the Upload icon in the toolbar. See image below
- The URL path has been filled in for you. Click the OK button. See image below
- The Financial Report is now a link to the PDF you just successfully uploaded. See image below
- Scroll to the bottom of the page and click the Save button
- You're done. The current month's Financial Report is available/viewable by chapter members.


Id -> 37
Name -> Resort Planet
Type -> Planet
Dimension -> unknown
Residents -> ['https://rickandmortyapi.com/api/character/142', 'https://rickandmortyapi.com/api/character/296', 'https://rickandmortyapi.com/api/character/297', 'https://rickandmortyapi.com/api/character/319', 'https://rickandmortyapi.com/api/character/369']


$
10
/mo
Basic
Thix feature is available 1
Thix feature is available 2
Thix feature is available 3
Thix feature is available 4
Thix feature is available 5
Start Now
$
30
/mo
Professional
Thix feature is available 1
Thix feature is available 2
Thix feature is available 3
Thix feature is available 4
Thix feature is available 5
Start Now
$
50
/mo
Enterprise
Thix feature is available 1
Thix feature is available 2
Thix feature is available 3
Thix feature is available 4
Thix feature is available 5
Start Now


Thank you for agreeing to participate in our study! On the screens that follow, you will be asked to read two brief articles. After completing each article, you will be asked to complete some brief questions about it.
When you are ready to proceed, please click the Next button below.
To conclude, we have a brief survey to collect some demographic information about you. As mentioned previously, this data will only be used to provide greater context into the efficacy of the reading technology. All data will be anonymized.
Thank you for participating in our study! Your code to indicate completion of this HIT is below; please paste it into the box in the open AMT HIT window to finish. Once you've pasted the code into the AMT HIT window, you may close this window.
Your completion code is :
The next article will be presented using a reading technology called Spritz. This technology presents one word at a time in a fixed location.
On the next screen, you will get a chance to practice using the reading technology. This is meant to give you an introduction to using this technology; you will not be tested on the content from this page.
On the following screen will be the article we want you to read. Please follow along to the best of your ability, then answer the questions that follow.
When you're ready to proceed, press the Next button.
On the next screen, you will be asked to read a short article presented on the page. You are welcome to read the article at your preferred pace, but please read the entire article before proceeding to the next step.
When you're ready to proceed, press the Next button.
Based on what you can recall from the reading, please answer each of the following questions to the best of your ability.
Please do not try to go back to the reading while answering these questions. Hitting the back button will invalidate your test, and you will have to start over to get your code.
Based on what you can recall from the reading, please answer each of the following questions to the best of your ability.
Please do not try to go back to the reading while answering these questions. Hitting the back button will invalidate your test, and you will have to start over to get your code.


Taxi Zone
--Select--
Allerton/Pelham Gardens
Alphabet City
Arden Heights
Arrochar/Fort Wadsworth
Astoria
Astoria Park
Auburndale
Baisley Park
Bath Beach
Battery Park
Battery Park City
Bay Ridge
Bay Terrace/Fort Totten
Bayside
Bedford
Bedford Park
Bellerose
Belmont
Bensonhurst East
Bensonhurst West
Bloomfield/Emerson Hill
Bloomingdale
Boerum Hill
Borough Park
Breezy Point/Fort Tilden/Riis Beach
Briarwood/Jamaica Hills
Brighton Beach
Broad Channel
Bronx Park
Bronxdale
Brooklyn Heights
Brooklyn Navy Yard
Brownsville
Bushwick North
Bushwick South
Cambria Heights
Canarsie
Carroll Gardens
Central Harlem
Central Harlem North
Central Park
Charleston/Tottenville
Chinatown
City Island
Claremont/Bathgate
Clinton East
Clinton Hill
Clinton West
Co-Op City
Cobble Hill
College Point
Columbia Street
Coney Island
Corona
Country Club
Crotona Park
Crotona Park East
Crown Heights North
Crown Heights South
Cypress Hills
DUMBO/Vinegar Hill
Douglaston
Downtown Brooklyn/MetroTech
Dyker Heights
East Chelsea
East Concourse/Concourse Village
East Elmhurst
East Flatbush/Farragut
East Flatbush/Remsen Village
East Flushing
East Harlem North
East Harlem South
East New York
East New York/Pennsylvania Avenue
East Tremont
East Village
East Williamsburg
Eastchester
Elmhurst
Elmhurst/Maspeth
Eltingville/Annadale/Prince's Bay
Erasmus
Far Rockaway
Financial District North
Financial District South
Flatbush/Ditmas Park
Flatiron
Flatlands
Flushing
Flushing Meadows-Corona Park
Fordham South
Forest Hills
Forest Park/Highland Park
Fort Greene
Fresh Meadows
Freshkills Park
Garment District
Glen Oaks
Glendale
Governor's Island/Ellis Island/Liberty Island
Gowanus
Gramercy
Gravesend
Great Kills
Great Kills Park
Green-Wood Cemetery
Greenpoint
Greenwich Village North
Greenwich Village South
Grymes Hill/Clifton
Hamilton Heights
Hammels/Arverne
Heartland Village/Todt Hill
Highbridge
Highbridge Park
Hillcrest/Pomonok
Hollis
Homecrest
Howard Beach
Hudson Sq
Hunts Point
Inwood
Inwood Hill Park
JFK Airport
Jackson Heights
Jamaica
Jamaica Bay
Jamaica Estates
Kensington
Kew Gardens
Kew Gardens Hills
Kingsbridge Heights
Kips Bay
LaGuardia Airport
Laurelton
Lenox Hill East
Lenox Hill West
Lincoln Square East
Lincoln Square West
Little Italy/NoLiTa
Long Island City/Hunters Point
Long Island City/Queens Plaza
Longwood
Lower East Side
Madison
Manhattan Beach
Manhattan Valley
Manhattanville
Marble Hill
Marine Park/Floyd Bennett Field
Marine Park/Mill Basin
Mariners Harbor
Maspeth
Meatpacking/West Village West
Melrose South
Middle Village
Midtown Center
Midtown East
Midtown North
Midtown South
Midwood
Morningside Heights
Morrisania/Melrose
Mott Haven/Port Morris
Mount Hope
Murray Hill
New Dorp/Midland Beach
Newark Airport
North Corona
Norwood
Oakland Gardens
Oakwood
Ocean Hill
Ocean Parkway South
Old Astoria
Ozone Park
Park Slope
Parkchester
Pelham Bay
Pelham Bay Park
Pelham Parkway
Penn Station/Madison Sq West
Port Richmond
Prospect Heights
Prospect Park
Prospect-Lefferts Gardens
Queens Village
Queensboro Hill
Queensbridge/Ravenswood
Randalls Island
Red Hook
Rego Park
Richmond Hill
Ridgewood
Rikers Island
Riverdale/North Riverdale/Fieldston
Rockaway Park
Roosevelt Island
Rosedale
Rossville/Woodrow
Saint Albans
Saint George/New Brighton
Saint Michaels Cemetery/Woodside
Schuylerville/Edgewater Park
Seaport
Sheepshead Bay
SoHo
Soundview/Bruckner
Soundview/Castle Hill
South Beach/Dongan Hills
South Jamaica
South Ozone Park
South Williamsburg
Springfield Gardens North
Springfield Gardens South
Spuyten Duyvil/Kingsbridge
Stapleton
Starrett City
Steinway
Stuy Town/Peter Cooper Village
Stuyvesant Heights
Sunnyside
Sunset Park East
Sunset Park West
Sutton Place/Turtle Bay North
Times Sq/Theatre District
TriBeCa/Civic Center
Two Bridges/Seward Park
UN/Turtle Bay South
Union Sq
University Heights/Morris Heights
Upper East Side North
Upper East Side South
Upper West Side North
Upper West Side South
Van Cortlandt Park
Van Cortlandt Village
Van Nest/Morris Park
Washington Heights North
Washington Heights South
West Brighton
West Chelsea/Hudson Yards
West Concourse
West Farms/Bronx River
West Village
Westchester Village/Unionport
Westerleigh
Whitestone
Willets Point
Williamsbridge/Olinville
Williamsburg (North Side)
Williamsburg (South Side)
Windsor Terrace
Woodhaven
Woodlawn/Wakefield
Woodside
World Trade Center
Yorkville East
Yorkville West


|
QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.30
|
#include <ql/pricingengines/vanilla/fdhestonvanillaengine.hpp>
Public Member Functions | |
| MakeFdHestonVanillaEngine (ext::shared_ptr< HestonModel > hestonModel) | |
| MakeFdHestonVanillaEngine & | withQuantoHelper (const ext::shared_ptr< FdmQuantoHelper > &quantoHelper) |
| MakeFdHestonVanillaEngine & | withTGrid (Size tGrid) |
| MakeFdHestonVanillaEngine & | withXGrid (Size xGrid) |
| MakeFdHestonVanillaEngine & | withVGrid (Size vGrid) |
| MakeFdHestonVanillaEngine & | withDampingSteps (Size dampingSteps) |
| MakeFdHestonVanillaEngine & | withFdmSchemeDesc (const FdmSchemeDesc &schemeDesc) |
| MakeFdHestonVanillaEngine & | withLeverageFunction (ext::shared_ptr< LocalVolTermStructure > &leverageFct) |
| MakeFdHestonVanillaEngine & | withCashDividends (const std::vector< Date > ÷ndDates, const std::vector< Real > ÷ndAmounts) |
| operator ext::shared_ptr< PricingEngine > () const | |
Private Attributes | |
| ext::shared_ptr< HestonModel > | hestonModel_ |
| DividendSchedule | dividends_ |
| bool | explicitDividends_ = false |
| Size | tGrid_ = 100 |
| Size | xGrid_ = 100 |
| Size | vGrid_ = 50 |
| Size | dampingSteps_ = 0 |
| ext::shared_ptr< FdmSchemeDesc > | schemeDesc_ |
| ext::shared_ptr< LocalVolTermStructure > | leverageFct_ |
| ext::shared_ptr< FdmQuantoHelper > | quantoHelper_ |
Definition at line 122 of file fdhestonvanillaengine.hpp.
|
explicit |
Definition at line 265 of file fdhestonvanillaengine.cpp.
| MakeFdHestonVanillaEngine & withQuantoHelper | ( | const ext::shared_ptr< FdmQuantoHelper > & | quantoHelper | ) |
Definition at line 269 of file fdhestonvanillaengine.cpp.
| MakeFdHestonVanillaEngine & withTGrid | ( | Size | tGrid | ) |
Definition at line 276 of file fdhestonvanillaengine.cpp.
| MakeFdHestonVanillaEngine & withXGrid | ( | Size | xGrid | ) |
Definition at line 282 of file fdhestonvanillaengine.cpp.
| MakeFdHestonVanillaEngine & withVGrid | ( | Size | vGrid | ) |
Definition at line 288 of file fdhestonvanillaengine.cpp.
| MakeFdHestonVanillaEngine & withDampingSteps | ( | Size | dampingSteps | ) |
Definition at line 294 of file fdhestonvanillaengine.cpp.
| MakeFdHestonVanillaEngine & withFdmSchemeDesc | ( | const FdmSchemeDesc & | schemeDesc | ) |
Definition at line 300 of file fdhestonvanillaengine.cpp.
| MakeFdHestonVanillaEngine & withLeverageFunction | ( | ext::shared_ptr< LocalVolTermStructure > & | leverageFct | ) |
Definition at line 307 of file fdhestonvanillaengine.cpp.
| MakeFdHestonVanillaEngine & withCashDividends | ( | const std::vector< Date > & | dividendDates, |
| const std::vector< Real > & | dividendAmounts | ||
| ) |
| operator ext::shared_ptr< PricingEngine > | ( | ) | const |
Definition at line 322 of file fdhestonvanillaengine.cpp.
|
private |
Definition at line 148 of file fdhestonvanillaengine.hpp.
|
private |
Definition at line 149 of file fdhestonvanillaengine.hpp.
|
private |
Definition at line 150 of file fdhestonvanillaengine.hpp.
|
private |
Definition at line 151 of file fdhestonvanillaengine.hpp.
|
private |
Definition at line 151 of file fdhestonvanillaengine.hpp.
|
private |
Definition at line 151 of file fdhestonvanillaengine.hpp.
|
private |
Definition at line 151 of file fdhestonvanillaengine.hpp.
|
private |
Definition at line 152 of file fdhestonvanillaengine.hpp.
|
private |
Definition at line 153 of file fdhestonvanillaengine.hpp.
|
private |
Definition at line 154 of file fdhestonvanillaengine.hpp.


Return a device function
to use when building a Graph for replicas.
tf.compat.v1.train.replica_device_setter( ps_tasks=0, ps_device='/job:ps', worker_device='/job:worker', merge_devices=True, cluster=None, ps_ops=None, ps_strategy=None )
Device Functions are used in with tf.device(device_function):
statement to
automatically assign devices to Operation
objects as they are constructed,
Device constraints are added from the inner-most context first, working
outwards. The merging behavior adds constraints to fields that are yet unset
by a more inner context. Currently the fields are (job, task, cpu/gpu).
If cluster
is None
, and ps_tasks
is 0, the returned function is a no-op.
Otherwise, the value of ps_tasks
is derived from cluster
.
By default, only Variable ops are placed on ps tasks, and the placement
strategy is round-robin over all ps tasks. A custom ps_strategy
may be used
to do more intelligent placement, such as
tf.contrib.training.GreedyLoadBalancingStrategy
.
For example,
# To build a cluster with two ps jobs on hosts ps0 and ps1, and 3 worker # jobs on hosts worker0, worker1 and worker2. cluster_spec = { "ps": ["ps0:2222", "ps1:2222"], "worker": ["worker0:2222", "worker1:2222", "worker2:2222"]} with tf.device(tf.compat.v1.train.replica_device_setter(cluster=cluster_spec)): # Build your graph v1 = tf.Variable(...) # assigned to /job:ps/task:0 v2 = tf.Variable(...) # assigned to /job:ps/task:1 v3 = tf.Variable(...) # assigned to /job:ps/task:0 # Run compute
ps_tasks
: Number of tasks in the ps
job. Ignored if cluster
is
provided.ps_device
: String. Device of the ps
job. If empty no ps
job is used.
Defaults to ps
.worker_device
: String. Device of the worker
job. If empty no worker
job is used.merge_devices
: Boolean
. If True
, merges or only sets a device if the
device constraint is completely unset. merges device specification rather
than overriding them.cluster
: ClusterDef
proto or ClusterSpec
.ps_ops
: List of strings representing Operation
types that need to be
placed on ps
devices. If None
, defaults to STANDARD_PS_OPS
.ps_strategy
: A callable invoked for every ps Operation
(i.e. matched by
ps_ops
), that takes the Operation
and returns the ps task index to
use. If None
, defaults to a round-robin strategy across all ps
devices.A function to pass to tf.device()
.
TypeError if cluster
is not a dictionary or ClusterDef
protocol buffer,
or if ps_strategy
is provided but not a callable.


{% import "macros/form.html" as form %}
*{% trans %}The recurring interval should be an integer representing the number of days that will pass between since a new dataset will be added for the inventory entry. Add zero only if the dataset is non-recurring, like archived documents for example.{% endtrans %}


Privacy
The freedom to selectively reveal one’s self
Privacy on L1
Blockchain is public!
- L1 is pseudonymous, not anonymous
- Linking of addresses to identities (KYC)
- Tracking movement of identified coins
- IP tracking (less relevant)
Improve your L1 privacy
- Limit linkage of your identity to your coins
- Try obfuscating already identified coins
- Don't link 'anonymous' coins with already identified coins
- DON'T REUSE ADDRESSES
- Don't leak your IP
Privacy on LN
- Payments are (pretty) private
- Your identity (public key) never changes
- Announced channels are tied to your public key
- Probing is real
- Unannounced channels are (pretty) private
Welcome to the real world
- Privacy is hard
- Privacy is costly
- Privacy is not what your average user values!
- ... Let's look at the real world
Privacy at ACME: L1
- Address balances -> ACME's block explorer
- User leaks IP for his addresses
- User leaks identity on Fiat exchange
- No obfuscation techniques are being used
Privacy at ACME: LN
- User opens channels with ACME only
- User leaks on-chain addresses
- User leaks LN balance
- User leaks how much he sends
- Does not leak where he sends


Module actions
Utilities to apply actions to agents or families mainly.
Functions
- array_shuffle (list)
-
Fisher-Yates method to shuffle a list, it consist on permutations of the objects in a list.
Usage:
local a_list = {1,2,3,4,5} array_shuffle(a_list) print(a_list) -- => {3,2,5,1,4}
- rt (agent, num)
-
Produces a right turn in an agent of "num" radians
See also:
Usage:
rt(agent,180)
- lt (agent, num)
-
Produces a left turn in an agent of "num" radians
See also:
Usage:
lt(agent,180)
- fd (agent, num)
-
The agent will advance some units in the faced direction
See also:
Usage:
fd(agent,2)
- die (agent, family)
-
It marks an agent as dead by giving a false value to its 'live' param.
See also:
Usage:
for _, node in sorted(Nodes) if node.color == {1,1,1,1} then die(node, Nodes) -- Nodes:kill(node) -- This is equivalent. -- die(node) -- This is also possible, and the agent will be searched and killed (but not purged) in every Family. end end
- kill_and_purge (agent)
-
This function must be used to kill and agent and remove it for the simulation. It will delete all the references to the agent and the links related to it.
Usage:
kill_and_purge(an_agent)


you must select an image.
you must enter a password.
Your password must be at least 8 characters in length and contain at least 1 lowercase letter, 1 uppercase letter, one numerical character, AND one special character.
A job name is required.
Job name must be in all lowercase letters.
a username is required.
username can only contain alphanumeric characters.
you must choose a vm size.


Default Config
Add an Edit Icon
Override the Action Icons
Add Hover Effects
Close and Save on Blur
Required
Min/Max Length (3, 8)
Disabled
US Currency
UK Currency Without Pence
Number
Percentage
Methods (View in Console)


Your Total Rent
120
Your Total Cancelled
45
Your Complete Rents
90
Make Your Order
Choose Your Vehicle
| Image | Vehicle | No: | DailyRate | MonthlyRate | ExtraKmPrice | Damage |
|---|
Finalized Your Order
Listed By Booking Time
| booking ID | vehicle RegID | Customer Name | loss Damage | loss Damage Image | Rent Data | Return Data | Driver ID |
|---|


San Francisco Music Center
The San Francisco Music center makes music accessible to all people, regardless of their financial status. They believe that there is a power in music to connect people and cultures. They are a hub for sharing this music with everyone.
You can find them
In the real world, here: 544 Capp Street, San Francisco, CA 94110
Through email here<EMAIL_ADDRESS>Remember:
You should contact San Francisco Music Center before donating any items.


{% extends "editor/editor_base.html" %} {% block editor_content %} {% include "dashboard/_todo.html" %} {# ~~->$GroupStatus:Feature~~ #} {% if editor_of_groups | length != 0 %} Activity {# note that js-managed-groups-tabs and the structure beneath it is required in dashboard.js - if you change the structure of this code, you need to change that too #} {# managed_groups is inherited from the dashboard_base template #} {# ~~^-> EditorGroup:Model ~~ #} {% if editor_of_groups|length == 0 %} You do not manage any groups now. {% else %} {% for eg in editor_of_groups %} {{ eg.name }} ({{ editor_of_assignments[eg.name] }} applications) {% endfor %} {% endif %} {% endif %} {# TODO: there’s a bit of a11y work to be done here; we need to indicate which tabs are hidden and which aren’t using ARIA attributes. #} {# TODO: the first tab content needs to be shown by default, without a "click to see" message. #} {% endblock %} {% block extra_js_bottom %} {% endblock %}


I am a software engineer @ Innovaccer, contributing towards simplifying complex healthcare data at scale for the past 4 years.
Apart from programming I love
reading, Travelling (specifically long drives) and Photography (amateurish and learning).
I pursued engineering from IIT BHU (Varanasi). Having worked in a startup during my sophomore year, was amazed to see how an idea takes shape and becomes a reality.


From 180°W to 180°E the earth's surface is devided uo into 60
meridan strips od 6° width. These strips are numbered with zone numbers
(No 1 for the strip from 180°W to 174°W, and No 60 for the strip from
174°E to 180°E). The meridan strips are divided up into zone fields
from 80°S to 84°N by latitudes in the distance of 8°. These fields are
labeled with letters: the southernmost zone has the letter 'C' and the
northernmost one has the letter 'X' (The letters I and O are not used
in order to avoid confusion with the digits 1 and 0 (s. Fig.).
from Wikipedia


Generate a pie chart using up to 5 data inputs.
Input up to 5 figures. Leave data you don't need at 0.