Malik Monk is currenly a Freshman Guard playing for the University of Kentucky Wildcats under the coaching of John Calipari.


Node is an open-source JavaScript runtime environment which can exequte JavaScript code
outside a browser. Node.js can let JavaScript become executed in a command line before
the actual content is shown in a browser. Node.js is a paradigm to include JavaScript in
many frameworks. The js-notation in "Node.js" doesn't refer to a js-file but is just the
name of the service to run JavaScript.
How to run a JavaScript file with Node
At first the user navigates to a specific folder where the given JS-file is located.
That can be done by using the cd command and then use the
tab button on the keyboard to browse into the right folder. After accessing the right
source folder, the given js-program can be run with the following command:
PS C:\Users\Jeppe N. Dyekjær\Documents\3._Datamatiker\Git_projekter_4_semester\Node_JS\Mandatory_1>
node app.js
npm
npm which stands for Node Package Manager is a package manager for the JavaScript programming language.
npm is the default runtime environment for Node.js. The environment contains a command line client,
which is called npm and an online database of public and paid private packages (npm registry). The
registry is accessed from a client ex. a PC or local webpage. From there the client can browse through
the different available packages from the npm website.
npm run start
npm run start can be used to run predefined scripts in the terminal. The scripts are defined in the
package.json-file. So instead of typing many different commands after each other in the
terminal to run a certain application, all those commands can be predefined as script in the mentioned
json-file by writing the following script:
{
"scripts": {
"start": "node app.js",
"start-dev": "nodemon app.js"
}
}
Now all these commands and even more commands if added can be executed at the same time by only running
the command npm run start. It makes it a lot easier to execute many operations at the same time.
Furthermore if the code for the given file has been implemented with the right code to define an own portnumber
when running an application, the following script can be extended with the attribute cross-env PORT=?:
{
"scripts": {
"start": "cross-env PORT=80 node app.js",
"start-dev": "cross-env nodemon app.js set PORT=3000"
},
"devDependencies": {
"cross-env": "^7.0.2"
}
}
npm init
npm init < initializer > is an npm-command which can be used to set up a new or existing
npm package. The initialized and defined package will look like the following picture where certain
descriptive attributes will be added to the package.json-file.
"devDependencies" are packages that are used for local development and testing, where as
"dependencies" are required for an application to actually run:
Express
Express.js is a sub framework for Node.js. It is a server framework for Node.js which works as a
back-end component for MEAN-stack (overall list of components written in JavaScript
including MongoDB-database, AngularJS, Node.js, Express.js). Express helps optimizing performance
and does also support SSL and TLS security systems.
Express provides the service to send HTML pages to a browser so they can get displayed.
Setting up the Express web framework for Node.js
At first a JSON-file called package.json has to be created with the following dependency
and the version number:
{
"dependencies": {
"express": "4.17.1"
}
}
Afterwards you have to install all node modules which are given libraries for the node running tool.
In order to install the modules, simply type npm install or
npm install express (for only using express modules) in the terminal after
navigating to the folder where the package.json file is located. From there the node tool will
generate a package-lock.json file which includes dependencies for the node modules.
At last you have to import the express functionality in your wished JavaScript-file in order to use
the modules that has been installed. That is done by the following code:
//The way to import packages from node modules
const express = require("express");
const app = express();
const request = require("request");
nodemon
nodemon is a tool that can help to develop node.js based applications to restart automatically
each time some edition to a file has been made. The tool detects a change to file frequently.
nodemon does not require any editions to code or development. It's an extension for running
js-applications.
Setting up nodemon tool
At first install nodemon tool by using npm as a development dependency:
npm install -g nodemon
After the installment the nodemon tool can be used to run a js-program:
nodemon app.js
Budo
Budo is a server focused reloading integration for js-development. The tool live reloads a working page
every time a change to the document occur. That makes it a lot easier to test visualization of a given
HTML-page for instance.
Setting up the Bundo tool
At first install bundo by running the command npm install budo -g
Afterwards bundo can be used to live reload a certain file by running the following command after
entering the correct folder ind the terminal:
PS C:\Users\Jeppe N. Dyekjær\Documents\3._Datamatiker\Git_projekter_4_semester\Node_JS\NODE_JS_2020\3._jQuery\1._Intro_To_jQuery> npx budo index.js --live --open
When the command succeeds with a status 200 GET response in the terminal, the file will
now automatically update in the browser window after each edition to the file.


Steve could not deal with the market failure of his baby. He continued to behave as if he had saved Apple, treating non-Mac employees with deference in Cupertino. People felt he spoiled the Mac team, buying them a BMW motorcycle and a Bosendorfer grand piano with his personal money, while the company was still alive thanks only to Apple II sales (the truth was that Macintosh engineers were paid the same or even less than their counterparts).
There was increasing resentment building up against Steve Jobs at Apple. The honeymoon with CEO John Sculley was over: the two men increasingly criticized one another in their inner circles. Even Woz, who felt insulted by the treatment the Apple II team received, left


--- title: Reanalyzing data from Human Gut Microbiota from Autism Spectrum Disorder Promote Behavioral Symptoms in Mice author: Jeff Walker date: '2019-06-03' slug: reanalyzing-data-from-human-gut-microbiota-from-autism-spectrum-disorder-promote-behavioral-symptoms-in-mice categories: - reproducibility tags: - linear mixed model - microbiome ---
Update - This post has been updated
A very skeletal analysis of
Sharon, G., Cruz, N.J., Kang, D.W., Gandal, M.J., Wang, B., Kim, Y.M., Zink, E.M., Casey, C.P., Taylor, B.C., Lane, C.J. and Bramer, L.M., 2019. Human Gut Microbiota from Autism Spectrum Disorder Promote Behavioral Symptoms in Mice. Cell, 177(6), pp.1600-1618.
which got some attention on pubpeer.
Commenters are questioning the result of Fig1G. It is very hard to infer a p-value from plots like these, where the data are multi-level, regardless of if means and some kind of error bar is presented. A much better plot for inferring differences is an effects plot with the CI of the effect. That said, I’ll try to reproduce the resulting p-value.
Failure to reproduce or partial reproducibility might be an error in my coding, or my misunderstanding of the author’s methods, or my lack of knowledge of statistics generally or the R functions that I use more specifically.
library(ggplot2)
library(nlme)
library(lmerTest)
library(car)
library(emmeans)
library(lmtest)
library(data.table)
data_path <- "../data/Data from Human Gut Microbiota from Autism Spectrum Disorder Promote Behavioral Symptoms in Mice/Fig1"
#data_path <- "data/Data from Human Gut Microbiota from Autism Spectrum Disorder Promote Behavioral Symptoms in Mice/Fig1"
fn <- "Fig1EFGH_subset8.csv"
file_path <- paste(data_path, fn, sep="/")
mouse <- fread(file_path)
mouse[, Gender:=factor(Gender)]
mouse[, ASD_diagnosis:=factor(ASD_diagnosis, c("NT", "ASD"))]
mouse[, MouseID:=factor(MouseID)]
mouse[, Round:=factor(Round)]
One could reasonably estimate Cohen’s d several ways given the 2 x 2 design. Here are two
m1 <- lmer(OFT_Distance ~ ASD_diagnosis + (1|Donor), data=mouse)
(m1.emm <- emmeans(m1, specs=c("ASD_diagnosis")))
## ASD_diagnosis emmean SE df lower.CL upper.CL
## NT 4600 262 5.70 3951 5249
## ASD 4235 206 6.08 3731 4738
##
## Degrees-of-freedom method: kenward-roger
## Confidence level used: 0.95
m2 <- lmer(OFT_Distance ~ Gender + ASD_diagnosis + (1|Donor), data=mouse)
(m2.emm <- emmeans(m2, specs=c("ASD_diagnosis")))
## ASD_diagnosis emmean SE df lower.CL upper.CL
## NT 4603 259 5.68 3960 5246
## ASD 4233 204 6.07 3735 4731
##
## Results are averaged over the levels of: Gender
## Degrees-of-freedom method: kenward-roger
## Confidence level used: 0.95
The effect, standardized to cohen’s D using residual standard deviation from model: (NT - ASD)/sigma
coef(summary(m1))["ASD_diagnosisASD", "Estimate"]/sigma(m1)
## [1] -0.3928202
summary(contrast(m2.emm, method="revpairwise"))[1, "estimate"]/sigma(m2)
## [1] -0.3970379
The reported cohen’s D for the distance traveled is doTD-oASD = -0.58
“Statistical analysis for behavioral outcomes in fecal transplanted offspring. Comparison of behavioral outcomes between TD Controls and ASD donors were tested using longitudinal linear mixed effects analyses, with test cycles and donors treated as repeated factors. Analyses were performed in SPSS (v 24); a priori alpha = 0.05. All outcomes were tested for normality and transformed as required. Diagonal covariance matrices were used so that intra-cycle and intra-donor correlations were accounted for in the modeling. The donor type (TD versus ASD) was the primary fixed effect measured, and mouse sex was an a priori covariate.”
(I think) it would be unlikely to get the wrong LRT using SPSS. Also the specified model differs from that in the caption. Was the response transformed (note it’s not the reponse that needs to be “normal” but the residuals from the linear model (or equivalently the conditional response))
correct LRT
# correct LRT
m1 <- lmer(OFT_Distance ~ Gender + ASD_diagnosis + (1|Cycle) + (1|Donor), REML=FALSE, data=mouse)
## boundary (singular) fit: see ?isSingular
m2 <- lmer(OFT_Distance ~ Gender + (1|Cycle) + (1|Donor), REML=FALSE, data=mouse)
lrtest(m2, m1)
## Likelihood ratio test
##
## Model 1: OFT_Distance ~ Gender + (1 | Cycle) + (1 | Donor)
## Model 2: OFT_Distance ~ Gender + ASD_diagnosis + (1 | Cycle) + (1 | Donor)
## #Df LogLik Df Chisq Pr(>Chisq)
## 1 5 -1706.7
## 2 6 -1706.0 1 1.4974 0.2211
Hmm. Need to explore the error.
incorrect LRT
# correct LRT
m1 <- lmer(OFT_Distance ~ Gender + ASD_diagnosis + (1|Cycle) + (1|Donor), data=mouse)
m2 <- lmer(OFT_Distance ~ Gender + (1|Cycle) + (1|Donor), data=mouse)
lrtest(m2, m1)
## Likelihood ratio test
##
## Model 1: OFT_Distance ~ Gender + (1 | Cycle) + (1 | Donor)
## Model 2: OFT_Distance ~ Gender + ASD_diagnosis + (1 | Cycle) + (1 | Donor)
## #Df LogLik Df Chisq Pr(>Chisq)
## 1 5 -1694.9
## 2 6 -1687.6 1 14.663 0.0001286 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Basically the same results
type3 <- list(Gender=contr.sum, ASD_diagnosis=contr.sum) # change the contrasts coding for the model matrix
m2a <- lm(OFT_Distance ~ Gender*ASD_diagnosis, data=mouse, contrasts=type3)
Anova(m2a, type="3")
## Anova Table (Type III tests)
##
## Response: OFT_Distance
## Sum Sq Df F value Pr(>F)
## (Intercept)<PHONE_NUMBER> 1 3828.6270 < 2e-16 ***
## Gender 1795588 1 1.7794 0.18372
## ASD_diagnosis 4676457 1 4.6343 0.03252 *
## Gender:ASD_diagnosis 722345 1 0.7158 0.39851
## Residuals 203835380 202
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# contrasts statement doesn't work with gls so change variable in data.table
mouse[, Gender.sum := C(Gender, contr.sum)]
mouse[, ASD_diagnosis.sum := C(ASD_diagnosis, contr.sum)]
m2b <- gls(OFT_Distance ~ Gender.sum*ASD_diagnosis.sum, weights=varIdent(form=~1|Donor), data=mouse)
anova(m2b, type="marginal")
## Denom. DF: 202
## numDF F-value p-value
## (Intercept) 1 4336.040 <.0001
## Gender.sum 1 2.378 0.1246
## ASD_diagnosis.sum 1 15.345 0.0001
## Gender.sum:ASD_diagnosis.sum 1 1.871 0.1729
In the pubpeer response, Sharon states “specify linear mixed effects modeling of individual mice, nested within donor, and round of testing”. I assume individual mice is referenced by MouseID. But…
Number of Mice
length(levels(mouse$MouseID))
## [1] 75
Explore a single mouse
mouse[MouseID==1, 1:10]
## V1 Round Cycle MouseID Gender Donor ASD_diagnosis OFT_Distance
## 1: 0 1 1 1 Female C1 NT 2763.60
## 2: 566 9 3 1 Male C1 NT 4565.92
## 3: 632 10 3 1 Male C4 NT 4615.37
## OFT_velocity OFT_LrgCntr_freq
## 1: 5.08254 113
## 2: 7.60987 101
## 3: 7.84499 128
# mouse ID=1 is both female and male? So MouseID cannot be the mouse tested behaviorally
Hmm. MouseID=1 is both male and female? Is this true of some/all MouseID?
# check number of mouseID:Gender combinations
unique(paste(mouse$MouseID, mouse$Gender,sep=":"))
## [1] "1:Female" "2:Female" "3:Female" "4:Female" "5:Male"
## [6] "6:Male" "7:Male" "8:Male" "9:Female" "22:Male"
## [11] "23:Male" "24:Female" "25:Female" "26:Female" "27:Female"
## [16] "28:Male" "29:Male" "30:Female" "31:Female" "32:Female"
## [21] "33:Female" "35:Female" "35:Male" "36:Female" "37:Female"
## [26] "38:Female" "39:Female" "40:Male" "41:Male" "42:Male"
## [31] "43:Male" "44:Male" "46:Female" "46:Male" "47:Female"
## [36] "48:Female" "49:Female" "45:Male" "47:Male" "48:Male"
## [41] "49:Male" "50:Male" "51:Male" "52:Male" "53:Male"
## [46] "54:Male" "55:Female" "56:Female" "57:Female" "58:Female"
## [51] "59:Female" "60:Female" "61:Female" "62:Female" "30:Male"
## [56] "31:Male" "32:Male" "33:Male" "34:Male" "64:Female"
## [61] "65:Female" "66:Female" "67:Female" "68:Female" "69:Female"
## [66] "70:Female" "71:Female" "72:Female" "73:Female" "74:Female"
## [71] "75:Female" "1:Male" "2:Male" "3:Male" "4:Male"
## [76] "9:Male" "10:Male" "11:Male" "12:Male" "13:Male"
## [81] "14:Male" "15:Male" "16:Male" "17:Male" "18:Male"
## [86] "19:Male" "20:Male" "21:Male" "24:Male" "25:Male"
## [91] "26:Male" "27:Male" "36:Male" "41:Female" "42:Female"
## [96] "43:Female" "44:Female" "45:Female" "50:Female" "51:Female"
## [101] "53:Female" "54:Female" "63:Female" "34:Female" "40:Female"
## [106] "52:Female"
So 75 “individual mice” (identified by MouseID) but 106 combinations of MouseID:Gender. So I’m not sure what MouseID identifies – maybe litter (see below). Certainly not an individual mouse that were tested.
Again, in the pubpeer response, Sharon states “specify linear mixed effects modeling of individual mice, nested within donor, and round of testing
dim(mouse)
## [1] 206 50
length(unique(paste(mouse$MouseID, mouse$Round,sep=":")))
## [1] 204
206 data points (consistant with results) but 204 combinations of MouseID and Round. Which have > 1
mouse[, ID_x_Round:=paste(MouseID, Round, sep="_x_")]
dt <- mouse[, .(N=.N), by=ID_x_Round]
dt[N>1,] # 35 x 1 and 46 x 1
## ID_x_Round N
## 1: 35_x_1 2
## 2: 46_x_1 2
mouse[MouseID=="35", ]
## V1 Round Cycle MouseID Gender Donor ASD_diagnosis OFT_Distance
## 1: 32 1 1 35 Female A24-new ASD 4089.96
## 2: 33 1 1 35 Male A24-new ASD 3855.53
## 3: 167 3 1 35 Male N5 NT 5201.08
## 4: 600 9 3 35 Male C1 NT 2687.43
## 5: 666 10 3 35 Female C4 NT 4974.22
## OFT_velocity OFT_LrgCntr_freq OFT_LrgCntr_duration OFT_LrgCntr_latency
## 1: 7.42706 102 78.6119 0.467133
## 2: 6.84133 115 78.3450 0.867534
## 3: 8.79415 159 88.3217 36.269600
## 4: 4.51749 75 44.5779 6.473140
## 5: 8.42008 138 82.7161 7.507510
## OFT_SmlCntr_freq OFT_SmlCntr_duration OFT_SmlCntr_latency OFT_Movement
## 1: 45 74.8081 0.00000 62.1817
## 2: 66 88.0214 1.33467 66.0698
## 3: 66 101.5350 45.44540 56.5645
## 4: 31 68.0681 6.84017 36.3844
## 5: 63 147.0140 7.67434 58.0771
## MB_visible MB_buried MB_percentBuried DSI_Agrsn_freq DSI_Agrsn_duration
## 1: 15 5 25 NA NA
## 2: 7 13 65 NA NA
## 3: 18 2 10 NA NA
## 4: 11 9 45 11 61.295
## 5: 19 1 5 0 0.000
## DSI_Social_freq DSI_Social_duration DSI_Groom_freq DSI_Groom_Duration
## 1: NA NA NA NA
## 2: NA NA NA NA
## 3: NA NA NA NA
## 4: 12 51.995 6 14.505
## 5: 11 15.110 3 6.040
## SI_Habit_Social SI_Habit_Cntr SI_Habit_NonSocial SI_Sociability_Social
## 1: 234.1680 181.648 126.793 251.185
## 2: 256.3900 175.175 154.621 225.292
## 3: 205.5390 192.259 181.949 310.410
## 4: 92.8262 151.518 310.344 325.392
## 5: 102.8360 179.980 293.460 235.002
## SI_Sociability_Cntr SI_Sociability_NonSocial Unnamed: 30 Unnamed: 31
## 1: 70.8709 257.391 NA NA
## 2: 116.4500 245.112 NA NA
## 3: 52.7194 219.186 NA NA
## 4: 33.4001 210.677 NA NA
## 5: 79.0457 218.986 NA NA
## Unnamed: 32 USV_freq USV_Duration DSI_USV_median DSI_USV_StdDev
## 1: NA NA NA NA NA
## 2: NA 1063 47.8241 NA NA
## 3: NA 519 22.9990 NA NA
## 4: NA NA NA 0.04745 0.07175
## 5: NA NA NA 0.00620 0.01302
## DSI_USV_Freq DSI_USV_Duration DSI_USV_Slbl_num DSI_USV_Slbl_Duration
## 1: NA NA NA NA
## 2: NA NA NA NA
## 3: NA NA NA NA
## 4: 154 7.3079 44 85
## 5: 77 0.4778 42 5
## DSI_USV_Slbl_Gap_Length DSI_USV_Slbl_Bout_freq DSI_USV_Slbl_Bout_gap
## 1: NA NA NA
## 2: NA NA NA
## 3: NA NA NA
## 4: 8079 28 501
## 5: 3170 26 501
## DSI_USV_Slbl_SlblPerBout Unnamed: 45 SI_index Gender.sum
## 1: NA NA -0.610135 Female
## 2: NA NA -2.106700 Male
## 3: NA NA 8.612603 Male
## 4: 2 NA 10.699649 Male
## 5: 2 NA 1.763923 Female
## ASD_diagnosis.sum ID_x_Round
## 1: ASD 35_x_1
## 2: ASD 35_x_1
## 3: NT 35_x_3
## 4: NT 35_x_9
## 5: NT 35_x_10
mouse[MouseID=="46", ]
## V1 Round Cycle MouseID Gender Donor ASD_diagnosis OFT_Distance
## 1: 43 1 1 46 Female A24-new ASD 3622.66
## 2: 44 1 1 46 Male A24-new ASD 3300.87
## 3: 609 9 3 46 Female A24-new ASD 4195.94
## 4: 677 10 3 46 Female A11-old ASD 4029.45
## OFT_velocity OFT_LrgCntr_freq OFT_LrgCntr_duration OFT_LrgCntr_latency
## 1: 6.57209 81 62.9296 25.42540
## 2: 5.63688 105 91.2246 6.27294
## 3: 7.01313<PHONE_NUMBER> 12.94630
## 4: 6.87479 101 59.4928 1.56823
## OFT_SmlCntr_freq OFT_SmlCntr_duration OFT_SmlCntr_latency OFT_Movement
## 1: 27 89.4895 25.89260 61.4769
## 2: 43 148.6820 7.34067 58.4853
## 3: 57 59.6263 13.24660 49.4967
## 4: 36 31.4648 8.44177 48.5347
## MB_visible MB_buried MB_percentBuried DSI_Agrsn_freq DSI_Agrsn_duration
## 1: 18 2 10 NA NA
## 2: 16 4 20 NA NA
## 3: 14 6 30 0 0
## 4: 15 5 25 0 0
## DSI_Social_freq DSI_Social_duration DSI_Groom_freq DSI_Groom_Duration
## 1: NA NA NA NA
## 2: NA NA NA NA
## 3: 14 22.945 1 7.855
## 4: 15 25.230 2 10.105
## SI_Habit_Social SI_Habit_Cntr SI_Habit_NonSocial SI_Sociability_Social
## 1: 93.1598 212.346 253.7200 331.798
## 2: 261.5280 199.666 128.3280 323.323
## 3: 158.0580 196.964 94.4611 365.265
## 4: 111.3450 229.096 183.6500 303.804
## SI_Sociability_Cntr SI_Sociability_NonSocial Unnamed: 30 Unnamed: 31
## 1: 48.3150 191.458 NA NA
## 2: 80.0801 173.040 NA NA
## 3: 47.9813 113.113 NA NA
## 4: 80.0133 179.613 NA NA
## Unnamed: 32 USV_freq USV_Duration DSI_USV_median DSI_USV_StdDev
## 1: NA NA NA NA NA
## 2: NA 69 0.3854 NA NA
## 3: NA NA NA 0.00550 0.01227
## 4: NA NA NA 0.00677 0.01244
## DSI_USV_Freq DSI_USV_Duration DSI_USV_Slbl_num DSI_USV_Slbl_Duration
## 1: NA NA NA NA
## 2: NA NA NA NA
## 3: 154 0.8478 43 16
## 4: 193 1.3078 154 18
## DSI_USV_Slbl_Gap_Length DSI_USV_Slbl_Bout_freq DSI_USV_Slbl_Bout_gap
## 1: NA NA NA
## 2: NA NA NA
## 3: 7564 26 158
## 4: 2315 51 200
## DSI_USV_Slbl_SlblPerBout Unnamed: 45 SI_index Gender.sum
## 1: NA NA 13.41026 Female
## 2: NA NA 15.13842 Male
## 3: 2 NA 26.35489 Female
## 4: 3 NA 12.84512 Female
## ASD_diagnosis.sum ID_x_Round
## 1: ASD 46_x_1
## 2: ASD 46_x_1
## 3: ASD 46_x_9
## 4: ASD 46_x_10
In addition to two 35 x 1 (mouse ID x Round), this same MouseID is used for mice of different sex and different donors. Does MouseID=litter?


|
EasyVR Library
1.3
|
An implementation of the EasyVR communication protocol.
| enum ModuleId |
| enum Language |
| enum Group |
| enum Wordset |
| enum Knob |
Confidence thresholds for the knob settings, used for recognition of built-in words or custom grammars (not used for the mixed trigger group)
| enum Level |
Strictness values for the level settings, used for recognition of custom commands (not used for the mixed trigger group)
| enum Baudrate |
| enum WakeMode |
Constants for choosing wake-up method in sleep mode
| enum ClapSense |
Hands-clap sensitivity for wakeup from sleep mode. Use in combination with WAKE_ON_2CLAPS or WAKE_ON_3CLAPS
| enum PinConfig |
| enum PinNumber |
| enum SoundVolume |
| enum SoundIndex |
| enum GrammarFlag |
| enum RejectionLevel |
| enum ErrorCode |
Error codes used by various functions
| EasyVR | ( | Stream & | s | ) |
| bool detect | ( | ) |
Detects an EasyVR module, waking it from sleep mode and checking it responds correctly.
| true | if a compatible module has been found |
| bool stop | ( | ) |
Interrupts pending recognition or playback operations.
| true | if the request is satisfied and the module is back to ready |
| int8_t getID | ( | ) |
Gets the module identification number (firmware version).
| integer | is one of the values in ModuleId |
| bool setLanguage | ( | int8_t | lang | ) |
Sets the language to use for recognition of built-in words.
| lang | (0-5) is one of values in Language |
| true | if the operation is successful |
| bool setTimeout | ( | int8_t | seconds | ) |
Sets the timeout to use for any recognition task.
| seconds | (0-31) is the maximum time the module keep listening for a word or a command |
| true | if the operation is successful |
| bool setKnob | ( | int8_t | knob | ) |
Sets the confidence threshold to use for recognition of built-in words.
| knob | (0-4) is one of values in Knob |
| true | if the operation is successful |
| bool setLevel | ( | int8_t | level | ) |
Sets the strictness level to use for recognition of custom commands.
| level | (1-5) is one of values in Level |
| true | if the operation is successful |
| bool setDelay | ( | uint16_t | millis | ) |
Sets the delay before any reply of the module.
| millis | (0-1000) is the delay duration in milliseconds, rounded to 10 units in range 10-100 and to 100 units in range 100-1000. |
| true | if the operation is successful |
| bool changeBaudrate | ( | int8_t | baud | ) |
Sets the new communication speed. You need to modify the baudrate of the underlying Stream object accordingly, after the function returns successfully.
| baud | is one of values in Baudrate |
| true | if the operation is successful |
| bool sleep | ( | int8_t | mode | ) |
| bool addCommand | ( | int8_t | group, |
| int8_t | index | ||
| ) |
Adds a new custom command to a group.
| group | (0-16) is the target group, or one of the values in #Groups |
| index | (0-31) is the index of the command within the selected group |
| true | if the operation is successful |
| bool removeCommand | ( | int8_t | group, |
| int8_t | index | ||
| ) |
Removes a custom command from a group.
| group | (0-16) is the target group, or one of the values in #Groups |
| index | (0-31) is the index of the command within the selected group |
| true | if the operation is successful |
| bool setCommandLabel | ( | int8_t | group, |
| int8_t | index, | ||
| const char * | name | ||
| ) |
Sets the name of a custom command.
| group | (0-16) is the target group, or one of the values in #Groups |
| index | (0-31) is the index of the command within the selected group |
| true | if the operation is successful |
| bool eraseCommand | ( | int8_t | group, |
| int8_t | index | ||
| ) |
Erases the training data of a custom command.
| group | (0-16) is the target group, or one of the values in #Groups |
| index | (0-31) is the index of the command within the selected group |
| name | is a string containing the label to be assigned to the specified command |
| true | if the operation is successful |
| bool getGroupMask | ( | uint32_t & | mask | ) |
Gets a bit mask of groups that contain at least one command.
| mask | is a variable to hold the group mask when the function returns |
| true | if the operation is successful |
| int8_t getCommandCount | ( | int8_t | group | ) |
Gets the number of commands in the specified group.
| group | (0-16) is the target group, or one of the values in #Groups |
| integer | is the count of commands (negative in case of errors) |
| bool dumpCommand | ( | int8_t | group, |
| int8_t | index, | ||
| char * | name, | ||
| uint8_t & | training | ||
| ) |
Retrieves the name and training data of a custom command.
| group | (0-16) is the target group, or one of the values in #Groups |
| index | (0-31) is the index of the command within the selected group |
| name | points to an array of at least 32 characters that holds the command label when the function returns |
| training | is a variable that holds the training count when the function returns. Additional information about training is available through the functions isConflict() and getWord() or getCommand() |
| true | if the operation is successful |
| int8_t getGrammarsCount | ( | void | ) |
Gets the total number of grammars available, including built-in and custom.
| integer | is the count of grammars (negative in case of errors) |
| bool dumpGrammar | ( | int8_t | grammar, |
| uint8_t & | flags, | ||
| uint8_t & | count | ||
| ) |
Retrieves the contents of a built-in or a custom grammar. Command labels contained in the grammar can be obtained by calling getNextWordLabel()
| grammar | (0-31) is the target grammar, or one of the values in Wordset |
| flags | is a variable that holds some grammar flags when the function returns. See GrammarFlag |
| count | is a variable that holds the number of words in the grammar when the function returns. |
| true | if the operation is successful |
| bool getNextWordLabel | ( | char * | name | ) |
Retrieves the name of a command contained in a custom grammar. It must be called after dumpGrammar()
| name | points to an array of at least 32 characters that holds the command label when the function returns |
| true | if the operation is successful |
| void trainCommand | ( | int8_t | group, |
| int8_t | index | ||
| ) |
Starts training of a custom command. Results are available after hasFinished() returns true.
| group | (0-16) is the target group, or one of the values in #Groups |
| index | (0-31) is the index of the command within the selected group |
| void recognizeCommand | ( | int8_t | group | ) |
Starts recognition of a custom command. Results are available after hasFinished() returns true.
| group | (0-16) is the target group, or one of the values in #Groups |
| void recognizeWord | ( | int8_t | wordset | ) |
Starts recognition of a built-in word. Results are available after hasFinished() returns true.
| wordset | (0-3) is the target word set, or one of the values in Wordset, (4-31) is the target custom grammar, if present |
| bool hasFinished | ( | ) |
Polls the status of on-going recognition, training or asynchronous playback tasks.
| true | if the operation has completed |
| int8_t getCommand | ( | ) |
Gets the recognised command index if any.
| (0-31) | is the command index if recognition is successful, (-1) if no command has been recognized or an error occurred |
| int8_t getWord | ( | ) |
Gets the recognised word index if any, from built-in sets or custom grammars.
| (0-31) | is the command index if recognition is successful, (-1) if no built-in word has been recognized or an error occurred |
| int16_t getToken | ( | ) |
Gets the index of the received SonicNet token if any.
| integer | is the index of the received SonicNet token (0-255 for 8-bit tokens or 0-15 for 4-bit tokens) if detection was successful, (-1) if no token has been received or an error occurred |
| int16_t getError | ( | ) |
Gets the last error code if any.
| (0-255) | is the error code, (-1) if no error occurred |
| bool isTimeout | ( | ) |
Retrieves the timeout indicator.
| true | if a timeout occurred |
| bool isConflict | ( | ) |
Retrieves the conflict indicator.
| true | is a conflict occurred during training. To know what caused the conflict, use getCommand() and getWord() (only valid for triggers) |
| bool isMemoryFull | ( | ) |
Retrieves the memory full indicator (only valid after addCommand() returned false).
| true | if a command could not be added because of memory size constaints (up to 32 custom commands can be created) |
| bool setPinOutput | ( | int8_t | pin, |
| int8_t | value | ||
| ) |
| int8_t getPinInput | ( | int8_t | pin, |
| int8_t | config | ||
| ) |
| void detectToken | ( | int8_t | bits, |
| int8_t | rejection, | ||
| uint16_t | timeout | ||
| ) |
Starts listening for a SonicNet token. Manually check for completion with hasFinished().
| bits | (4 or 8) specifies the length of received tokens |
| rejection | (0-2) specifies the noise rejection level, it can be one of the values in RejectionLevel |
| timeout | (1-28090) is the maximum time in milliseconds to keep listening for a valid token or (0) to listen without time limits. |
| void sendTokenAsync | ( | int8_t | bits, |
| uint8_t | token | ||
| ) |
Starts immediate playback of a SonicNet token. Manually check for completion with hasFinished().
| bits | (4 or 8) specifies the length of trasmitted token |
| token | is the index of the SonicNet token to play (0-255 for 8-bit tokens or 0-15 for 4-bit tokens) |
| bool sendToken | ( | int8_t | bits, |
| uint8_t | token | ||
| ) |
Plays a SonicNet token and waits for completion.
| bits | (4 or 8) specifies the length of trasmitted token |
| token | is the index of the SonicNet token to play (0-255 for 8-bit tokens or 0-15 for 4-bit tokens) |
| true | if the operation is successful |
| bool embedToken | ( | int8_t | bits, |
| uint8_t | token, | ||
| uint16_t | delay | ||
| ) |
Schedules playback of a SonicNet token after the next sound starts playing.
| bits | (4 or 8) specifies the length of trasmitted token |
| token | is the index of the SonicNet token to play (0-255 for 8-bit tokens or 0-15 for 4-bit tokens) |
| delay | (1-28090) is the time in milliseconds at which to send the token, since the beginning of the next sound playback |
| true | if the operation is successful |
| void playSoundAsync | ( | int16_t | index, |
| int8_t | volume | ||
| ) |
Starts playback of a sound from the sound table. Manually check for completion with hasFinished().
| index | is the index of the target sound in the sound table |
| volume | (0-31) may be one of the values in SoundVolume |
| bool playSound | ( | int16_t | index, |
| int8_t | volume | ||
| ) |
Plays a sound from the sound table and waits for completion
| index | is the index of the target sound in the sound table |
| volume | (0-31) may be one of the values in SoundVolume |
| true | if the operation is successful |
| bool dumpSoundTable | ( | char * | name, |
| int16_t & | count | ||
| ) |
Retrieves the name of the sound table and the number of sounds it contains
| name | points to an array of at least 32 characters that holds the sound table label when the function returns |
| count | is a variable that holds the number of sounds when the function returns |
| true | if the operation is successful |
| bool playPhoneTone | ( | int8_t | tone, |
| uint8_t | duration | ||
| ) |
Plays a phone tone and waits for completion
| tone | is the index of the tone (0-9 for digits, 10 for '*' key, 11 for '#' key and 12-15 for extra keys 'A' to 'D', -1 for the dial tone) |
| duration | (1-32) is the tone duration in 40 milliseconds units, or in seconds for the dial tone |
| true | if the operation is successful |
| bool resetAll | ( | ) |
Empties internal memory for custom commands and groups.
| true | if the operation is successful |


| 0 |
Opedia |
tblDarwin_Nutrient_Climatology |
DIC_darwin_clim |
DIC concentration (climatology) |
mmol C/ |
21 |
| 1 |
Opedia |
tblDarwin_Nutrient_Climatology |
NH4_darwin_clim |
NH4 concentration (climatology) |
mmol N/ |
21 |
| 2 |
Opedia |
tblDarwin_Nutrient_Climatology |
NO2_darwin_clim |
NO2 concentration (climatology) |
mmol N/ |
21 |
| 3 |
Opedia |
tblDarwin_Nutrient_Climatology |
NO3_darwin_clim |
NO3 concentration (climatology) |
mmol N/ |
21 |
| 4 |
Opedia |
tblDarwin_Nutrient_Climatology |
PO4_darwin_clim |
PO4 concentration (climatology) |
mmol P/ |
21 |
| 5 |
Opedia |
tblDarwin_Nutrient_Climatology |
SiO2_darwin_clim |
SiO2 concentration (climatology) |
mmol Si |
21 |
| 6 |
Opedia |
tblDarwin_Nutrient_Climatology |
FeT_darwin_clim |
FeT concentration (climatology) |
mmol Fe |
21 |
| 7 |
Opedia |
tblDarwin_Nutrient_Climatology |
DOC_darwin_clim |
DOC concentration (climatology) |
mmol C/ |
21 |
| 8 |
Opedia |
tblDarwin_Nutrient_Climatology |
DON_darwin_clim |
DON concentration (climatology) |
mmol N/ |
21 |
| 9 |
Opedia |
tblDarwin_Nutrient_Climatology |
DOP_darwin_clim |
DOP concentration (climatology) |
mmol P/ |
21 |
| 10 |
Opedia |
tblDarwin_Nutrient_Climatology |
DOFe_darwin_clim |
DOfe concentration (climatology) |
mmol Fe |
21 |
| 11 |
Opedia |
tblDarwin_Nutrient_Climatology |
POC_darwin_clim |
POC concentration (climatology) |
mmol C/ |
21 |
| 12 |
Opedia |
tblDarwin_Nutrient_Climatology |
PON_darwin_clim |
PON concentration (climatology) |
mmol N/ |
21 |
| 13 |
Opedia |
tblDarwin_Nutrient_Climatology |
POSi_darwin_clim |
POSi concentration (climatology) |
mmol Si |
21 |
| 14 |
Opedia |
tblDarwin_Nutrient_Climatology |
POFe_darwin_clim |
POFe concentration (climatology) |
mmol Fe |
21 |
| 15 |
Opedia |
tblDarwin_Nutrient_Climatology |
PIC_darwin_clim |
PIC concentration (climatology) |
mmol C/ |
21 |
| 16 |
Opedia |
tblDarwin_Nutrient_Climatology |
ALK_darwin_clim |
ALK concentration (climatology) |
mmol eq |
21 |
| 17 |
Opedia |
tblDarwin_Nutrient_Climatology |
O2_darwin_clim |
O2 concentration (climatology) |
mmol O/ |
21 |
| 18 |
Opedia |
tblDarwin_Nutrient_Climatology |
CDOM_darwin_clim |
CDOM concentration (climatology) |
mmol C/ |
21 |
| 19 |
Opedia |
tblDarwin_Plankton_Climatology |
prokaryote_c01_darwin_clim |
c01 concentration (climatology) |
mmol C/ |
21 |
| 20 |
Opedia |
tblDarwin_Plankton_Climatology |
prokaryote_c02_darwin_clim |
c02 concentration (climatology) |
mmol C/ |
21 |
| 21 |
Opedia |
tblDarwin_Plankton_Climatology |
picoeukaryote_c03_darwin_clim |
c03 concentration (climatology) |
mmol C/ |
21 |
| 22 |
Opedia |
tblDarwin_Plankton_Climatology |
picoeukaryote_c04_darwin_clim |
c04 concentration (climatology) |
mmol C/ |
21 |
| 23 |
Opedia |
tblDarwin_Plankton_Climatology |
cocco_c05_darwin_clim |
c05 concentration (climatology) |
mmol C/ |
21 |
| 24 |
Opedia |
tblDarwin_Plankton_Climatology |
cocco_c06_darwin_clim |
c06 concentration (climatology) |
mmol C/ |
21 |
| 25 |
Opedia |
tblDarwin_Plankton_Climatology |
cocco_c07_darwin_clim |
c07 concentration (climatology) |
mmol C/ |
21 |
| 26 |
Opedia |
tblDarwin_Plankton_Climatology |
cocco_c08_darwin_clim |
c08 concentration (climatology) |
mmol C/ |
21 |
| 27 |
Opedia |
tblDarwin_Plankton_Climatology |
cocco_c09_darwin_clim |
c09 concentration (climatology) |
mmol C/ |
21 |
| 28 |
Opedia |
tblDarwin_Plankton_Climatology |
diazotroph_c10_darwin_clim |
c10 concentration (climatology) |
mmol C/ |
21 |
| 29 |
Opedia |
tblDarwin_Plankton_Climatology |
diazotroph_c11_darwin_clim |
c11 concentration (climatology) |
mmol C/ |
21 |
| 30 |
Opedia |
tblDarwin_Plankton_Climatology |
diazotroph_c12_darwin_clim |
c12 concentration (climatology) |
mmol C/ |
21 |
| 31 |
Opedia |
tblDarwin_Plankton_Climatology |
diazotroph_c13_darwin_clim |
c13 concentration (climatology) |
mmol C/ |
21 |
| 32 |
Opedia |
tblDarwin_Plankton_Climatology |
diazotroph_c14_darwin_clim |
c14 concentration (climatology) |
mmol C/ |
21 |
| 33 |
Opedia |
tblDarwin_Plankton_Climatology |
diatom_c15_darwin_clim |
c15 concentration (climatology) |
mmol C/ |
21 |
| 34 |
Opedia |
tblDarwin_Plankton_Climatology |
diatom_c16_darwin_clim |
c16 concentration (climatology) |
mmol C/ |
21 |
| 35 |
Opedia |
tblDarwin_Plankton_Climatology |
diatom_c17_darwin_clim |
c17 concentration (climatology) |
mmol C/ |
21 |
| 36 |
Opedia |
tblDarwin_Plankton_Climatology |
diatom_c18_darwin_clim |
c18 concentration (climatology) |
mmol C/ |
21 |
| 37 |
Opedia |
tblDarwin_Plankton_Climatology |
diatom_c19_darwin_clim |
c19 concentration (climatology) |
mmol C/ |
21 |
| 38 |
Opedia |
tblDarwin_Plankton_Climatology |
diatom_c20_darwin_clim |
c20 concentration (climatology) |
mmol C/ |
21 |
| 39 |
Opedia |
tblDarwin_Plankton_Climatology |
diatom_c21_darwin_clim |
c21 concentration (climatology) |
mmol C/ |
21 |
| 40 |
Opedia |
tblDarwin_Plankton_Climatology |
diatom_c22_darwin_clim |
c22 concentration (climatology) |
mmol C/ |
21 |
| 41 |
Opedia |
tblDarwin_Plankton_Climatology |
diatom_c23_darwin_clim |
c23 concentration (climatology) |
mmol C/ |
21 |
| 42 |
Opedia |
tblDarwin_Plankton_Climatology |
diatom_c24_darwin_clim |
c24 concentration (climatology) |
mmol C/ |
21 |
| 43 |
Opedia |
tblDarwin_Plankton_Climatology |
diatom_c25_darwin_clim |
c25 concentration (climatology) |
mmol C/ |
21 |
| 44 |
Opedia |
tblDarwin_Plankton_Climatology |
dinoflagellate_c26_darwin_clim |
c26 concentration (climatology) |
mmol C/ |
21 |
| 45 |
Opedia |
tblDarwin_Plankton_Climatology |
dinoflagellate_c27_darwin_clim |
c27 concentration (climatology) |
mmol C/ |
21 |
| 46 |
Opedia |
tblDarwin_Plankton_Climatology |
dinoflagellate_c28_darwin_clim |
c28 concentration (climatology) |
mmol C/ |
21 |
| 47 |
Opedia |
tblDarwin_Plankton_Climatology |
dinoflagellate_c29_darwin_clim |
c29 concentration (climatology) |
mmol C/ |
21 |
| 48 |
Opedia |
tblDarwin_Plankton_Climatology |
dinoflagellate_c30_darwin_clim |
c30 concentration (climatology) |
mmol C/ |
21 |
| 49 |
Opedia |
tblDarwin_Plankton_Climatology |
dinoflagellate_c31_darwin_clim |
c31 concentration (climatology) |
mmol C/ |
21 |
| 50 |
Opedia |
tblDarwin_Plankton_Climatology |
dinoflagellate_c32_darwin_clim |
c32 concentration (climatology) |
mmol C/ |
21 |
| 51 |
Opedia |
tblDarwin_Plankton_Climatology |
dinoflagellate_c33_darwin_clim |
c33 concentration (climatology) |
mmol C/ |
21 |
| 52 |
Opedia |
tblDarwin_Plankton_Climatology |
dinoflagellate_c34_darwin_clim |
c34 concentration (climatology) |
mmol C/ |
21 |
| 53 |
Opedia |
tblDarwin_Plankton_Climatology |
dinoflagellate_c35_darwin_clim |
c35 concentration (climatology) |
mmol C/ |
21 |
| 54 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c36_darwin_clim |
c36 concentration (climatology) |
mmol C/ |
21 |
| 55 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c37_darwin_clim |
c37 concentration (climatology) |
mmol C/ |
21 |
| 56 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c38_darwin_clim |
c38 concentration (climatology) |
mmol C/ |
21 |
| 57 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c39_darwin_clim |
c39 concentration (climatology) |
mmol C/ |
21 |
| 58 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c40_darwin_clim |
c40 concentration (climatology) |
mmol C/ |
21 |
| 59 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c41_darwin_clim |
c41 concentration (climatology) |
mmol C/ |
21 |
| 60 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c42_darwin_clim |
c42 concentration (climatology) |
mmol C/ |
21 |
| 61 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c43_darwin_clim |
c43 concentration (climatology) |
mmol C/ |
21 |
| 62 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c44_darwin_clim |
c44 concentration (climatology) |
mmol C/ |
21 |
| 63 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c45_darwin_clim |
c45 concentration (climatology) |
mmol C/ |
21 |
| 64 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c46_darwin_clim |
c46 concentration (climatology) |
mmol C/ |
21 |
| 65 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c47_darwin_clim |
c47 concentration (climatology) |
mmol C/ |
21 |
| 66 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c48_darwin_clim |
c48 concentration (climatology) |
mmol C/ |
21 |
| 67 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c49_darwin_clim |
c49 concentration (climatology) |
mmol C/ |
21 |
| 68 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c50_darwin_clim |
c50 concentration (climatology) |
mmol C/ |
21 |
| 69 |
Opedia |
tblDarwin_Plankton_Climatology |
zooplankton_c51_darwin_clim |
c51 concentration (climatology) |
mmol C/ |
21 |
| 70 |
Opedia |
tblDarwin_Chl_Climatology |
chl01_darwin_clim |
Chl01 concentration (climatology) |
mg Chl |
21 |
| 71 |
Opedia |
tblDarwin_Chl_Climatology |
chl02_darwin_clim |
Chl02 concentration (climatology) |
mg Chl |
21 |
| 72 |
Opedia |
tblDarwin_Chl_Climatology |
chl03_darwin_clim |
Chl03 concentration (climatology) |
mg Chl |
21 |
| 73 |
Opedia |
tblDarwin_Chl_Climatology |
chl04_darwin_clim |
Chl04 concentration (climatology) |
mg Chl |
21 |
| 74 |
Opedia |
tblDarwin_Chl_Climatology |
chl05_darwin_clim |
Chl05 concentration (climatology) |
mg Chl |
21 |
| 75 |
Opedia |
tblDarwin_Chl_Climatology |
chl06_darwin_clim |
Chl06 concentration (climatology) |
mg Chl |
21 |
| 76 |
Opedia |
tblDarwin_Chl_Climatology |
chl07_darwin_clim |
Chl07 concentration (climatology) |
mg Chl |
21 |
| 77 |
Opedia |
tblDarwin_Chl_Climatology |
chl08_darwin_clim |
Chl08 concentration (climatology) |
mg Chl |
21 |
| 78 |
Opedia |
tblDarwin_Chl_Climatology |
chl09_darwin_clim |
Chl09 concentration (climatology) |
mg Chl |
21 |
| 79 |
Opedia |
tblDarwin_Chl_Climatology |
chl10_darwin_clim |
Chl10 concentration (climatology) |
mg Chl |
21 |
| 80 |
Opedia |
tblDarwin_Chl_Climatology |
chl11_darwin_clim |
Chl11 concentration (climatology) |
mg Chl |
21 |
| 81 |
Opedia |
tblDarwin_Chl_Climatology |
chl12_darwin_clim |
Chl12 concentration (climatology) |
mg Chl |
21 |
| 82 |
Opedia |
tblDarwin_Chl_Climatology |
chl13_darwin_clim |
Chl13 concentration (climatology) |
mg Chl |
21 |
| 83 |
Opedia |
tblDarwin_Chl_Climatology |
chl14_darwin_clim |
Chl14 concentration (climatology) |
mg Chl |
21 |
| 84 |
Opedia |
tblDarwin_Chl_Climatology |
chl15_darwin_clim |
Chl15 concentration (climatology) |
mg Chl |
21 |
| 85 |
Opedia |
tblDarwin_Chl_Climatology |
chl16_darwin_clim |
Chl16 concentration (climatology) |
mg Chl |
21 |
| 86 |
Opedia |
tblDarwin_Chl_Climatology |
chl17_darwin_clim |
Chl17 concentration (climatology) |
mg Chl |
21 |
| 87 |
Opedia |
tblDarwin_Chl_Climatology |
chl18_darwin_clim |
Chl18 concentration (climatology) |
mg Chl |
21 |
| 88 |
Opedia |
tblDarwin_Chl_Climatology |
chl19_darwin_clim |
Chl19 concentration (climatology) |
mg Chl |
21 |
| 89 |
Opedia |
tblDarwin_Chl_Climatology |
chl20_darwin_clim |
Chl20 concentration (climatology) |
mg Chl |
21 |
| 90 |
Opedia |
tblDarwin_Chl_Climatology |
chl21_darwin_clim |
Chl21 concentration (climatology) |
mg Chl |
21 |
| 91 |
Opedia |
tblDarwin_Chl_Climatology |
chl22_darwin_clim |
Chl22 concentration (climatology) |
mg Chl |
21 |
| 92 |
Opedia |
tblDarwin_Chl_Climatology |
chl23_darwin_clim |
Chl23 concentration (climatology) |
mg Chl |
21 |
| 93 |
Opedia |
tblDarwin_Chl_Climatology |
chl24_darwin_clim |
Chl24 concentration (climatology) |
mg Chl |
21 |
| 94 |
Opedia |
tblDarwin_Chl_Climatology |
chl25_darwin_clim |
Chl25 concentration (climatology) |
mg Chl |
21 |
| 95 |
Opedia |
tblDarwin_Chl_Climatology |
chl26_darwin_clim |
Chl26 concentration (climatology) |
mg Chl |
21 |
| 96 |
Opedia |
tblDarwin_Chl_Climatology |
chl27_darwin_clim |
Chl27 concentration (climatology) |
mg Chl |
21 |
| 97 |
Opedia |
tblDarwin_Chl_Climatology |
chl28_darwin_clim |
Chl28 concentration (climatology) |
mg Chl |
21 |
| 98 |
Opedia |
tblDarwin_Chl_Climatology |
chl29_darwin_clim |
Chl29 concentration (climatology) |
mg Chl |
21 |
| 99 |
Opedia |
tblDarwin_Chl_Climatology |
chl30_darwin_clim |
Chl30 concentration (climatology) |
mg Chl |
21 |
| 100 |
Opedia |
tblDarwin_Chl_Climatology |
chl31_darwin_clim |
Chl31 concentration (climatology) |
mg Chl |
21 |
| 101 |
Opedia |
tblDarwin_Chl_Climatology |
chl32_darwin_clim |
Chl32 concentration (climatology) |
mg Chl |
21 |
| 102 |
Opedia |
tblDarwin_Chl_Climatology |
chl33_darwin_clim |
Chl33 concentration (climatology) |
mg Chl |
21 |
| 103 |
Opedia |
tblDarwin_Chl_Climatology |
chl34_darwin_clim |
Chl34 concentration (climatology) |
mg Chl |
21 |
| 104 |
Opedia |
tblDarwin_Chl_Climatology |
chl35_darwin_clim |
Chl35 concentration (climatology) |
mg Chl |
21 |


Our project is to create a device to help make university campuses safe for university students.
We were inspired by the
heroX Safe Campus Challenge,
which challenges students to identify the root
causes of sexual assault on campus, as well as recommend a solution for their campus. We aim to provide
a solution to the University of Calgary. Furthermore, we aim to go one step further and design a safety
device that all students can use on campus to feel safer.
Success would look like helping to reduce sexual assaults and other crimes committed on campus, and the
possible implementation of our device into the new sexual violence policy which was recently approved
by the Board of Governors at the
University of Calgary1.
Measurable Organizational Value
Currently, our Measurable Organizational Value (MOV) would be to design a successful device,
and gain partnerships to help produce and sell our device to students at the University of Calgary
with the aim of reducing the number of crimes committed on campus. Our long term goal will be to
expand our business to all other major Canadian university to help reduce the amount of violent crimes
on campuses. Additionally, we have plans to expand our users to the families and others that would gain
benefit from our device.
BuzzOn Bracelet Prototype
BuzzOn focuses on keeping students safe on campus.
Our product is functional and stylish at the same time.
Core of the unit is detachable from the band and will have functionality to attach to other
holders over time.
We have focused on a product that everyone is comfortable wearing and will fit with anyone's
style yet provide quick access for them when help is needed.
BuzzOn App Prototype
The buzzOn app allows user to activate an emergency alarm right from their phone
The app also allows user to easily set up emergency contacts and personal info from their device
* This website will grow as our project progresses.
Please check back Later for more information. *


| HW-D |
Length of longest HW |
days |
| HW-F |
Number of days that contribute to heat waves |
days |
| HW-M |
Mean temperature of all heat wave in a year |
°C |
| HW-N |
Number of heat waves per year |
number |
| WSDI |
Number of days contributing to events where on > 6 consecutive days the maximum air temperature is in > 90th percentile |
days |


The following story of pure fiction is intended for mature audiences only; all events, places and names therein have no resemblance to any such in reality. The story contains references to polydrug use, specifically:
MDMA: 300 mg, approximate, oral;
MDA: 120 mg, approximate, oral;
2C-I: 8 mg, oral;
Marijuana: 7 g, approximate, smoked;
L-Deprenyl: 5 mg, oral;
Piracetam: 1,600 mg, oral;
L-Phenylalanine: 1,000 mg oral;
Alprazolam: 1 mg, oral;
Stella Artois beers: 5, oral
In addition, the imaginary tale is filled with vile words, stochastic conclusions and other such offending material. Standard and extra special warnings apply kids, NEVER DO THIS.
So the Sunday started as usual -- with a hangover! Just kidding folks, the day started out great. Plenty of sleep last night, Monday is a day off, Tuesday is an Australian public holiday, and after a week of wouldn't kick your dog out weather, the sun graced our faces during morning coffee and croissants on the back porch.
For the record I am in mid thirties, male, 180cm/70kg, with about 20 years of experience with psychedelics, a byproduct of which is extremely high tolerance to MDxA type compounds. Surprisingly enough, I am also healthy and health conscious.
The Soulmate, a professional musician and an artist of acclaim also had the long weekend fairly free, no mandatories, and although a non-participant in any of the forthcoming, or for that matter, any of my pharmaceutical activities, blessed me with her loving, courageous and very feminine presence. Did I mention beautiful?
So after the morning coffee kicked in, augmented with 1000mg of l-phenylalanine, 1,600mg of Piracetam and 5mg L-Deprenyl (standard nootropics regimen, the remaining five or so neurons need all the help they can get), the sun still stubbornly shone through the gusts of clouds, and we realized there is no way of weaseling out of the working bee at the gardens. By this time it was 11:00 A.M.
T 0:00 On our way out, I happened to glance at a copy of PIHKAL innocently open on the coffee table, right on some obscure chemical, Entry No. 33. From nowhere, the Psychedelic Spirit took possession, halting me midstep. Several large cones (this is what us Aussies call bong loads) of high quality local hydro mull mix were needed to calm the restless soul, yet the desire for alternate and altered perception remained.
The solution became evident, I had to eat a Greenback - a very strong MDMA/MDA combo pill, tested, unusual in that it is dual-colored - green one half, white the other half, not dyed. A lazy-hazy ambulation to the gardens with the Soulmate talking about nothing and everything, touching her brown skin (she gets mistaken for Brazilian) and running my hands through her waist-long hair.
T 0:15 Ah the working bee, the compost heap that needs a'choppin and the sun, and the AXE with which to chop, good grip yyeah, AARGH! As the typical effects of MDMA became pronounced, a brightening of the visual aspect and a general mood lift - I became Coner The Axe Wielding Barbarian on top of the compost heap, the roots and weeds didn't have a chance!
 Sweating under the hot sun, chopping away, scaring old ladies to be sure, feeling each muscle move in tandem, grrreat!
T 1:45 By this point the compost heap was leveled, the blisters on both hands fully formed, and the effects of the Greenback were in need of augmentation. The Soulmate was resting in the sun, surprised at my manly, sweaty prowess (grin), and although both highly erotically charged, we were unable to take the opportunity, this being in a public place. alas, a swift walk home, several more cones, hmmm, there was sumethin-somethin missing.
A synchronicitous occurrence -- approximately 8 mg of 2C-I, a substance unexplored but much researched, fell into my mouth, seemingly materializing right from the pages of the Shulgins' book. The taste was almost lacking but slightly off-bitter, not at all unpleasant at this experimental dose, washed down with apple juice.

T 2:00 A review of the morning's activities over some coneloads smoked to the background of Hallucinogen in Dub reasoned my way clear to chewing another Greenback, some cones to follow the well beaten path. By this time the effects of the initial MDMA dose were giving way to the push of MDA, which manifested as appearance of often described smoke-ring type peripheral visual effects and a strong Kundalini push from the lower shakras.
T 2:30 The effects of the second Greenback are kicking in, back outdoors by the bay and the sky moves too fast to look at, I am crowing with the birds flying with them overhead in the thermals coming off the hot sand on the beach. Gardening again proves welcome relief for the MDA push, exercising muscles I never even knew I had.
T 3:00 2C-I, Yes, there it is. Subtle energetic lift complemented by significant enhancement of visual acuity, a distinctly different phen signature, seems to begin blending well with the effects of the MDMA/MDA combo, with MDA the backbone, MDMA the nervous/sensory extension of the metasystem, and 2C-I providing introspective depth and coloration, the painter of emotions. Another effect of the 2C-I, it made me completely unaware of any somatic side effects usually associated w/ MDxA intake. No nausea, and when the 2C-I became pronounced, no nystagmus or jaw clenching until much later. In fact, the whole trip was very lucid, with no body load, perhaps aided by the L-Dprenyl and Piracetam, no distortions, confusion or fuzzyness.
T 4:00 The sun is bright and the wind high, and by golly, so am I. Gliding my way through the crowded street in a quest for sunglasses, absolutely hopeless given my condition as I don't think they make frames large enough to cover the dilated pupils, becoming aware that everyone's faces had changed.
Peoples' faces became masks, but not color-distorted, morphing and often scary masks of LSD / Psilocybin, rather the faces, or rather the expressions they wore became enhanced to the point that all of the person's life, emotional makeup and baggage, and even self perception, were mixed in proportion and stamped indelibly on their face, right now and at all times.
At this point, the questions begin coming. What is the source of beauty that you seek? - asked the Internal Observer. Subjective Projection is not Objective Perception, or is this even the point? The visuals are becoming stronger.
 Almost as funny as a flock of dreadlocked and carefully cultivated crusty ferals perched on the grassy hill who appeared to be Trustafarians rather than Rastafarians.
On the other hand, some people were stunningly good looking, and in many a case, regardless of their outward physical appearance. When the two, the inward and the outward combined, the synergetic perceptual effect was stunning, it was as if some people were karmically pure and shone with the light of Good Intention, for lack of better words, emanating their pure, beautiful energy, comfortable in their own space and purpose.
This was seemingly much more than typical auras I can read under the influence. When I saw the Soulmate upon returning from the lost crusade, I understood the essence of Love, the pure joy of loving and being loved in return, unconditionally.
T 5:00 Something about the righteous satisfaction of packing the perfect bowl of mull, not too big, not too small, the exhaled smoke is a rainbow cloud, the visuals from the 2C-I are definitely there, with surprisingly few somatic effects still. Pulse 85 -- high by 25, BP 120 / 60, normal.
Another bowl was complemented by a fine cold Belgian lager which went down a treat, as well as helping get rid of the taste of another whole Greenback. Back outside and working away, feeling social as all getout, meeting people right and left, with apparently, no awareness of my changed condition, thank god for the sunglasses which were on my head all along. Conversation is no problem, hardly any distortion, empathic and understanding, attention span is great, and memory recall significantly enhanced, long forgotten references on tap.
T 5:30 Fully tripping, lying on our backs on the grass, all senses enhanced almost to the point of being painful, especially the olfacatory and the visual, the grass recently mown smells of sunshine, every inch of ground seems to be covered with life of some sort awakening under the sun. I can almost feel the plants opening up to the warmth.
 Smells, usually enhanced by L-Deprenyl are magnified immensely, although none bordering on the offensive.
Water divine, definite dehydration after working all day, blisters now burst with top layers of skin gone (remember to wear ya gloves when ya axe, dough!) but while visually amusing and disgusting to others caused no pain ... certainly the awareness of the damage was there, as was the sensation, although it was not perceived as pain, but just that, an awareness of damage.
Nearby is a chicken coop, where we see a rooster, no a Cock consider a few prime chooks then, taking a good running start, jump on top of the fattest looking hen, while others ran away cackling, covering his hapless selection with his flapping wings (tracers) to prevent escape, making mad chicken noises all the while and doing what birds and bees do best, with tenacity and vigour to impress any Viagra salesman -- wow, such raw nature, I look at the Soulmate and she is laughing at me laughing at the chickens and places her body next to mine, her head on my chest.
I feel her warmth and her waist-long hair smells of hay and sunshine and her smell which I love, now in colors, and we want to make love, but there are others, including young'un family members in vicinity; desire a hot knot of white energy at the spine, rising through the lower shakras and spreading through every skin cell, touch is in itself semi-orgasmic.
Eyes closed, her words, spoken gently and not too often, are colored with emotion, I can see both melding into a visual thoughtform, each concept a geometrical figure of fractal complexity, unique as a snowflake, in brilliant hues of primary, yet un-Pantoned colors against a neon pastel background of gently shifting field patterns. Love shines as a tesseract lotus diamond through my whole being.
T 8:00 back home after the sun on its way to meet the ocean becomes obscured by copper-tinged clouds, some cones and music. A shuffle through the CDs scattered everywhere, a few hit and misses, the misses being Sun Ra, some new school Israeli psytrance which proves too aggro, some dub which was too boring, with a Shponglization-Younger Brother a final temporary selection, which when cranked to pleasure levels prompted the poor Soulmate to drive the tired family members back to their abode.
Alone with the music, subs at just before the neighbors come knocking levels, the cat absolutely freaked out jumping off walls, her eyes bigger than mine if possible, escapes to the balcony where she sits indignantly twitching the tip of her tail. The cat hates loud electronic music, she is a classical aficionado though. Oh well, she will have to bear for a bit as next up is a wicked mix of some guitar driven space trance off Guitars on Mushroom, and some Russian psy, which, of course, needs full amplification. Some definite ego expansion noted. Pulse 120 BP 130 / 70 getting higher than I like but within normal range.
Online, reading no problem, music jamming visuals, connection not fast enough to keep up with my clicking, internet bores, reading is not fast enough, some agitation and peripheral amphetaminergic stimulation becoming noted.
T 9:00 Disconnect, a short session of cones, load of laundry, washing dishes proves no respite from the forthcoming Comedown...
Lay back, close eyes and chill to Backroom Beats 2 (Twisted) over another lager. Cat is back, laying on my chest, purring away as I scratch her cheeks. How cool is it to be a cat, with long soft fur, grace, agility, personality. Chilling with the cat, fully grokking as to why the Egyptians of yore chose to deify the feline.  An energy tremor, not a cramp passes through whole body. I want sex, but she is gone, oh frustration!
T 10:00 Soulmate is back, wonders at my condition, which has apparently become pretty disheveled. Shower brings back memories of being a primordial water creature, feeling the impact of the spray, each drop on my skin.
T 10:30 Just when the massage is blooming to the truly erotic, Glen Gould humming along to his unique Bach fugues on the piano, every cell afire with sensation, friends who were supposed to drop by some hours ago show up. Dough! They knew nothing of my intake, and conversation flowed easy over beers, cones, and for the abstinent ladies, a bit of amaretto on ice.
1mg Alprazolam ingested to ease peripheral tension, and pardon the expression, the priapic puptent in my pants. Pulse is fairly fast still, active visuals calming, mind at full throttle.
T 11:30 Friends dearly depart and a brisk walk outside in the warm night holding hands with the one I love, haloes still around lights and headlights.
T 12:00 Back at home, the cat fed, and Soulmate is falling asleep after an intense day, too tired by this point to respond to amorous innuendos. I follow her to bed after a final nod to Jah Rastafari, and lay curled up next to her luscious naked, warm body, matching my breathing to hers, some CEVs still present, which slowly take the shape of her oncoming dreams.
T 12:30 Thinking there is no way I can fall asleep, I find myself in the midst of a lucid dream, floating, no, flying slowly above an endless lazy blue-green crystal ocean glistening in the breezy tropical sun. The answers to all questions come, realizations yet again, ephemeral yet again.
One remains, of Beauty of Good Intention combined with the Will to Power as the manifestation of a plan of a higher intelligence, and that quintessence of Beauty, regardless of Perception, is Love.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


7.18. Making Web Applications Stateless¶
Table of contents
7.18.1. Basic concept¶
The HTTP session provided by the servlet API cannot be scaled out as it is because the AP server has its own state. Normally, you need to take the following measures to scale out the AP server.
- Enable sticky sessions in the load balancer
- use the session replication function of the AP server
- set the AP server’s HTTP session destination to NoSQL
1 and 2 are inferior in terms of ease of disposability, as referred to in the Twelve-Factor App, while 2 and 3 are dependent on the AP server.
Although some of the features used by Nablarch depend on HTTP sessions, they are by switching these features to HTTP session-independent ones, the The AP server can be made stateless.
7.18.2. Features that depend on HTTP sessions¶
The following features depend on the HTTP session by default.
7.18.3. How to implement the HTTP session-independent feature¶
You can remove dependence on HTTP sessions by configuring each function of Features that depend on HTTP sessions as follows.
<IP_ADDRESS>. Thread context cariable management handler¶
Do not use the following components in thread context initialization.
Each of the following components can be substituted as implementations that do not use HTTP sessions.
<IP_ADDRESS>. HTTP rewrite handler¶
Do not use HTTP Rewrite Handler. If it is used, configure it so that the session scope is not accessed.
7.18.4. Using the local file system¶
If you store uploaded files and so on locally on the AP server, they will have state. In such a case, you need to prepare a shared storage space so that the AP server does not have files locally.
7.18.5. Detecting accidental creation of HTTP sessions¶
To prevent accidental creation of HTTP sessions due to a misconfiguration or an implementation error, a feature to detect the creation of HTTP sessions is provided. When this feature is enabled, an exception is sent when an attempt to create an HTTP session is made.
This feature can be enabled by setting the preventSessionCreation
property of the
WebFrontController to true
(disabled by default at false
).
Specifically, the detection function can be enabled by writing the following in the configuration file that defines the components of WebFrontController.
<!-- handler queue configuration -->
<component name="webFrontController"
class="nablarch.fw.web.servlet.WebFrontController">
<!-- Detecting accidental creation of HTTP sessions -->
<property name="preventSessionCreation" value="true" />


A further snippet from Sober Truth : A Collection Of Nineteenth-Century Episodes, Fantastic, Grotesque And Mysterious compiled and edited by Margaret Barton and Osbert Sitwell (1930) reveals that the hunt for Jack the Ripper was a scene from Edward Gorey:
Whitechapel bristled with policemen, whose work was rendered infinitely more difficult by the swarms of amateur detectives from the West End. Medical students and newspaper reporters paraded the streets unconvincingly disguised as women, and in every corner there lurked assassin-hunters in tennis shoes or galoshes.


val liveInheritances: LiveData<Either<StatusCode, InheritanceVWrapper>>
LiveData with content for the InheritanceFragment.


This is a statement with var and function and some {} and also a few () to confuse the content sniffer.
var __10_4_2_1_1_1 = "str"; ES5Harness.registerTest( { id: "10.4.2-1-1", path: "TestCases/chapter10/10.4/10.4.2/10.4.2-1-1.js", description: "Indirect call to eval has context set to global context", test: function testcase() { var _eval = eval; var __10_4_2_1_1_1 = "str1"; if(_eval("\'str\' === __10_4_2_1_1_1") === true && // indirect eval eval("\'str1\' === __10_4_2_1_1_1") === true) // direct eval return true; } });


Are we gonna have a Party when KMD discord hits 5K members?
I'll drop a few squalls for 1000 ARRR each when we do!
3
1
passcombo.com 🏴☠🏴25-Oct-18 09:13 PM
@jl777c are you familiar with the new bulletproof made by Monero? I saw Andreas talking about it like it was zero knowledge improvement, so I'm thinking Monero got zk-snarks now ?
jl777c25-Oct-18 11:35 PM
it isnt zk-snark, it is a bulletproof. makes is almost as small as zksnarks
i think it also hides things a bit better
house26-Oct-18 12:48 AM
Shit @blackjok3r ... you really pulled it off ?
this is .... huge!
Llama26-Oct-18 01:02 AM
what is even going on in hangout it everyone has mics muted?
blackjok3r26-Oct-18 01:07 AM
Almost yeah got a bit left to test out
Geocold5126-Oct-18 02:23 AM
The lead dev of SexCoin just DMed me
Asking how he should mitigate 51% attacks
I want to reccoment Komodo DpoW
Any ideas on where I should point him?
Is there some sort of pitch to coin devs on the komodo site?
house26-Oct-18 02:31 AM
Damn, that thing still going.  Respect
Komodo Platform is the world leader in blockchain solutions.  It allows them to verify the transaction isn't trying to do an overflow by using a really big number or trying to generate coins out of thin air, because of the zkp , coin amounts can be hidden, and tx size is reduced by 80%. My guess because a hash of the proof is a lot less data than a proof itself . It is not a snark as a snark is an argument not a proof. Note the differences in definition ( An argument is valid if and only if its conclusion is a consequence of its premises . A proof must demonstrate that a statement is always true .)
grewalsatinder26-Oct-18 05:56 AM
@Geocold51 nice to hear from you here. You can refer to two links to any project for dPoW.
- whitepaper of dPoW
- @dukeleto guide on dPoW implementation
M on mobile so can’t give the links just now
Maybe some others here can until I get back on computer
passcombo.com 🏴☠🏴26-Oct-18 05:59 AM
@polycryptoblog so it does not improve Monero anon tech, just speed / load optimization ?
polycryptoblog26-Oct-18 06:00 AM
it makes the coin amounts not visible
grewalsatinder26-Oct-18 06:04 AM
Any links to read on comparing bulletproofs and zk SNARKS?
From my brief exposure to the concept, zkSNARKs seems to be a form of zero-knowledge cryptography.
What can zkSNARKs bring to the table for Ethereum?
I have looked at projects like this but still
One of the best things about modern cryptography is the beautiful terminology. You could start any number of punk bands (or Tumblrs) named after cryptography terms like ‘hard-core predicate&#…
Mastering Komodo Delayed Proof-of-Work. Contribute to leto/mastering_komodo_dpow development by creating an account on GitHub.
bubu26-Oct-18 06:31 AM
good morning
nille26-Oct-18 06:55 AM
hello
$tefano.26-Oct-18 07:33 AM
@blackjok3r great project
blackjok3r26-Oct-18 07:33 AM
Yeah its pretty cool
just working out how to actually send a file with it now... I have hex string in and out working just fine.
Going to write dAPP in python that can send file over blockchain
Then some GUI guys can make it work with video
Hope to have a video of it in action up tonight
Cryptoon26-Oct-18 07:38 AM
How will this affect chain sizes?
blackjok3r26-Oct-18 07:38 AM
Each stream is a new chain... the chain is ondemand created by the streamer
If they use dPoW there is a normal dpow TX on KMD.
Cryptoon26-Oct-18 07:38 AM
Aaah only for livestreaming?
blackjok3r26-Oct-18 07:38 AM
no
Cryptoon26-Oct-18 07:38 AM
So not to replace youtube?
blackjok3r26-Oct-18 07:40 AM
You can send absolutly anything into the blockchain then retreive it via RPC call... you can use it to store files, so you know the file is exactly as it was when you put it in there, as if it has changed the chain would not sync... each 8kb chunk is in a utxo that is counted by the hashes of the chain and merkle roots etc.
Cryptoon26-Oct-18 07:40 AM
Yeah, but I mean lets say you want to use it to make a decentralized youtube
This would require insane amounts of storage from the nodes no?
blackjok3r26-Oct-18 07:40 AM
You would need youtube server farm...
Cryptoon26-Oct-18 07:40 AM
Ah k
blackjok3r26-Oct-18 07:41 AM
the blockchain adds 10% extra size over the raw data
Cryptoon26-Oct-18 07:41 AM
Just read streaming and thought of youtube and the huge farms google has
blackjok3r26-Oct-18 07:41 AM
but you then get the benifits of storing it in a blokchcain, and built in p2p distribution etc.
Cryptoon26-Oct-18 07:41 AM
Could be interesting for stuff like wikileaks/megaupload etc
To prove a file is the real deal
And not fakenews whatever
blackjok3r26-Oct-18 07:42 AM
yes .. I think personally its most useful to prove some data existed at some time... and verify the copy against KMD using dPOW
Each chain is owned by a private key
so you can prove you were the person with that data at that time, if someone wanted to steal a song you made or somehting liek that
$tefano.26-Oct-18 07:43 AM
could be used for interesting project also in legal way .. very nice work
Just some days ago i was seeing a video from lisk about file on blockchain as a dapp
Cryptoon26-Oct-18 07:43 AM
Ok, starting to grasp the possibilities, very cool sir!
!kmdtip @blackjok3r 7.777
KMD TipBotBOT26-Oct-18 07:43 AM
TipBot
@Cryptoon (Cryptoon#3362)
You tipped @blackjok3r7.777 KMD
$tefano.26-Oct-18 07:44 AM
i'm a poor man
blackjok3r26-Oct-18 07:44 AM
yeah .. at first I was like shouldnt be too hard to send video ... but the more ai thaught about it the more I realised how powerful it really is... can be applied to so many things its insane... as with all these blockchain techs we dont even know what it will be used fof yet.
$tefano.26-Oct-18 07:44 AM
!kmdtip balance
KMD TipBotBOT26-Oct-18 07:44 AM
TipBot
Please use #tip-bot to talk to TipBot.
blackjok3r26-Oct-18 07:44 AM
thanks
$tefano.26-Oct-18 07:45 AM
min is 0.5 sorry @blackjok3r
i'm poor
blackjok3r26-Oct-18 07:45 AM
all good man I have enough KMD atm
well... the most ive ever had anyway
All I hope is that people can/do use it when its done... Learn't a LOT on this challenge
$tefano.26-Oct-18 07:48 AM
sure in italy it can be interesting in legal application ( file and video on blockchain) and i have a big player for this application
blackjok3r26-Oct-18 07:51 AM
the hardest part is going to be the dPoW and how we go about spinning up chains, we have a way for notary nodes to pull chain information off a blockchcain and then start dpow on those chains, but at the moment its only working from one trusted oracle source... Although with some more work, someone could spin uptheir own notary nodes and dPoW their own streams, but obviously cost would be quite high there.
I am pretty sure the stakedNotary repo is a git pull and ./start.sh to fully build and start and sync all chains, and start the notary node.
if we can put that into docker image ... almsot anyone could spin up a notary network for their chains on demand.
Cryptoon26-Oct-18 07:53 AM
Mindblown.gif(edited)
$tefano.26-Oct-18 07:53 AM
there are also apis ready for this project ?
blackjok3r26-Oct-18 07:54 AM
yes its pretty cool, the only thing remaning to be solved is the notary pukeys are hardcoded into the komdodo source code, once I work out how to store those on a blockchain,
Kind of ... its still being built and is aways changing
$tefano.26-Oct-18 07:55 AM
chapeau
grewalsatinder26-Oct-18 08:53 AM
this video streaming on-demand chain spawning idea is amazing.
It is in actual a "Data Stream" tied directly to "Streaming Money".
On top of that it's Crypto-Conditions [UTXO] based smart contract.
The possibilities with this technology are just limitless.
it's all about data streaming on internet if one understands.(edited)


|
LCDGFX LCD display driver
1.0.3
This library is developed to control SSD1306/SSD1325/SSD1327/SSD1331/SSD1351/IL9163/PCD8554 RGB i2c/spi LED displays
|
Nano Engine description. More...
Classes | |
| class | AdafruitCanvasOps< BPP > |
| class | NanoCanvasOps< BPP > |
| struct | _NanoPoint |
| struct | _NanoRect |
| class | NanoEngine1_8< D > |
| class | NanoMenuItem< T > |
| class | NanoTextMenuItem< T > |
| class | NanoObjectList< T > |
| class | NanoSprite< T > |
Typedefs | |
| template<class D > | |
| using | NanoEngine1 = NanoEngine< TILE_16x16_MONO, D > |
| template<class D > | |
| using | NanoEngine4 = NanoEngine< TILE_16x16_GRAY4, D > |
| template<class D > | |
| using | NanoEngine8 = NanoEngine< TILE_16x16_RGB8, D > |
| template<class D > | |
| using | NanoEngine16 = NanoEngine< TILE_16x16_RGB16, D > |
| #define | SSD1306_MORE_CHARS_REQUIRED 0xffff |
| NanoFont | g_canvas_font |
| typedef struct _NanoPoint | NanoPoint |
| typedef struct _NanoRect | NanoRect |
| typedef uint8_t(* | TNanoEngineGetButtons) (void) |
| typedef void(* | TLoopCallback) (void) |
| #define | ENGINE_DEFAULT_FPS (30) |
| enum | { BUTTON_NONE = 0B00000000, BUTTON_DOWN = 0B00000001, BUTTON_LEFT = 0B00000010, BUTTON_RIGHT = 0B00000100, BUTTON_UP = 0B00001000, BUTTON_A = 0B00010000, BUTTON_B = 0B00100000 } |
| typedef bool(* | TNanoEngineOnDraw) (void) |
| #define | NE_MAX_TILE_ROWS 20 |
| Maximum tile rows supported. Can be defined outside the library. | |
| #define | TILE_128x64_MONO NanoCanvas<128,64,1> |
| Full-screen 1-bit tile for SSD1306. More... | |
| #define | TILE_8x8_MONO NanoCanvas<8,8,1> |
| Standard 1-bit tile 8x8 for monochrome mode. | |
| #define | TILE_16x16_MONO NanoCanvas<16,16,1> |
| Standard 1-bit tile 16x16 for monochrome mode. | |
| #define | TILE_32x32_MONO NanoCanvas<32,32,1> |
| Standard 1-bit tile 32x32 for monochrome mode. | |
| #define | TILE_16x16_GRAY4 NanoCanvas<16,16,4> |
| Standard 4-bit tile 16x16 for gray-color displays. | |
| #define | TILE_8x8_RGB8 NanoCanvas<8,8,8> |
| Standard 8-bit RGB tile 8x8. | |
| #define | TILE_16x16_RGB8 NanoCanvas<16,16,8> |
| Standard 8-bit RGB tile 16x16. | |
| #define | TILE_32x32_RGB8 NanoCanvas<32,32,8> |
| Standard 8-bit RGB tile 32x32. | |
| #define | TILE_8x8_MONO_8 NanoCanvas<8,8,1> |
| Standard 1-bit tile 8x8 for RGB mode. | |
| #define | TILE_16x16_MONO_8 NanoCanvas<16,16,1> |
| Standard 1-bit tile 16x16 for RGB mode. | |
| #define | TILE_8x8_RGB16 NanoCanvas<8,8,16> |
| Standard 16-bit RGB tile 8x8. | |
| #define | TILE_16x16_RGB16 NanoCanvas<16,16,16> |
| Standard 16-bit RGB tile 16x16. | |
| #define | ADATILE_8x8_MONO AdafruitCanvas1, 8, 8, 3 |
| Use Adafruit GFX implementation as NanoEngine canvas. | |
| #define | ADATILE_8x8_RGB8 AdafruitCanvas8, 8, 8, 3 |
| Use Adafruit GFX implementation as NanoEngine canvas. | |
| #define | ADATILE_8x8_RGB16 AdafruitCanvas16, 8, 8, 3 |
| Use Adafruit GFX implementation as NanoEngine canvas. | |
Nano Engine description.
This group contains API functions for developing Graphics engines.
| #define ENGINE_DEFAULT_FPS (30) |
| #define SSD1306_MORE_CHARS_REQUIRED 0xffff |
| #define TILE_128x64_MONO NanoCanvas<128,64,1> |
| using NanoEngine1 = NanoEngine<TILE_16x16_MONO,D> |
NanoEngine1 is simple graphics engine, that implements double buffering work for the systems with very low resources. That is, memory buffer for SSD1306 oled display needs at least 128x64/8 bytes (1024 bytes), and this is inacceptable for microcontrollers like attiny85 (it has only 512B of RAM). So, to workaround issue with low resources, NanoEngine1 uses small tile buffer (NE_TILE_SIZE x NE_TILE_SIZE) and updates only part of oled screen at once. It makes system slow, but it is possible to run NanoEngine1 on simple controllers. If tile size is 32x32, then 128x64 oled display is devided into 8 tiles:
[0,0] [1,0] [2,0], [3,0]
[0,1] [1,1] [2,1], [3,1]
In your application you can choose, if you want to refresh whole screen (refresh()), or you need to refresh only part of oled display.
Definition at line 65 of file nano_engine_v2.h.
| using NanoEngine16 = NanoEngine<TILE_16x16_RGB16,D> |
NanoEngine16 is simple graphics engine, that implements double buffering work for the systems with very low resources. That is, memory buffer for SSD1351 oled display needs at least 128x128x2 bytes (32768 bytes), and this is inacceptable for microcontrollers like atmega328p (it has only 2KiB of RAM). So, to workaround issue with low resources, NanoEngine16 uses small tile buffer (NE_TILE_SIZE x NE_TILE_SIZE) and updates only part of oled screen at once. It makes system slow, but it is possible to run NanoEngine16 on simple controllers. If tile size is 16x16, then 128x128 oled display is devided into 64 tiles:
[0,0] [1,0] [2,0] [3,0] [4,0] [5,0] [6,0] [7,0]
[0,1] [1,1] [2,1] [3,1] [4,1] [5,1] [6,1] [7,1]
etc.
In your application you can choose, if you want to refresh whole screen (refresh()), or you need to refresh only part of oled display.
Definition at line 145 of file nano_engine_v2.h.
| using NanoEngine4 = NanoEngine<TILE_16x16_GRAY4,D> |
NanoEngine4 is simple graphics engine, that implements double buffering work for the systems with very low resources. That is, memory buffer for SSD1327 oled display needs at least 128x128x/2 bytes (8192 bytes), and this is inacceptable for microcontrollers like atmega328p (it has only 2KiB of RAM). So, to workaround issue with low resources, NanoEngine4 uses small tile buffer (NE_TILE_SIZE x NE_TILE_SIZE) and updates only part of oled screen at once. It makes system slow, but it is possible to run NanoEngine4 on simple controllers. For example, if tile size is 32x32, then 128x128 oled display is devided into 16 tiles:
[0,0] [1,0] [2,0] [3,0]
[0,1] [1,1] [2,1] [3,1]
[0,2] [1,2] [2,2] [3,2]
[0,3] [1,3] [2,3] [3,3]
In your application you can choose, if you want to refresh whole screen (refresh()), or you need to refresh only part of oled display.
Definition at line 84 of file nano_engine_v2.h.
| using NanoEngine8 = NanoEngine<TILE_16x16_RGB8,D> |
NanoEngine8 is simple graphics engine, that implements double buffering work for the systems with very low resources. That is, memory buffer for SSD1331 oled display needs at least 96x64x1 bytes (6144 bytes), and this is inacceptable for microcontrollers like atmega328p (it has only 2KiB of RAM). So, to workaround issue with low resources, NanoEngine8 uses small tile buffer (NE_TILE_SIZE x NE_TILE_SIZE) and updates only part of oled screen at once. It makes system slow, but it is possible to run NanoEngine8 on simple controllers. If tile size is 32x32, then 96x64 oled display is devided into 6 tiles:
[0,0] [1,0] [2,0]
[0,1] [1,1] [2,1]
In your application you can choose, if you want to refresh whole screen (refresh()), or you need to refresh only part of oled display.
Definition at line 101 of file nano_engine_v2.h.
| typedef struct _NanoPoint NanoPoint |
Describes point
| typedef void(* TLoopCallback) (void) |
| typedef uint8_t(* TNanoEngineGetButtons) (void) |


|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |
| Packages that use Pattern | |
|---|---|
| org.codehaus.jparsec | Provides core Parser implementations for parser combinator logic. |
| org.codehaus.jparsec.pattern | Provides Pattern implementations for use by character level scanners. |
| Uses of Pattern in org.codehaus.jparsec |
|---|
| Methods in org.codehaus.jparsec with parameters of type Pattern | |
|---|---|
static Parser<Void> |
Scanners.blockComment(String begin,
String end,
Pattern commented)
A scanner for a non-nestable block comment that starts with begin and ends with
end . |
static Parser<Void> |
Scanners.many(Pattern pattern,
String name)
Deprecated. Use pattern.many().toScanner(name) . |
static Parser<Void> |
Scanners.many1(Pattern pattern,
String name)
Deprecated. Use pattern.many1().toScanner(name) . |
static Parser<Void> |
Scanners.nestableBlockComment(String begin,
String end,
Pattern commented)
A scanner for a nestable block comment that starts with begin and ends with
end . |
static Parser<Void> |
Scanners.pattern(Pattern pattern,
String name)
Deprecated. Use pattern.toScanner(name) . |
| Uses of Pattern in org.codehaus.jparsec.pattern |
|---|
| Fields in org.codehaus.jparsec.pattern declared as Pattern | |
|---|---|
static Pattern |
Patterns.ALWAYS
A Pattern that always matches with match length 0 . |
static Pattern |
Patterns.ANY_CHAR
A Pattern that matches any character and only mismatches for an empty string. |
static Pattern |
Patterns.DEC_INTEGER
A Pattern object that matches a decimal integer, which starts with a non-zero digit and is followed by 0 or
more digits. |
static Pattern |
Patterns.DECIMAL
A Pattern object that matches a decimal number that could start with a decimal point or a digit. |
static Pattern |
Patterns.EOF
A Pattern object that matches if the input has no character left. |
static Pattern |
Patterns.ESCAPED
A Pattern object that succeeds with match length 2 if there are at least 2 characters in the input
and the first character is '\' . |
static Pattern |
Patterns.FRACTION
A Pattern object that matches a decimal point and one or more digits after it. |
static Pattern |
Patterns.HEX_INTEGER
A Pattern object that matches a hex integer, which starts with a 0x or 0X , and is followed
by one or more hex digits. |
static Pattern |
Patterns.INTEGER
A Pattern object that matches an integer. |
static Pattern |
Patterns.NEVER
A Pattern that always returns MISMATCH . |
static Pattern |
Patterns.OCT_INTEGER
A Pattern object that matches an octal integer that starts with a 0 and is followed by 0 or more
[0 - 7] characters. |
static Pattern |
Patterns.REGEXP_MODIFIERS
A Pattern object that matches regular expression modifiers, which is a list of alpha characters. |
static Pattern |
Patterns.REGEXP_PATTERN
A Pattern object that matches any regular expression pattern string in the form of /some pattern
here/ . |
static Pattern |
Patterns.SCIENTIFIC_NOTATION
A Pattern object that matches a scientific notation, such as 1e12 , 1.2E-1 , etc. |
static Pattern |
Patterns.STRICT_DECIMAL
A Pattern object that matches a decimal number that has at least one digit before the decimal point. |
static Pattern |
Patterns.WORD
A Pattern object that matches a standard english word, which starts with either an underscore or an alpha
character, followed by 0 or more alphanumeric characters. |
| Methods in org.codehaus.jparsec.pattern that return Pattern | |
|---|---|
static Pattern |
Patterns.among(String chars)
Returns a Pattern object that matches if the current character in the input is equal to any character in
chars , in which case 1 is returned as match length. |
static Pattern |
Patterns.and(Pattern... patterns)
Returns a Pattern that matches if all of patterns matches, in which case, the maximum match length
is returned. |
Pattern |
Pattern.atLeast(int min)
Returns Pattern object that matches this pattern for at least min times. |
static Pattern |
Patterns.atLeast(int min,
CharPredicate predicate)
Returns a Pattern object that matches if the input starts with min or more characters and all
satisfy predicate . |
Pattern |
Pattern.atMost(int max)
Returns Pattern object that matches this pattern for up to max times. |
static Pattern |
Patterns.atMost(int max,
CharPredicate predicate)
Returns a Pattern that matches up to max number of characters satisfying
predicate . |
static Pattern |
Patterns.hasAtLeast(int n)
Returns a Pattern object that matches if the input has at least n characters left. |
static Pattern |
Patterns.hasExact(int n)
Returns a Pattern object that matches if the input has exactly n characters left. |
Pattern |
Pattern.ifelse(Pattern consequence,
Pattern alternative)
Returns Pattern object that, if this pattern matches,
matches the remaining input against consequence pattern, or otherwise matches against
alternative pattern. |
static Pattern |
Patterns.isChar(char c)
Returns a Pattern object that matches if the current character in the input is equal to character c , in which case 1 is returned as match length. |
static Pattern |
Patterns.isChar(CharPredicate predicate)
Returns a Pattern object that matches if the current character in the input satisfies predicate , in
which case 1 is returned as match length. |
static Pattern |
Patterns.lineComment(String begin)
Returns a Pattern object that matches a line comment started by begin and ended by EOF or
LF (the line feed character). |
static Pattern |
Patterns.longer(Pattern p1,
Pattern p2)
Returns a Pattern that tries both p1 and p2 ,
and picks the one with the longer match length. |
static Pattern |
Patterns.longest(Pattern... patterns)
Returns a Pattern that tries all of patterns , and picks the one with the
longest match length. |
Pattern |
Pattern.many()
Returns a Pattern object that matches this pattern for 0 or more times. |
static Pattern |
Patterns.many(CharPredicate predicate)
Returns a Pattern that matches 0 or more characters satisfying predicate . |
Pattern |
Pattern.many(int min)
Deprecated. Use atLeast(int) instead. |
static Pattern |
Patterns.many(int min,
CharPredicate predicate)
Deprecated. Use Patterns.atLeast(int, CharPredicate) instead. |
Pattern |
Pattern.many1()
Returns a Pattern object that matches this pattern for 1 or more times. |
static Pattern |
Patterns.many1(CharPredicate predicate)
Returns a Pattern that matches 1 or more characters satisfying predicate . |
Pattern |
Pattern.next(Pattern next)
Returns a Pattern object that sequentially matches the character range against
this and then next . |
Pattern |
Pattern.not()
Returns a Pattern object that only matches if this pattern mismatches, 0 is returned
otherwise. |
static Pattern |
Patterns.not(Pattern pattern)
|
static Pattern |
Patterns.notString(String string)
Returns a Pattern object that matches if the input has at least 1 character and doesn't match string . |
static Pattern |
Patterns.notStringCaseInsensitive(String string)
Returns a Pattern object that matches if the input has at least 1 character and doesn't match string case insensitively. |
Pattern |
Pattern.optional()
Returns a Pattern object that matches with 0 length even if this mismatches. |
static Pattern |
Patterns.or(Pattern... patterns)
Returns a Pattern that matches if any of patterns matches, in which case, the first match length is
returned. |
Pattern |
Pattern.or(Pattern p2)
Returns Pattern object that matches if either this or p2 matches. |
Pattern |
Pattern.peek()
Returns Pattern object that matches with match length 0 if this Pattern object matches. |
static Pattern |
Patterns.range(char c1,
char c2)
Returns a Pattern object that matches if the current character in the input is between character c1
and c2 , in which case 1 is returned as match length. |
static Pattern |
Patterns.regex(Pattern p)
Adapts a regular expression pattern to a Pattern . |
static Pattern |
Patterns.regex(String s)
Adapts a regular expression pattern string to a Pattern . |
Pattern |
Pattern.repeat(int n)
Deprecated. Use times(int) instead. |
static Pattern |
Patterns.repeat(int n,
CharPredicate predicate)
Returns a Pattern object that matches if the input has at least n characters and the first n characters all satisfy predicate . |
static Pattern |
Patterns.sequence(Pattern... patterns)
Returns a Pattern object that matches the input against patterns sequentially. |
static Pattern |
Patterns.shorter(Pattern p1,
Pattern p2)
Returns a Pattern that tries both p1 and p2 , and picks the one with the shorter match
length. |
static Pattern |
Patterns.shortest(Pattern... patterns)
Returns a Pattern that tries all of patterns , and picks the one with the shortest match length. |
Pattern |
Pattern.some(int max)
Deprecated. Use atMost(int) instead. |
static Pattern |
Patterns.some(int max,
CharPredicate predicate)
Deprecated. Use Patterns.atMost(int, CharPredicate) instead. |
Pattern |
Pattern.some(int min,
int max)
Deprecated. Use times(int, int) instead. |
static Pattern |
Patterns.some(int min,
int max,
CharPredicate predicate)
Deprecated. Use Patterns.times(int, int, CharPredicate) instead. |
static Pattern |
Patterns.string(String string)
Returns a Pattern object that matches string literally. |
static Pattern |
Patterns.stringCaseInsensitive(String string)
Returns a Pattern object that matches string case insensitively. |
Pattern |
Pattern.times(int n)
Returns Pattern object that matches the input against this pattern for n times. |
Pattern |
Pattern.times(int min,
int max)
Returns Pattern object that matches this pattern for at least min times
and up to max times. |
static Pattern |
Patterns.times(int min,
int max,
CharPredicate predicate)
Returns a Pattern that matches at least min and up to max number of characters satisfying
predicate , |
| Methods in org.codehaus.jparsec.pattern with parameters of type Pattern | |
|---|---|
static Pattern |
Patterns.and(Pattern... patterns)
Returns a Pattern that matches if all of patterns matches, in which case, the maximum match length
is returned. |
Pattern |
Pattern.ifelse(Pattern consequence,
Pattern alternative)
Returns Pattern object that, if this pattern matches,
matches the remaining input against consequence pattern, or otherwise matches against
alternative pattern. |
static Pattern |
Patterns.longer(Pattern p1,
Pattern p2)
Returns a Pattern that tries both p1 and p2 ,
and picks the one with the longer match length. |
static Pattern |
Patterns.longest(Pattern... patterns)
Returns a Pattern that tries all of patterns , and picks the one with the
longest match length. |
Pattern |
Pattern.next(Pattern next)
Returns a Pattern object that sequentially matches the character range against
this and then next . |
static Pattern |
Patterns.not(Pattern pattern)
|
static Pattern |
Patterns.or(Pattern... patterns)
Returns a Pattern that matches if any of patterns matches, in which case, the first match length is
returned. |
Pattern |
Pattern.or(Pattern p2)
Returns Pattern object that matches if either this or p2 matches. |
static Pattern |
Patterns.sequence(Pattern... patterns)
Returns a Pattern object that matches the input against patterns sequentially. |
static Pattern |
Patterns.shorter(Pattern p1,
Pattern p2)
Returns a Pattern that tries both p1 and p2 , and picks the one with the shorter match
length. |
static Pattern |
Patterns.shortest(Pattern... patterns)
Returns a Pattern that tries all of patterns , and picks the one with the shortest match length. |
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |


- 200keyboard_arrow_rightkeyboard_arrow_left100
- 500keyboard_arrow_rightkeyboard_arrow_left300
- 2000keyboard_arrow_rightkeyboard_arrow_left1000
- Depositarkeyboard_arrow_rightkeyboard_arrow_leftCancelar
- 200keyboard_arrow_rightkeyboard_arrow_left100
- 500keyboard_arrow_rightkeyboard_arrow_left300
- Tudokeyboard_arrow_rightkeyboard_arrow_left1000
- Retirarkeyboard_arrow_rightkeyboard_arrow_leftCancelar


What was Physao?
Physao (now Vigor Medical Systems) was a digital health startup that built a medical device to track breathing patterns and catch abnormalities, particularly for patients suffering from asthma or COPD.
How did I get involved?
Ever since I joined The Cube as an undergrad at Duke, I was interested in working on a startup that had larger ambitions than what I’d considered in the past. I was surrounded by a ton of really smart, driven people, who had decided to dedicate themselves to startups, and I wanted to get involved.
My friend and fellow Cube member, Daniel Chander (still the CTO of Vigor), had cofounded Physao out of personal need—he had suffered from asthma growing up and was looking for a way to help patients like himself be able to notice when they were having an attack and alert their physician quickly and easily when needed.
What I did for Physao
Personally, I was excited about the seriousness with which the existing team was taking the startup—the team of 4-5 had already built out the hardware device and had several clinics who were interested in testing out the solution. I was also enticed by the ability to get exposure to real-world software development. Physao needed help building out their Android application, which was supposed to connect to the device and track and graph lung function for the patient.
It was basic stuff, but I had never really built something for production before (only Hackathon web projects til that point, really), and I was hungry to get started.
While I’m not sure what the current status of their Android app is (or even the purpose of their company), it looks like Vigor Medical Systems (formerly Physao) is still around, and Daniel is even still involved!


Projects
jsMarkov
jsMarkov is a Markov text generator written in JavaScript. Its source is hosted on github.
WordScramble
WordScramble is a word-finding game written in JavaScript with a focus on mobile devices. Its source is hosted on github.
jsMarkov is a Markov text generator written in JavaScript. Its source is hosted on github.
WordScramble is a word-finding game written in JavaScript with a focus on mobile devices. Its source is hosted on github.
I'm Pete Scott, a (reformed) web enthusiast. You can find me playing with words on medium, posting some sketches and stuff on instagram, and occasionally throwing some code up at github.
There's no point to this site at all; I've owned it for a long time and it just sort of comes and goes as my mood changes. My current plan is to use it as a pointer to whatever projects I actually make some headway on, so here's hoping it sees a lot of attention from me [note: four years later, it has not].


--- layout: post status: publish published: true title: Podcast Episode 4.33 - Do You Remember Thad Bosley? author: display_name: Corey Fineran login: Corey email<EMAIL_ADDRESS>url: '' author_login: Corey author_email<EMAIL_ADDRESS>wordpress_id: 7802 wordpress_url: http://ivyenvy.com/?p=7802 date: '2012-09-02 21:17:40 +0000' date_gmt: '2012-09-03 02:17:40 +0000' categories: - Podcast tags: - Gold Glove - Peoria Chiefs - Josh Vitters - Brett Jackson - Peoria - Starlin Castro - Arizona Fall League - Darwin Barney - September Call-ups comments: [] ---
Andy, Corey and Jeremy discuss Darwin Barney's accomplishment of setting the NL 2nd base consecutive errorless games streak and his chances of winning the Gold Glove. The Cubs have finalized their deal with Starlin Castro and we recap some of our opinions on this deal.
We can't seem to get too excited about September call-ups this year. We check up with Brett Jackson and Josh Vitters and their progress. The Cubs announce who, from their organization, will be participating in the Arizona Fall League. We comment on a few of the players. Jeremy and Corey both made it to Peoria Chiefs games on what will probably be their last home-stand as a Cubs affiliate.
We go over a few listener-submitted topics and questions and then pick a winner for this week's photo caption contest.


Cover almost all possible page which required for any backend application.
Nextro design gives your user better UI experience throught out the project.
High optimized tested code which gives faster loading experience.
Promise to always updated with latest tech. Check out future roadmap.
Support first. Low turn around time to get resolve your techincal query.
Installation, Configuration settings, How-to video tutorial series.
Each Layout is identical to its way. We have a plan to release more layouts in future updates Quickly create your stunning backend project with Nextro Able
Download free version of Nextro Able before make your purchase decision.
Each Layout is identical to its way. We have a plan to release more layouts in future updates Quickly create your stunning backend project with Nextro Able
Each Layout is identical to its way. We have a plan to release more layouts in future updates Quickly create your stunning backend project with Nextro Able
Each Layout is identical to its way. We have a plan to release more layouts in future updates Quickly create your stunning backend project with Nextro Able
Nextro is premium dashboard template comes with tons of layout options, widgets, ready to use pages which completely suitable for any simple/complex project.
Nextro is made by Phoenixcoded's experience coders and designers. Well tested bug free code, easy to use flexible structure makes Nextro a really differ from other templates. We almost cover every possible plugins, components which helps you start immediately on your project.
6 month item support for any bugs, design issue in current version of template. We are not provide support for any custom work implementation.
When you comment or submit the ticket for support. Our team takes it seriously and respond it within a Half or Full day.
Well tested on IE=>11, Edge, Chrome, Mozilla, Safari, Opera
Flexible code structure, easy helper guide (i.e. just copy/paste code with single click UI kit), vast amount of components and layouts to choose, live customizer for your easy to choose layout setting options make Nextro a really suitable for any level of developers.
Each Layout is identical to its way. We have a plan to release more layouts in future updates Quickly create your stunning backend project with Nextro Able


About fs.read()
& fs.write()
fs.read()
& fs.write()
are different from other fs
methods in that their callbacks are called with 3 arguments instead of the usual 2 arguments.
If you're using them with callbacks, they will behave as usual. However, their promise usage is a little different. fs-extra
promisifies these methods like util.promisify()
(only available in Node 8+) does.
Here's the example promise usage:
fs.read()
// Basic promises
fs.read(fd, buffer, offset, length, position)
.then(results => {
console.log(results)
// { bytesRead: 20, buffer: <Buffer 0f 34 5d ...> }
})
// Async/await usage:
async function example () {
const { bytesRead, buffer } = await fs.read(fd, Buffer.alloc(length), offset, length, position)
}
fs.write()
// Basic promises
fs.write(fd, buffer, offset, length, position)
.then(results => {
console.log(results)
// { bytesWritten: 20, buffer: <Buffer 0f 34 5d ...> }
})
// Async/await usage:
async function example () {
const { bytesWritten, buffer } = await fs.write(fd, Buffer.alloc(length), offset, length, position)
}