##
## Attaching package: 'purrr'
## The following objects are masked from 'package:igraph':
##
## compose, simplify
# Set source directory for Virus PPI graph edge files
source_dir <- system.file(file.path("extdata", "VRPINS"), package = "netdist")
# Load query graphs
graph_1 <- read_simple_graph(file.path(source_dir, "EBV.txt"),
format = "ncol")
graph_2 <- read_simple_graph(file.path(source_dir, "ECL.txt"),
format = "ncol")
# Maximum graphlet size to calculate counts and netdis statistic for.
max_graphlet_size <- 4
# Ego network neighbourhood size
neighbourhood_size <- 2
# Minimum size of ego networks to consider
min_ego_nodes <- 3
min_ego_edges <- 1
# Ego network density binning parameters
min_bin_count <- 5
num_bins <- 100
# Get ego networks for query graphs and reference graph
ego_1 <- make_named_ego_graph(graph_1,
order = neighbourhood_size,
min_ego_nodes = min_ego_nodes,
min_ego_edges = min_ego_edges)
ego_2 <- make_named_ego_graph(graph_2,
order = neighbourhood_size,
min_ego_nodes = min_ego_nodes,
min_ego_edges = min_ego_edges)
# Get ego-network densities
densities_1 <- ego_network_density(graphlet_counts_1)
densities_2 <- ego_network_density(graphlet_counts_2)
# Adaptively bin ego-network densities
binned_densities_1 <- binned_densities_adaptive(densities_1,
min_counts_per_interval = min_bin_count,
num_intervals = num_bins)
ego_density_bins_1 <- binned_densities_1$breaks
binned_densities_2 <- binned_densities_adaptive(densities_2,
min_counts_per_interval = min_bin_count,
num_intervals = num_bins)
ego_density_bins_2 <- binned_densities_2$breaks
#' INTERNAL FUNCTION - DO NOT CALL DIRECTLY
#' Calculate expected counts with geometric poisson (Polya-Aeppli)
#' approximation for a single density bin.
#' @param bin_idx Density bin index to calculate expected counts for.
#' @param graphlet_counts Graphlet counts for a number of ego_networks.
#' @param density_interval_indexes Density bin index for
#' each ego network.
exp_counts_bin_gp <- function(bin_idx, graphlet_counts,
density_interval_indexes,
mean_binned_graphlet_counts,
max_graphlet_size) {
counts <- graphlet_counts[density_interval_indexes == bin_idx, ]
means <- mean_binned_graphlet_counts[bin_idx, ]
mean_sub_counts <- sweep(counts, 2, means)
Vd_sq <- colSums(mean_sub_counts^2) / (nrow(mean_sub_counts) - 1)
theta_d <- 2 * means / (Vd_sq + means)
exp_counts_dk <- vector()
for (k in 2:max_graphlet_size) {
graphlet_idx <- graphlet_ids_for_size(k)
lambda_dk <- mean(2 * means[graphlet_idx]^2 /
(Vd_sq[graphlet_idx] + means[graphlet_idx]),
na.rm = TRUE)
exp_counts_dk <- append(exp_counts_dk,
lambda_dk / theta_d[graphlet_idx])
}
exp_counts_dk
}
#' Calculate expected counts in density bins using the
#' geometric poisson (Polya-Aeppli) approximation.
#' @param graphlet_counts Graphlet counts for a number of ego_networks.
#' @param density_interval_indexes Density bin index for
#' each ego network.
#' @param max_graphlet_size Determines the maximum size of graphlets
#' included in graphlet_counts.
#' @export
density_binned_counts_gp <- function(graphlet_counts,
density_interval_indexes,
max_graphlet_size) {
mean_binned_graphlet_counts <- mean_density_binned_graphlet_counts(
graphlet_counts,
density_interval_indexes)
nbins <- length(unique(density_interval_indexes))
expected_counts_bin <- t(sapply(1:nbins,
exp_counts_bin_gp,
graphlet_counts = graphlet_counts,
density_interval_indexes = density_interval_indexes,
mean_binned_graphlet_counts = mean_binned_graphlet_counts,
max_graphlet_size = max_graphlet_size))
# deal with NAs caused by bins with zero counts for a graphlet
expected_counts_bin[is.nan(expected_counts_bin)] <- 0
expected_counts_bin
}
binned_graphlet_counts_1 <- density_binned_counts_gp(graphlet_counts_1,
binned_densities_1$interval_indexes,
max_graphlet_size)
binned_graphlet_counts_2 <- density_binned_counts_gp(graphlet_counts_2,
binned_densities_2$interval_indexes,
max_graphlet_size)
# Calculate expected graphlet counts for each ego network
exp_graphlet_counts_1 <- netdis_expected_counts(graphlet_counts_1,
ego_density_bins_1,
binned_graphlet_counts_1,
max_graphlet_size,
scale_fn = NULL)
exp_graphlet_counts_2 <- netdis_expected_counts(graphlet_counts_2,
ego_density_bins_2,
binned_graphlet_counts_2,
max_graphlet_size,
scale_fn = NULL)
# Centre graphlet counts by subtracting expected counts
centred_graphlet_counts_1 <- netdis_subtract_exp_counts(graphlet_counts_1,
exp_graphlet_counts_1,
max_graphlet_size)
centred_graphlet_counts_2 <- netdis_subtract_exp_counts(graphlet_counts_2,
exp_graphlet_counts_2,
max_graphlet_size)


Toggle navigation
XLCALC SIS Sample
Index
Basic
Dynamic Form
Cehckbox, Radio, and Select
Drawing Chart
Multiple Sheet
Formula Showcase
Server Side Formula
Sample Application
Budget Planner
Amortization Schedule
Home Mortgage Calc
Home Expense Calc
Formula
$ 1,000
$ 2,000


A cube tbl stores data in a compact array format where dimension names are not needlessly repeated. They are particularly appropriate for experimental data where all combinations of factors are tried (e.g. complete factorial designs), or for storing the result of aggregations. Compared to data frames, they will occupy much less memory when variables are crossed, not nested.
tbl_cube(dimensions, measures)
| dimensions | A named list of vectors. A dimension is a variable
whose values are known before the experiment is conducted; they are
fixed by design (in reshape2 they are known as id variables).
|
|---|---|
| measures | A named list of arrays. A measure is something that is actually measured, and is not known in advance. The dimension of each array should be the same as the length of the dimensions. Measures are typically, but not always, continuous values. |
tbl_cube
support is currently experimental and little performance
optimisation has been done, but you may find them useful if your data
already comes in this form, or you struggle with the memory overhead of the
sparse/crossed of data frames. There is no support for hierarchical
indices (although I think that would be a relatively straightforward
extension to storing data frames for indices rather than vectors).
Manipulation functions:
select()
(M)
summarise()
(M), corresponds to roll-up, but rather more
limited since there are no hierarchies.
filter()
(D), corresponds to slice/dice.
mutate()
(M) is not implemented, but should be relatively
straightforward given the implementation of summarise
.
arrange()
(D?) Not implemented: not obvious how much sense
it would make
Joins: not implemented. See vignettes/joins.graffle
for ideas.
Probably straightforward if you get the indexes right, and that's probably
some straightforward array/tensor operation.
as.tbl_cube()
for ways of coercing existing data
structures into a tbl_cube
.
# The built in nasa dataset records meterological data (temperature, # cloud cover, ozone etc) for a 4d spatio-temporal dataset (lat, long, # month and year) nasa#> Source: local array [41,472 x 4] #> D: lat [dbl, 24] #> D: long [dbl, 24] #> D: month [int, 12] #> D: year [int, 6] #> M: cloudhigh [dbl] #> M: cloudlow [dbl] #> M: cloudmid [dbl] #> M: ozone [dbl] #> M: pressure [dbl] #> M: surftemp [dbl] #> M: temperature [dbl]head(as.data.frame(nasa))#> lat long month year cloudhigh cloudlow cloudmid ozone pressure #> 1 36.20000 -113.8 1 1995 26.0 7.5 34.5 304 835 #> 2 33.70435 -113.8 1 1995 20.0 11.5 32.5 304 940 #> 3 31.20870 -113.8 1 1995 16.0 16.5 26.0 298 960 #> 4 28.71304 -113.8 1 1995 13.0 20.5 14.5 276 990 #> 5 26.21739 -113.8 1 1995 7.5 26.0 10.5 274 1000 #> 6 23.72174 -113.8 1 1995 8.0 30.0 9.5 264 1000 #> surftemp temperature #> 1 272.7 272.1 #> 2 279.5 282.2 #> 3 284.7 285.2 #> 4 289.3 290.7 #> 5 292.2 292.7 #> 6 294.1 293.6#> Class Sex Age Survived Freq #> 1 1st Male Child No 0 #> 2 2nd Male Child No 0 #> 3 3rd Male Child No 35 #> 4 Crew Male Child No 0 #> 5 1st Female Child No 0 #> 6 2nd Female Child No 0#> Admit Gender Dept Freq #> 1 Admitted Male A 512 #> 2 Rejected Male A 313 #> 3 Admitted Female A 89 #> 4 Rejected Female A 19 #> 5 Admitted Male B 353 #> 6 Rejected Male B 207#> Source: local array [96 x 3] #> D: agegp [ord, 6] #> D: alcgp [ord, 4] #> D: tobgp [ord, 4] #> M: ncases [dbl] #> M: ncontrols [dbl]# Some manipulation examples with the NASA dataset -------------------------- # select() operates only on measures: it doesn't affect dimensions in any way select(nasa, cloudhigh:cloudmid)#> Source: local array [41,472 x 4] #> D: lat [dbl, 24] #> D: long [dbl, 24] #> D: month [int, 12] #> D: year [int, 6] #> M: cloudhigh [dbl] #> M: cloudlow [dbl] #> M: cloudmid [dbl]#> Source: local array [41,472 x 4] #> D: lat [dbl, 24] #> D: long [dbl, 24] #> D: month [int, 12] #> D: year [int, 6] #> M: surftemp [dbl] #> M: temperature [dbl]#> Source: local array [4,320 x 4] #> D: lat [dbl, 15] #> D: long [dbl, 24] #> D: month [int, 12] #> D: year [int, 1] #> M: cloudhigh [dbl] #> M: cloudlow [dbl] #> M: cloudmid [dbl] #> M: ozone [dbl] #> M: pressure [dbl] #> M: surftemp [dbl] #> M: temperature [dbl]# Each component can only refer to one dimensions, ensuring that you always # create a rectangular subset# NOT RUN { filter(nasa, lat > long) # }# Arrange is meaningless for tbl_cubes by_loc <- group_by(nasa, lat, long) summarise(by_loc, pressure = max(pressure), temp = mean(temperature))#> Source: local array [576 x 2] #> D: lat [dbl, 24] #> D: long [dbl, 24] #> M: pressure [dbl] #> M: temp [dbl]


Note: The classes in this package are considered internal to XINS and should not be accessed directly. @since XINS 1.0.0


| Extension | Points |
Biology |
C++ |
COE |
CSE |
Econ |
I/O |
Math |
Methods |
Physics |
Sound |
Visual |
| 1.1 |
[ demo ] |
Speed Limit Fine Calculator
| 3 |
|
|
|
|
|
|
● |
|
|
|
|
| 1.2 |
[ demo ] |
Image Processor
| 6 |
|
|
|
|
|
|
|
|
|
|
● |
| 1.3 |
[ demo ] |
Image Processor Continued
| 4 |
|
|
|
|
|
|
|
|
|
|
● |
| 1.4 |
[ demo ] |
Expected Value
| 3 |
|
|
|
|
● |
|
● |
|
|
|
|
| 1.100 |
[ demo ] |
Speed Limit Extension (C++) (not yet ready)
| 5 |
|
● |
|
|
● |
|
|
|
|
|
|
| 1.400 |
[ demo ] |
Expected Value (C++) (not yet ready)
| 5 |
|
● |
|
|
● |
|
● |
|
|
|
|
| 1.500 |
[ demo ] |
Nutrion Analyzer (C++) (not yet ready)
| 5 |
|
● |
|
|
|
|
● |
|
|
|
|
| 2.1 |
[ demo ] |
Image Processor With Iteration
| 6 |
|
|
|
|
|
|
|
|
|
|
● |
| 2.2 |
[ demo ] |
Loop Invariants
| 7 |
|
|
|
|
|
|
● |
|
|
|
|
| 2.3 |
[ demo ] |
One-Rep Max Weight Calculator
| 3 |
|
|
|
|
|
|
● |
|
|
|
|
| 2.100 |
[ demo ] |
Rock-Paper-Scissors (C++) (not yet ready)
| 6 |
|
● |
|
|
|
|
|
|
|
|
|
| 3.1 |
[ demo ] |
Pascal's Triangle
| 3 |
|
|
|
|
|
|
● |
|
|
|
|
| 3.2 |
[ demo ] |
Birthday Problem
| 5 |
|
|
|
|
|
|
● |
|
|
|
|
| 3.3 |
[ demo ] |
GC Content
| 2 |
● |
|
|
|
|
|
|
|
|
|
|
| 3.4 |
[ demo ] |
Reading Frame of a Sequence
| 10 |
|
|
|
|
|
|
|
|
● |
● |
|
| 3.100 |
[ demo ] |
Pascal's Triangle (C++) (not yet ready)
| 5 |
|
● |
|
|
|
|
● |
|
|
|
|
| 3.200 |
[ demo ] |
Birthday Problem (C++) (not yet ready)
| 5 |
|
● |
|
|
|
|
● |
|
|
|
|
| 3.300 |
[ demo ] |
GC Content (C++) (not yet ready)
| 4 |
● |
● |
|
|
|
|
|
|
|
|
|
| 3.400 |
[ demo ] |
Reading Frame of a Sequence (C++) (not yet ready)
| 8 |
|
● |
|
|
|
|
|
|
● |
● |
|
| 4.1 |
[ demo ] |
Create an Instrument
| 6 |
|
|
|
|
|
|
|
|
● |
● |
|
| 4.2 |
[ demo ] |
Draw a Sound Wave
| 10 |
|
|
|
|
|
|
|
|
● |
● |
|
| 4.3 |
[ demo ] |
Loud or Graphics-ful Bouncing Balls
| 2 |
|
|
|
|
|
|
|
|
|
● |
|
| 4.4 |
[ demo ] |
Magic 8 Ball
| 7 |
|
|
|
|
|
|
|
|
|
|
● |
| 4.5 |
[ demo ] |
Roving Eyes
| 10 |
|
|
|
|
|
|
● |
|
|
|
● |
| 4.6 |
[ demo ] |
Roving Eyes; Slow Motion Edition
| 5 |
|
|
|
|
|
|
● |
|
|
|
● |
| 4.7 |
[ demo ] |
Web Scraper
| 3 |
|
|
|
|
|
● |
|
|
|
|
|
| 4.100 |
[ demo ] |
Nutrition Again (C++)
| 8 |
|
● |
|
|
|
● |
● |
|
|
|
|
| 5.1 |
[ demo ] |
Methodize It
| 3 |
|
|
|
|
|
|
|
|
|
|
|
| 5.2 |
[ demo ] |
Chase, The Mouse
| 5 |
|
|
|
|
|
|
● |
|
● |
|
● |
| 5.3 |
[ demo ] |
Build Your Own Calculator!
| 5 |
|
|
|
|
|
|
● |
|
|
|
|
| 5.4 |
[ demo ] |
Watermelon Puzzle
| 8 |
|
|
|
|
|
|
● |
|
|
|
|
| 5.5 |
[ demo ] |
Tic-Tac-Toe
| 5 |
|
|
|
|
|
|
|
|
|
|
● |
| 5.6 |
[ demo ] |
Jackpot (not yet ready)
| 7 |
|
|
|
|
|
|
|
|
|
|
● |
| 5.7 |
[ demo ] |
Jackpot: Actual Game
| 7 |
|
|
|
|
|
|
|
|
|
|
● |
| 5.8 |
[ demo ] |
Memory Matching (not yet ready)
| 5 |
|
|
|
|
|
|
|
|
|
|
● |
| 5.9 |
[ demo ] |
Net Present Value
| 3 |
|
|
|
|
● |
|
|
|
|
|
|
| 5.400 |
[ demo ] |
Watermelon Puzzle (C++)
| 8 |
|
● |
|
|
|
|
● |
|
|
|
|
| 5.500 |
[ demo ] |
Lab Methods (C++)
| 5 |
|
● |
|
|
|
|
|
● |
|
|
|
| 6.1 |
[ demo ] |
Divine Lines
| 5 |
|
|
|
|
|
|
|
|
|
|
● |
| 6.2 |
[ demo ] |
Persian Recursian
| 10 |
|
|
|
|
|
|
● |
|
|
|
● |
| 6.3 |
[ demo ] |
Flower Power
| 4 |
|
|
|
|
|
|
|
|
|
|
● |
| 6.4 |
[ demo ] |
Fibonacci Recursively and Iteratively
| 5 |
|
|
|
● |
|
|
● |
|
|
|
|
| 6.5 |
[ demo ] |
Tic-Tac-Toe: A Perfect Player (not yet ready)
| 8 |
|
|
|
● |
|
|
|
|
|
|
● |
| 7.1 |
[ demo ] |
Conways Game of Life
| 8 |
● |
|
|
|
|
|
|
|
|
|
|
| 7.2 |
[ demo ] |
Conways Game of Afterlife: Automatic generation
| 3 |
● |
|
|
|
|
|
|
|
|
|
|
| 7.3 |
[ demo ] |
Project: Matrix
| 5 |
|
|
|
|
|
|
● |
|
|
|
|
| 7.4 |
[ demo ] |
Gaussian Elimination
| 6 |
|
|
|
|
|
|
● |
|
|
|
|
| 7.5 |
[ demo ] |
Gone Golfin' (not yet ready)
| 7 |
|
|
|
|
|
|
|
|
|
|
● |
| 7.6 |
[ demo ] |
Julia Sets: Fractal Images (not yet ready)
| 10 |
|
|
|
|
|
|
● |
|
|
|
● |
| 7.7 |
[ demo ] |
Objects to Support Music
| 9 |
|
|
|
|
|
|
|
|
|
● |
|
| 7.8 |
[ demo ] |
Chord Organ
| 4 |
|
|
|
|
|
|
|
|
|
● |
● |
| 7.9 |
[ demo ] |
6-1-4-5: How To Be Famous
| 8 |
|
|
|
|
|
|
|
|
|
● |
|
| 7.10 |
[ demo ] |
Barcode Scanner (not yet ready)
| 11 |
|
|
● |
|
|
|
|
|
|
|
|
| 7.11 |
[ demo ] |
Barcode Scanner: Imperfect Data (not yet ready)
| 11 |
|
|
● |
|
|
|
|
|
|
|
|
| 7.12 |
[ demo ] |
Roguelike (not yet ready)
| 8 |
|
|
|
|
|
|
|
|
|
|
● |
| 8.1 |
[ demo ] |
Sad Cycles
| 5 |
|
|
|
● |
|
|
● |
|
|
|
|
| 8.2 |
[ demo ] |
Sharpe Computation (not yet ready)
| 5 |
|
|
|
|
● |
|
● |
|
|
|
|
| 9.1 |
[ demo ] |
More ListItem Methods: the List Goes On
| 4 |
|
|
|
|
|
|
|
|
|
|
|
| 9.2 |
[ demo ] |
Reversing Lists
| 3 |
|
|
|
|
|
|
|
|
|
|
|
| 9.3 |
[ demo ] |
Falling Arches (not yet ready)
| 12 |
|
|
|
|
|
|
|
|
● |
|
● |
| 9.4 |
[ demo ] |
BioJava (not yet ready)
| 5 |
● |
|
|
|
|
|
|
|
|
|
|
| 9.5 |
[ demo ] |
Trees and a Map ADT (not yet ready)
| 10 |
|
|
|
|
|
|
|
|
|
|
|
| 9.6 |
[ demo ] |
Deforestation: Binary Search Tree Deletion (not yet ready)
| 5 |
|
|
|
|
|
|
|
|
|
|
|
| 10.1 |
[ demo ] |
Programming Contest
| 2 |
|
|
|
|
|
|
|
|
|
|
|
| 10.2 |
[ demo ] |
Game Extra Features 1 - Rotation
| 10 |
|
|
|
|
|
|
|
|
|
|
● |
| 10.3 |
[ demo ] |
Game Extra Features 2 - levels
| 4 |
|
|
|
|
|
|
|
|
|
|
● |
| 10.4 |
[ demo ] |
Game Features 3 - Sound
| 3 |
|
|
|
|
|
|
|
|
|
● |
|
| 10.5 |
[ demo ] |
Game Features 4 - More pieces
| 5 |
|
|
|
|
|
|
|
|
|
|
● |


2.2
- Created new packages on nuget:
- Fake.Deploy - allows to use FAKE scripts in deployment.
- Fake.Experimental - new stuff where we aren't sure if we want to support it.
- Fake.Gallio - contains the Gallio runner support.
- Fake.SQL - Contains tasks for SQL Server.
- Fake.Core - All the basic features and FAKE.exe.
- Created documentation and tutorials - see http://fsharp.github.io/FAKE/
- New tasks:
- Added ReleaseNotes parser
- Added Dynamics NAV helper
- Added support for MSTest and fixie
- Parallel NUnit task
- New AssemblyInfoFile task
- Support for Octopus Deploy
- Support for MAGE
- Suppport for Xamarin's xpkg
- Many other new tasks
- Fake.Boot
- New Globbing system
- Tons of bug fixes
- Bundles F# 3.0 compiler and FSI.
<IP_ADDRESS>
- "RestorePackages" allows to restore nuget packages
<IP_ADDRESS>
- FAKE nuget package comes bundles with a fsi.exe
- Self build downloads latest FAKE master via nuget
<IP_ADDRESS>
- Fixed bug where FAKE.Deploy didn't run the deploy scripts where used as a windows service
- It's possible to add file loggers for MSBuild
- Fixed path resolution for fsi on *nix
- BREAKING CHANGE: Removed version normalization from NuGet package creation
- Fixes for NUNit compatibility on mono
- Fixes in ProcessHelper for mono compatibility
- Fixes in the mono build
- Improved error reporting in Fake.exe
- Added a SpecFlow helper
- Fixed some issues in file helper routines when working with no existing directory chain
<IP_ADDRESS>
- Fixed bug where FAKE didn't run the correct build script
<IP_ADDRESS>
- New conditional dependency operator =?>
- BREAKING CHANGE: Some AssemblyInfo task parameters are now option types. See type hints.
<IP_ADDRESS>
- New RegAsm task, allows to create TLBs from a dll.
- New MSI task, allows to install or uninstall msi files.
- StringHelper.NormalizeVersion fixed for WiX.
<IP_ADDRESS>
- Allow to choose specific nunit-console runner.
<IP_ADDRESS>
- Using nuget packages for mspec.
- FAKE tries to kill all MSBuild and FSI processes at the end of a build.
<IP_ADDRESS>
- Removed message system for build output. Back to simpler tracing.
<IP_ADDRESS>
- ReplaceAssemblyInfoVersions task allows to replace version info in AssemblyVersion-files
- New task ConvertFileToWindowsLineBreaks
<IP_ADDRESS>
- Allows to build .sln files
<IP_ADDRESS>
- Allows to publish symbols via nuget.exe
- Autotrim trailing .0 from version in order to fullfill nuget standards.
<IP_ADDRESS>
- If the publishment of a Nuget package fails, then FAKE will try it again.
- Added Changelog.markdown to FAKE deployment
- Added RequireExactly helper function in order to require a specific nuget dependency.
- NugetHelper.GetPackageVersion - Gets the version no. for a given package in the packages folder.
- EnvironmentHelper.getTargetPlatformDir - Gets the directory for the given target platform.
<IP_ADDRESS>
- Some smaller bugfixes
- New dependency syntax with ==> and <=>
- Tracing of StackTrace only if TargetHelper.PrintStackTraceOnError was set to true
<IP_ADDRESS>
- New task DeleteDirs allows to delete multiple directories.
- New parameter for NuGet dependencies.
<IP_ADDRESS>
- Bundled with docu.exe compiled against .Net 4.0.
- Fixed docu calls to run with full filenames.
- Added targetplatform, target and log switches for ILMerge task.
- Added Git.Information.getLastTag() which gets the last git tag by calling git describe.
- Added Git.Information.getCurrentHash() which gets the last current sha1.
<IP_ADDRESS>
- Fixed Nuget support and allows automatic push.
<IP_ADDRESS>
- Tracing of all external process starts.
- MSpec support.


This guide is here to get your Merchant Account up and running quickly. You’ll learn to create, configure, and test your account using our Payment APIs.
Fill out our sign up form to instantly get a developer account with access to a sandbox.
All transactions through the API require your Merchant ID. It is permanently displayed at the top right corner of your Member Area.
You can also find your Merchant ID by clicking on administration and then Company Info.
Depending on which API you intend to use for your business, you’ll need a passcode to complete the call.
After logging into the Member Area, select administration, then account settings, and finally order settings.
On the Order Settings page, you’ll find the Payment Gateway section with the sub-header Security/Authentication. Here you can set an API access code by clicking the Generate New Code button. Once you have a new code, click Update at the bottom of the page.
You can set passcodes for Recurring Billing, Reporting, Batch File Upload the same way in each category on the Order Settings page.
To set a Payment Profile passcode, you’ll need to navigate to configuration, then payment profile configuration from the left. Under Security Settings, you can click Generate New Code.
The next step is to accept a payment by calling our API’s.


---
layout: default
title: hust-latex | FAQs
---
LaTeX is a document preparation system and document markup language. It is widely used for the communication and publication of scientific documents in many fields, including mathematics, physics, and computer science. [Source: Wikipedia]
For beginners, lshort is the best book to begin with. Also there's a tutorial slide which introduces LaTeX and these templates.
Firstly, you need to install the latest version of TeXLive, MikTeX or MacTeX. Please ensure that all the packages are up-to-date.
Then you need to install following Chinese fonts:
- AdobeSongStd-Light
- AdobeKaitiStd-Regular
- AdobeHeitiStd-Regular
- AdobeFangsongStd-Regular
Finally, download the template, run below command to install it:
- For Linux and Mac users, run
sudo make install
.
- For Windows users, run
makewin32.bat install
.
If you want to uninstall the template, run below command:
- For Linux and Mac users, run
sudo make uninstall
.
- For Windows users, run
makewin32.bat uninstall
.
This is LuaTeX, Version beta-0.71.1-2011082016 (rev 4277)
(C:/Users/Administrator/hustthesis-master/hustthesis/hustthesis.ins)
LaTeX2e <2011/06/27>
LuaTeX adaptation of babel <v3.81-luatex-1.4> and hypenation patterns for loaded.
! I can't find file `l3docstrip.tex'.
l.22 \input l3docstrip.tex
Please type another input file name:
This is because your LaTeX version is way too old. It's more than likely that you installed the CTeX which has not been updated for years. I strongly recommend that you install TeXLive, MikTeX or MacTeX insteadly.
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H for immediate help.
...
l.180 \changefont{linespread=1.3}
?
This has been fixed in the latest version of the templates. Please update your templates
Please report your problem in correspond Github issues page.
If you were a huster and willing to contribute to this project, please contact Prof. Hei Xiaojun.
Also this is a list of materials you may find helpful for developing LaTeX templates:


mutex
— mutex module¶
The mutex
module is used for creating mutexes.
class Mutex – mutex object¶
A mutex is an object enabling threads of execution to protect critical sections of code from reentrancy or to temporarily protect critical data sets from being updated by other threads. The term “mutex” derives from the notion of mutual exclusion. A mutex usually provides three methods:
In this implementation lock and unlock is controlled by a context manager.
In the context of MicroPython a mutex provides a mechanism where an interrupt service routine (ISR) can test whether the main loop was using critical variables at the time the interrupt occurred, and if so avoid modifying those variables. Typical usage:
import pyb, mutex
mutex = mutex.Mutex()
data_ready = False
def callback(): # Timer or interrupt callback
global data_ready
if mutex.test():
data_ready = True
# Update critical variables
mutex.release()
else:
# defer any update
# Associate callback with device (pin or timer)
while True:
# code
if data_ready:
with mutex:
data_ready = False
# Access critical variables
# more code
Note that the with statement will execute immediately because no other process runs a with block on the same mutex instance.
References describing mutex and semaphore objects


{{ partial "head" . }} {{ partial "nav" . }}
We’d love to get in touch with you and hear your ideas and questions. We strive to grow and improve constantly and your feedback is valuable for us.
You can also use the form below for any inquiries about coffee availability, monthly subscriptions and scheduling a 1-on-1 session with our baristas. Don’t be shy, drop us a line!
3153 Lynn Avenue, South San Francisco, California 94080
Monday – Saturday: 9AM – 7PM We’re closed on Sundays


Home
We are professional Accountants providing excellent accounting services for sole traders(plumbers, carpenters, builders, shops), partnership, small and medium companies. We pride ourselves for quality, accuracy and expertise.
We are professional Accountants providing excellent accounting services for sole traders(plumbers, carpenters, builders, shops), partnership, small and medium companies. We pride ourselves for quality, accuracy and expertise.
We provide the following services:
We process invoices, reconcile bank statements, supplier's statements, customer's accounts, quarterly VAT Returns.
We prepare monthly profit & loss, balance sheet, assess profitability and analysis of fianacial ratios
We prepare the business year end accounts to enable tax computation
We calculate business tax due to HMRC and also deal with any tax rebate
£.01 per transaction
£250 for sole trader & £325 for limited company
£275 for sole trader & 350 for limited company
£60 for sole trader & £90 for limited company


Home
Profile
Profile
Name
Account Address
Email
Address
Date of Birth
Fingerprint
Phone
Country
UTR Number
Admit Number
Score
Boards Marks


Youth dies after falling from Bashundhara City shopping mall in Dhaka
by bdnews24.comA young man has died after falling from Bashundhara City shopping complex in Dhaka’s Karwan Bazar. Related Stories
The incident occurred on Wednesday evening, police said.
The victim who could not be identified immediately is around 25 years old, Tejgaon Police Station Sub-Inspector Al Amin told bdnews24.com.
He was declared dead after being taken to the Dhaka Medical College Hospital.
Police were yet to confirm details of his identity and how the incident happened.
Another young man named “Amit” from Babu Bazar in old Dhaka died after falling from the sixth floor of the shopping mall on July 10 last year.


EC500 Project Document Summarizer
Choose your file
Please enter the name for sumarized file:
Please enter number of summarized sentences:
Please enter the name for sumarized file:
Please enter number of extracted words:


I experimented with hydrocodone a few times after stealing it from my parents' med cabinet, but never felt anything at all. This report details not the first time I took the drug, but the first time I experienced any of its effects.
I was in college studying theatre at the time and had just gotten out of a particularly long rehearsal for a show called 'Anton in Show Business'. I decided to take one of the pills along with some marijuana just to see what, if anything, would happen.
10:00 p.m.--Took one hydrocodone 10mg. pill, Watson brand. Smoked a joint of low-grade schwag cannabis.
10:30 p.m.--Sitting on the lawn chairs my roommate and I used as furniture in our house (we were poor college students!), I began to feel the first effects of the drug. The full effects of the drug had really begun to kick in by this point. I was talking up a storm and found myself unable and unwilling to stop. Things that normally would have pissed me off or made me anxious seemed unimportant and even pleasing. The lights were dim as my roommate and I chatted the night away. My body felt warm, especially my heart and extremeties and my eyes were red and extremely squinted.  I had the compulsion to put on music but ignored it to keep talking.
11:00 p.m.--Could no longer deny the urge to put on music. We had no TV anyway, so I put on a mix cd I made. The only song that sticks out in my mind from that night is 'She Lives in My Lap' by Andre 3000. The music seemed to be pushing my brain further into ecstasy with every passing second.
11:30 p.m.--The effects were on the downswing by this time. I was beginning to understand that hydrocodone was responsible for my amazing mood, which I'd failed to realize before now. I decided to do some yoga, as I figured it'd be especially enjoyable while in this state. I faced the color-changing ionizer in the corner of the room and did my poses with its cool mist falling on my face. I let my mind wander...with each change of color, I imagined the changing of the seasons in different parts of the world: red was winter in China, blue took me to summertime in the Pacific, yellow transported me to autumn in France, and green put me in the rainforest in spring time.
11:50 p.m.--Near baseline with a tingling warmth lingering throughout my body and in my head. I decided to smoke some more marijuana at this time in an attempt to bring back the euphoria of the last few hours. It did not work.
12:10 p.m.--Back to baseline. I reflected on my experience and rejoiced that I had one pill left, which I knew would be taken the next night.
Since I suffer from Asperger's Syndrome, a high-functioning form of autism, I found the effects of hydrocodone to be especially helpful for the social aspect of the disorder. It compelled me to talk openly without anxiety, which anyone with an autism spectrum disorder will tell you is nothing short of amazing. I would like to say I reserve its use solely for social situations, but usually don't have the willpower. If there's a pill left in the bottle, I'll convince myself that 'right now' is the right time to take it. It's a double-edged sword, but I've managed to avoid excessive use, especially since it only takes 5 mgs. to experience a noticeable effect in my small body. My love affair with this drug continues to this day and will unlikely ever fade.
I do not recommend this drug to everyone. Its potential for addiction is great due to the strong euphoria it induces and can wreck the life of a person who lacks the willpower necessary to use it responsibly...
...but I am in love with hydrocodone.
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.


New boundary lines
Working draft.
Working draft.
Draft. Forthcoming in Ergo.
Draft. Forthcoming in Mind.
Philosophical Quarterly 70(279), pp. 246-267. 2020.
In A. Burgess, H. Cappelen, & D. Plunkett (eds.), Conceptual Ethics and Conceptual Engineering, pp. 304-332. Oxford: Oxford University Press. 2020.
In K. Ahlstrom-Vij & J. Dunn (eds.), Epistemic Consequentialism, pp. 123-145. Oxford: Oxford University Press. 2018.
Noûs 52(1), pp. 196-215. 2018.
Episteme 13(4), pp. 499-505. 2016.
Ethics 126(3), pp. 607-635. 2016.
Philosophy and Phenomenological Research 92(2), pp. 460-491. 2016.
In A. Burgess & B. Sherman (eds.), New Essays in Metasemantics, pp. 119-146. Oxford: Oxford University Press. 2014.


--- creation_epoch:<PHONE_NUMBER> lastmod_epoch:<PHONE_NUMBER> categories: ['Tech Tricks'] title: Install Linux System Rescue CD to USB drive using Windows batch script --- The original version can be found at System Rescue CD forum topic.
An updated version for System Rescue CD version 1.5.2 and later is below:
@ECHO OFF SETLOCAL ENABLEEXTENSIONS REM Author: Rodney Beede REM Version: 2010-04-23 REM License: Public Domain ECHO For System Rescue CD 1.5.2 and later ECHO. REM You may need to change ISO_EXTRACT_PROGRAM and ISO_EXTRACT_PROGRAM_OPTS to REM match any different programs you wish to use REM They are set below at the ***** CHANGEABLE OPTIONS ***** section ECHO This script allows you to extract the contents of the System Rescue CD ISO ECHO onto a disk drive of your choice. ECHO. ECHO You must run this script as an Administrator ECHO. ECHO The ISO should be located in the same directory as this script ECHO. ECHO The usb drive must already have a FAT or FAT32 filesystem ECHO. SET /P TARGET_DRIVE=Enter in the drive letter of the usb key: IF "" EQU "%TARGET_DRIVE%" ( ECHO You MUST enter a drive letter EXIT /B ) REM ***** CHANGEABLE OPTIONS ***** REM What program to run to extract files from the ISO (no "") SET ISO_EXTRACT_PROGRAM=C:\Program Files\7-Zip\7z.exe REM Options to append after the ISO_EXTRACT_PROGRAM command SET ISO_EXTRACT_PROGRAM_OPTS=x -o%TARGET_DRIVE%:\ -r REM ***** END CHANGEABLE OPTIONS ***** REM Determine the ISO to use FOR %%I IN (systemrescuecd-*.iso) DO SET ISO_FILE=%%~fI IF "" EQU "%ISO_FILE%" ( ECHO Could not find ISO in %~dp0 EXIT /B ) ELSE ( ECHO. ECHO Using ISO found at %ISO_FILE% ECHO. ) REM Extract the entire ISO contents "%ISO_EXTRACT_PROGRAM%" %ISO_EXTRACT_PROGRAM_OPTS% "%ISO_FILE%" * REM Prepare SysLinux FOR %%i IN (%TARGET_DRIVE%:\bootprog\syslinux-*.zip) DO SET SYSLINUX_ZIP=%%i "%ISO_EXTRACT_PROGRAM%" %ISO_EXTRACT_PROGRAM_OPTS% "%SYSLINUX_ZIP%" win32\syslinux.exe MOVE %TARGET_DRIVE%:\win32\syslinux.exe %TARGET_DRIVE%:\syslinux.exe RMDIR /S /Q %TARGET_DRIVE%:\win32 REM Move the SysLinux items into place MOVE %TARGET_DRIVE%:\isolinux\isolinux.cfg %TARGET_DRIVE%:\isolinux\syslinux.cfg MOVE %TARGET_DRIVE%:\isolinux %TARGET_DRIVE%:\syslinux REM Make usb drive bootable (writes mbr) %TARGET_DRIVE%:\syslinux.exe -maf %TARGET_DRIVE%: ECHO ALL DONE


Grosse Point Blank (R) *** Starring John Cusack, Minnie Driver Directed by George Armitage A Review by Frankie Paiva
Receiving recomendations from friends is always a risky thing. You know that they really want you to see the film, but somewhere in the back of your mind you brush them off because they liked Wild Wild West or got hyped up about Detroit Rock City. This is the place where Grosse Point Blank rested for such a long time. I however did finally rent it. Now I'm not quite sure how to describe this movie, it's pretty strange, a unique experience, but I'll try.
Martin Blank (Cusack) goes to his high school reunion to relieve stress that's caused by him being a professional hitman. He wants to go back to the town of Grosse Point (hence the film's title) to try and regain the affections of the girl he stood up on prom night (Driver.) He doesn't really want to go (his psychiatrist told him too) and begins to suspect something when a man place a bomb in an Utlimart to try and kill him.
Another big hitman (Dan Aykroyd) has come to town to try and convince Martin to join a hitman's union. When he refuses he becomes angered and hires someone to kill him.  As for the reunion, it's pretty dull, at least until Martin goes and checks his locker.
Quite an interesting plotline and quite an interesting experience. Cusack and Driver made a cute couple, there both very good. An interesting mix in supporting cast as well, especially Joan Cusack (the movie is all in the family) as Martin's secretary. There are plenty of sharp hits and pokes that go to all sorts of people, especially jabs at professional killers and high school reunions. The end was a little strange and I didn't really feel that what happened resolved the conflicts brought up in the picutre. There is also a lot of un-needed scenes which add to the film's running time.
The Young-Uns: The film contains strong (often bloody) violence, a recurring theme of killing people, and language. Good Age: 14 & Up
A Review by Frankie Paiva The 12 Year-Old Movie Reviewer E-Mail me at<EMAIL_ADDRESS>Visit my website at: http://expage.com/page/teenagemoviecritic
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


--- layout: api title: "v2.3.0 JavaScript Library: API access tokens" categories: api version: v2.3.0 permalink: /api/v2.3.0/api-access-tokens/ ---
Mapbox.js uses the Mapbox web services API, which requires an API access token. You must supply an access token to Mapbox.js:
L.mapbox.accessToken = '<your access token>';
To obtain an access token, sign in to Mapbox and visit the Account Apps page. For Mapbox.js, a "Public" token (starting with "pk") is required.
You may create multiple tokens and use different ones for different applications. If
necessary, you can use different tokens on the same page by using the accessToken
option when creating Mapbox.js objects. For example:
var map = L.mapbox.map('map', 'mapbox.outdoors', {
accessToken: '<your access token>'
});
For additional help, see "How do I create an API access token?".


LSU QB Joe Burrow Reveals What Nebraska Told Him
by Tzvi MachlinWe will likely find out at the end of the week that LSU quarterback Joe Burrow is the 2019 Heisman Trophy winner. The former Ohio State quarterback has come a long way since his backup days with the Buckeyes, and reflected on his journey by pointing out one program that doubted him as a prospect.
In a recent interview with ESPN’s Tom Rinaldi, Burrow revealed that he initially wanted to go to Nebraska.
Burrow’s father, Jimmy Burrow, was a defensive back for the Huskers in the 1970s. Jimmy ultimately parlayed his success on the field into an NFL draft pick and a very successful career in the CFL.
But the Huskers were one of many teams that wouldn’t even give Burrow a scholarship offer – at least not right away, according to Burrow. So he ultimately went with Ohio State.
Via Saturday Tradition:
“I wanted to go to Nebraska but they told me I wasn’t good enough,” Burrow said in an interview.
Burrow ultimately got the last laugh as a backup at Ohio State. He went 7-of-9 for 66 yards in spot duty in wins over the Huskers in 2016 and 2017.
As for Nebraska, they continued going with Tommy Armstrong in 2015 and 2016, Tanner Lee in 2017, and have now hitched their wagon to Adrian Martinez.
If Burrow is in any way bitter over being snubbed by Nebraska, he’ll have at least one more game to rub it in their faces.


Please feel free to contact me if you have any questions regarding travelling in general, I will be happy to reply.


This chapter describes the configurations of a single heatmap.
This chapter describes the concept of the heatmap annotation and demonstrates how to make simple annotations as well as complex annotations. Also, the chapter explains the difference between column annotations and row annotations.
This chapter describes how to concatenate a list of heatmaps and annotations and how adjustment is applied to keep the correspondence of the heatmaps.
This chapter describes how to configurate the heatmap legends and annotation legends, also how to create self-defined legends.
This chapter describes methods to add more self-defined graphics to the heatmaps after the heatmaps are generated.
This chapter describes how to make oncoPrints and how to integrate other functionalities from ComplexHeatmap to oncoPrints.
This chapter describes how to make enhanced UpSet plots.
This chapter describes functions implemented in ComplexHeatmap for specific use, e.g. visualizing distributions.
This chapter describes how other packages are integrated with ComplexHeatmap. Currently, we demonstrate the two packages of gridtext and pheatmap.
This chapter describes how to make heatmaps interactive.
More simulated and real-world examples are demonstrated in this chapter.


Understanding my mind, aspirations, motivations Tweet
I can’t always understand the world through equations
I’ve finally decided to sign-up for the premium version of the Headspace app. I’m really trying to be more patient, truly compassionate, less reactive and less anxious. Ever since my separation (going through divorce), I’ve been really committed to trying to understand myself and my relation with others.
As a physicist, I have an understanding of natural phenomena in terms of equations relating different variables. But not everything in the physical world can be accurately described by an equation. For example think of a double pendulum. The best thing you can do is to do some computer model instead of writing something close-formed. How much more do we need if we’re trying to understand something complex such as our own mind and how we deal with others? I’m not talking about massive social network where groups or individuals are considered as connected nodes. There’s a great deal of progress there in terms predicting social behaviour and decision making.
I think it would be less illuminating if I tried to write an equation or a program to model myself and my relationships. That would oversimplify many things and therefore would not have any predictive power. Hence for this, I think a qualitative description of the self would be more beneficial. If there’s a Jane Goodall for humans like me, I’d be happy to be one of her chimpanzees! I’d also be delighted to be part of experiments that does brain scans though! I want to know which parts of my brain gets activated when I feel certain things.
Ancient Wisdom
“Lahat lahat. Sabay sabay.” I think my last philosophy prof said this. It means we take a look at “everything” (lahat lahat), at the “same time” (sabay sabay). It’s absolutely not how I approach my work, where I change one thing and see how it influences a result. Or if it’s a multivariable cause and effect, do pairs or combinations of changes and see their effects. When learning about the self, I need to relax and take it all in. Not controlling any feelings. Just being aware of them. Here meditation helps.
I’ve gotten back to taking meditation seriously and learning from ancient eastern wisdom. I had a phase in my life when I believed all these were just “woowoo” stuff until my allomum told me to try it for myself. It helped her a lot. Comparing my previous self sans meditation to now, I like me better now. Not perfect, but there’s less tension and anxiety. (I am not claiming anything for others here.)
I have been practicing some level of healthy skepticism whenever I think I’ve learned something new from some random input I got. So I’ve decided to read more about the effects of meditation from “reliable” sources. Here are some my allomum wrote [1,2]. She referred to a November 2014 Scientific American article by trained biologists. It’s called the “Mind of the Meditator.” The actual article [3] seems not to be open access but I found another link which anyone could read [4]. Your welcome. (Can I just say? This is so freaking amazing!)
Going for it!
So back to some philosophy. One of my zen masters is actually a renowned Filipina astrophysicist/data scientist. I am surprised she became a good friend of mine and I got really good pieces of advice from her. She taught me a Jedi/Zen trick of not worrying too much about things that are not in our control. Simplistic advice? It’s easier said than done. But practice makes us better at it. I’m a great worrier. This weird brain of mine looks at all possible outcomes and sometimes it hyperfocuses on the negative ones. I think we’re wired that way to prevent ourselves from getting hurt. But in this present world, I think the brain should learn to defocus from the negative outcomes. I don’t try to totally ignore them though.
During my qualifying exams, I cried and worried about not passing. I was afraid. I had no safety net. Going home was not an option economically. But my adviser told me that I was underestimating my ability. When he told me that he would “fight for me”, that sort of also helped me think more positively. The qualifiers became a challenge that wasn’t insurmountable. I think I started to just focus on solving tons of problems whenever I can. I studied 4 hours a day during the break. I watched “Desperate Housewives” with my ex in between for relaxation. Haha. I think I felt most peaceful after that. Because I stopped thinking about whether I’d go home or not and just put all my mental energy into learning every bit I can about electricity and magnetism.
I plan to write about the idea of “Survivorship bias” later on.  Because of this, people can sometimes grossly overestimate their chances of succeeding at something. It only leads to more damage for trying and trying. But the irony is, it’s precisely that refusal to accept limitation that pushes people to give things a shot, right?
Steve Jobs was good at pushing people to meet unreasonable deadlines. He has what people called a “reality distortion field”. Richard Feynman talked about the use of drums in warfare to convince soldiers that “they can do it!”. He said it’s something like “fooling yourself” that you are better than you are. And it gives you courage to do things that seem insurmountable. I kind of say the same things to myself when there is some difficult topic that I need to learn.  And I try to tell them, they’re actually doing better than what they think they’re doing. The brain is weird. It helps to be with people who could give us a nice outsider’s perspective.
When to give up
When should you give up? I honestly don’t know the answer to the question. It’s not that I haven’t given up on something or someone even if I think I am persistent. I just don’t know when is the proper time or if what the proper reason is for giving up.
I’ve learned somewhere that you shouldn’t want anything too much and that desire is the root of all suffering. But it turns out that that there is a misconception about that idea from ancient Buddhist philosophy. Kate Bornstein put it simply. It’s the “clinging, the clutching” that is causing the suffering. An old article [5] expounds on this nicely.
“A starting point for understanding desire is to differentiate between unhealthy and healthy desire. Unhealthy desire undermines psychological health, producing what Buddhism often calls “suffering” for short. Healthy desire can contribute to psychological well-being, happiness, and peace. If we place healthy and unhealthy desire on a spectrum, at one end we have the motivations that lead to some of the worst and most horrific things people do. But at the other end, desire expresses some of the most beautiful and noble aspects of human life.
One way to distinguish the two ends of this spectrum is to differentiate between craving and aspiration. When the Buddha pointed to the cause of suffering, he used the word tanhà or thirst. It represents desire which is in some way compulsive, driven, and therefore not easy to let go of. This kind of desire is often accompanied by clinging, contraction, tension, or pressure.”
It’s a powerful thing to know this. It helped me let go of things and not force things. I still try to do my best within what’s possible, but I think I’ve gradually learned to be more thoughtful of my actions when I’m trying to go for things I aspire for. It feels liberating.
I wish I learned these things in my youth. But I guess you only learn these things with some level of damage. :P
References:
- https://www.rappler.com/move-ph/ispeak/32329-science-solitaire-meditation-can-spark-compassion
- https://www.rappler.com/science-nature/ideas/science-solitaire/72160-meditation-changes-your-brain
- https://www.scientificamerican.com/article/neuroscience-reveals-the-secrets-of-meditation-s-benefits/
- https://www.law.upenn.edu/live/files/3918-mind-of-the-meditatorpdf
- https://www.insightmeditationcenter.org/books-articles/the-spectrum-of-desire/


In spring period a half of population is younger 4 yo
A half of females gives birth to 3 litters or less during their lifespan; the long-lived females can produce 10-11 litters


software development tools (assembler/linker, disassembler) with source code
configurable WISHBONE interconnect generator
The LXP32 instruction set architecture doesn't have a compiler backend yet, only assembly based workflow is supported. This makes LXP32 more useful in a small bare metal SoC running from on-chip RAM.
Documentation
The LXP32 soft CPU core comes with a comprehensive and up-to-date manual which contains all the information needed to integrate the processor into your design and develop software for it:


{{ define "main" }} {{ .Title }} {{ .Content }} Resources {{ partial "resources/resources-cards" (dict "resources" .Site.Data.resources.softwarereview ) }} Our Editorial Team Our editorial board members are volunteers. {{ $editors := (shuffle ( where (.Site.Data.team.team) "roles" "intersect" ( slice "editor" ) ))}} {{ partial "whole-page-fragments/team/team-section" (dict "team" $editors) }} Former editors {{ $editors := (shuffle ( where (.Site.Data.team.team) "past_roles" "intersect" ( slice "editor" ) ))}} {{ partial "whole-page-fragments/team/team-section" (dict "team" $editors) }} {{ partial "whole-page-fragments/volunteer" (dict "divider" "rl" "Site" .Site ) }} {{ partial "whole-page-fragments/newsletter" (dict "divider" "lr" ) }} {{ partial "whole-page-fragments/brands" (dict "Site" .Site "divider" "rl" ) }} {{ end }}
Our editorial board members are volunteers.


A module used for accessing clipboard data.
Adds the specified callback as an event listener for the named event.
Arguments
| name | [String] | Name of the event. |
| callback | [Callback<Object>] | Callback function to invoke when the event is fired. |
Clear data of the given mime-type from the clipboard. If no mime-type is given, clear all data from the clipboard.
Arguments
| type | [String] | (optional) The mime-type of the data to clear. |
Fires a synthesized event to any registered listeners.
Arguments
| name | [String] | Name of the event. |
| event | [Dictionary] | A dictionary of keys and values to add to the Titanium.Event object sent to the listeners. |
Get the data on the clipboard from the portion which contains data of the given mime-type.
Arguments
| type | [String] | The mime-type of the data to get. |
Return true if there is any content of the given mime-type on the clipboard.
Arguments
| type | [String] | (optional) The mime-type of the data to check. |
Removes the specified callback as an event listener for the named event.
Arguments
| name | [String] | Name of the event. |
| callback | [Callback<Object>] | Callback function to remove. Must be the same function passed to addEventListener. |
Set the data on the clipboard given a mime-type and the new data. This method will set data on the appropriate portion of the clipboard for the given mime-type.
Arguments
| type | [String] | The mime-type of the data to set. |
| data | [Object] | The new clipboard text. |


PART XXVII. CHILD DEATH REVIEW
[§321-341] Multidisciplinary and multiagency reviews. The department of health may conduct multidisciplinary and multiagency reviews of child deaths in order to reduce the incidence of preventable child deaths. [L 1997, c 369, pt of §1]


Next: write-sequence, Previous: write-string, Up: Streams Dictionary
read-sequence
sequence stream &key start end ⇒ position
sequence—a sequence.
stream—an input stream.
start, end—bounding index designators of sequence. The defaults for start and end are 0 and nil, respectively.
position—an integer greater than or equal to zero, and less than or equal to the length of the sequence.
Destructively modifies sequence by replacing the elements of sequence bounded by start and end with elements read from stream.
Sequence is destructively modified by copying successive elements into it from stream. If the end of file for stream is reached before copying all elements of the subsequence, then the extra elements near the end of sequence are not updated.
Position is the index of the first element of sequence that was not updated, which might be less than end because the end of file was reached.
(defvar *data* (make-array 15 :initial-element nil)) (values (read-sequence *data* (make-string-input-stream "test string")) *data*) ⇒ 11, #(#\t #\e #\s #\t #\Space #\s #\t #\r #\i #\n #\g NIL NIL NIL NIL)
Modifies stream and sequence.
Should be prepared to signal an error of type type-error if sequence is not a proper sequence. Should signal an error of type type-error if start is not a non-negative integer. Should signal an error of type type-error if end is not a non-negative integer or nil.
Might signal an error of type type-error if an element read from the stream is not a member of the element type of the sequence.
Compiler Terminology, write-sequence, read-line
read-sequence is identical in effect to iterating over the indicated subsequence and reading one element at a time from stream and storing it into sequence, but may be more efficient than the equivalent loop. An efficient implementation is more likely to exist for the case where the sequence is a vector with the same element type as the stream.
Next: write-sequence, Previous: write-string, Up: Streams Dictionary


JSON-RPC¶
Contents
- JSON RPC API
- JavaScript API
- JSON-RPC Endpoint
- JSON-RPC support
- HEX value encoding
- The default block parameter
- Curl Examples Explained
- JSON-RPC methods
- JSON RPC API Reference
- chain3_clientVersion
- chain3_sha3
- net_version
- net_listening
- net_peerCount
- mc_protocolVersion
- mc_syncing
- mc_coinbase
- mc_mining
- mc_hashrate
- mc_gasPrice
- mc_accounts
- mc_blockNumber
- mc_getBalance
- mc_getStorageAt
- mc_getTransactionCount
- mc_getBlockTransactionCountByHash
- mc_getBlockTransactionCountByNumber
- mc_getUncleCountByBlockHash
- mc_getUncleCountByBlockNumber
- mc_getCode
- mc_sign
- mc_sendTransaction
- mc_sendRawTransaction
- mc_call
- mc_estimateGas
- mc_getBlockByHash
- mc_getBlockByNumber
- mc_getTransactionByHash
- mc_getTransactionByBlockHashAndIndex
- mc_getTransactionByBlockNumberAndIndex
- mc_getTransactionReceipt
- mc_getUncleByBlockHashAndIndex
- mc_getUncleByBlockNumberAndIndex
- mc_getCompilers
- mc_compileSolidity
- mc_compileLLL
- mc_compileSerpent
- mc_newFilter
- mc_newBlockFilter
- mc_newPendingTransactionFilter
- mc_uninstallFilter
- mc_getFilterChanges
- mc_getFilterLogs
- mc_getLogs
- mc_getWork
- mc_submitWork
- mc_submitHashrate
- db_putString
- db_getString
- db_putHex
- db_getHex
- shh_version
- shh_post
- shh_newIdentity
- shh_hasIdentity
- shh_newGroup
- shh_addToGroup
- shh_newFilter
- shh_uninstallFilter
- shh_getFilterChanges
- shh_getMessages
JSON RPC API¶
JSON is a lightweight data-interchange format. It can represent numbers, strings, ordered sequences of values, and collections of name/value pairs.
JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol. Primarily this specification defines several data structures and the rules around their processing. It is transport agnostic in that the concepts can be used within the same process, over sockets, over HTTP, or in many various message passing environments. It uses JSON (RFC 4627) as data format.
Geth 1.4 has experimental pub/sub support. See this page for more information.
Parity 1.6 has experimental pub/sub support See this for more information.
JavaScript API¶
To talk to an ethereum node from inside a JavaScript application use the web3.js library, which gives a convenient interface for the RPC methods. See the JavaScript API for more.
JSON-RPC Endpoint¶
Default JSON-RPC endpoints:
| Client | URL |
|---|---|
| C++ | http://localhost:8545 |
| Go | http://localhost:8545 |
| Py | http://localhost:4000 |
| Parity | http://localhost:8545 |
Go¶
You can start the HTTP JSON-RPC with the --rpc
flag
geth --rpc
change the default port (8545) and listing address (localhost) with:
geth --rpc --rpcaddr <ip> --rpcport <portnumber>
If accessing the RPC from a browser, CORS will need to be enabled with the appropriate domain set. Otherwise, JavaScript calls are limit by the same-origin policy and requests will fail:
geth --rpc --rpccorsdomain "http://localhost:3000"
The JSON RPC can also be started from the geth
console
using the admin.startRPC(addr, port)
command.
C++¶
You can start it by running eth
application with -j
option:
./eth -j
You can also specify JSON-RPC port (default is 8545):
./eth -j --json-rpc-port 8079
Python¶
In python the JSONRPC server is currently started by default and listens
on <IP_ADDRESS>:4000
You can change the port and listen address by giving a config option.
pyethapp -c jsonrpc.listen_port=4002 -c jsonrpc.listen_host=<IP_ADDRESS> run
JSON-RPC support¶
| cpp-ethereum | go-ethereum | py-ethereum | parity | |
|---|---|---|---|---|
| JSON-RPC 1.0 | ✓ | |||
| JSON-RPC 2.0 | ✓ | ✓ | ✓ | ✓ |
| Batch requests | ✓ | ✓ | ✓ | ✓ |
| HTTP | ✓ | ✓ | ✓ | ✓ |
| IPC | ✓ | ✓ | ✓ | |
| WS | ✓ | ✓ |
HEX value encoding¶
At present there are two key datatypes that are passed over JSON: unformatted byte arrays and quantities. Both are passed with a hex encoding, however with different requirements to formatting:
When encoding QUANTITIES (integers, numbers): encode as hex, prefix with “0x”, the most compact representation (slight exception: zero should be represented as “0x0”). Examples: - 0x41 (65 in decimal) - 0x400 (1024 in decimal) - WRONG: 0x (should always have at least one digit - zero is “0x0”) - WRONG: 0x0400 (no leading zeroes allowed) - WRONG: ff (must be prefixed 0x)
When encoding UNFORMATTED DATA (byte arrays, account addresses, hashes, bytecode arrays): encode as hex, prefix with “0x”, two hex digits per byte. Examples: - 0x41 (size 1, “A”) - 0x004200 (size 3, “:raw-latex:`\0`B:raw-latex:`0`”) - 0x (size 0, “”) - WRONG: 0xf0f0f (must be even number of digits) - WRONG: 004200 (must be prefixed 0x)
Currently cpp-ethereum,go-ethereum, and parity provide JSON-RPC communication over http and IPC (unix socket Linux and OSX/named pipes on Windows). Version 1.4 of go-ethereum and version 1.6 of Parity onwards have websocket support.
The default block parameter¶
The following methods have an extra default block parameter:
When requests are made that act on the state of ethereum, the last default block parameter determines the height of the block.
The following options are possible for the defaultBlock parameter:
HEX String
- an integer block numberString "earliest"
for the earliest/genesis blockString "latest"
- for the latest mined blockString "pending"
- for the pending state/transactions
Curl Examples Explained¶
The curl options below might return a response where the node complains about the content type, this is because the –data option sets the content type to application/x-www-form-urlencoded . If your node does complain, manually set the header by placing -H “Content-Type: application/json” at the start of the call.
The examples also do not include the URL/IP & port combination which must be the last argument given to curl e.x. <IP_ADDRESS>:8545
JSON-RPC methods¶
- chain3_clientVersion
- chain3_sha3
- net_version
- net_peerCount
- net_listening
- mc_protocolVersion
- mc_syncing
- mc_coinbase
- mc_mining
- mc_hashrate
- mc_gasPrice
- mc_accounts
- mc_blockNumber
- mc_getBalance
- mc_getStorageAt
- mc_getTransactionCount
- mc_getBlockTransactionCountByHash
- mc_getBlockTransactionCountByNumber
- mc_getUncleCountByBlockHash
- mc_getUncleCountByBlockNumber
- mc_getCode
- mc_sign
- mc_sendTransaction
- mc_sendRawTransaction
- mc_call
- mc_estimateGas
- mc_getBlockByHash
- mc_getBlockByNumber
- mc_getTransactionByHash
- mc_getTransactionByBlockHashAndIndex
- mc_getTransactionByBlockNumberAndIndex
- mc_getTransactionReceipt
- mc_getUncleByBlockHashAndIndex
- mc_getUncleByBlockNumberAndIndex
- mc_getCompilers
- mc_compileLLL
- mc_compileSolidity
- mc_compileSerpent
- mc_newFilter
- mc_newBlockFilter
- mc_newPendingTransactionFilter
- mc_uninstallFilter
- mc_getFilterChanges
- mc_getFilterLogs
- mc_getLogs
- mc_getWork
- mc_submitWork
- mc_submitHashrate
- db_putString
- db_getString
- db_putHex
- db_getHex
- shh_post
- shh_version
- shh_newIdentity
- shh_hasIdentity
- shh_newGroup
- shh_addToGroup
- shh_newFilter
- shh_uninstallFilter
- shh_getFilterChanges
- shh_getMessages
JSON RPC API Reference¶
web3_clientVersion¶
Returns the current client version.
Parameters¶
none
Returns¶
String
- The current client version
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}'
// Result
{
"id":67,
"jsonrpc":"2.0",
"result": "Mist/v0.9.3/darwin/go1.4.1"
}
web3_sha3¶
Returns Keccak-256 (not the standardized SHA3-256) of the given data.
Returns¶
DATA
- The SHA3 result of the given string.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"web3_sha3","params":["0x68656c6c6f20776f726c64"],"id":64}'
// Result
{
"id":64,
"jsonrpc": "2.0",
"result": "0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad"
}
net_version¶
Returns the current network id.
Parameters¶
none
Returns¶
String
- The current network id. - "1"
: Ethereum Mainnet -
"2"
: Morden Testnet (deprecated) - "3"
: Ropsten Testnet -
"4"
: Rinkeby Testnet - "42"
: Kovan Testnet
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"net_version","params":[],"id":67}'
// Result
{
"id":67,
"jsonrpc": "2.0",
"result": "3"
}
net_listening¶
Returns true
if client is actively listening for network
connections.
Parameters¶
none
Returns¶
Boolean
- true
when listening, otherwise false
.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"net_listening","params":[],"id":67}'
// Result
{
"id":67,
"jsonrpc":"2.0",
"result":true
}
net_peerCount¶
Returns number of peers currently connected to the client.
Parameters¶
none
Returns¶
QUANTITY
- integer of the number of connected peers.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":74}'
// Result
{
"id":74,
"jsonrpc": "2.0",
"result": "0x2" // 2
}
eth_protocolVersion¶
Returns the current ethereum protocol version.
Parameters¶
none
Returns¶
String
- The current ethereum protocol version
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_protocolVersion","params":[],"id":67}'
// Result
{
"id":67,
"jsonrpc": "2.0",
"result": "54"
}
eth_syncing¶
Returns an object with data about the sync status or false
.
Parameters¶
none
Returns¶
Object|Boolean
, An object with sync status data or FALSE
, when
not syncing: - startingBlock
: QUANTITY
- The block at which the
import started (will only be reset, after the sync reached his head) -
currentBlock
: QUANTITY
- The current block, same as
eth_blockNumber - highestBlock
: QUANTITY
- The estimated
highest block
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": {
startingBlock: '0x384',
currentBlock: '0x386',
highestBlock: '0x454'
}
}
// Or when not syncing
{
"id":1,
"jsonrpc": "2.0",
"result": false
}
eth_coinbase¶
Returns the client coinbase address.
Parameters¶
none
Returns¶
DATA
, 20 bytes - the current coinbase address.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":64}'
// Result
{
"id":64,
"jsonrpc": "2.0",
"result": "0x407d73d8a49eeb85d32cf465507dd71d507100c1"
}
eth_mining¶
Returns true
if client is actively mining new blocks.
Parameters¶
none
Returns¶
Boolean
- returns true
of the client is mining, otherwise
false
.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_mining","params":[],"id":71}'
// Result
{
"id":71,
"jsonrpc": "2.0",
"result": true
}
eth_hashrate¶
Returns the number of hashes per second that the node is mining with.
Parameters¶
none
Returns¶
QUANTITY
- number of hashes per second.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_hashrate","params":[],"id":71}'
// Result
{
"id":71,
"jsonrpc": "2.0",
"result": "0x38a"
}
eth_gasPrice¶
Returns the current price per gas in wei.
Parameters¶
none
Returns¶
QUANTITY
- integer of the current gas price in wei.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'
// Result
{
"id":73,
"jsonrpc": "2.0",
"result": "0x09184e72a000" //<PHONE_NUMBER>0000
}
eth_accounts¶
Returns a list of addresses owned by client.
Parameters¶
none
Returns¶
Array of DATA
, 20 Bytes - addresses owned by the client.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1"]
}
eth_blockNumber¶
Returns the number of most recent block.
Parameters¶
none
Returns¶
QUANTITY
- integer of the current block number the client is on.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":83}'
// Result
{
"id":83,
"jsonrpc": "2.0",
"result": "0x4b7" // 1207
}
eth_getBalance¶
Returns the balance of the account of given address.
Parameters¶
DATA
, 20 Bytes - address to check for balance.QUANTITY|TAG
- integer block number, or the string"latest"
,"earliest"
or"pending"
, see the default block parameter
params: [
'0x407d73d8a49eeb85d32cf465507dd71d507100c1',
'latest'
]
Returns¶
QUANTITY
- integer of the current balance in wei.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0x0234c8a3397aab58" //<PHONE_NUMBER>34375000
}
eth_getStorageAt¶
Returns the value from a storage position at a given address.
Parameters¶
DATA
, 20 Bytes - address of the storage.QUANTITY
- integer of the position in the storage.QUANTITY|TAG
- integer block number, or the string"latest"
,"earliest"
or"pending"
, see the default block parameter
Returns¶
DATA
- the value at this storage position.
Example¶
Calculating the correct position depends on the storage to retrieve.
Consider the following contract deployed at
0x295a70b2de5e3953354a6a8344e616ed314d7251
by address
0x391694e7e0b0cce554cb130d723a9d27458f9298
.
contract Storage {
uint pos0;
mapping(address => uint) pos1;
function Storage() {
pos0 = 1234;
pos1[msg.sender] = 5678;
}
}
Retrieving the value of pos0 is straight forward:
curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}' localhost:8545
{"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000004d2"}
Retrieving an element of the map is harder. The position of an element in the map is calculated with:
keccack(LeftPad32(key, 0), LeftPad32(map position, 0))
This means to retrieve the storage on pos1[“0x391694e7e0b0cce554cb130d723a9d27458f9298”] we need to calculate the position with:
keccak(decodeHex("000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"))
The geth console which comes with the web3 library can be used to make the calculation:
> var key = "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"
undefined
> web3.sha3(key, {"encoding": "hex"})
"0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9"
Now to fetch the storage:
curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "latest"], "id": 1}' localhost:8545
{"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"}
eth_getTransactionCount¶
Returns the number of transactions sent from an address.
Parameters¶
DATA
, 20 Bytes - address.QUANTITY|TAG
- integer block number, or the string"latest"
,"earliest"
or"pending"
, see the default block parameter
params: [
'0x407d73d8a49eeb85d32cf465507dd71d507100c1',
'latest' // state at the latest block
]
Returns¶
QUANTITY
- integer of the number of transactions send from this
address.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionCount","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1","latest"],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0x1" // 1
}
eth_getBlockTransactionCountByHash¶
Returns the number of transactions in a block from a block matching the given block hash.
Parameters¶
DATA
, 32 Bytes - hash of a block
params: [
'0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238'
]
Returns¶
QUANTITY
- integer of the number of transactions in this block.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0xb" // 11
}
eth_getBlockTransactionCountByNumber¶
Returns the number of transactions in a block matching the given block number.
Parameters¶
QUANTITY|TAG
- integer of a block number, or the string"earliest"
,"latest"
or"pending"
, as in the default block parameter.
params: [
'0xe8', // 232
]
Returns¶
QUANTITY
- integer of the number of transactions in this block.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNumber","params":["0xe8"],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0xa" // 10
}
eth_getUncleCountByBlockHash¶
Returns the number of uncles in a block from a block matching the given block hash.
Parameters¶
DATA
, 32 Bytes - hash of a block
params: [
'0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238'
]
Returns¶
QUANTITY
- integer of the number of uncles in this block.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0x1" // 1
}
eth_getUncleCountByBlockNumber¶
Returns the number of uncles in a block from a block matching the given block number.
Parameters¶
QUANTITY|TAG
- integer of a block number, or the string “latest”, “earliest” or “pending”, see the default block parameter
params: [
'0xe8', // 232
]
Returns¶
QUANTITY
- integer of the number of uncles in this block.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleCountByBlockNumber","params":["0xe8"],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0x1" // 1
}
eth_getCode¶
Returns code at a given address.
Parameters¶
DATA
, 20 Bytes - addressQUANTITY|TAG
- integer block number, or the string"latest"
,"earliest"
or"pending"
, see the default block parameter
params: [
'0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b',
'0x2' // 2
]
Returns¶
DATA
- the code from the given address.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCode","params":["0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "0x2"],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0x600160008035811a818181146012578301005b601b6001356025565b8060005260206000f25b600060078202905091905056"
}
eth_sign¶
The sign method calculates an Ethereum specific signature with:
sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)))
.
By adding a prefix to the message makes the calculated signature recognisable as an Ethereum specific signature. This prevents misuse where a malicious DApp can sign arbitrary data (e.g. transaction) and use the signature to impersonate the victim.
Note the address to sign with must be unlocked.
Returns¶
DATA
: Signature
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sign","params":["0x9b2055d370f73ec7d8a03e965129118dc8f5bf83", "0xdeadbeaf"],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0xa3f20717a250c2b0b729b7e5becbff67fdaef7e0699da4de7ca5895b02a170a12d887fd3b17bfdce3481f10bea41f45ba9f709d39ce8325427b57afcfc994cee1b"
}
An example how to use solidity ecrecover to verify the signature
calculated with eth_sign
can be found
here.
The contract is deployed on the testnet Ropsten and Rinkeby.
eth_sendTransaction¶
Creates new message call transaction or a contract creation, if the data field contains code.
Parameters¶
Object
- The transaction object
from
:DATA
, 20 Bytes - The address the transaction is send from.to
:DATA
, 20 Bytes - (optional when creating new contract) The address the transaction is directed to.gas
:QUANTITY
- (optional, default: 90000) Integer of the gas provided for the transaction execution. It will return unused gas.gasPrice
:QUANTITY
- (optional, default: To-Be-Determined) Integer of the gasPrice used for each paid gasvalue
:QUANTITY
- (optional) Integer of the value sent with this transactiondata
:DATA
- The compiled code of a contract OR the hash of the invoked method signature and encoded parameters. For details see Ethereum Contract ABInonce
:QUANTITY
- (optional) Integer of a nonce. This allows to overwrite your own pending transactions that use the same nonce.
params: [{
"from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
"to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
"gas": "0x76c0", // 30400
"gasPrice": "0x9184e72a000", //<PHONE_NUMBER>0000
"value": "0x9184e72a", //<PHONE_NUMBER>
"data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
}]
Returns¶
DATA
, 32 Bytes - the transaction hash, or the zero hash if the
transaction is not yet available.
Use eth_getTransactionReceipt to get the contract address, after the transaction was mined, when you created a contract.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{see above}],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}
eth_sendRawTransaction¶
Creates new message call transaction or a contract creation for signed transactions.
Parameters¶
DATA
, The signed transaction data.
params: ["0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"]
Returns¶
DATA
, 32 Bytes - the transaction hash, or the zero hash if the
transaction is not yet available.
Use eth_getTransactionReceipt to get the contract address, after the transaction was mined, when you created a contract.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":[{see above}],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}
eth_call¶
Executes a new message call immediately without creating a transaction on the block chain.
Parameters¶
Object
- The transaction call object
from
:DATA
, 20 Bytes - (optional) The address the transaction is sent from.to
:DATA
, 20 Bytes - The address the transaction is directed to.gas
:QUANTITY
- (optional) Integer of the gas provided for the transaction execution. eth_call consumes zero gas, but this parameter may be needed by some executions.gasPrice
:QUANTITY
- (optional) Integer of the gasPrice used for each paid gasvalue
:QUANTITY
- (optional) Integer of the value sent with this transactiondata
:DATA
- (optional) Hash of the method signature and encoded parameters. For details see Ethereum Contract ABI
QUANTITY|TAG
- integer block number, or the string"latest"
,"earliest"
or"pending"
, see the default block parameter
Returns¶
DATA
- the return value of executed contract.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_call","params":[{see above}],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0x"
}
eth_estimateGas¶
Generates and returns an estimate of how much gas is necessary to allow the transaction to complete. The transaction will not be added to the blockchain. Note that the estimate may be significantly more than the amount of gas actually used by the transaction, for a variety of reasons including EVM mechanics and node performance.
Parameters¶
See eth_call parameters, expect that all properties are optional. If no gas limit is specified geth uses the block gas limit from the pending block as an upper bound. As a result the returned estimate might not be enough to executed the call/transaction when the amount of gas is higher than the pending block gas limit.
Returns¶
QUANTITY
- the amount of gas used.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_estimateGas","params":[{see above}],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0x5208" // 21000
}
eth_getBlockByHash¶
Returns information about a block by hash.
Parameters¶
DATA
, 32 Bytes - Hash of a block.Boolean
- Iftrue
it returns the full transaction objects, iffalse
only the hashes of the transactions.
params: [
'0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331',
true
]
Returns¶
Object
- A block object, or null
when no block was found:
number
:QUANTITY
- the block number.null
when its pending block.hash
:DATA
, 32 Bytes - hash of the block.null
when its pending block.parentHash
:DATA
, 32 Bytes - hash of the parent block.nonce
:DATA
, 8 Bytes - hash of the generated proof-of-work.null
when its pending block.sha3Uncles
:DATA
, 32 Bytes - SHA3 of the uncles data in the block.logsBloom
:DATA
, 256 Bytes - the bloom filter for the logs of the block.null
when its pending block.transactionsRoot
:DATA
, 32 Bytes - the root of the transaction trie of the block.stateRoot
:DATA
, 32 Bytes - the root of the final state trie of the block.receiptsRoot
:DATA
, 32 Bytes - the root of the receipts trie of the block.miner
:DATA
, 20 Bytes - the address of the beneficiary to whom the mining rewards were given.difficulty
:QUANTITY
- integer of the difficulty for this block.totalDifficulty
:QUANTITY
- integer of the total difficulty of the chain until this block.extraData
:DATA
- the “extra data” field of this block.size
:QUANTITY
- integer the size of this block in bytes.gasLimit
:QUANTITY
- the maximum gas allowed in this block.gasUsed
:QUANTITY
- the total used gas by all transactions in this block.timestamp
:QUANTITY
- the unix timestamp for when the block was collated.transactions
:Array
- Array of transaction objects, or 32 Bytes transaction hashes depending on the last given parameter.uncles
:Array
- Array of uncle hashes.

Parameters¶
QUANTITY|TAG
- integer of a block number, or the string"earliest"
,"latest"
or"pending"
, as in the default block parameter.Boolean
- Iftrue
it returns the full transaction objects, iffalse
only the hashes of the transactions.
params: [
'0x1b4', // 436
true
]
Returns¶
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0x1b4", true],"id":1}'
Result see eth_getBlockByHash
eth_getTransactionByHash¶
Returns the information about a transaction requested by transaction hash.
Parameters¶
DATA
, 32 Bytes - hash of a transaction
params: [
"0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"
]
Returns¶
Object
- A transaction object, or null
when no transaction was
found:
hash
:DATA
, 32 Bytes - hash of the transaction.nonce
:QUANTITY
- the number of transactions made by the sender prior to this one.blockHash
:DATA
, 32 Bytes - hash of the block where this transaction was in.null
when its pending.blockNumber
:QUANTITY
- block number where this transaction was in.null
when its pending.transactionIndex
:QUANTITY
- integer of the transactions index position in the block.null
when its pending.from
:DATA
, 20 Bytes - address of the sender.to
:DATA
, 20 Bytes - address of the receiver.null
when its a contract creation transaction.value
:QUANTITY
- value transferred in Wei.gasPrice
:QUANTITY
- gas price provided by the sender in Wei.gas
:QUANTITY
- gas provided by the sender.input
:DATA
- the data send along with the transaction.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}'
// Result
{
"id":1,
"jsonrpc":"2.0",
"result": {
"hash":"0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b",
"nonce":"0x",
"blockHash": "0xbeab0aa2411b7ab17f30a99d3cb9c6ef2fc5426d6ad6fd9e2a26a6aed1d1055b",
"blockNumber": "0x15df", // 5599
"transactionIndex": "0x1", // 1
"from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1",
"to":"0x85h43d8a49eeb85d32cf465507dd71d507100c1",
"value":"0x7f110", // 520464
"gas": "0x7f110", // 520464
"gasPrice":"0x09184e72a000",
"input":"0x603880600c6000396000f300603880600c6000396000f3603880600c6000396000f360",
}
}
eth_getTransactionByBlockHashAndIndex¶
Returns information about a transaction by block hash and transaction index position.
Parameters¶
DATA
, 32 Bytes - hash of a block.QUANTITY
- integer of the transaction index position.
params: [
'0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331',
'0x0' // 0
]
Returns¶
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAndIndex","params":["0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b", "0x0"],"id":1}'
Result see eth_getTransactionByHash
eth_getTransactionByBlockNumberAndIndex¶
Returns information about a transaction by block number and transaction index position.
Parameters¶
QUANTITY|TAG
- a block number, or the string"earliest"
,"latest"
or"pending"
, as in the default block parameter.QUANTITY
- the transaction index position.
params: [
'0x29c', // 668
'0x0' // 0
]
Returns¶
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockNumberAndIndex","params":["0x29c", "0x0"],"id":1}'
Result see eth_getTransactionByHash
eth_getTransactionReceipt¶
Returns the receipt of a transaction by transaction hash.
Note That the receipt is not available for pending transactions.
Parameters¶
DATA
, 32 Bytes - hash of a transaction
params: [
'0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238'
]
Returns¶
Object
- A transaction receipt object, or null
when no receipt
was found:
transactionHash
:DATA
, 32 Bytes - hash of the transaction.transactionIndex
:QUANTITY
- integer of the transactions index position in the block.blockHash
:DATA
, 32 Bytes - hash of the block where this transaction was in.blockNumber
:QUANTITY
- block number where this transaction was in.cumulativeGasUsed
:QUANTITY
- The total amount of gas used when this transaction was executed in the block.gasUsed
:QUANTITY
- The amount of gas used by this specific transaction alone.contractAddress
:DATA
, 20 Bytes - The contract address created, if the transaction was a contract creation, otherwisenull
.logs
:Array
- Array of log objects, which this transaction generated.logsBloom
:DATA
, 256 Bytes - Bloom filter for light clients to quickly retrieve related logs.
It also returns either :
root
:DATA
32 bytes of post-transaction stateroot (pre Byzantium)status
:QUANTITY
either1
(success) or0
(failure)
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}'
// Result
{
"id":1,
"jsonrpc":"2.0",
"result": {
transactionHash: '0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238',
transactionIndex: '0x1', // 1
blockNumber: '0xb', // 11
blockHash: '0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b',
cumulativeGasUsed: '0x33bc', // 13244
gasUsed: '0x4dc', // 1244
contractAddress: '0xb60e8dd61c5d32be8058bb8eb970870f07233155', // or null, if none was created
logs: [{
// logs as returned by getFilterLogs, etc.
}, ...],
logsBloom: "0x00...0", // 256 byte bloom filter
status: '0x1'
}
}
eth_getUncleByBlockHashAndIndex¶
Returns information about a uncle of a block by hash and uncle index position.
Parameters¶
DATA
, 32 Bytes - hash a block.QUANTITY
- the uncle’s index position.
params: [
'0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b',
'0x0' // 0
]
Returns¶
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockHashAndIndex","params":["0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b", "0x0"],"id":1}'
Result see eth_getBlockByHash
Note: An uncle doesn’t contain individual transactions.
eth_getUncleByBlockNumberAndIndex¶
Returns information about a uncle of a block by number and uncle index position.
Parameters¶
QUANTITY|TAG
- a block number, or the string"earliest"
,"latest"
or"pending"
, as in the default block parameter.QUANTITY
- the uncle’s index position.
params: [
'0x29c', // 668
'0x0' // 0
]
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getUncleByBlockNumberAndIndex","params":["0x29c", "0x0"],"id":1}'
Result see eth_getBlockByHash
eth_getCompilers¶
Returns a list of available compilers in the client.
Parameters¶
none
Returns¶
Array
- Array of available compilers.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCompilers","params":[],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": ["solidity", "lll", "serpent"]
}
eth_compileSolidity¶
Returns compiled solidity code.
Parameters¶
String
- The source code.
params: [
"contract test { function multiply(uint a) returns(uint d) { return a * 7; } }",
]
Returns¶
DATA
- The compiled source code.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_compileSolidity","params":["contract test { function multiply(uint a) returns(uint d) { return a * 7; } }"],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": {
"code": "0x605880600c6000396000f3006000357c010000000000000000000000000000000000000000000000000000000090048063c6888fa114602e57005b603d6004803590602001506047565b8060005260206000f35b60006007820290506053565b91905056",
"info": {
"source": "contract test {\n function multiply(uint a) constant returns(uint d) {\n return a * 7;\n }\n}\n",
"language": "Solidity",
"languageVersion": "0",
"compilerVersion": "0.9.19",
"abiDefinition": [
{
"constant": true,
"inputs": [
{
"name": "a",
"type": "uint256"
}
],
"name": "multiply",
"outputs": [
{
"name": "d",
"type": "uint256"
}
],
"type": "function"
}
],
"userDoc": {
"methods": {}
},
"developerDoc": {
"methods": {}
}
}
}
eth_compileLLL¶
Returns compiled LLL code.
Returns¶
DATA
- The compiled source code.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_compileLLL","params":["(returnlll (suicide (caller)))"],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0x603880600c6000396000f3006001600060e060020a600035048063c6888fa114601857005b6021600435602b565b8060005260206000f35b600081600702905091905056" // the compiled source code
}
eth_compileSerpent¶
Returns compiled serpent code.
Returns¶
DATA
- The compiled source code.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_compileSerpent","params":["/* some serpent */"],"id":1}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0x603880600c6000396000f3006001600060e060020a600035048063c6888fa114601857005b6021600435602b565b8060005260206000f35b600081600702905091905056" // the compiled source code
}
eth_newFilter¶
Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call eth_getFilterChanges.
A note on specifying topic filters:¶
Topics are order-dependent. A transaction with a log with topics [A, B]
will be matched by the following topic filters: * []
“anything” *
[A]
“A in first position (and anything after)” * [null, B]
“anything in first position AND B in second position (and anything
after)” * [A, B]
“A in first position AND B in second position (and
anything after)” * [[A, B], [A, B]]
“(A OR B) in first position AND
(A OR B) in second position (and anything after)”
Parameters¶
Object
- The filter options:
fromBlock
:QUANTITY|TAG
- (optional, default:"latest"
) Integer block number, or"latest"
for the last mined block or"pending"
,"earliest"
for not yet mined transactions.toBlock
:QUANTITY|TAG
- (optional, default:"latest"
) Integer block number, or"latest"
for the last mined block or"pending"
,"earliest"
for not yet mined transactions.address
:DATA|Array
, 20 Bytes - (optional) Contract address or a list of addresses from which logs should originate.topics
:Array of DATA
, - (optional) Array of 32 BytesDATA
topics. Topics are order-dependent. Each topic can also be an array of DATA with “or” options.
params: [{
"fromBlock": "0x1",
"toBlock": "0x2",
"address": "0x8888f1f195afa192cfee860698584c030f4c9db1",
"topics": ["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", null, ["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", "0x0000000000000000000000000aff3454fce5edbc8cca8697c15331677e6ebccc"]]
}]
Returns¶
QUANTITY
- A filter id.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"topics":["0x12341234"]}],"id":73}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0x1" // 1
}
eth_newBlockFilter¶
Creates a filter in the node, to notify when a new block arrives. To check if the state has changed, call eth_getFilterChanges.
Parameters¶
None
Returns¶
QUANTITY
- A filter id.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newBlockFilter","params":[],"id":73}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0x1" // 1
}
eth_newPendingTransactionFilter¶
Creates a filter in the node, to notify when new pending transactions arrive. To check if the state has changed, call eth_getFilterChanges.
Parameters¶
None
Returns¶
QUANTITY
- A filter id.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newPendingTransactionFilter","params":[],"id":73}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": "0x1" // 1
}
eth_uninstallFilter¶
Uninstalls a filter with given id. Should always be called when watch is no longer needed. Additonally Filters timeout when they aren’t requested with eth_getFilterChanges for a period of time.
Returns¶
Boolean
- true
if the filter was successfully uninstalled,
otherwise false
.
Example¶
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_uninstallFilter","params":["0xb"],"id":73}'
// Result
{
"id":1,
"jsonrpc": "2.0",
"result": true
}
eth_getFilterChanges¶
Polling method for a filter, which returns an array of logs which occurred since last poll.
Returns¶
Array
- Array of log objects, or an empty array if nothing has
changed since last poll.
- For filters created with
eth_newBlockFilter
the return are block hashes (DATA
, 32 Bytes), e.g.["0x3454645634534..."]
. - For filters created with
eth_newPendingTransactionFilter
the return are transaction hashes (DATA
, 32 Bytes), e.g.["0x6345343454645..."]
. - For filters created with
eth_newFilter
logs are objects with following params: removed
:TAG
-true
when the log was removed, due to a chain reorganization.false
if its a valid log.logIndex
:QUANTITY
- integer of the log index position in the block.null
when its pending log.transactionIndex
:QUANTITY
- integer of the transactions index position log was created from.null
when its pending log.transactionHash
:DATA
, 32 Bytes - hash of the transactions this log was created from.null
when its pending log.blockHash
:DATA
, 32 Bytes - hash of the block where this log was in.null
when its pending.null
when its pending log.blockNumber
:QUANTITY
- the block number where this log was in.null
when its pending.null
when its pending log.address
:DATA
, 20 Bytes - address from which this log originated.data
:DATA
- contains one or more 32 Bytes


About:
Here you may edit a resource - replace the file, change the name or delete the resource overall.
Help:
Please ensure that the name of the resource is unique and clearly states what the file contains, in order for students to find information easier as well.
If you are only planning on replacing the file, please retype the name of the file (will be a placeholder in the input box) in the input box.
{% endblock %}
{% block main_panel %}
Edit resource {{ resource.name }}
{% if message == "success" %}
You have successfully editted this resource.


PureBasic - Array
概要
Arrays are structures to store indexed elements. Unlike a list or a map, the elements are allocated in a contiguous manner in memory. Therefore, it's not possible to easily insert or remove an element. On other hand, it provides a very fast direct access to a random element.
To work with Arrays, they have to be declared first. This could be done with the keyword Dim.
Arrays can be sorted using SortArray() or SortStructuredArray(), and can also be randomized using RandomizeArray().
命令索引
ArraySize
CopyArray
FreeArray
示例
Array.pb
已支持操作系统
所有


My first salvia experience was using the plain dried leaves, then the 5x extract. I used a homemade gravity bong. I loaded the bowl, lit the leaves and took a hit. I took several more, they were varying sized from smaller to heavier thick ones. I waited and wasn't feeling too much, save being a bit out of my head and euphoric. Somewhat like being stoned, yet different. I wanted to experience more, so I broke out the 5x and loaded it in the bowl. I took several good hits of that, then waited. Suddenly, BOOM! I was out of it. Beyond high, it was trippy. It's very hard to describe fully; when I try I burst out into incoherant sylables.
I knew suddenly, I was no longer myself, I didn't know who or what I was. The feeling was very bizzare.  Or a page, on a giant book big as the bed I was sitting on, bent back like a tent, and I was the page that kept turning and turning. I kept holding my arms and fingertips straight and placed them at angles agacent to each other. I began to realize what was happening, and I told my friend it was definetely working and to start recording with his cell as I laughed insanely. I was trying not to 'fold' for some reason. I'm not sure how long it lasted exactly, maybe a couple minutes, it wasn't too long, as I was coming down from it I began trying to explain what happened with hand gestures and stuttered excited rantings. I noticed no real visuals, other than the etheral perception that I was that strange creature /object.
Yeh, I would definetely try this again. The setting is important. Outside noises prove very annoying, even my friend making comments and jokes wasn't helping. I hope I see some visuals next time of some sort. But that first experience wasn't half bad, better than anything else I've tried. It will be a sad day if this good stuff becomes illegal.
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.


Emotional Intelligence
What is Emotional Intelligence?
Emotional intelligence (EI) is the ability to understand and manage your own emotions, and those of the people around you, both individually and in groups.
How is it different to IQ?
IQ (Intelligence Quotient) was designed to measure intellectual intelligence. It gives a score from a series of tests.
Emotional intelligence can only be measured by how an individual progresses through life - developing meaningful relationships with others, their interpersonal skills and understanding, their ability to manage their own emotions, and their personal skills.
There is no correlation between IQ and EI scores.
Why is it important?
People with high EQ usually make great leaders and team players because of their ability to understand, empathize, and connect with the people around them. They can monitor and control their own behavior, emotions, or thoughts, and altering them depending on the situation. Also, people with high EQ are usually motivated, they can think and plan steps leading to success.


姚培森
- 联系方式:
- rainoftime - at - gmail - dot- com
- pyao - at - cse - dot- ust - dot - hk
- [OOPSLA 2022] Complexity-Guided Container Replacement Synthesis. Chengpeng Wang, Peisen Yao*, Wensheng Tang, Qingkai Shi, and Charles Zhang. The 37th ACM SIGPLAN Conference on Objected Oriented Programming, Systems, Languages, and Applications (CCF A, top-tier conference in programming language) [pdf]
- [ICSE 2022] Precise Divide-By-Zero Detection with Affirmative Evidence. Yiyuan Guo, Jinguo Zhou, Peisen Yao*, Qingkai Shi, and Charles Zhang. The 2022 IEEE/ACM International Conference on Software Engineering (CCF A, top-tier conference in software engineering) [study data and bug reports] [pdf]
- [S&P 2022] BEACON: Directed Grey-Box Fuzzing with Provable Path Pruning. Heqing Huang, Yiyuan Guo, Qingkai Shi, Peisen Yao, Rongxin Wu, and Charles Zhang. The 43rd IEEE Symposium on Security and Privacy (CCF A, top-tier conference in security) [pdf]
- [OOPSLA 2021] Program Analysis via Efficient Symbolic Abstraction. Peisen Yao, Qingkai Shi, Heqing Huang, and Charles Zhang. The 36th ACM SIGPLAN Conference on Objected Oriented Programming, Systems, Languages, and Applications (CCF A, top-tier conference in programming language) [pdf]
- [ASE 2021] Transcode: Detecting Status Code Mapping Errors in Large-Scale Systems. Wensheng Tang, Yikun Hu*, Gang Fan, Peisen Yao*, Rongxin Wu, Guangyuan Bai, Pengcheng Wang, and Charles Zhang. The 2021 IEEE/ACM Automated Software Engineering Conference (CCF A, top-tier conference in software engineering)
[pdf]
- [ESEC/FSE 2021] Skeletal Approximation Enumeration for SMT Solver Testing. Peisen Yao, Heqing Huang, Wensheng Tang, Qingkai Shi, Rongxin Wu, and Charles Zhang. The ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (CCF A, top-tier conference in software engineering)
[pdf]
- [ISSTA 2021] Fuzzing SMT Solvers via Two-Dimensional Input Space Exploration. Peisen Yao, Heqing Huang, Wensheng Tang, Qingkai Shi, Rongxin Wu, and Charles Zhang. The 30th ACM SIGSOFT International Symposium on Software Testing and Analysis (CCF A, top-tier conference in software engineering)
[pdf]
- [PLDI 2021a] Path-Sensitive Sparse Analysis without Path Conditions. Qingkai Shi, Peisen Yao*, Rongxin Wu, and Charles Zhang. The 42nd ACM SIGPLAN Conference on Programming Language Design and Implementation (CCF A, top-tier conference in programming language)
[pdf]
- [PLDI 2021b] Canary: Practical Static Detection of Inter-Thread Value-Flow Bugs. Yuandao Cai, Peisen Yao*, and Charles Zhang. The 42nd ACM SIGPLAN Conference on Programming Language Design and Implementation (CCF A, top-tier conference in programming language)
[pdf]
- [ISSTA 2020] Fast Bit-Vector Satisfiability. Peisen Yao, Qingkai Shi, Heqing Huang, and Charles Zhang. The 29th ACM SIGSOFT International Symposium on Software Testing and Analysis (CCF A, top-tier conference in software engineering)
[pdf]
- [S&P 2020] Pangolin: Incremental Hybrid Fuzzing with Polyhedral Path Abstraction. Heqing Huang, Peisen Yao, Rongxin Wu, Qingkai Shi, and Charles Zhang. The 41st IEEE Symposium on Security and Privacy (CCF A, top-tier conference in security) [pdf]
- 静态软件缺陷分析
Pinpoint/Fusion 是面向大规模软件的深度静态漏洞扫描平台 (PLDI'21a, PLDI'21b, ASE'21, ICSE'22, OOPSLA'22)， 已检测到开源软件(如Apache, MySQL, Firefox)300+真实安全相关的漏洞和CVE，包括缓冲区溢出、空指针解引用、除零、死锁、数据竞争等各种类型的漏洞。
- 动态程序分析
模糊测试是一种自动化动态分析方法. 我们致力于用静态分析优化通用模糊测试引擎 (S&P'20, S&P'22) (部分漏洞报告在 这里), 以及为领域专用软件设计、实现模糊测试引擎。特别地， SMTFuzz 分析框架(FSE'21, ISSTA'21) 已经找到多个开源定理证明器累计 1000+个软件缺陷，如Z3, CVC5, Yices2, STP, Boolector, OpenSMT, MathSAT5, SMT-RAT, SPASS, 和Vampire.
- 自动程序验证
建设中...
- International Symposium on Automated Technology for Verification and Analysis (ATVA'22)
- USENIX Annual Technical Conference (ATC'22, artifact evaluation)
- USENIX Symposium on Operating Systems Design and Implementation (OSDI'22, artifact evaluation)
- International Symposium on Software Reliability Engineering (ISSRE'21, industrial track)
- The ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE'19)
- ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA'19)
- IEEE/ACM International Conference on Automated Software Engineering (ASE'18)
- International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI'17)


DxOMark reviews the Sony Xperia 5 selfie camera
by RoDxOMark started doing selfie camera reviews a couple of months ago and it has already subjected quite a few smartphones to it. The newest addition is the Sony Xperia 5 but it got an underwhelming score for a flagship.
The overall score in the selfie department is 79 with a couple of noteworthy pros - wide depth-of-field focus, accurate exposure across all scenarios and good dynamic range outdoors. However, there's an issue with white balance, noise, dynamic range is rather narrow indoors. DxO also noted color fringing and less than ideal bokeh shots.