All Packages
| Package | Description |
|---|---|
| org.drip.analytics.cashflow |
Unit/Composite Cash Flow Periods.
|
| org.drip.analytics.date |
Date/Time Creation/Manipulation/Usage
|
| org.drip.analytics.daycount |
Day Count Year Fraction Utilities
|
| org.drip.analytics.definition |
Latent State Curves, Surfaces, Turns
|
| org.drip.analytics.eventday |
Fixed/Variable Custom Holiday Creation
|
| org.drip.analytics.holset |
Built in Locale Holiday Set
|
| org.drip.analytics.input |
Curve Surface Construction Customization Inputs
|
| org.drip.analytics.output |
Period Product Targeted Valuation Measures
|
| org.drip.analytics.support |
Assorted Support and Helper Utilities
|
| org.drip.capital.allocation |
Economic Risk Capital Entity Allocation
|
| org.drip.capital.bcbs |
BCBS and Jurisdictional Capital Ratios
|
| org.drip.capital.definition |
Economic Risk Capital Categorical Definitions
|
| org.drip.capital.entity |
Economic Risk Capital Estimation Nodes
|
| org.drip.capital.env |
Economic Risk Capital Parameter Factories
|
| org.drip.capital.explain |
Economic Risk Capital Attribution Explain
|
| org.drip.capital.feed |
Risk Capital Estimation - Feed Processors
|
| org.drip.capital.label |
Economic Risk Capital Entity Labels
|
| org.drip.capital.setting |
Economic Risk Capital Simulation Settings
|
| org.drip.capital.shell |
Economic Risk Capital Parameter Contexts
|
| org.drip.capital.simulation |
Economic Risk Capital Simulation Ensemble
|
| org.drip.capital.stress |
Economic Risk Capital Stress Event Settings
|
| org.drip.capital.systemicscenario |
Systemic Stress Scenario Design/Construction
|
| org.drip.dynamics.evolution |
Latent State Evolution Edges/Vertexes
|
| org.drip.dynamics.hjm |
HJM Based Latent State Evolution
|
| org.drip.dynamics.hullwhite |
Hull White Latent State Evolution
|
| org.drip.dynamics.ito |
Ito Stochastic Process Dynamics Foundation
|
| org.drip.dynamics.kolmogorov |
Fokker Planck Kolmogorov Forward/Backward
|
| org.drip.dynamics.lmm |
LMM Based Latent State Evolution
|
| org.drip.dynamics.meanreverting |
Mean Reverting Stochastic Process Dynamics
|
| org.drip.dynamics.physical |
Implementation of Physical Process Dynamics
|
| org.drip.dynamics.process |
Ito-Dynamics Based Stochastic Process
|
| org.drip.dynamics.sabr |
SABR Based Latent State Evolution
|
| org.drip.execution.adaptive |
Coordinated Variation Based Adaptive Execution
|
| org.drip.execution.athl |
Almgren-Thum-Hauptmann-Li Calibration
|
| org.drip.execution.bayesian |
Bayesian Price Based Optimal Execution
|
| org.drip.execution.capture |
Execution Trajectory Transaction Cost Capture
|
| org.drip.execution.cost |
Linear Temporary Market Impact Cost
|
| org.drip.execution.discrete |
Trajectory Slice Execution Cost Distribution
|
| org.drip.execution.dynamics |
Arithmetic Price Evolution Execution Parameters
|
| org.drip.execution.evolution |
Execution Cost Market Impact Decomposition
|
| org.drip.execution.hjb |
Optimal Hamilton-Jacobi-Bellman Execution
|
| org.drip.execution.impact |
Market Impact Transaction Function Implementation
|
| org.drip.execution.latent |
Correlated Latent Market State Sequence
|
| org.drip.execution.nonadaptive |
Almgren-Chriss Static Optimal Trajectory
|
| org.drip.execution.optimum |
Almgren-Chriss Efficient Trading Trajectories
|
| org.drip.execution.parameters |
Empirical Market Impact Coefficients Calibration
|
| org.drip.execution.principal |
Information Ratio Based Principal Trades
|
| org.drip.execution.profiletime |
Participation Rate Profile Time Models
|
| org.drip.execution.risk |
Optimal Execution MVO Efficient Frontier
|
| org.drip.execution.sensitivity |
Trajectory Control Nodes Sensitivity Greeks
|
| org.drip.execution.strategy |
Discrete/Continuous Trading Trajectory Schedule
|
| org.drip.execution.tradingtime |
Coordinated Variation Trading Time Models
|
| org.drip.exposure.csadynamics |
CSA Numeraire Basis/Measure Dynamics
|
| org.drip.exposure.csatimeline |
Time-line of IMA/CSA Event Dates
|
| org.drip.exposure.evolver |
Securities and Exposure States Evolvers
|
| org.drip.exposure.generator |
Rates Stream Margin Period Exposure
|
| org.drip.exposure.holdings |
Holdings Exposure - Position and Dependencies
|
| org.drip.exposure.mpor |
Margin Period Collateral Amount Estimation
|
| org.drip.exposure.regression |
Regression Based Path Exposure Generation
|
| org.drip.exposure.regressiontrade |
Exposure Regression under Margin and Trade Payments
|
| org.drip.exposure.universe |
Exposure Generation - Market States Simulation
|
| org.drip.feed.loader |
Reference/Market Data Feed Loader
|
| org.drip.feed.metric |
Feed Horizon - PnL Explain/Attribution
|
| org.drip.feed.transformer |
Market Data Reconstitutive Feed Transformer
|
| org.drip.function.definition |
Function Implementation Ancillary Support Objects
|
| org.drip.function.e2erf |
E2 erf and erf-1 Implementations
|
| org.drip.function.e2erfc |
E2 erfc Estimation Function Implementation
|
| org.drip.function.enerf |
En erf Series and Generators
|
| org.drip.function.matrix |
Support for Functions of Matrices
|
| org.drip.function.r1tor1 |
Built-in R1 To R1 Functions
|
| org.drip.function.r1tor1solver |
Built-in R1 To R1 Solvers
|
| org.drip.function.rdtor1 |
Built-in Rd To R1 Functions
|
| org.drip.function.rdtor1descent |
Rd To R1 Gradient Descent Techniques
|
| org.drip.function.rdtor1solver |
Built-in R^d To R^1 Solvers
|
| org.drip.graph.astar |
A* Heuristic Shortest Path Family
|
| org.drip.graph.asymptote |
Big O Algorithm Asymptotic Analysis
|
| org.drip.graph.bellmanford |
Bellman Ford Shortest Path Family
|
| org.drip.graph.concurrency |
Helper Classes For Concurrent Tasks
|
| org.drip.graph.connectivity |
Graph Connectivity and Connected Components
|
| org.drip.graph.core |
Vertexes, Edges, Trees, and Graphs
|
| org.drip.graph.decisiontree |
Property Estimates for Decision Trees
|
| org.drip.graph.heap |
Heap Based Priority Queue Implementations
|
| org.drip.graph.mst |
Agnostic Minimum Spanning Tree Properties
|
| org.drip.graph.mstgreedy |
Greedy Algorithms for MSTs and Forests
|
| org.drip.graph.search |
BFS, DFS, and Ordered Vertexes
|
| org.drip.graph.selection |
kth Order Statistics Selection Scheme
|
| org.drip.graph.shortestpath |
Shortest Path Generation Algorithm Family
|
| org.drip.graph.softheap |
Soft Heap - Approximate Priority Queue
|
| org.drip.graph.subarray |
Sub-set Sum, k-Sum, and Maximum Sub-array Problems
|
| org.drip.graph.treebuilder |
Stubs for Spanning Tree Construction
|
| org.drip.historical.attribution |
Position Market Change Components Attribution
|
| org.drip.historical.engine |
Product Horizon Change Explain Engine
|
| org.drip.historical.sensitivity |
Product Horizon Change Tenor Sensitivity
|
| org.drip.historical.state |
Historical Implied Curve Node Metrics
|
| org.drip.learning.bound |
Covering Numbers, Concentration, Lipschitz Bounds
|
| org.drip.learning.kernel |
Statistical Learning Banach Mercer Kernels
|
| org.drip.learning.regularization |
Statistical Learning Empirical Loss Regularizer
|
| org.drip.learning.rxtor1 |
Statistical Learning Empirical Loss Penalizer
|
| org.drip.learning.svm |
Kernel SVM Decision Function Operator
|
| org.drip.loan.borrower |
Asset Backed Loan Borrower Characteristics
|
| org.drip.loan.characteristics |
Asset Backed Loan Level Characteristics
|
| org.drip.market.definition |
IBOR, FX, Overnight Index Container
|
| org.drip.market.exchange |
Deliverable Swap, STIR, Treasury Futures
|
| org.drip.market.issue |
Market Issue Treasury Setting Container
|
| org.drip.market.otc |
OTC Dual Stream Option Container
|
| org.drip.measure.bayesian |
Prior, Conditional, Posterior Theil Bayesian
|
| org.drip.measure.bridge |
Broken Date Brownian Bridge Interpolator
|
| org.drip.measure.chisquare |
Chi-Square Distribution Implementation/Properties
|
| org.drip.measure.continuous |
R1 Rd Continuous Random Measure
|
| org.drip.measure.crng |
Continuous Random Number Stream Generator
|
| org.drip.measure.discrete |
Antithetic, Quadratically Re-sampled, De-biased Distribution
|
| org.drip.measure.dynamics |
Jump Diffusion Evolution Evaluator Variants
|
| org.drip.measure.gamma |
R1 Gamma Distribution Implementation/Properties
|
| org.drip.measure.gaussian |
R1 Rd Covariant Gaussian Quadrature
|
| org.drip.measure.joint |
Rd Vertex Edge Realization Evolution
|
| org.drip.measure.lebesgue |
Uniform Piece-wise Lebesgue Measure
|
| org.drip.measure.process |
Jump Diffusion Evolver Process Variants
|
| org.drip.measure.realization |
Stochastic Jump Diffusion Vertex Edge
|
| org.drip.measure.statistics |
R1 Rd Thin Thick Moments
|
| org.drip.measure.stochastic |
R1 R1 To R1 Process
|
| org.drip.numerical.common |
Primitives/Array Manipulate Format Display
|
| org.drip.numerical.differentiation |
R1 Rd Numerical Differentiation Schemes
|
| org.drip.numerical.eigen |
QR PICE Eigen Component Extractor
|
| org.drip.numerical.estimation |
Function Numerical Estimates/Corrections/Bounds
|
| org.drip.numerical.fourier |
Fourier - Rotation Counter, Phase Adjuster
|
| org.drip.numerical.integration |
R1 Rd Numerical Integration Schemes
|
| org.drip.numerical.laplacian |
Laplace Transform - Quadrature Based Evaluation
|
| org.drip.numerical.linearalgebra |
Linear Algebra Matrix Transform Library
|
| org.drip.numerical.quadrature |
R1 Gaussian Integration Quadrature Schemes
|
| org.drip.oms.fill | |
| org.drip.oms.specification | |
| org.drip.optimization.canonical |
Linear Programming Framework Canonical Elements
|
| org.drip.optimization.constrained |
KKT Fritz-John Constrained Optimizer
|
| org.drip.optimization.cuttingplane |
Polyhedral Cutting Plane Generation Schemes
|
| org.drip.optimization.lp |
LP Objectives, Constraints, and Optimizers
|
| org.drip.optimization.necessary |
Constrained Optimizer Necessary Sufficient Conditions
|
| org.drip.optimization.regularity |
Constrained Optimizer Regularity Qualifier Conditions
|
| org.drip.param.config |
Library Level Configuration Parameters Setting
|
| org.drip.param.creator |
Market Curves Surfaces Quotes Builder
|
| org.drip.param.definition |
Latent State Quantification Metrics Tweak
|
| org.drip.param.market |
Curves Surfaces Quotes Fixings Container
|
| org.drip.param.period |
Composite Composable Period Builder Settings
|
| org.drip.param.pricer |
Pricing Parameters Customization Settings Control
|
| org.drip.param.quote |
Multi-sided Multi-Measure Ticks Quotes
|
| org.drip.param.quoting |
Quoting Convention Valuation Customization Parameters
|
| org.drip.param.valuation |
Valuation Settlement and Valuation Customization Parameters
|
| org.drip.portfolioconstruction.allocator |
MVO Based Portfolio Allocation Construction
|
| org.drip.portfolioconstruction.alm |
Sharpe-Tint Asset Liability Manager
|
| org.drip.portfolioconstruction.asset |
Asset Characteristics, Bounds, Portfolio Benchmarks
|
| org.drip.portfolioconstruction.bayesian |
Black Litterman Bayesian Portfolio Construction
|
| org.drip.portfolioconstruction.cardinality |
Portfolio Construction under Cardinality Bounds
|
| org.drip.portfolioconstruction.composite |
Portfolio Construction Component Groups Suite
|
| org.drip.portfolioconstruction.constraint |
Portfolio Construction Constraint Term Suite
|
| org.drip.portfolioconstruction.core |
Core Portfolio Construction Component Suite
|
| org.drip.portfolioconstruction.cost |
Transaction Charge Objective Term Suite
|
| org.drip.portfolioconstruction.mpt |
Security Characteristic Capital Allocation Lines
|
| org.drip.portfolioconstruction.objective |
Portfolio Construction Objective Term Suite
|
| org.drip.portfolioconstruction.optimizer |
Core Portfolio Construction Optimizer Suite
|
| org.drip.portfolioconstruction.params |
Asset Universe Statistical Properties Container
|
| org.drip.portfolioconstruction.risk |
Portfolio Construction Risk/Covariance Component
|
| org.drip.pricer.option |
Deterministic/Stochastic Volatility Settings/Greeks
|
| org.drip.product.calib |
Curve/Surface Calibration Quote Sets
|
| org.drip.product.creator |
Streams and Products Construction Utilities
|
| org.drip.product.credit |
Credit Products - Components and Baskets
|
| org.drip.product.definition |
Fixed Income Components/Baskets Definitions
|
| org.drip.product.fra |
Standard/Market FRAs - Caps/Floors
|
| org.drip.product.fx |
FX Forwards, Cross Currency Swaps
|
| org.drip.product.govvie |
Treasury Bills, Notes, Bonds, Futures
|
| org.drip.product.option |
Options on Fixed Income Components
|
| org.drip.product.params |
Fixed Income Product Customization Parameters
|
| org.drip.product.rates |
Fixed Income Multi-Stream Components
|
| org.drip.regression.core |
Regression Engine Core - Unit Regressors
|
| org.drip.regression.curve |
Curve Construction/Reconciliation Regression Engine
|
| org.drip.regression.curvejacobian |
Curve Jacobian Reconciliation Regression Engine
|
| org.drip.regression.fixedpointfinder |
Fixed Point Finder Regression Engine
|
| org.drip.regression.spline |
Custom Basis Spline Regression Engine
|
| org.drip.sample.agency |
Agency Bond Analytical Measures Generation
|
| org.drip.sample.algo |
Cx Rx In-Place Manipulation
|
| org.drip.sample.allocation |
Managed Segment Capital Allocation Schemes
|
| org.drip.sample.almgren2003 |
Almgren (2003) Power Law Liquidity
|
| org.drip.sample.almgren2009 |
Almgren (2009) Optimal Adaptive HJB
|
| org.drip.sample.almgren2012 |
Almgren (2012) Dynamic Optimal Adaptive
|
| org.drip.sample.almgrenchriss |
Almgren Chriss Efficient Frontier Trajectories
|
| org.drip.sample.andersen2017vm |
Andersen Pykhtin Sokol Regression VM
|
| org.drip.sample.anfuso2017 |
Anfuso, Karyampas, and Nawroth (2017)
|
| org.drip.sample.assetallocation |
MVO Based Constrained Optimal Allocator
|
| org.drip.sample.assetallocationexcel |
Asset-Bound Allocator Excel Reconciliation
|
| org.drip.sample.assetbacked |
ABS Custom Cash Flow Bonds
|
| org.drip.sample.athl |
Almgren-Thum-Hauptmann-Li Estimator
|
| org.drip.sample.bcbs |
BCBS/Jurisdictional Capital/Leverage Compliance Checks
|
| org.drip.sample.bessel |
Estimates of the Bessel Functions
|
| org.drip.sample.beta |
Estimates of the Beta Functions
|
| org.drip.sample.betafixedfloat |
Two Beta Float Float Scheme
|
| org.drip.sample.betafloatfloat |
Two Beta Float Float Scheme
|
| org.drip.sample.blacklitterman |
Canonical Black Litterman and Extensions
|
| org.drip.sample.bloomberg |
Bloomberg CDSO CDSW SWPM YAS
|
| org.drip.sample.bond |
Bullet, EOS Bond Metrics + Curve
|
| org.drip.sample.bondapi |
Fixed Coupon KRD + RV Measures
|
| org.drip.sample.bondeos |
EOS Bond Bullet/Exercise Measures
|
| org.drip.sample.bondfixed |
Fixed Coupon Agency/Corporate Bonds
|
| org.drip.sample.bondfloat |
Floating Coupon Bullet Corporate Bond
|
| org.drip.sample.bondmetrics |
Bond Relative Value Replication Demonstration
|
| org.drip.sample.bondsink |
Sinkable Amortizing Capitalizing Bond Analytics
|
| org.drip.sample.bondswap |
Swap-Index Bond Analytics Metrics
|
| org.drip.sample.burgard2011 |
Burgard Kjaer (2011) PDE Evolver
|
| org.drip.sample.burgard2012 |
Burgard Kjaer (2012) Valuation Adjustments
|
| org.drip.sample.burgard2013 |
Burgard Kjaer (2013) Valuation Adjustments
|
| org.drip.sample.businessspec |
Business Grouping and Hierarchy Specification
|
| org.drip.sample.capfloor |
FRA Standard Cap Floor Valuation
|
| org.drip.sample.cashflow |
Fixed Income Product Cash Flow Display
|
| org.drip.sample.chisquaredistribution |
Chi-Square Distribution Usage/Properties
|
| org.drip.sample.ckls |
Analysis of CKLS Process Variants
|
| org.drip.sample.classifier |
Binary Classifier Supremum Bounds Estimator
|
| org.drip.sample.cma |
LATAM Corporate and Sovereign Bonds
|
| org.drip.sample.cms |
Dual Stream Constant Maturity Swap
|
| org.drip.sample.concurrency |
Concurrent Daemons Helper Utilities Illustration
|
| org.drip.sample.connectivity |
Graph Connectivity and SCC Algorithms
|
| org.drip.sample.corporate |
Corporate Bond Relative Value Analytics
|
| org.drip.sample.correlatedstress |
Correlated Stress Scenario Construction, Query, Generation
|
| org.drip.sample.coveringnumber |
Agnostic Function Covering Number Bounds
|
| org.drip.sample.credit |
Single Name Portfolio CDS Analytics
|
| org.drip.sample.creditfeed |
CDX NA IG Series Reconstitutor
|
| org.drip.sample.credithistorical |
CDX NA IG Historical Metrics
|
| org.drip.sample.creditindexpnl |
CDX NA IG PnL Attribution
|
| org.drip.sample.creditoption |
CDS Single Name Index Option
|
| org.drip.sample.cross |
Single/Dual Stream XCCY Component
|
| org.drip.sample.csaevents |
Time-line of IMA/CSA Event Sequences
|
| org.drip.sample.date |
Calendar Date Roll Day Count
|
| org.drip.sample.descentverifier |
Armijo/Wolfe Strong/Weak Curvature
|
| org.drip.sample.digamma |
Estimates of the Digamma Functions
|
| org.drip.sample.distancetest |
Empirical Univariate Gap Distance Tests
|
| org.drip.sample.dual |
G7 Standard Cross Currency Swap
|
| org.drip.sample.efficientfrontier |
Efficient Frontier Markovitz Bullet Variants
|
| org.drip.sample.efronstein |
Efron Stein Sequence Sum Bounds
|
| org.drip.sample.env |
Environment Module Loader Cache Manager
|
| org.drip.sample.erf |
E2 and En erf Estimation
|
| org.drip.sample.erfx |
E2 erfc and erfi Estimation
|
| org.drip.sample.execution |
Nonlinear Trading Enhanced Market Impact
|
| org.drip.sample.fedfund |
Overnight/Composite Fed Fund LIBOR
|
| org.drip.sample.feed |
Loaders for Different Input Files
|
| org.drip.sample.fixfloat |
Coupon, Floater, Amortizing IRS Variants
|
| org.drip.sample.fixfloatoption |
Fix Float Payer Receiver Options
|
| org.drip.sample.fixfloatpnl |
Fix Float PnL Attribution Decomposition
|
| org.drip.sample.floatfloat |
Float Float OTC Index Definitions
|
| org.drip.sample.forward |
IBOR Spline Forward Curve Construction
|
| org.drip.sample.forwardratefutures |
Jurisdiction IRS Futures Options Definition
|
| org.drip.sample.forwardratefuturesfeed |
Forward Rate Futures Feed Reconstitutor
|
| org.drip.sample.forwardratefuturespnl |
Forward Rate Futures PnL Attribution
|
| org.drip.sample.forwardvolatility |
Custom Spline Forward Volatility Surface
|
| org.drip.sample.fra |
Multi-Curve FRA Market/Standard
|
| org.drip.sample.funding |
Shape Preserving Local Funding Curve
|
| org.drip.sample.fundingfeed |
Smooth Shape Preserving Funding Feed
|
| org.drip.sample.fundinghistorical |
Smooth Shape Preserving Funding Historical
|
| org.drip.sample.fx |
Smooth Shape Preserving FX Curve
|
| org.drip.sample.gamma |
Estimates of the Gamma Functions
|
| org.drip.sample.gammadistribution |
R1 Gamma Distribution Usage/Properties
|
| org.drip.sample.gammaincomplete |
Estimates of Incomplete Gamma Functions
|
| org.drip.sample.gausskronrod |
R1 Gauss-Kronrod Quadrature Schemes
|
| org.drip.sample.gaussquadrature |
R1 Gauss-Legendre Gauss-Lobatto Quadratures
|
| org.drip.sample.govvie |
Boot/Spline Govvie Curve Construction
|
| org.drip.sample.govviemc |
Monte Carlo Govvie Path Vertexes
|
| org.drip.sample.graph |
Graph Traversal and Navigation Algorithms
|
| org.drip.sample.graphsearch |
Breadth/Depth First Search/Ordering
|
| org.drip.sample.heap |
Priority Queue and Heap Algorithms
|
| org.drip.sample.helitterman |
He Litterman (1999) Projection Loadings
|
| org.drip.sample.hjm |
HJM Multi-Factor Principal Dynamics
|
| org.drip.sample.hullwhite |
Hull White Trinomial Tree Dynamics
|
| org.drip.sample.hypergeometric |
Estimates of Hyper-geometric Function
|
| org.drip.sample.hypothesistest |
Sample/Ensemble Statistical Hypothesis Tests
|
| org.drip.sample.idzorek |
Idzorek (2005) User Confidence Tilt
|
| org.drip.sample.intexfeed |
Custom Curve Forward Projection Metrics
|
| org.drip.sample.json |
RFC4627 Compliant JSON Lexer Serializer
|
| org.drip.sample.kolmogorov |
Kolmogorov and Fokker Planck Evolution
|
| org.drip.sample.lanczos |
Lanczos Gamma Calculation Scheme Illustration
|
| org.drip.sample.lmm |
LMM Multi-Factor Monte Carlo
|
| org.drip.sample.loan |
Loan Relative Value Metrics Generation
|
| org.drip.sample.lvar |
Liquidity VaR Based Optimal Trajectory
|
| org.drip.sample.matrix |
Cholesky Factorization, PCA, and Eigenization
|
| org.drip.sample.measure |
Lebesgue Measure Brownian Bridge Interpolation
|
| org.drip.sample.mporfixfloat |
CSA Enforced Fix-Float MPoR
|
| org.drip.sample.mporfixfloatxva |
OTC Fix-Float MPoR XVA
|
| org.drip.sample.mporstream |
CSA Enforced Stream Path MPoR
|
| org.drip.sample.mst |
Minimum Spanning Tree and Forest Algorithms
|
| org.drip.sample.multicurve |
Multi-Curve Construction and Valuation
|
| org.drip.sample.municipal |
Municipal Bond Analytics Sample Demonstration
|
| org.drip.sample.netting |
Netting Portfolio Group Simulation Aggregation
|
| org.drip.sample.newtoncotes |
R1 Newton-Cotes Quadrature Schemes
|
| org.drip.sample.numeraire |
R1 Joint Jump Diffusion Numeraire
|
| org.drip.sample.numerical |
Search, Quadratures, Fourier Phase Tracker
|
| org.drip.sample.ois |
Index/Fund OIS Curve Reconcilation
|
| org.drip.sample.oisapi |
OIS Construction and Valuation API
|
| org.drip.sample.optimizer |
Lagrangian/KKT Necessary Sufficient Conditions
|
| org.drip.sample.option |
Deterministic (Black) / Stochastic (Heston) Options
|
| org.drip.sample.overnight |
Shape Preserving Stretch Overnight Curve
|
| org.drip.sample.overnightfeed |
G7 Smooth OIS Feed Reconstitutor
|
| org.drip.sample.overnighthistorical |
G7 Smooth OIS 1M Forward
|
| org.drip.sample.piterbarg2010 |
Piterbarg (2010) CSA Measure Extraction
|
| org.drip.sample.piterbarg2012 |
Piterbarg (2012) Domestic Foreign Collateral
|
| org.drip.sample.preferred |
Preferred Stock Analytics Sample Demonstration
|
| org.drip.sample.principal |
Information Ratio Based Principal Trading
|
| org.drip.sample.pykhtin2009 |
Regression Based Secondary Stochastic Projection
|
| org.drip.sample.quantile |
Quantile Generation and Comparison Testing
|
| org.drip.sample.randomdiscrete |
Discrete Distribution Random Number Generator
|
| org.drip.sample.rdtor1 |
Constrained/Unconstrained Covariance Ellipsoid Function
|
| org.drip.sample.rng |
QR Unbiased Antithetic Random Generator
|
| org.drip.sample.sabr |
SABR Forward Evolution Black Volatility
|
| org.drip.sample.samplestatistics |
Empirical Univariate Sample Statistical Tests
|
| org.drip.sample.scaledexponential |
Scaled Exponential Function - Estimates/Moments
|
| org.drip.sample.securitysuite |
Custom Security Relative Value Demonstration
|
| org.drip.sample.selection |
kth Extremum Element Selection Algorithms
|
| org.drip.sample.semidefinite |
Semi-Definite Constrained Ellipsoid Variance
|
| org.drip.sample.sensitivity |
Forward Funding OIS Curve Sensitivity
|
| org.drip.sample.sequence |
IID Dual Poisson Sequence Bound
|
| org.drip.sample.service |
Curve Product Portfolio Valuation Services
|
| org.drip.sample.shortestpath |
Source Destination Shortest Path Algorithms
|
| org.drip.sample.simm |
ISDA Product SIMM Margin Estimation
|
| org.drip.sample.simmcrnq |
ISDA SIMM Credit Non-Qualifying Estimates
|
| org.drip.sample.simmcrq |
ISDA SIMM Credit Qualifying Estimates
|
| org.drip.sample.simmct |
ISDA SIMM Commodity Estimate Runs
|
| org.drip.sample.simmcurvature |
Position Curvature Margin - ISDA Curvature Response vs.
|
| org.drip.sample.simmeq |
ISDA SIMM Equity Estimate Runs
|
| org.drip.sample.simmfx |
ISDA SIMM FX Estimate Runs
|
| org.drip.sample.simmir |
ISDA SIMM Rates Estimate Runs
|
| org.drip.sample.simmsettings |
ISDA SIMM Calibration Parameter Settings
|
| org.drip.sample.simmvariance |
Position Bucket Co-variance - ISDA SIMM vs.
|
| org.drip.sample.simplex |
LP Simplex Formulation and Solution
|
| org.drip.sample.softheap |
Soft Heap Based Priority Queues
|
| org.drip.sample.sovereign |
Sovereign Bond Construction and Analytics
|
| org.drip.sample.spline |
Basis Monic Multic Tension Spline
|
| org.drip.sample.statistics |
Correlated Rd Random Sequence Statistics
|
| org.drip.sample.stirling |
Stirling Approximation Based Gamma Estimates
|
| org.drip.sample.stochasticvolatility |
Heston AMST Stochastic Volatility Pricing
|
| org.drip.sample.stretch |
Knot Insertion Curvature Roughness Penalty
|
| org.drip.sample.subarray |
Sub-set and Sub-array Sums/Matches
|
| org.drip.sample.systemicstress |
Built-in GSST Scenario Examination
|
| org.drip.sample.tadonkivial |
Tadonki-Vial Cardinality Bound Allocation
|
| org.drip.sample.treasury |
G20 Govvie Bond Definitions YAS
|
| org.drip.sample.treasuryfeed |
G20 Govvie Bond Feed Reconstitution
|
| org.drip.sample.treasuryfutures |
UST Futures Eligibility Definitions Valuation
|
| org.drip.sample.treasuryfuturesapi |
G20 Treasury Futures Valuation API
|
| org.drip.sample.treasuryfuturesfeed |
G20 Treasury Futures Feed Reconstitutor
|
| org.drip.sample.treasuryfuturespnl |
G20 Treasury Futures PnL Attribution
|
| org.drip.sample.treasuryfuturesrisk |
Treasury Futures Key Rate Duration
|
| org.drip.sample.treasurypnl |
G20 Benchmark Treasury PnL Attribution
|
| org.drip.sample.trend |
Fixed/Variable Bayesian Drift Gain
|
| org.drip.sample.xccy |
OTC Cross Currency Swaps Definition
|
| org.drip.sample.xva |
XVA Collateralized Uncollateralized Zero Threshold
|
| org.drip.sample.xvabasel |
Basel XVA Accounting Metrics Scheme
|
| org.drip.sample.xvadigest |
Basel XVA Accounting Metrics Digest
|
| org.drip.sample.xvafixfloat |
Cross Product XVA Simulation Digest
|
| org.drip.sample.xvastrategy |
Burgard Kjaer (2013) XVA Strategies
|
| org.drip.sample.xvatopology |
Aggregation Group Based XVA Topology
|
| org.drip.sequence.custom |
Glivenko Cantelli Supremum Deviation Bounds
|
| org.drip.sequence.functional |
Efron Stein Functional Supremum Bounds
|
| org.drip.sequence.metrics |
Sequence Bounds Agnostic Metrics Estimators
|
| org.drip.sequence.random |
Correlated Multi-Factor Sequence Generator
|
| org.drip.service.api |
Horizon Roll Attribution Service API
|
| org.drip.service.assetallocation |
JSON Based In/Out Service
|
| org.drip.service.common |
Assorted Data Structures Support Utilities
|
| org.drip.service.engine |
Compute Engine Request-Response Thunker
|
| org.drip.service.env |
Library Module Loader Environment Manager
|
| org.drip.service.json |
JSON Based Valuation Request Service
|
| org.drip.service.jsonparser |
RFC4627 Compliant JSON Message Parser
|
| org.drip.service.product |
Product Horizon PnL Attribution Decomposition
|
| org.drip.service.representation |
RFC4627 Compliant JSON Message Object
|
| org.drip.service.scenario |
Custom Scenario Service Metric Generator
|
| org.drip.service.state |
Curve Based State Metric Generator
|
| org.drip.service.template |
Curve Construction Product Builder Templates
|
| org.drip.simm.commodity |
Commodity Risk Factor Calibration Settings
|
| org.drip.simm.common |
Common Cross Risk Factor Utilities
|
| org.drip.simm.credit |
Credit Qualifying/Non-Qualifying Risk Factor Settings
|
| org.drip.simm.equity |
Equity Risk Factor Calibration Settings
|
| org.drip.simm.estimator |
ISDA SIMM Core + Add-On Estimator
|
| org.drip.simm.foundation |
Foundation Utilities for ISDA SIMM
|
| org.drip.simm.fx |
FX Risk Factor Calibration Settings
|
| org.drip.simm.margin |
ISDA SIMM Risk Factor Margin Metrics
|
| org.drip.simm.parameters |
ISDA SIMM Risk Factor Parameters
|
| org.drip.simm.product |
ISDA SIMM Risk Factor Sensitivities
|
| org.drip.simm.rates |
SIMM IR Risk Factor Settings
|
| org.drip.spaces.big |
Big-data In-place Manipulator
|
| org.drip.spaces.cover |
Vector Spaces Covering Number Estimator
|
| org.drip.spaces.functionclass |
Normed Finite Spaces Function Class
|
| org.drip.spaces.instance |
Validated Continuous/Combinatorial Metric Spaces
|
| org.drip.spaces.iterator |
Iterative/Exhaustive Vector Space Scanners
|
| org.drip.spaces.metric |
Hilbert/Banach Normed Metric Spaces
|
| org.drip.spaces.rxtor1 |
Rx To R1 Normed Function Spaces
|
| org.drip.spaces.rxtord |
Rx To Rd Normed Function Spaces
|
| org.drip.spaces.tensor |
Rx Continuous/Combinatorial Tensor Spaces
|
| org.drip.specialfunction.bessel |
Ordered Bessel Function Variant Estimators
|
| org.drip.specialfunction.beta |
Estimation Techniques for Beta Function
|
| org.drip.specialfunction.definition |
Definition of Special Function Estimators
|
| org.drip.specialfunction.derived |
Special Functions Derived using Others
|
| org.drip.specialfunction.digamma |
Estimation Techniques for Digamma Function
|
| org.drip.specialfunction.gamma |
Analytic/Series/Integral Gamma Estimators
|
| org.drip.specialfunction.generator |
Special Function Series Term Generators
|
| org.drip.specialfunction.group |
Special Function Singularity Solution Group
|
| org.drip.specialfunction.hankel |
Ordered Hankel Function Variant Estimators
|
| org.drip.specialfunction.hypergeometric |
Hyper-geometric Function Estimation Schemes
|
| org.drip.specialfunction.incompletegamma |
Upper/Lower Incomplete Gamma Functions
|
| org.drip.specialfunction.lanczos |
Lanczos Scheme for Gamma Estimate
|
| org.drip.specialfunction.loggamma |
Analytic/Series/Integral Log Gamma Estimators
|
| org.drip.specialfunction.ode |
Special Function Ordinary Differential Equations
|
| org.drip.specialfunction.property |
Special Function Property Lemma Verifiers
|
| org.drip.specialfunction.scaledexponential |
Scaled Exponential Function Implementation Distribution
|
| org.drip.spline.basis |
Basis Spline Construction/Customization Parameters
|
| org.drip.spline.bspline |
de Boor Rational/Exponential/Tension B-Splines
|
| org.drip.spline.grid |
Aggregated/Overlapping Stretch/Span Grids
|
| org.drip.spline.multidimensional |
Multi-dimensional Wire Surface Stretch
|
| org.drip.spline.params |
Spline Segment Construction Control Parameters
|
| org.drip.spline.pchip |
Monotone Convex Themed PCHIP Splines
|
| org.drip.spline.segment |
Flexure Penalizing Best Fit Segment
|
| org.drip.spline.stretch |
Multi-Segment Sequence Spline Stretch
|
| org.drip.spline.tension |
Koch Lyche Kvasov Tension Splines
|
| org.drip.state.basis |
Basis State Curve Construction/Estimation
|
| org.drip.state.boot |
Bootable Discount, Credit, Volatility States
|
| org.drip.state.creator |
Scenario State Curve/Surface Builders
|
| org.drip.state.credit |
Credit Latent State Curve Representation
|
| org.drip.state.csa |
Credit Support Annex Latent State
|
| org.drip.state.curve |
Basis Spline Based Latent States
|
| org.drip.state.discount |
Discount Curve Spline Latent State
|
| org.drip.state.estimator |
Multi-Pass Customized Stretch Curve
|
| org.drip.state.forward |
Forward Latent State Curve Estimator
|
| org.drip.state.fx |
FX Latent State Curve Estimator
|
| org.drip.state.govvie |
Govvie Latent State Curve Estimator
|
| org.drip.state.identifier |
Latent State Identifier Labels
|
| org.drip.state.inference |
Latent State Stretch Sequence Inference
|
| org.drip.state.nonlinear |
Nonlinear (i.e., Boot) Latent State Construction
|
| org.drip.state.repo |
Latent State Repo Curve Estimator
|
| org.drip.state.representation |
Latent State Merge Sub-stretch
|
| org.drip.state.sequence |
Monte Carlo Path State Realizations
|
| org.drip.state.volatility |
Latent State Volatility Curve/Surface
|
| org.drip.template.forwardratefutures |
Forward Rate Futures Construction Template
|
| org.drip.template.irs |
Standard IRS Fix-Float Template
|
| org.drip.template.state |
Standard Latent State Construction Template
|
| org.drip.template.statebump |
Shifted Latent State Construction Template
|
| org.drip.template.ust |
Standard UST Suite Construction Template
|
| org.drip.validation.distance |
Hypothesis Target Distance Test Builders
|
| org.drip.validation.evidence |
Sample and Ensemble Evidence Processing
|
| org.drip.validation.hypothesis |
Statistical Hypothesis Validation Test Suite
|
| org.drip.validation.quantile |
Quantile Based Graphical Numerical Validators
|
| org.drip.validation.riskfactorjoint |
Joint Risk Factor Aggregate Tests
|
| org.drip.validation.riskfactorsingle |
Single Risk Factor Aggregate Tests
|
| org.drip.xva.basel |
XVA Based Basel Accounting Measures
|
| org.drip.xva.definition |
XVA Definition - Close Out, Universe
|
| org.drip.xva.derivative |
Burgard Kjaer Dynamic Portfolio Replication
|
| org.drip.xva.dynamics |
XVA Dynamics - Settings and Evolution
|
| org.drip.xva.gross |
XVA Gross Adiabat Exposure Aggregation
|
| org.drip.xva.hypothecation |
XVA Hypothecation Group Amount Estimation
|
| org.drip.xva.netting |
Credit/Debt/Funding Netting Groups
|
| org.drip.xva.pde |
Burgard Kjaer PDE Evolution Scheme
|
| org.drip.xva.proto |
Collateral, Counter Party, Netting Groups
|
| org.drip.xva.settings |
XVA Group and Path Settings
|
| org.drip.xva.strategy |
Replication Strategy Based Netting Group
|
| org.drip.xva.topology |
Collateral, Credit/Debt, Funding Topologies
|
| org.drip.xva.vertex |
XVA Hypothecation Group Vertex Generators
|


Hi, I'm Pat the Salmon, and I'm passionate about my ARTISANALLY CRAFTED CANNIBALISTIC CONFECTIONARIES! After I whip up a few of my least favorite cousins, you'll be whipped up into a CANNABILISTIC FRENZY! Unless you're not a salmon! Then it's just a REGULAR FRENZY! FOR SALMON COOKIES!


"""
Contains the base classes for dealing with data directly.
The only data-dealing functions that
are accessible from other modules.
"""
import pandas as pd
import numpy as np
from sklearn.model_selection import ShuffleSplit, KFold
import operator
#import spikeutils as spku
[docs]class Batcher():
"""
Implements an iterable cross-validator that groups all repeated indexes in the same group.
Parameters
----------
X : numpy ndarray or pandas DataFrame
Data container to be sliced.
y : ndarray(n_examples, 1) or int, optional
If ndarray, label of each example.
If int, the axis that defines the label.
axis : int or str
If int, dimension to be sliced and served in batches,
requiring ndarray.
If string, field used to choose examples, requiring DataFrame.
n_examples = X.shape[axis]
group : np.ndarray (n_examples, 1) or string, optional, default None
Use it to make examples always part of the same fold. Defaults to The position in axis (no preferential grouping).
If string, X must be a DataFrame, and defines the grouping index
mode : string or sklearn generator, optional, default
Which kind of splitting will be used for batching.
Currently accepts 'shuffle' and 'kfold'.
flatten : bool
Whether to return an Sklearn-style matrix.
ylabels : tuple, optional
If y is given as an int, its position on the axis is used to access
the corresponding label in ylabels. defaults to the position itself
Keyword arguments
-----------------
Arguments to be passed to the splitting function.
Common kwargs are
train_size : (int) or (float), optional, default: 0.5
If int, total number of groups in the train set. If float, proportion of groups.
test_size : (int) or (float), optional, default: 0.5
If int, total number of groups in the test set. If float, proportion of groups.
"""
#TODO make better 'yields' description
def __init__(self, X, y=None, axis='Last', group=None, mode='sh',
flatten=False, ylabels=None, **kwargs):
## Data container
self.X = X
if type(X) is np.ndarray:
assert type(axis) is int
if group is not None:
assert type(group) is np.ndarray
assert len(group) == X.shape[axis]
elif type(X) is pd.DataFrame:
assert type(axis) is str
assert str in X.columns
if group is not None:
assert type
# Labels
self.y = y
if y is not None:
if type(y) is np.ndarray:
# TODO assertion
pass
# Axis string to number
self.axis = axis
# Grouping
if group is None:
self.group = np.arange(X.shape[self.axis])
else:
assert len(group) == X.shape[self.axis]
self.group = group
# Start batching
self.mode = mode
self._init_mode(**kwargs)
self._i = 0
def _init_mode(self, **kwargs):
"""
Initializes the splitting function.
"""
if callable(self.mode):
return NotImplementedError
assert type(self.mode) is str
indexes = np.unique(self.group)
if self.mode.lower() in ['sh', 'shuffle', 'shufflesplit', 'markov']:
splitter = ShuffleSplit(n_splits=self.cv, test_size=self.test_size,train_size=self.train_size, **kwargs)
elif self.mode.lower() in ['kfold', 'kf']:
splitter = KFold(n_splits=self.cv, **kwargs)
else:
raise ValueError("The mode {} is not supported. Try 'kf' or 'sh'".format(self.mode))
self._batcher_gen = splitter.split( np.unique( self.group))
def _current_batch(self):
"""
Returns
-------
_next_ train and test sets.
Warning
-------
This function iterates the splitting, but does not increase Batcher's iterator number. It should *not* be used by itself.
"""
train_groups, test_groups = self._batcher_gen.next()
train_indices = np.isin(self.group, train_groups)
test_indices = np.isin(self.group, test_groups)
def x_and_y_from_idx(self, idx):
if self.y is not None:
return self.X.take(idx,axis=self.axis), self.y[idx]
else:
return (self.X.take(idx,axis=self.axis))
return (*x_and_y_from_idx(train_indices), *x_and_y_from_idx(test_indices))
def __iter__(self):
return self
[docs] def next(self):
"""
Yields
------
(train_size, n_features), (test_size, n_features)
(train_size, n_features), (train_size,1), (test_size, n_features),(test_size,1)
Examples
-----
>>> for X_train, X_test in Batcher(X, train_size=3, test_size=.4):
>>> assert X_train.shape[0] == 3
>>> assert X_test.shape[0] == 0.4 * X.shape[0]
>>> for X_train, y_train, X_test, y_test in Batcher(X, y):
>>> assert X_train.shape[0] == y_train.shape[0]
"""
if self._i < self.cv:
self._i += 1
return _current_batch
else:
raise StopIteration()
[docs]def select(dataframe, maxlen=None, takefrom=None, **kwargs):
"""
Parameters
----------
dataframe : pandas DataFrame
The data that will be under selection
maxlen : int
Maximum number of rows of resulting dataframe.
Acts after all selection by kwargs.
Has no effect if dataframe is already smaller than maxlen by then.
takefrom : str
Only functional when maxlen is not None.
Specifies where to get the rows.
May be one of 'shuffle', 'init', 'end'
Keyword Arguments
-----------------
Key : string
The index of any field in the DataFrame
If type is numerical, may be preceded or succeded by max, min,
maxeq or mineq, inside underlines
it may also receive special key "maxshape", in which case
Value : string or numerical
The value used for selecting.
Examples
--------
>>> select(data, _min_duration=1000)
"""
localdata = dataframe.copy()
ops = { '_mineq_': operator.ge,
'_min_': operator.gt,
'_maxeq_': operator.le,
'_max_': operator.lt}
# Select by the wanted values
operation = None
for key in kwargs:
for op in ops:
if op in key:
operation = ops[op]
field = key.replace(op,'')
assert field in dataframe.columns
if operation is None:
operation = operator.eq
localdata = localdata[ operation(localdata[field],kwargs[key]) ]
# Return dataframe of expected size
size = localdata.shape[0]
if maxlen is None or size <= maxlen:
return localdata
else:
if takefrom is 'init':
return localdata[:maxlen]
elif takefrom is 'end':
return localdata[-maxlen:]
elif takefrom is 'shuffle':
return localdata.sample(maxlen)


{% extends "layout.html" %} {% load staticfiles %} {% block title %}Photography Gallery | Do Love : Do Art{% endblock %} {% block description %}Photo gallery of original works by Teresa Jugovich{% endblock %} {% block slider %} {% endblock %} {% block breadcrumbs %}
{% endblock %} {% block content %}Teresa is excited to take part in the 2016 Powderhorn365 photography collection.


Disallows access to the constructors of String
, Number
, and Boolean
.
Disallows constructor use such as new Number(foo)
but does not disallow Number(foo)
.
There is little reason to use String
, Number
, or Boolean
as constructors.
In almost all cases, the regular function-call version is more appropriate.
More details are available on StackOverflow.
Not configurable.
"no-construct": true
{}


A unique class that will teach you the pyschology behind both nonverbal and verbal communication. The skills you learn here are directly applicable to life outside of Palo Alto High School.
Find Out MoreThe Communications program is trying some new things. First of all, it supports emotional well being instead of academic sucess. It strives to teach students practical skills that they can take into the business and corporate worlds. It even borders on the verge of being fun. If you are a open person ready to learn about topics that will change how you look at the world, then the Communications program is for you.

An awesome course that will give you an online portfolio at the end to show to future employers!
A fresh course that you can apply to life beyond Palo Alto High School.
Explore empathy, meditation and practice being mindful and not having your mind full
So you've made it to the bottom of the page. If you are thinking of signing up for this course next year we welcome you! If you still want more information you can email the teacher.
If there is an issue with the website, or something you want changed, click the button below
lfilppu@pausd.org


--- layout: archive title: Zulip Chat Archive permalink: /stream/116395-maths/topic/transcendence.20basis.html ---
Do we have transcendence bases in Lean? I need the transcendence basis analogue of the linear algebra assertion that every spanning set contains a basis.
I don't think so. I guess the nicest way to assert this is that the evaluation map from R[X1, ..., Xn] using the basis is injective
That is, injective (eval₂ coe b)
says that b : I -> R
is an algebraically independent family (where coe : Q -> R
is the inclusion)
I was trying to work through how to set this up. If I have a small field k and a big field K, then it seems to me to be crucial that I use subsets of K, so I can use mv_polynomial s k
with s the subset, coerced to a subtype. I'm only interested in the finite situation right now, but here I don't think I can use a finset -- or do finsets also coerce to types?
You don't actually need anything here to be finite, that was just illustration
I'm not sure that it is crucial to use subsets, but I would have to know more about your application
Indeed, my experience with basis
itself suggests otherwise, that you should use families instead (indexed in some arbitrary type) or you will regret it later and have to refactor
My application is the Nullstellensatz because in the situation where I need this I realise that I can take to be a field, so the theory of transcendence bases gives me what I want immediately.
I think both Bryan and Antoine started on matroids at some point. They are meant to be a common abstraction of bases in linear algebra and your situation, right?
I have no idea what a matroid is :-(
You do seem to be right.
I have always been curious as to how common matroids are. I first encountered them in an algorithms class but never again since.
I never heard about them before using Lean.
The latest version of my matroids code is in the "fintype2" branch here. It's evolved a fair bit since my original thread, but still needs a lot more work. I'll post a brief comment in that thread about the current status.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


This is my first paragraph in my new webpage. This is going to be great. I am so excited I can hardly contain myself. Don't you love paragraphs? I find them very useful.
Yes, that's right - web pages can be a lot of fun. Learning how to create web pages is easy and entertaining. This is my second paragraph. I hope you like it.
Link to Google“A designer knows he has achieved perfection"
A Beautiful World is a program featuring news about whats working in the world. It’s a multi-platform program that seeks to cover positive trends and inspirational stories in science, technology, ecology, arts, music, culture and current events. A Beautiful World reports in-depth stories on stories and solid trends towards positive change.


Contract Usage (Python 3.6)¶
Introduction: Design by Contract
One programming paradigm is Design by Contract . The basic idea is that one should be explicit in the interface statements, the contract, and that this should be enforced. The enforcement of the contract requires validation. Traditionally, Python did not even allow types to be described in the arguments; but as of Python 3.6, variable type annotations were implemented. However, these annotations were hints; that is, they did not actually do anything, and thus by default cannot be used to enforce the contract (at least, without using mypy).
Recently David Beazley gave a nice presentation on how this design can be elegantly implemented using Python 3.6 features to enforce validation with the new type annotations. This design pattern is implemented in validus (contract.py) and can be used for any validus type.
This is useful as is, but the real power is modifying this as a base class for your own needs, as you may/will want to customize actions for each validation. Making validation a core of your program is valuable, and this is an elegant technique for implementing it in python.
Illustration using a simple function¶
We use Beazley’s example of calculating the greatest common denominator, a
computation that only makes sense for positive integers. Using validus in the
basic usage method to make sure that arguments are valid could be
(see example
):
1 2 3 4 5 6 7 8 9 10 11 12 | import validus
def gcd(a,b):
"""
Compute greatest common denominator
"""
assert validus.isint(str(a)) and validus.ispositive(str(a)), 'gcd requires a positive number for a'
assert validus.isint(str(b)) and validus.ispositive(str(b)), 'gcd requires a positive number for b'
while b:
a, b = b, a % b
return a
|
Running this example gives:
(py36) bash-3.2$ python gcd0.py
The greatest common denominator of 27 and 36 is:
9
The greatest common denominator of 2.7 and 3.6 is:
AssertionError: gcd requires a positive number for a
The coding to enforce the example is a bit verbose. Using type annotations, a
bit more compact method would be to use the decorator from contract.py
(see example
):
1 2 3 4 5 6 7 8 9 10 11 12 | from validus.contract import set_validated_contracts
set_validated_contracts(__name__)
@checked
def gcd(a:positive_integer,b:positive_integer):
"""
Compute greatest common denominator
"""
while b:
a, b = b, a % b
return a
|
Running this example gives the same output as above. The command on line 2 is to define all of the types that validus provides validation methods for; i.e., for every isfoo validus method, there is a foo type that can be validated. contract.py also defines a composite type, positive_integer using multiple inheritance.
Illustration using a simple class¶
A more elegant example is Beazley’s simple game class. We show several different methods of enforcing the contract.
In this first design pattern, we use the traditional method of using validus to
enforce the contract:
(see example
):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import validus
class Player:
def __init__(self, name, x, y):
assert validus.isnonempty(name) and validus.isascii(name), 'Player requires a nonempty ascii for name'
assert validus.isint(str(x)), 'Player requires a integer for x'
assert validus.isint(str(y)), 'Player requires a integer for y'
self.name = nonempty_ascii()
self.x = integer()
self.y = integer()
def left(self,dx):
assert validus.isint(str(dx)) and validus.ispositive(str(dx)), 'Moving left requires a positive number for dx'
self.x -= dx
def right(self,dx):
assert validus.isint(str(dx)) and validus.ispositive(str(dx)), 'Moving right requires a positive number for dx'
dx = positive_integer()
self.x += dx
|
Running this example, gives:
Instantiating class with name=Guido, x=0, y=0
Move to the left with dx=1
Move to the left with dx=-1
AssertionError: -1 must be a number and >0
In this second design pattern, we use a more compact description for both
the members of the class and arguments passed to methods
(see example
):
1 2 3 4 5 6 7 8 9 10 11 | from validus.contract import ValidusBase
class Player(ValidusBase):
name: nonempty_ascii
x: integer
y: integer
def left(self,dx: positive_integer):
self.x -= dx
def right(self,dx: positive_integer):
self.x += dx
|
The result of this example is the same as above.
The lack of a constructor here is due to some getattr/setattr magic that is
similar to the attrs python package. Finally, contract.py enables the
ability to specify the type globally within a module
(see example
):
1 2 3 4 5 6 7 8 9 10 11 12 13 | from validus.contract import ValidusBase
from validus.contract import set_validated_contracts
set_validated_contracts(__name__)
dx: positive_integer
class Player(ValidusBase):
name: nonempty_ascii
x: integer
y: integer
def left(self,dx):
self.x -= dx
|
Again, the output of this example is the same as the previous examples.


--- layout: post permalink: casefashion.html Tags: Array NameOfCoupon: Case Fashion Cash Back Summary: See our Case Fashion Coupon Code, Case Fashion Rebate, Case Fashion Promo Code, Case Fashion Discount, Case Fashion Coupon Cash Back Rebate here. MetaKeywords: Case Fashion Coupon Code, Case Fashion Rebate, Case Fashion Promo Code, Case Fashion Cash Back Rebate, Case Fashion Discount, Case Fashion Coupon Image: images/28339.jpg LinkURL: http://www.shareasale.com/r.cfm?b=243325&u=412002&m=28339 affiliate_url_link: http://www.icouponblog.com/jane.php?id=2279 thesis_readmore: See the Case Fashion Coupon thesis_thumb: http://www.icouponblog.com/tn.php?merchantURL=casefash.com Title: Save 10% - Case Fashion Coupon Code for casefash.com. Case Fashion Rebate & Discount thesis_description: Our Case Fashion Discount Coupon Code for casefash.com. We have the best Case Fashion Rebate anywhere. thesis_keywords: Case Fashion, Case Fashion Coupon Code, Case Fashion Discount, Case Fashion Rebate product_name: Case Fashion hop_url: http://www.icouponblog.com/hop.php?id=2279 ---
Case Fashion is an online store that carries iPhone and iPad cases, covers and pouches. For high quality products at low prices, check out casefashion.com online and protect your expensive cell phones and iPads from being scratched, chipped or broken. Case Fashion carries a big selection of cases, covers and pouches for your cell phones. They are stylish, cool, fantastic and so reasonably priced. Use our discount coupons to get a great deal on Case Fashion products.
Case Fashion carries a large variety of iPhone and iPad cases to choose from. You can get the angel silicon iPhone covers in different colors. They are cool looking covers and will protect your cell phone from dust and damage. You can get silicone covers or the clear or transparent one. They are both pretty durable and will provide maximum benefit to your iPhone. It also prevents signal problems in iPhones. It has an anti skid design which prevents your phone from sliding down.
Case Fashion carries cell phone cases, covers, and pouches that will provide protection to your cell phones. These cases are stylish and have lots of designs to choose from. You can even get a Coach iPhone cover. You can get them in fashionable designs, special spooky face for Halloween, smiley face and lots of other styles and color. Case Fashion is the place to be. Get the best cover and pouches for all your cell phones from Case Fashion.


| Total net profit | -26.72 | Gross profit | 46.87 | Gross loss | -73.59 |
| Profit factor | 0.64 | Expected payoff | -0.26 | ||
| Absolute drawdown | -27.6 | Maximal drawdown (%) | 27.07 (-5107.55%) | ||
| Total trades | 101 | Profit trades (% of total) | 48 (47.52%) | Loss trades (% of total) | 53 (52.48%) |
| Long positions (won %) | 46 (50.0%) | Short positions (won %) | 55 (45.45%) | ||
| Largest | profit trade | 2.53 | loss trade | -3.39 | |
| Average | profit trade | 0.98 | loss trade | -1.39 | |
| Minimum | profit trade | 0.06 | loss trade | -0.08 | |
| Maximum | take profit in pips | 35.6 | stop loss in pips | -36.7 | |
| Average | take profit in pips | 10.6 | stop loss in pips | -16.0 | |
| Minimum | take profit in pips | -2.8 | stop loss in pips | -3.4 | |
| Maximum | Reward-Risk | 4.6 | Duration in minutes | 3872 | |
| Average | Reward-Risk | 0.9 | Duration in minutes | 240.8 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 0 | |
| Maximum | consecutive wins (profit in money) | 4.0 (3.7) | consecutive losses (loss in money) | 5.0 (-8.44) | |
| Average | consecutive wins | 1.0 | consecutive losses | 1.0 |
| Total net profit | -14.23 | Gross profit | 20.6 | Gross loss | -34.83 |
| Profit factor | 0.59 | Expected payoff | -0.31 | ||
| Absolute drawdown | -16.97 | Maximal drawdown (%) | 17.14 (10082.35%) | ||
| Total trades | 46 | Profit trades (% of total) | 23 (50.0%) | Loss trades (% of total) | 23 (50.0%) |
| Largest | profit trade | 2.14 | loss trade | -3.36 | |
| Average | profit trade | 0.9 | loss trade | -1.51 | |
| Minimum | profit trade | 0.08 | loss trade | -0.08 | |
| Maximum | take profit in pips | 21.0 | stop loss in pips | -36.7 | |
| Average | take profit in pips | 8.4 | stop loss in pips | -17.9 | |
| Minimum | take profit in pips | -2.8 | stop loss in pips | -5.3 | |
| Maximum | Reward-Risk | 3.7 | Duration in minutes | 1077.0 | |
| Average | Reward-Risk | 0.6 | Duration in minutes | 182.5 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 0.0 | |
| Maximum | consecutive wins (profit in money) | 4.0 (3.58) | consecutive losses (loss in money) | 3.0 (-4.46) | |
| Average | consecutive wins | 1.0 | consecutive losses | 1.0 |
| Total net profit | -12.49 | Gross profit | 26.27 | Gross loss | -38.76 |
| Profit factor | 0.68 | Expected payoff | -0.23 | ||
| Absolute drawdown | -12.66 | Maximal drawdown (%) | 12.19 (-2593.62%) | ||
| Total trades | 55 | Profit trades (% of total) | 25 (45.45%) | Loss trades (% of total) | 30 (54.55%) |
| Largest | profit trade | 2.53 | loss trade | -3.39 | |
| Average | profit trade | 1.05 | loss trade | -1.29 | |
| Minimum | profit trade | 0.06 | loss trade | -0.37 | |
| Maximum | take profit in pips | 35.6 | stop loss in pips | -31.1 | |
| Average | take profit in pips | 12.4 | stop loss in pips | -14.4 | |
| Minimum | take profit in pips | 0.5 | stop loss in pips | -3.4 | |
| Maximum | Reward-Risk | 4.6 | Duration in minutes | 3872.0 | |
| Average | Reward-Risk | 1.1 | Duration in minutes | 289.6 | |
| Minimum | Reward-Risk | Duration in minutes | 0.0 | ||
| Maximum | consecutive wins (profit in money) | 4.0 (4.41) | consecutive losses (loss in money) | 5.0 (-8.44) | |
| Average | consecutive wins | 1.0 | consecutive losses | 1.0 |


Bursa opens lower on cautious investor sentiment
KUALA LUMPUR, Nov 20 — Bursa Malaysia opened lower this morning, tracking the downtrend in the regional bourses as weak sentiment curbed investors’ risk appetite,
At 9.03am, the benchmark FTSE Bursa Malaysia KLCI (FBM KLCI) eased 5.34 points to 1,599.97 from 1,605.31 recorded at Tuesday’s close.
At the opening bell, the barometer index was 3.89 points weaker at 1,601.42.
However, on the broader market, gainers led losers 106 to 78, while 196 counters unchanged, 1,628 untraded and 16 others suspended.
Turnover amounted to 118.79 million shares worth RM41.50 million.
Malacca Securities Sdn Bhd said yesterday’s intraday consolidation and the subsequent recovery, while surprising, masked the underlying indifference in the market where there are still few impetuses for market players to follow.
The research firm does not anticipate a large market movement due to the lack of leads with the ongoing results reporting to provide some of the near-term leads for the market.
“As it is, there are also still few developments in the US-China trade negotiations with conflicting news on the issue to place market players on a guarded mode for longer, in our opinion.
“Apart from the above levels, the other support and resistance levels are at 1,590 and 1,620 respectively,” it said in a note, adding that the key index likely to linger around the 1,600 to 1,610 levels over the near-term.
Of the heavyweights, Tenaga lost eight sen to RM13.68, Public Bank gave up 10 sen for RM19.90, while CIMB and IHH eased six sen each to RM5.32 and RM5.39 respectively.
However, Petronas Chemicals gained four sen to RM7.40 while Maybank was flat at RM8.65.
Of the actives, Alam Maritim bagged three sen to 13 sen, K-One and Dagang Nexchange added one sen each to 23.5 sen and 29 sen respectively, WCE shed three sen to 41 sen, while Seacera inched up half-a-sen to 55.5 sen.
The FBM Emas Index was 29.34 points lower at 11,339.91, the FBMT 100 Index decreased 28.88 points to 11,151.15, the FBM Emas Shariah Index edged down 27.52 points to 11,868.21 and the FBM 70 shed 2.25 points to 14,081.89.
The FBM Ace, however, rose 18.97 points to 4,970.24
Sector-wise, the Financial Services Index trimmed 33.44 points to 15,626.94, but the Industrial Products & Services Index inched up 0.14 of-a-point to 153.44, while the Plantation Index gained 15.58 points to 6,979.41. — Bernama


CONTACT
I teach creative and competition mathematics: combinatorics, logic, finite mathematics, number theory, functional programming and many other things. I have been doing so for almost fifteen years.
My interests are mathematics, computer programming, chess, running, kettlebell lifting and other fun stuff.
Email me at: tedszy@gmail.com


In Progress
Completed
Experiment Pending...
Protocol Selection...
Log out?
Yes
No
Log out
New Experiment
You have already started a new experiment, please proceed with procedure selection.
Ok
Upload File
Exit
You have already started a new experiment, Are you sure you want to exit?
Cancel
Sorry! File Upload is not available right now!


iPhone
iPhone
S
Designed by Apple in California Assembled in China
Model A1633 FCC ID:BCG-E2946A IC:579C-E2946A


---
layout: post
title: Sleep Metronome, now free in the Android Market!
date: '2011-12-09T16:21:00.001-05:00'
author: Hunter Freyer
tags:
- variable tempo metronome
- sleep android app
- sleep aid
- coding
- variable rate metronome
- sleep metronome
modified_time: '2011-12-10T14:40:17.212-05:00'
blogger_id: tag:blogger.com,1999:blog-203463942347409368.post-3504789232709586127
blogger_orig_url: http://blog.hjfreyer.com/2011/12/sleep-metronome-now-free-in-android.html
---
A few weeks ago I posted about a little Python
script I wrote to help me get to sleep. I'm pleased to say that I've been using it every night since and it's been
working great for
me.
After a couple weeks of setting up my laptop next to me before bed, I decided that it'd be way better as an Android app, so I wrote it up. Now you too can experience the clicking sensations: Sleep
Metronome


Who We Are
Vaibhav and Vinit are graduate students attending NJIT. We are currently taking IS 601 with Professor Williams where we have learned a lot about web systems development!
For this assignment, we learned about Virtualization, Containerization, Linux, how to use Vi, and how to use docker in various scenarios. Over the past few projects we have gotten more and more comfortable working with each other virtually.
For the previous websites that we developed, we started from scratch, but for this site we wanted to try to utilize free online Bootstrap templates to enhance our website UI. All of our content is still original content, but with a more user friendly view.


{% set title = "404 - Page not found - Alessio Laiso Type" %} {% set description = "Page not found." %} {% set bodyClass = "notfound-page" %} {% extends "_layout.html" %} {% block front_matter %} --- permalink: /404.html --- {% endblock %} {% block content %}
You may have typed a wrong address or the page may have moved.
Go to home page


- Full procedures for manually updating certificates of a live Gluu CE instance.
Full procedures for manually updating certificates of a live Gluu CE instance.
This page describes how to manually update SSL/TLS certificates used by different components of Gluu CE instance. Ubuntu-based container's environment will be used for all command examples, if not stated otherwise explicitly. Commands may differ slightly for other distro families.
Before you start changing anything
Backup all your current certificates, keys and java key storages that may be affected:
- Log into your instance:
# service gluu-server-2.4.3 login
(if you use Gluu CE older than 2.4 you should update to current version) - Backup everything under
/etc/certs/
directory, then also backup your container's default java key storage (cacerts
file); it can be located under/etc/ssl/certs/java/
for Ubuntu- and Debian-based container, and under/etc/pki/java/
for CentOS- and RHEL-based containers. It also usually has symbolic link insalled for it, which is the same for both families:/usr/java/latest/lib/security/cacerts
Note: In order to have the new cert used for anything in oxtrust, i.e. anything hitting /identity
and /oxauth
, you only need to follow the instructions for updating the Apache web server.
Default JVM Keystore
Java programs making SSL connections to an external server may use the default JVM truststore, /usr/java/latest/lib/security/cacerts
, to establish trust for certificates they are presented with. During installation, setup.py
generates self-signed certificates for all components and adds them to the cacerts
truststore.
Apache Web Server Certificate Update Process
This is a common task. Before you launch your production Gluu Server, you may want to install a certificate from a well known certification authority like Verisign or Godaddy. Also, Web SSL certificates usually expire each year. To import it into Gluu CE:
- Log into your instance:
# service gluu-server-2.4.3 login
(if you use Gluu CE older than 2.4.x you should update to current version) - Create a file containing full set of all intermediary CA certificates and root certificates for the commercial CA which issued your Web SSL certificate. You can name the file whatever you want, but place it under
/etc/certs
. The file should contain intermediate certificate(s), followed by the root CA'a certificate. For more info see doc page about the SSLCertificateChainFile directive - Put your new commercial certificate in PEM format in one file, and the private key you used to generate the CSR for this certificate in the other file under
/etc/certs/
; make sure your private key isn't password protected. - Verify that user under which your Apache process runs has read permissions to all three files: certificate chain, server ssl certificate, key.
- Update
SSLCertificateFile
,SSLCertificateKeyFil
andSSLCertificateChainFile
directives in Gluu's Apcache configuration file so they point to the files you've added; in Ubuntu you can find the configuration in/etc/apache2/sites-enabled/https_gluu.conf
. For Centos and RedHat, it is located in/etc/httpd/conf.d/https_gluu.conf
.
Now its time to update the default keystore of your JVM:
- Create a copy of your commercial certificate encoded in DER format:
# openssl x509 -in pem-formatted-cert.crt -outform der -out der-formatted-cert.der
- Find out the exact alias name of your current (self-signed) Apache certificate in the cacerts file:
# keytool -list -v -keystore /usr/java/latest/lib/security/cacerts -storepass changeit | grep -i '_httpd'
It should have an alias of sort “your-instance-hostname_httpd” - Remove your old certificate from the store:
# keytool -delete -alias your-instance-hostname_httpd -keystore /usr/java/latest/lib/security/cacerts \ -storepass changeit
- Import the new one with the same alias:
# keytool -import -alias your-instance-hostname_httpd --trustcacerts -file /etc/certs/der-formatted-cert.der \ -keystore /usr/java/latest/lib/security/cacerts -storepass changeit
- Restart Tomcat service:
# /etc/init.d/tomcat restart
- Restart Apache service:
# /etc/init.d/apache2 restart
How to test
You have next options:
- Checking how certificate chain is visualized and its healthiness is evaluated by your browser. For example, correctly configured certificate chain may look like this in Firefox:
- You could use one of online validation tools, like the Qualys® SSL Labs' SSL Server Test
- Using console tools, like connecting to the SSL/TLS enabled port your Gluu's Apache listens on (443 by default) with
# openssl s_client -showcerts -connect <host>:<port>
. It will display the whole certificate chain sent by the web server together with secure overlay's parameters which were negotiated during SSL/TLS handshake.
Updating certificate used by Shibboleth module (idp.war)
Shibboleth has it's own java keystore protected by a password that is unique to each instance. Due to this just copying previous Shibboleth keystore file is not the easiest way to proceed, as you would need to find all possible places in configuration files from which it's being referenced and update all settings in them mentioning that password. It's better to recreate this keystore using key pair imported from your previous instance and password which the new instance uses, with the same console commands setup.py
script employs. To properly install your previous Shibboleth certificate:
- Log into the your new instance:
# service gluu-server-2.4.3 login
(if you use Gluu CE older than 2.4.x you should update to current version) - Copy your Shibboleth's secret key (in non-encrypted form) and certificate in PEM format into
/etc/certs
directory, overwriting corresponding files there. In Gluu CE 2.4.x these files are namedshibIDP.key
andshibIDP.crt
, respectively. - Acquire Shibboleth's keystore's password this instance uses. One option is to get it from the
setup.properties.last
file:# cat /install/community-edition-setup/setup.properties.last | grep -i 'shibJksPass'
- Merge together certificate and key files into PKCS12 archive:
# openssl pkcs12 -export -inkey /etc/certs/shibIDP.key -in /etc/certs/shibIDP.crt -out /etc/certs/shibIDP.pkcs12 \ -passout pass:YOUR_SHIB_KEYSTORE_PASS -name your-instance-hostname
- Transform your PKCS12 archive into new instance's Shibboleth's java keystore file (this command will overwrite your privous keystore in
/etc/certs
):# keytool -importkeystore -srckeystore /etc/certs/shibIDP.pkcs12 -srcstorepass YOUR_SHIB_KEYSTORE_PASS \ -srcstoretype PKCS12 -destkeystore /etc/certs/shibIDP.jks -deststoretype JKS -deststorepass YOUR_SHIB_KEYSTORE_PASS \ -keyalg RSA -noprompt
- Verify that user “tomcat” has read access to all 4 files mentioned (shibIDP.key, shibIDP.crt, shibIDP.pkcs12 and shibIDP.jks)
- Create a copy of your Shibboleth certificate encoded in DER format:
# openssl x509 -in /etc/certs/shibIDP.crt -outform der -out /etc/certs/shibIDP.der
- Find out the exact alias name of your current Shibboleth's certificate in the
cacerts
file:# keytool -list -v -keystore /usr/java/latest/lib/security/cacerts -storepass changeit | grep -i '_shibidp'
. It should have an alias of sort “your-instance-hostname_shibidp” - Remove your old certificate from the store:
# keytool -delete -alias your-instance-hostname_shibidp -keystore /usr/java/latest/lib/security/cacerts \ -storepass changeit
- Import the new one with the same alias:
# keytool -import -alias your-instance-hostname_shibidp --trustcacerts -file /etc/certs/shibIDP.der \ -keystore /usr/java/latest/lib/security/cacerts -storepass changeit
- Restart Tomcat service:
# /etc/init.d/tomcat restart
- Restart Apache service:
# /etc/init.d/apache2 restart
How to test
After Tomcat's restart Shibboleth's configuration generated from a set of Velocity templates should be updated to include your changes to it. One way to test they have been applied is to check the current certificate the module includes in its SAML metadata that is shown at url like https://your-instance-hostname/idp/shibboleth, or can be found in the file /opt/idp/metadata/YOUR-ORG-INUM-idp-metadata.xml
- it should show the same certificate you tried to import following steps above. If it does not, try to wait until Tomcat has fully started and restart it one more time. Please also pay attention to any error messages appearing in /opt/idp/logs/idp-process.log
during Tomcat's startup.
Updating certificate used by Asimba module (asimba.war)
This procedure is quite similar to updating Shibboleth's certificate:
- Log into your instance:
# service gluu-server-2.4.3 login
(if you use Gluu CE older than 2.4 you should update to current version) - Copy your Asimba's secret key (in non-encrypted form) and certificate in PEM format into
/etc/certs
directory, overwriting corresponding files there. In Gluu CE 2.4.x these files are namedasimba.key
andasimba.crt
, respectively. - Acquire Shibboleth keystore's password this instance uses. One option is to get it from the
setup.properties.last
file:# cat /install/community-edition-setup/setup.properties.last | grep -i 'asimbaJksPass'
- Merge together certificate and key files into PKCS12 archive:
# openssl pkcs12 -export -inkey /etc/certs/asimba.key -in /etc/certs/asimba.crt -out /etc/certs/asimba.pkcs12 \ -passout pass:YOUR_ASIMBA_KEYSTORE_PASS -name your-instance-hostname
- Transform your PKCS12 archive into new instance's Asimba's java keystore file:
# keytool -importkeystore -srckeystore /etc/certs/asimba.pkcs12 -srcstorepass YOUR_ASIMBA_KEYSTORE_PASS \ -srcstoretype PKCS12 -destkeystore /etc/certs/asimbaIDP.jks -deststoretype JKS -deststorepass YOUR_ASIMBA_KEYSTORE_PASS \ -keyalg RSA -noprompt
- Verify that user “tomcat” has read access to all 4 files mentioned (asimba.key, asimba.crt, asimba.pkcs12 and asimbaIDP.jks)
- Create a copy of your Shibboleth certificate encoded in DER format:
# openssl x509 -in /etc/certs/asimba.crt -outform der -out /etc/certs/asimba.der
- Find out the exact alias name of your current Shibboleth's certificate in the cacerts file:
# keytool -list -v -keystore /usr/java/latest/lib/security/cacerts -storepass changeit | grep -i '_asimba'
It should have an alias of sort “your-instance-hostname_asimba” - Remove your old certificate from the store:
# keytool -delete -alias your-instance-hostname_asimba -keystore /usr/java/latest/lib/security/cacerts \ -storepass changeit
- Import the new one with the same alias:
# keytool -import -alias your-instance-hostname_asimba --trustcacerts -file /etc/certs/asimba.der \ -keystore /usr/java/latest/lib/security/cacerts -storepass changeit
- Restart Tomcat service:
# /etc/init.d/tomcat restart
- Restart Apache service:
# /etc/init.d/apache2 restart
Updating OpenDJ's certificate in the default java keystore
As was mentioned before, if some component of Gluu CE package needs to connect to OpenDJ via LDAPS, it must be able to verify the authenticity and credibility of certificate presented by it by referencing java default keystore. Sometimes you may need to import cacerts file from your previous instance, overwriting corresponding file of the new container. After that it will contain your OpenDJ's certificate from the previous instance which won't match the certificate used by OpenDJ in this one.
OpenDJ has its own password-protected java keystore where it stores his key pair together with certificate. It can be found at this path: /opt/opendj/config/keystore
. Your options are either to recreate this keystore using the key pair and certificate from your previous instance (not recommended; you should refer to OpenDJ's documentation for requirements to this keystore's composition if you choose to do so), or remove the certificate of previous OpenDJ's instance from default keystore, and add the current certificate to it. To achieve the later:
- Log into your instance:
# service gluu-server-2.4.3 login
(if you use Gluu CE older than 2.4 you should update to current version) -
If you didn't preserve original certificates from the
/etc/certs
directory of the new container (you should do that) and OpenDJ certificate which is also placed there by setup scripts (it should be named “opendj.crt”) got overwritten by the certificate transferred from the previous one, you still can export it from the OpenDJ's own keystore with command like that:- Acquire password for your keystore:
# cat /opt/opendj/config/keystore.pin
- Find out the exact alias name of your current OpenDJ certificate:
# keytool -list -v -keystore /opt/opendj/config/keystore -storepass YOUR_OPENDJ_JKS_PIN
It should have alias “server-cert” and there should be no other entries in the keystore, but it may change in the future. - Fetch the certificate from the store:
# keytool -export -alias alias_you_discovered -file /etc/certs/opendj-exported-cert.der \ -keystore /opt/opendj/config/keystore -storepass opendj_jks_pin
Now you are ready to import it into default java keystore
- Acquire password for your keystore:
-
Find out the exact alias name of your current OpenDJ's certificate in the cacerts file:
# keytool -list -v -keystore /usr/java/latest/lib/security/cacerts -storepass changeit | \ grep -i '_opendj'
It should have an alias of sort “your-instance-hostname_opendj” - Remove your old certificate from the store:
# keytool -delete -alias your-instance-hostname_opendj -keystore /usr/java/latest/lib/security/cacerts \ -storepass changeit
- Import the new one with the same alias:
# keytool -import -alias your-instance-hostname_opendj --trustcacerts -file /etc/certs/opendj-exported-cert.der \ -keystore /usr/java/latest/lib/security/cacerts -storepass changeit
- Restart Tomcat service:
# /etc/init.d/tomcat restart
- Restart Apache service:
# /etc/init.d/apache2 restart
How to test
You can verify that the certificate in cacerts file is the same as in the OpenDJ's keystore using the same “keytool -list” commands as before. Failure when establishing SSL/TLS connection with OpenDJ will result in errors appearing in /opt/idp/logs/idp-process.log
and /opt/tomcat/logs/wrapper.log
during Tomcat's startup.


Hawaii - Profile
Facts
- Hawaii, the 50th state of the USA, is in fact an archipelago stretching across the North Pacific from the remote Kure and Midway atolls to the more developed and heavily populated islands in the east.
- Hawaii is very different to the rest of the Pacific, mainly due to the strong American influence, also being very developed and commercial, such as the world-famous Waikiki Beach, although the old ways do survive in some places.
- The ideal landfall and start of a cruise in Hawaiian waters is the small port of Hilo on Big Island as it is upwind of the entire archipelago. Hilo is a very pleasant place to unwind after the long passage from mainland USA and also to visit the interior of the spectacular Big Island.
- In most places in Hawaii only part of the sightseeing can be done from the cockpit, as many of the interesting places are either inland or difficult to reach by boat. The Big Island is an excellent introduction to Hawaii with its magnificent Kilauea Volcano, orchid gardens, cane fields and scenic coastline. A definite stop on the lee side of the island is at Kealakekua Bay, where Captain Cook lost his life in 1778.
- The former whaling capital of the Pacific, Lahaina on Maui island is another popular cruising stop, as is the marine park at Hulopoe Bay on Lanai with its superb underwater scenery. Busy Honolulu with its excellent facilities has many tempting sights which should include a visit to the Bishop Museum, especially for those planning to continue their cruise to other Pacific islands, as many of the art treasures from these islands have been collected there.
- A good place to take one's leave from Hawaii is the northernmost island of Kauai and its spectacular Hanalei Bay, the set for many a South Seas movie.
- It is currently not permitted to stop at the more remote locations of Midway (or the National Wildlife Refuge or Battle of Midway National Memorial) or Wake Atoll.
- The number of marinas in Hawaii is less than one would expect in such a developed place and, on the whole, yachting facilities are below US standards. The number of cruising yachts is not very large, except in the summer when many yachts make their way across from the mainland and facilities are stretched to the full.
- With a few exceptions, marinas are state-owned and operated. This means that they are subject to standard regulations and also that docking fees are lower than in private marinas. Berths are assigned on a first come first served basis, but one may reserve a place either by writing a letter or telephoning in advance. The first three days are no longer free for visitors. Yachts registered to the state of Hawaii are eligible for the lower residents rate at marinas and moorings. Some yacht clubs also have docking facilities for visitors.
- Major repair work and services, such as hauling out and hull, engine and sail repair, are available only at Honokohau Harbour on Hawaii (Big Island), at Kewalo Basin, Keehi Lagoon and at Ala Wai Boat Harbour in Honolulu on Oahu Island. Smaller repairs can be made at Hilo, Lahaina and Nawiliwili.
- Marine supplies in the main yachting centres are good and there are several chandleries with a wide selection, including charts. Whatever is not available locally will be ordered from the mainland and air freighted to Hawaii in 48 to 72 hours.
- Provisioning is good everywhere and Hawaii is a good place to victual the boat, especially if planning to cruise the outer islands of Micronesia or the South Pacific. However, the prices are 25 per cent higher than on the mainland so all non-perishable stores should be bought before leaving the USA.
Weather
The climate is subtropical in the low coastal areas and temperate in the mountains. There is no rainy season but showers, sometimes downpours, occur in winter. The islands are under the influence of the NE trade winds and are only rarely affected by tropical cyclones.
Hawaii Weather Forecast.
For links to free global weather information, forecast services and extreme weather information see the Noonsite Weather Page
Main Ports
Hawaii (Big Island):
Hilo *
,
Honokohau (Kailua-Kona) *
,
Kawaihae
Kauai:
Hanalei Bay
,
Kikiaola
,
Nawiliwili
,
Port Allen
Lanai:
Manele
Line Islands:
Palmyra Atoll
Maui:
Hana Bay
,
Kahului *
,
Lahaina
,
Maalaea
Molokai:
Kaunakakai
,
Pukoo Harbour
Oahu:
Barbers Point Harbour (Ko Olina)
,
Haleiwa
,
Honolulu *
,
Kaneohe
,
Pearl Harbor
,
Waianae Harbour
US Minor Outlying Islands:
Midway Atoll
,
Wake Atoll
* indicates port of entry


190
Objectives
⦁ The prime objective is to elevate the society by Focusing on the education of not only slum
children but also Women or Senior Citizens.
⦁ To levy the foundation for Women Empowerment, Healthcare Development and Human Rights etc.
⦁ To contribute towards eradication of illiteracy and beacon the youth in the dark through
education.
⦁ To help the socially isolated senior citizens and disabled persons by encouraging social
interactions with them for their welfare.
⦁ To inculcate the ethics into the people to make the world a better place to live in.
⦁ To work for the social upliftment of underpriviledged individual or groups.
⦁ To organize campaigns and drives to create awareness among the people towards environment, social
evils, poverty, etc.
Vision & Mission
⦁ To enlighten children of slum areas with basic education.
⦁ To encourage and popularize the voluntary work.
⦁ To engage the youth in productive tasks for the welfare of the society.
⦁ Upliftment of underprivileged children and weaker sections of the society.
⦁ Empowerment of the women in all aspects.


places I like to go
When I'm at home, I usually want to leave; when I'm out, I often want to go home!
places I don't like to go
- the mall
- TJ Maxx
TJ Maxx, for reasons I have probably already looked up but since forgotten, is called TK Maxx in the UK. Huh.
- Alaska
places Michael likes to go
He's always stuck at home so you'd never guess Michael has other favorite places!
- parks
- beaches
- bridge club
- the grocery store
- places he used to go on okcupid dates
places Michael doesn't like to go
- museums
- malls
- the homes of old people he doesn't know, especially when they only speak Ukrainian
YUCK!


module Std:sig
..end
BAP has a layered architecture consisting of four
layers. Although the layers are not really observable from outside
of the library, they make it easier to learn the library, as
they introduce new concepts sequentially. On top of this layers,
the Project module is defined, that
consolidates all information about target of an
analysis.  The
Memory model layer is responsible for loading
and parsing binary objects and representing them in computer
memory. It also defines a few useful data structures that are
used extensively by later layers, like Table
and
Memmap
. The next layer performs
disassembly and lifting to BIL. Finally, the
semantic analysis layer transforms a binary
into an IR representation, that is suitable for writing analysis.
Another important point of view is the BAP plugin architecture. Similar to GIMP or Frama-C, BAP features a pluggable architecture with a number of extension points. For example, even the LLVM disassembler is considered a type of plugin. Currently we support three such extension points in BAP:
+---------------------------------------------+ | +----------------+ +-----------------+ | | | Loader | | Disassembler | | | | Plugins | | Plugins | | | +-------+--------+ +--------+--------+ | | | | | | +-------+----------------------+--------+ | | | | | | | BAP Library | | | | | | | +-------+-------------------------------+ | | ^ ^ | | | | | | +-------+--------+ +--------+--------+ | | | | | | | | | BAP toolkit |<-->| BAP Plugins | | | | | | | | | +----------------+ +-----------------+ | +---------------------------------------------+
All plugins have full access to the library; an important
consequence is that they can and should open Bap.Std
. The BAP
library uses backend loader and disassembler plugins to provide
its services. Program analysis plugins are loaded by BAP
toolkit utilities. These utilities extend plugin functionality
by providing access to the state of the target of analysis or,
in our parlance, to the project. (See
Working with project).
Other than library itself, and the BAP toolkit, there are two additional libraries that are bundled with BAP:
bap.plugins
to dynamically load code into BAP;bap.serialization
to serialize BAP data structures in
different formats.At this layer we define (Binary Instruction language) and few other useful data structures:
word
and addr
;Sequence
, aka lazy
list.Identifiable
, and is supposed to represent a type that is as
common as a built-in type. One should expect to find any
function that is implemented for such types as int
, string
,
char
, etc. Namely, this interface includes:
<, >, <= , >= , compare, between, ...
);Map
with keys of type t
;Set
with values of type t
;Table
module;Hash_set
nameto_string
, str
, pp
, ppo
, pps
functions
for pretty-printing.exp
is indeed a type abbreviation for Exp.t
,
and module Exp
contains all functions and types related to
type exp
. For example, to create a hashtable of statements,
just type:
let table = Stmt.Table.create ()
If a type is a variant type (i.e., defines constructors) then for
each constructor named Name
, there exists a corresponding
function named name
that will accept the same number of
arguments as the arity of the constructor. For example, a
Bil.Int
can be constructed with the Bil.int
function that
has type word -> exp
. If a constructor has several arguments
of the same type we usually disambiguate them with keywords,
e.g., Bil.Load of (exp,exp,endian,size)
has function
Bil.load with type:
mem:exp -> addr:exp -> endian -> size -> exp
Universal values can be viewed as extensible variants on steroids. Not only they maybe extended, but they also can be serialized, compared with user-defined comparison function and even pretty printed.
Like value is an extensible sum type, dict
can be viewed as extensible product type. Dict is a sequence of
values of type value
, with tags used as field
names. Of course, fields are unique.
Vector is an implementation of STL like vectors with logarithmic push back.
The Foundation library also defines a prefix tree data structure that proves to be useful for binary analysis applications. Tries in BAP is a functor that derives a polymorphic trie data structure for a given Key.
For convenience we support instantiating tries for most of our data structures. For example, Word has several tries inside.
For common strings, there's Trie.String
.
This layer provides everything you need to work with binary objects:
Image
module uses the plugin system to load binary
objects. In order to add new loader, one should implement the
Backend.t loader function and register it with the
Image.register_backend function.This layer consists of disassemblers and lifters. They are tightly integrated, but in general we can disassemble all supported architectures. Currently we lift only arm, x86 and x86_64.
There are two interfaces to disassemblers:
The following figure shows the relationship between basic data structures of the disassembled program.
+-----------------+ | +-------------+ | | | disasm | | | +-------------+ | | | | | | * | | +-------------+ | | | block | | | +-------------+ | | | | | | * | | +-------------+ | | | insn | | | +-------------+ | | | | | | * | | +-------------+ | | | stmt | | | +-------------+ | +-----------------+
A disassembled program is represented as a set of interconnected basic blocks. You can navigate between blocks using Block.succs and Block.preds functions, or you can transform a set of blocks into a real graph using the Block.to_graph function. Sometimes it is enough to traverse program using depth-first search.
Each block is a container to a sequence of machine instructions. It is guaranteed that there's at least one instruction in the block, thus the Block.leader and Block.terminator functions are total.
Each machine instruction is represented by its
opcode
, name
and array
of operands (these are machine and
disassembler specific), a set of predicates (describing
instruction semantics on a very high level), and a sequence of
BIL statements that precisely define the semantics of
the instruction.
Modules of type CPU provide a high level abstraction of
the CPU and allow one to reason about instruction semantics
independently from the target platform. Modules of type
ABI provide even more information, e.g., it maps
registers to formals. The module type Target brings
CPU
and ABI
together. To get an instance of this module,
you can use the target_of_arch function. For
accessing all information about target platform, use the
following modules that expose low-level and platform-specific
details:
If you do not need cfg reconstruction, you can use linear_sweep function to disassemble a given memory region. If you need more granularity, then you can use the expert interface accordingly:
On semantic level the disassembled program is lifted into the intermediate representation (IR) suitable for writing analysis.
IR is closely related to BIL. In fact it even reuses expression
sub-language of BIL. But unlike BIL, IR is flat, (i.e., it
doesn't contain recursive statements), and unstructured (no
while
, if
, only jumps). Thus IR is much more low-level, so
it is harder to read, but easier to analyze programmatically.
The program in IR is build of terms. In fact the program itself is also a term. There're only 7 kinds of terms:
def
term has two attributes: left
hand side (lhs), that associates definition with abstract
variable, and right hand side (rhs) that associates def
with
an abstract expression. Suppose, that the definition was:
# let d_1 = Def.create x Bil.(var y + var z);;
val d_1 : Def.t = 00000001: x := y + z
To change the right hand side of a definition we use
Def.with_rhs
that returns the same definition but with
different value:
# let d_2 = Def.with_rhs d_1 Bil.(int Word.b1);;
val d_2 : Def.t = 00000001: x := true
d_1
and d_2
is different values
# Def.equal d_1 d_2;;
- : bool = false
of the same term # Term.same d_1 d_2;;
- : bool = true
The identity of this terms is denoted by the term identifier
(tid
). In the textual representation term identifiers are
printed as ordinal numbers.
Terms, can contain other terms. But unlike BIL expressions or
statements, this relation is not truly recursive, since the
structure of program term is fixed: arg
, phi
, def
, jmp
are leaf terms; sub
can only contain arg
's or blk
's; blk
consists of phi
, def
and jmp
sequences of terms, as
pictured in the figure below. Although, the term structure is
closed to changes, you still can extend particular term with
attributes, using set_attr
and get_attr
functions of the
Term module. This functions are using extensible
variant type to encode attributes.
+--------------------------------------------------------+ | +-------------------+ | | | program | | | +---------+---------+ | | |* | | +---------+---------+ | | | sub | | | +---------+---------+ | | | | | +-----------------+---------------+ | | |* |* | | +-----+-------+ +-------+-------+ | | | arg | | blk | | | +-------------+ +-------+-------+ | | | | | +---------------+--------------+ | | |* |* | * | | +-----+-----+ +-----+-----+ +----+-----+ | | | phi | | def | | jmp | | | +-----------+ +-----------+ +----------+ | +--------------------------------------------------------+
There're two general approaches to obtain a value of type project:
Project.from_*
function;bap
utilitybap
utility
will provide you integration with different tools, like IDA, as
well as interaction with a user and other plugins.
To write a program analysis plugin (or pass in short) you need to implement a function with one of the following interfaces:
project -> project
and register it with
register_pass;project -> unit
and register it with
register_pass';string array -> project -> project
and register it with
register_pass_with_args;string array -> project -> unit
and register it with
register_pass_with_args'.bap
utility (see man bap
) this function
will be invoked with a value of type project that
provides access to all information gathered over the binary so
far. If the registered function returns a non unit
type, then it
can functionally update the project state, e.g., add
annotations, discover new symbols, make corrections, and even
change the architecture and re-disassemble everything.
The following plugin prints all sections in a file:
open Core_kernel.Std
open Bap.Std
open Format
let print_sections p =
Project.memory p |> Memmap.to_sequence |> Seq.iter ~f:(fun (mem,x) ->
Option.iter (Value.get Image.section x) ~f:(fun name ->
printf "Section: %s<EMAIL_ADDRESS>name Memory.pp mem))
let () = Project.register_pass' "print-sections" print_sections
For exchanging information in a type safe manner, we use
universal values. Values can be attached to a
particular memory region, IR terms, or put into the storage
dictionary. For the first case we use the memmap data
structure. It is an interval tree containing all the memory
regions that are used during analysis. For the storage
we use
Dict
data structure.
By default the memory is marked with the following marks:
"bap.user"
section.
The Dwarf library provides an access to DWARF debugging information. It implements parsing of some subset of DWARF features, and a high-level interface Fbi that extracts function symbols from the given DWARF data.
This library implements a byteweight algorithm
that identifies functions in stripped binaries, as well as
being able to train itself on a provided training corpus.
type'a
printer =Format.formatter -> 'a -> unit
'a printer
defines a type for pretty-printers for a value of
type 'a
. This is the type, that is required by %a
specifier,
for Format.printf
-family of functions. Also, this is the type,
that can be installed into OCaml toplevel or debugger.
Note: `bap.top` library automatically installs all printers.
module type Printable =sig
..end
module type Regular =sig
..end
int
, string
,
char
and other built in types.
module type Integer =sig
..end
module Regular:sig
..end
Regular
interface you need to provide a
minimum implementation M
module type Trie =sig
..end
module Trie:sig
..end
type
word
typeaddr =
word
word
, that should be used for words
that are addressesmodule Size:sig
..end
typesize =
Size.t
typeaddr_size =
[ `r32 | `r64 ] Size.p
typenat1 =
int
module Bitvector:sig
..end
typeendian =
Bitvector.endian
=
| |
LittleEndian |
| |
BigEndian |
endian
constructors to Bap.Std
namespacemodule Word:module type of Bitvector
with type t = word and type endian = endian and type comparator_witness = Bitvector.comparator_witness
module Addr:sig
..end
module Type:sig
..end
typetyp =
Type.t
val bool_t : typ
val reg8_t : typ
val reg16_t : typ
val reg32_t : typ
val reg64_t : typ
val reg128_t : typ
val reg256_t : typ
val mem32_t : size -> typ
mem32_t size
creates a type for memory with 32
-bit addresses
and elements of size size
.val mem64_t : size -> typ
mem64_t size
creates a type for memory with 64
-bit addresses
and elements of size size
.type
var
module Var:sig
..end
module Bil:sig
..end
module Exp:sig
..end
Regular
interface for BIL expressions
module Stmt:sig
..end
Regular
interface for BIL statements
module Arch:sig
..end
typearch =
Arch.t
module Value:sig
..end
type'a
tag ='a Value.tag
typecolor =
[ `black | `blue | `cyan | `green | `magenta | `red | `white | `yellow ]
val color : color tag
val comment : string tag
val python : string tag
val shell : string tag
val mark : unit tag
val weight : float tag
val target_addr : addr tag
val target_name : string tag
val subroutine_name : string tag
val subroutine_addr : addr tag
val filename : string tag
module Dict:sig
..end
module Seq:sig
..end
type'a
seq ='a Seq.t
'a Sequence.t
val (^::) : 'a -> 'a seq -> 'a seq
x ^:: xs
is a consing operator for sequencestype 'a
vector
module Vector:sig
..end
module Config:sig
..end
typebil =
Bil.t
typebinop =
Bil.binop
typecast =
Bil.cast
typeexp =
Exp.t
typestmt =
Stmt.t
typeunop =
Bil.unop
typevalue =
Value.t
typedict =
Dict.t
type
image
type
mem
type 'a
table
'a
type 'a
memmap
'a
module type Memory_iterators =sig
..end
module Memory:sig
..end
module Table:sig
..end
module Location:sig
..end
typelocation =
Location.t
module Backend:sig
..end
module Image:sig
..end
module Memmap:sig
..end
type
disasm
disasm
is a result of the disassembling of a
memory region. To create values of this type use disassemble
functiontype
insn
insn
represents machine instructions decoded
from the given piece of memorytype
block
block
is a region of memory that is believed to be a basic block
of control flow graph to the best of our knowledge.val disassemble : ?roots:addr list -> arch -> mem -> disasm
disassemble ?roots arch mem
disassemble provided memory region
mem
using best available algorithm and backend for the specified
arch
. Roots, if provided, should point to memory regions, that
are believed to contain code. At best, this should be a list of
function starts. If no roots are provided, then the starting
address of the provided memory mem
will be used as a root.
The returned value will contain all memory reachable from the
given set of roots, at our best knowledge.
val disassemble_image : ?roots:addr list -> image -> disasm
disassemble_image image
disassemble given image.
Will take executable segments of the image and disassemble it,
applying disassemble
function. If no roots are specified, then
symbol table will be used as a source of roots. If file doesn't
contain one, then entry point will be used.val disassemble_file : ?roots:addr list ->
string -> disasm Or_error.t
disassemble_file ?roots path
takes a path to a binary and
disassembles itval disassemble_file_exn : ?roots:addr list -> string -> disasm
disassemble_file ?roots path
takes a path to a binary and
disassembles itval linear_sweep : arch ->
mem ->
(mem * insn option) list Or_error.t
linear_sweep arch mem
will perform a linear sweep disassembly on
the specified memory mem
val linear_sweep_exn : arch -> mem -> (mem * insn option) list
linear_sweep_exn
same as linear_sweep
, but raises an
exception, instead of returning Or_error
monadmodule Disasm:sig
..end
module Kind:sig
..end
type
reg
type
imm
type
fmm
typekind =
Kind.t
module Reg:sig
..end
module Imm:sig
..end
module Fmm:sig
..end
module Op:sig
..end
typeop =
Op.t
type
symtab
module Symtab:sig
..end
class type abi =object
..end
typeabi_constructor =
Symtab.t -> Symtab.fn -> abi
In general this is a model of a processor architecture, involving
ALU, processing unit, registers and memory.
module type CPU =sig
..end
module type ABI =sig
..end
typejump =
[ `Cond | `Jump ]
This type defines a relation between two basic blocks.
typeedge =
[ `Cond | `Fall | `Jump ]
module type Block_accessors =sig
..end
module type Block_traverse =sig
..end
module Disasm_expert:sig
..end
module Insn:sig
..end
module Block:sig
..end
module type Target =sig
..end
val target_of_arch : arch -> (module Bap.Std.Target)
target_of_arch arch
returns a module packed into value, that
abstracts target architecture. The returned module has type
Target
and can be unpacked locally with:
let module Target = (val target_of_arch arch) in
module ARM:sig
..end
module IA32:sig
..end
x86
architecture
module AMD64:sig
..end
x86-64
architecture
type 'a
term
Program is a tree of terms.
type
program
type
sub
type
arg
type
blk
type
phi
type
def
type
jmp
type
tid
type
call
type
label =
| |
Direct of |
(* |
direct jump
| *) |
| |
Indirect of |
(* |
indirect jump
| *) |
type
jmp_kind =
| |
Call of |
(* |
call to subroutine
| *) |
| |
Goto of |
(* |
jump inside subroutine
| *) |
| |
Ret of |
(* |
return from call to label
| *) |
| |
Int of |
(* |
interrupt and return to tid
| *) |
type
intent =
| |
In |
(* |
input argument
| *) |
| |
Out |
(* |
output argument
| *) |
| |
Both |
(* |
input/output
| *) |
type ('a, 'b)
cls
val sub_t : (program, sub) cls
val arg_t : (sub, arg) cls
val blk_t : (sub, blk) cls
val phi_t : (blk, phi) cls
val def_t : (blk, def) cls
val jmp_t : (blk, jmp) cls
module Tid:sig
..end
module Term:sig
..end
module Program:sig
..end
module Sub:sig
..end
module Blk:sig
..end
module Def:sig
..end
module Jmp:sig
..end
module Phi:sig
..end
module Arg:sig
..end
module Call:sig
..end
module Label:sig
..end
module Project:sig
..end
typeproject =
Project.t
module Dwarf:sig
..end
module Elf:sig
..end
module Signatures:sig
..end
module Byteweight:sig
..end


article section
ARIA document sections
application section
Banner section
Complementary section
Contentinfo section
Document section
Form section
Heading section
Img section
Landmark section
Log section
Main section
Marquee section
Note section
Presentation section
Region section
Search section
Section section
Sectionhead section
Separator section
Status section
Timer section
iOS 8.4 and 9.0: Reads: Application, banner, complementary, contentinfo, heading, main, navigation, search, section, sectionhead. The other sections are not read. In addition, iOS 9.31 recognizes region section.