Changeset 751
- Timestamp:
- 09/23/14 18:22:45 (20 months ago)
- Location:
- mystic
- Files:
-
- 3 added
- 10 edited
- 1 moved
-
models/__init__.py (modified) (4 diffs)
-
models/abstract_model.py (modified) (1 diff)
-
models/corana.py (modified) (3 diffs)
-
models/dejong.py (modified) (8 diffs)
-
models/griewangk.py (modified) (2 diffs)
-
models/nag.py (added)
-
models/pohlheim.py (added)
-
models/poly.py (modified) (1 diff)
-
models/trott.py (moved) (moved from mystic/models/fosc3d.py) (4 diffs)
-
models/venkataraman.py (added)
-
models/wavy.py (modified) (2 diffs)
-
models/zimmermann.py (modified) (2 diffs)
-
scripts/mystic_model_plotter.py (modified) (3 diffs)
-
tests/solver_test_suite.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
mystic/models/__init__.py
r713 r751 16 16 the function API found in `mystic.models.abstract_model`. These standard 17 17 functions are provided:: 18 sphere -- De Jong's spherical function 18 19 rosen -- Rosenbrock's function 19 20 step -- De Jong's step function … … 21 22 shekel -- Shekel's function 22 23 corana -- Corana's function 23 fosc3d -- the fOsc3D Mathematicafunction24 fosc3d -- Trott's fOsc3D function 24 25 griewangk -- Griewangk's function 25 26 zimmermann -- Zimmermann's function 27 peaks -- NAG's peaks function 28 venkat91 -- Venkataraman's sinc function 29 schwefel -- Schwefel's function 30 ellipsoid -- Pohlheim's rotated hyper-ellipsoid function 31 rastrigin -- Rastrigin's function 32 powers -- Pohlheim's sum of different powers function 33 ackley -- Ackley's path function 34 michal -- Michalewicz's function 35 branins -- Branins's rcos function 36 easom -- Easom's function 37 goldstein -- Goldstein-Price's function 26 38 wavy1 -- a simple sine-based multi-minima function 27 39 wavy2 -- another simple sine-based multi-minima function … … 61 73 62 74 # functions 63 from dejong import rosen, step, quartic, shekel75 from dejong import sphere, rosen, step, quartic, shekel 64 76 from corana import corana 65 from fosc3dimport fosc3d77 from trott import fosc3d 66 78 from griewangk import griewangk 67 79 from zimmermann import zimmermann 80 from nag import peaks 81 from venkataraman import venkat91 68 82 from wavy import wavy1, wavy2 83 from pohlheim import schwefel, ellipsoid, rastrigin, powers, ackley 84 from pohlheim import michal, branins, easom, goldstein 69 85 70 86 #shortcuts … … 72 88 #from br8 import data as br8data 73 89 #from br8 import cost as br8cost 74 #from corana import corana1d, corana2d, corana3d75 90 #from lorentzian import gendata, histogram 76 91 -
mystic/models/abstract_model.py
r750 r751 23 23 24 24 For example, if function is overwritten with the Rosenbrock function: 25 >>> rosen = Rosenbrock( )26 >>> rosen( 1,1,1)25 >>> rosen = Rosenbrock(ndim=3) 26 >>> rosen([1,1,1]) 27 27 0. 28 28 """ 29 29 30 def __init__(self ):30 def __init__(self, ndim=None): 31 31 """ 32 32 Provides a base class for mystic functions. 33 33 34 Takes no inputs.34 Takes optional input 'ndim' (number of dimensions). 35 35 """ 36 if self.minimizers is None: 37 self.minimizers = [] 38 #raise NotImplementedError('minimizers have not been provided') 39 nmin = len(self.minimizers) 40 41 # set the number of dimensions 42 try: # fixed dimension 43 self.ndim = len(self.minimizers[0] if nmin else None) 44 fixed = True 45 if ndim is None: ndim = self.ndim 46 except TypeError: # not fixed 47 self.ndim = ndim 48 fixed = False 49 if fixed and ndim != self.ndim: 50 raise ValueError('number of dimensions is fixed (ndim=%d)' % self.ndim) 51 elif not fixed and ndim is None: 52 raise ValueError('number of dimensions must be set (ndim=None)') 53 54 # set the minimizer (and adjust minimizers if not fixed) 55 if not nmin: 56 self.minimizers = list(self.minimizers) 57 self.minimizer = None 58 elif not fixed: #XXX: should be array instead of tuple? 59 self.minimizers = [tuple([m]*ndim) for m in self.minimizers] 60 self.minimizer = self.minimizers[0] # global *must* be first 61 else: 62 self.minimizers = list(self.minimizers) 63 self.minimizer = self.minimizers[0] # global *must* be first 64 65 # get the mimima 66 self.minima = map(self.function, self.minimizers) 67 self.minimum = min(self.minima) if self.minima else None 68 if self.minima and self.minima.index(self.minimum): 69 raise ValueError('global minimum must be at index = 0') 36 70 return 37 71 38 72 def __call__(self,*args,**kwds): 73 coeffs = kwds.get('coeffs', args[0] if len(args) else []) 74 if len(coeffs) != self.ndim: 75 raise ValueError('input length does not match ndim (ndim=%d)' % self.ndim) 39 76 return self.function(*args,**kwds) 40 77 41 78 def function(self,coeffs): 42 79 """takes a list of coefficients x, returns f(x)""" 43 raise NotImplementedError, "overwrite f or each derived class"80 raise NotImplementedError, "overwrite function for each derived class" 44 81 45 82 # def forward(self,pts): 46 83 # """takes points p=(x,y,...), returns f(xi,yi,...)""" 47 84 # pts = asarray(pts) #XXX: converting to numpy.array slows by 10x 48 # return [self.function(i) for i in pts.transpose()] #FIXME: requires pts is a numpy.array 85 # return [self.function(i) for i in pts.transpose()] 86 87 minimizers = None # not given; *must* set to 'list' or 'list of tuples' 88 # - None => not set / not known / no minimizers 89 # - [1,5] => global and local; input dimensions are not fixed 90 # - [(1,2),(5,3)] => global and local; input dimensions are fixed 49 91 pass 50 92 -
mystic/models/corana.py
r713 r751 6 6 # License: 3-clause BSD. The full license text is available at: 7 7 # - http://mmckerns.github.io/project/mystic/browser/mystic/LICENSE 8 """ 9 Corana's function 8 __doc__ = _doc = """ 9 This is part of Storn's "Differential Evolution" test suite, as defined 10 in [2], with 'Corana' function definitions drawn from [3,4]. 10 11 11 12 References:: 12 [1] Storn, R. and Price, K. Differential Evolution - A Simple and Efficient13 Heuristic for Global Optimization over Continuous Spaces. Journal of Global14 Optimization 11: 341-359, 1997.13 [1] Storn, R. and Price, K. "Differential Evolution - A Simple and 14 Efficient Heuristic for Global Optimization over Continuous Spaces" 15 Journal of Global Optimization 11: 341-359, 1997. 15 16 16 [2] Storn, R. and Price, K. 17 (Same title as above, but as a technical report.) 18 http://www.icsi.berkeley.edu/~storn/deshort1.ps 17 [2] Storn, R. and Price, K. "Differential Evolution - A Simple and 18 Efficient Heuristic for Global Optimization over Continuous Spaces" 19 TR-95-012, ICSI, 1995. http://www.icsi.berkeley.edu/~storn/TR-95-012.pdf 20 21 [3] Ingber, L. "Simulated Annealing: Practice Versus Theory" J. of 22 Mathematical and Computer Modeling 18(11), 29-57, 1993. 23 24 [4] Corana, A. and Marchesi, M. and Martini, C. and Ridella, S. 25 "Minimizing Multimodal Functions of Continuous Variables with the 26 'Simulated Annealing Algorithm'" ACM Transactions on Mathematical 27 Software, March, 272-280, 1987. 19 28 """ 20 29 from abstract_model import AbstractFunction … … 25 34 26 35 class Corana(AbstractFunction): 27 """Corana's function:28 a multi-minima function, Equation (22) of [2]""" 36 __doc__ = \ 37 """a Corana's parabola function generator 29 38 30 def __init__(self): 31 AbstractFunction.__init__(self) 39 Corana's parabola function [1,2,3,4] defines a paraboloid whose 40 axes are parallel to the coordinate axes. This funciton has a 41 large number of wells that increase in depth with proximity to 42 the origin. The global minimum is a plateau around the origin. 43 44 The generated function f(x) is a modified version of equation (22) 45 of [2], where len(x) <= 4. 46 """ + _doc 47 def __init__(self, ndim=4): # is n-dimensional n=[1,4] (n=4 in ref) 48 AbstractFunction.__init__(self, ndim=ndim) 32 49 return 33 50 34 51 def function(self,coeffs): 35 """evaluates the Corana function for a list of coeffs52 """evaluates a 4-D Corana's parabola function for a list of coeffs 36 53 37 minimum is f(x)=0.0 at xi=0.0""" 54 f(x) = \sum_(i=0)^(3) f_0(x) 55 56 Where for \abs(x_i - z_i) < 0.05: 57 f_0(x) = 0.15*(z_i - 0.05*\sign(z_i))^(2) * d_i 58 and otherwise: 59 f_0(x) = d_i * x_(i)^(2), 60 with z_i = \floor(\abs(x_i/0.2)+0.49999)*\sign(x_i)*0.2 61 and d_i = 1,1000,10,100. 62 63 For len(x) == 1, x = x_0,0,0,0; 64 for len(x) == 2, x = x_0,0,x_1,0; 65 for len(x) == 3, x = x_0,0,x_1,x_2; 66 for len(x) >= 4, x = x_0,x_1,x_2,x_3. 67 68 Inspect with mystic_model_plotter using:: 69 mystic.models.corana -b "-1:1:.01, -1:1:.01" -d -x 1 70 71 The minimum is f(x)=0 for \abs(x_i) < 0.05 for all i.""" 38 72 d = [1., 1000., 10., 100.] 73 _d = [0, 3, 1, 2] # ordering for lower dimensions 39 74 #x = asarray(coeffs) #XXX: converting to numpy.array slows by 10x 40 x = coeffs 75 x = [0.]*4 # ensure that there are 4 coefficients 76 if len(coeffs) < 4: 77 _x = x[:] 78 _x[:len(coeffs)]=coeffs 79 for i in range(4): 80 x[_d.index(i)] = _x[i] 81 else: 82 x = coeffs 41 83 r = 0 42 84 for j in range(4): … … 48 90 return r 49 91 50 # def forward(self,pts): 51 # """n-dimensional Corana; returns f(xi) for each xi in pts""" 52 # return AbstractFunction.forward(self,pts) 53 92 minimizers = None #FIXME: degenerate minimum... (-0.05, 0.05) 93 # minimum is f(x)=0 for \abs(x_i) < 0.05 for all i.""" 54 94 pass 55 95 96 # cleanup 97 del _doc 56 98 57 99 # prepared instances 58 corana = Corana() 59 60 def corana1d(x): 61 """Corana in 1D; coeffs = (x,0,0,0)""" 62 return corana([x[0], 0, 0, 0]) 63 64 def corana2d(x): 65 """Corana in 2D; coeffs = (x,0,y,0)""" 66 return corana([x[0], 0, x[1], 0]) 67 68 def corana3d(x): 69 """Corana in 3D; coeffs = (x,0,y,z)""" 70 return corana([x[0], 0, x[1], x[2]]) 100 corana = Corana().function 71 101 72 102 # End of file -
mystic/models/dejong.py
r713 r751 6 6 # License: 3-clause BSD. The full license text is available at: 7 7 # - http://mmckerns.github.io/project/mystic/browser/mystic/LICENSE 8 """9 Rosenbrock's function, De Jong's step function, De Jong's quartic function, 10 and Shekel's function 8 __doc__ = _doc = """ 9 This is part of Storn's "Differential Evolution" test suite, as defined 10 in [2], with 'De Jong' function definitions drawn from [3]. 11 11 12 12 References:: 13 [1] Storn, R. and Price, K. Differential Evolution - A Simple and Efficient 14 Heuristic for Global Optimization over Continuous Spaces. Journal of Global 15 Optimization 11: 341-359, 1997. 16 17 [2] Storn, R. and Price, K. 18 (Same title as above, but as a technical report.) 19 http://www.icsi.berkeley.edu/~storn/deshort1.ps 13 [1] Storn, R. and Price, K. "Differential Evolution - A Simple and 14 Efficient Heuristic for Global Optimization over Continuous Spaces" 15 Journal of Global Optimization 11: 341-359, 1997. 16 17 [2] Storn, R. and Price, K. "Differential Evolution - A Simple and 18 Efficient Heuristic for Global Optimization over Continuous Spaces" 19 TR-95-012, ICSI, 1995. http://www.icsi.berkeley.edu/~storn/TR-95-012.pdf 20 21 [3] Ingber, L. and Rosen, B. "Genetic Algorithms and Very Fast 22 Simulated Reannealing: A Comparison" J. of Mathematical and Computer 23 Modeling 16(11), 87-100, 1992. 20 24 """ 21 25 from abstract_model import AbstractFunction 22 26 23 27 from numpy import sum as numpysum 24 from numpy import asarray, transpose 28 from numpy import asarray, transpose, inf 25 29 from numpy import zeros_like, diag, zeros, atleast_1d 26 30 from math import floor 27 31 import random 28 32 from math import pow 33 from mystic.tools import permutations 34 35 class Sphere(AbstractFunction): 36 __doc__ = \ 37 """a De Jong spherical function generator 38 39 De Jong's spherical function [1,2,3] is considered to be a simple 40 task for every serious minimization method. The minimum is located 41 at the center of the N-dimensional spehere. There are no local 42 minima. 43 44 The generated function f(x) is identical to equation (17) of [2], 45 where len(x) >= 0. 46 """ + _doc 47 def __init__(self, ndim=3): # is n-dimensional (n=3 in ref) 48 AbstractFunction.__init__(self, ndim=ndim) 49 return 50 51 def function(self,coeffs): 52 """evaluates an N-dimensional spherical function for a list of coeffs 53 54 f(x) = \sum_(i=0)^(N-1) x_(i)^2 55 56 Inspect with mystic_model_plotter using:: 57 mystic.models.sphere -b "-5:5:.1, -5:5:.1" -d 58 59 The minimum is f(x)=0.0 at x_i=0.0 for all i""" 60 f = 0. 61 for c in coeffs: 62 f += c*c 63 return f 64 65 minimizers = [0.] 66 pass 67 29 68 30 69 class Rosenbrock(AbstractFunction): 31 """Rosenbrock function: 32 A modified second De Jong function, Equation (18) of [2]""" 33 34 def __init__(self): 35 AbstractFunction.__init__(self) 36 return 37 38 def function(self,coeffs): 39 """evaluates n-dimensional Rosenbrock function for a list of coeffs 40 41 minimum is f(x)=0.0 at xi=1.0""" 70 __doc__ = \ 71 """a Rosenbrock's Saddle function generator 72 73 Rosenbrock's Saddle function [1,2,3] has the reputation of being 74 a difficult minimization problem. In two dimensions, the function 75 is a saddle with an inverted basin, where the global minimum 76 occurs along the rim of the inverted basin. 77 78 The generated function f(x) is a modified version of equation (18) 79 of [2], where len(x) >= 0. 80 """ + _doc 81 def __init__(self, ndim=2): # is n-dimensional (n=2 in ref) 82 AbstractFunction.__init__(self, ndim=ndim) 83 return 84 85 def function(self,coeffs): 86 """evaluates an N-dimensional Rosenbrock saddle for a list of coeffs 87 88 f(x) = \sum_(i=0)^(N-2) 100*(x_(i+1) - x_(i)^(2))^(2) + (1 - x_(i))^(2) 89 90 Inspect with mystic_model_plotter using:: 91 mystic.models.rosen -b "-3:3:.1, -1:5:.1, 1" -d -x 1 92 93 The minimum is f(x)=0.0 at x_i=1.0 for all i""" 42 94 x = [1]*2 # ensure that there are 2 coefficients 43 95 x[:len(coeffs)]=coeffs … … 45 97 return numpysum(100.0*(x[1:]-x[:-1]**2.0)**2.0 + (1-x[:-1])**2.0)#,axis=0) 46 98 47 #def forward(self,pts):48 # """n-dimensional Rosenbrock; returns f(xi,yi,...) for pts=(x,y,...)"""49 # return AbstractFunction.forward(self,pts)50 51 99 def derivative(self,coeffs): 52 """evaluates n-dimensional Rosenbrock derivative for a list of coeffs53 54 minimum is f'(x)=[0.0]*n at x=[1.0]*n; x must have len >= 2"""100 """evaluates an N-dimensional Rosenbrock derivative for a list of coeffs 101 102 The minimum is f'(x)=[0.0]*n at x=[1.0]*n, where len(x) >= 2.""" 55 103 l = len(coeffs) 56 104 x = [0]*l #XXX: ensure that there are 2 coefficients ? … … 67 115 68 116 def hessian(self, coeffs): 69 """evaluates n-dimensional Rosenbrock hessian for the given coeffs70 71 coeffs must have len >= 2"""117 """evaluates an N-dimensional Rosenbrock hessian for the given coeffs 118 119 The function f''(x) requires len(x) >= 2.""" 72 120 x = atleast_1d(coeffs) 73 121 H = diag(-400*x[:-1],1) - diag(400*x[:-1],-1) … … 80 128 81 129 def hessian_product(self, coeffs, p): 82 """evaluates n-dimensional Rosenbrock hessian product for the given coeffs 83 84 both p and coeffs must have len >= 2""" 130 """evaluates an N-dimensional Rosenbrock hessian product 131 for p and the given coeffs 132 133 The hessian product requires both p and coeffs to have len >= 2.""" 85 134 #XXX: not well-tested 86 135 p = atleast_1d(p) … … 93 142 return Hp 94 143 144 minimizers = [1.] #NOTE: minima in lower dimensions occur along the ridge 95 145 pass 96 146 97 147 98 148 class Step(AbstractFunction): 99 """De Jong's step function: 100 The third De Jong function, Equation (19) of [2]""" 101 102 def __init__(self): 103 AbstractFunction.__init__(self) 104 return 105 106 def function(self,coeffs): 107 """evaluates n-dimensional De Jong step function for a list of coeffs 108 109 minimum is f(x)=0.0 at xi=-5-n where n=[0.0,0.12]""" 149 __doc__ = \ 150 """a De Jong step function generator 151 152 De Jong's step function [1,2,3] has several plateaus, which pose 153 difficulty for many optimization algorithms. Degenerate global 154 minima occur for all x_i on the lowest plateau, with degenerate 155 local minima on all other plateaus. 156 157 The generated function f(x) is a modified version of equation (19) 158 of [2], where len(x) >= 0. 159 """ + _doc 160 def __init__(self, ndim=5): # is n-dimensional (n=5 in ref) 161 AbstractFunction.__init__(self, ndim=ndim) 162 return 163 164 def function(self,coeffs): 165 """evaluates an N-dimensional step function for a list of coeffs 166 167 f(x) = f_0(x) + p_i(x), with i=0,1 168 169 Where for abs(x_i) <= 5.12: 170 f_0(x) = 30 + \sum_(i=0)^(N-1) \floor x_i 171 and for x_i > 5.12: 172 p_0(x) = 30 * (1 + (x_i - 5.12)) 173 and for x_i < 5.12: 174 p_1(x) = 30 * (1 + (5.12 - x_i)) 175 Otherwise, f_0(x) = 0 and p_i(x)=0 for i=0,1. 176 177 Inspect with mystic_model_plotter using:: 178 mystic.models.step -b "-10:10:.2, -10:10:.2" -d -x 1 179 180 The minimum is f(x)=(30 - 6*N) for all x_i=[-5.12,-5)""" 110 181 f = 30. 111 182 for c in coeffs: … … 118 189 return f 119 190 120 # def forward(self,pts): 121 # """n-dimensional De Jong step; returns f(xi,yi,...) for pts=(x,y,...)""" 122 # return AbstractFunction.forward(self,pts) 123 191 minimizers = None #FIXME: degenerate minimum... [-5.00000001]to[-5.12000000] 192 # minimum is f(x)=(30 - 6*N) for all x_i=[-5.12,-5.00000001]""" 124 193 pass 125 194 126 195 127 196 class Quartic(AbstractFunction): 128 """De Jong's quartic function: 129 The modified fourth De Jong function, Equation (20) of [2]""" 130 131 def __init__(self): 132 AbstractFunction.__init__(self) 133 return 134 135 def function(self,coeffs): 136 """evaluates n-dimensional De Jong quartic function for a list of coeffs 137 138 minimum is f(x)=random, but statistically at xi=0""" 197 __doc__ = \ 198 """a De Jong quartic function generator 199 200 De Jong's quartic function [1,2,3] is designed to test the 201 behavior of minimizers in the presence of noise. The function's 202 global minumum depends on the expectation value of a random 203 variable, and also includes several randomly distributed local 204 minima. 205 206 The generated function f(x) is a modified version of equation (20) 207 of [2], where len(x) >= 0. 208 """ + _doc 209 def __init__(self, ndim=30): # is n-dimensional (n=30 in ref) 210 AbstractFunction.__init__(self, ndim=ndim) 211 return 212 213 def function(self,coeffs): 214 """evaluates an N-dimensional quartic function for a list of coeffs 215 216 f(x) = \sum_(i=0)^(N-1) (x_(i)^4 * (i+1) + k_i) 217 218 Where k_i is a random variable with uniform distribution bounded by [0,1). 219 220 Inspect with mystic_model_plotter using:: 221 mystic.models.quartic -b "-3:3:.1, -3:3:.1" -d -x 1 222 223 The minimum is f(x)=N*E[k] for x_i=0.0, where E[k] is the expectation 224 of k, and thus E[k]=0.5 for a uniform distribution bounded by [0,1).""" 139 225 f = 0. 140 226 for j, c in enumerate(coeffs): … … 142 228 return f 143 229 144 # def forward(self,pts): 145 # """n-dimensional De Jong quartic; returns f(xi,yi,...) for pts=(x,y,...)""" 146 # return AbstractFunction.forward(self,pts) 147 230 minimizers = None #FIXME: statistical minimum... of f(x) <= N*0.5 148 231 pass 149 232 150 233 151 234 class Shekel(AbstractFunction): 152 """Shekel's function: 153 The modified fifth De Jong function, Equation (21) of [2]""" 154 155 def __init__(self): 156 AbstractFunction.__init__(self) 157 return 158 159 def function(self,coeffs): 160 """evaluates 2-D Shekel's function at (x,y) 161 162 minimum is f(x)=0.0 at x(-32,-32)""" 235 __doc__ = \ 236 """a Shekel's Foxholes function generator 237 238 Shekel's Foxholes function [1,2,3] has a generally flat surface 239 with several narrow wells. The function's global minimum is at 240 (-32, -32), with local minima at (i,j) in (-32, -16, 0, 16, 32). 241 242 The generated function f(x) is a modified version of equation (21) 243 of [2], where len(x) == 2. 244 """ + _doc 245 def __init__(self, ndim=2): 246 AbstractFunction.__init__(self, ndim=ndim) 247 return 248 249 def function(self,coeffs): 250 """evaluates a 2-D Shekel's Foxholes function for a list of coeffs 251 252 f(x) = 1 / (0.002 + f_0(x)) 253 254 Where: 255 f_0(x) = \sum_(i=0)^(24) 1 / (i + \sum_(j=0)^(1) (x_j - a_ij)^(6)) 256 with a_ij=(-32,-16,0,16,32). 257 for j=0 and i=(0,1,2,3,4), a_i0=a_k0 with k=i \mod 5 258 also j=1 and i=(0,5,10,15,20), a_i1=a_k1 with k=i+k' and k'=(1,2,3,4). 259 260 Inspect with mystic_model_plotter using:: 261 mystic.models.shekel -b "-50:50:1, -50:50:1" -d -x 1 262 263 The minimum is f(x)=0 for x=(-32,-32)""" 163 264 A = [-32., -16., 0., 16., 32.] 164 265 a1 = A * 5 … … 168 269 r = 0.0 169 270 for i in range(25): 170 r += 1.0/ (1.0*i + pow(x-a1[i],6) + pow(y-a2[i],6) + 1e-15) 271 # r += 1.0/ (1.0*i + pow(x-a1[i],6) + pow(y-a2[i],6) + 1e-15) 272 z = 1.0*i + pow(x-a1[i],6) + pow(y-a2[i],6) 273 if z: r += 1.0/z 274 else: r += inf 171 275 return 1.0/(0.002 + r) 172 276 173 # def forward(self,pts): 174 # """2-D Shekel; returns f(xi,yi) for pts=(x,y)""" 175 # return AbstractFunction.forward(self,pts) 176 177 pass 277 minimizers = [(j,i) for (i,j) in sorted(list(permutations(range(-32,33,16),2))+[(i,i) for i in range(-32,33,16)])] 278 pass 279 280 # cleanup 281 del _doc 178 282 179 283 # prepared instances 180 rosen = Rosenbrock() 181 step = Step() 182 quartic = Quartic() 183 shekel = Shekel() 284 sphere = Sphere().function 285 rosen = Rosenbrock().function 286 step = Step().function 287 quartic = Quartic().function 288 shekel = Shekel().function 184 289 185 290 # End of file -
mystic/models/griewangk.py
r713 r751 6 6 # License: 3-clause BSD. The full license text is available at: 7 7 # - http://mmckerns.github.io/project/mystic/browser/mystic/LICENSE 8 """ 9 Griewangk's function 8 __doc__ = _doc = """ 9 This is part of Storn's "Differential Evolution" test suite, as defined 10 in [2], with 'Griewangk' function definitions drawn from [3]. 10 11 11 12 References:: 12 [1] Storn, R. and Price, K. Differential Evolution - A Simple and Efficient13 Heuristic for Global Optimization over Continuous Spaces. Journal of Global14 Optimization 11: 341-359, 1997.13 [1] Storn, R. and Price, K. "Differential Evolution - A Simple and 14 Efficient Heuristic for Global Optimization over Continuous Spaces" 15 Journal of Global Optimization 11: 341-359, 1997. 15 16 16 [2] Storn, R. and Price, K. 17 (Same title as above, but as a technical report.) 18 http://www.icsi.berkeley.edu/~storn/deshort1.ps 17 [2] Storn, R. and Price, K. "Differential Evolution - A Simple and 18 Efficient Heuristic for Global Optimization over Continuous Spaces" 19 TR-95-012, ICSI, 1995. http://www.icsi.berkeley.edu/~storn/TR-95-012.pdf 20 21 [3] Griewangk, A.O. "Generalized Descent for Global Optimization" 22 Journal of Optimization Theory and Applications 34: 11-39, 1981. 19 23 """ 20 24 from abstract_model import AbstractFunction … … 24 28 25 29 class Griewangk(AbstractFunction): 26 """Griewangk function:27 a multi-minima function, Equation (23) of [2]""" 30 __doc__ = \ 31 """a Griewangk's function generator 28 32 29 def __init__(self): 30 AbstractFunction.__init__(self) 33 Griewangk's function [1,2,3] is a multi-dimensional cosine 34 function that provides several periodic local minima, with 35 the global minimum at the origin. The local minima are 36 fractionally more shallow than the global minimum, such that 37 when viewed at a very coarse scale the function appears as 38 a multi-dimensional parabola similar to De Jong's sphere. 39 40 The generated function f(x) is a modified version of equation (23) 41 of [2], where len(x) >= 0. 42 """ + _doc 43 def __init__(self, ndim=10): # is n-dimensional (n=10 in ref) 44 AbstractFunction.__init__(self, ndim=ndim) 31 45 return 32 46 33 47 def function(self,coeffs): 34 """evaluates the Griewangkfunction for a list of coeffs48 """evaluates an N-dimensional Griewangk's function for a list of coeffs 35 49 36 minimum is f(x)=0.0 at xi=0.0""" 37 # ensure that there are 10 coefficients 38 x = [0]*10 39 x[:len(coeffs)]=coeffs 50 f(x) = f_0(x) - f_1(x) + 1 51 52 Where: 53 f_0(x) = \sum_(i=0)^(N-1) x_(i)^(2) / 4000. 54 and: 55 f_1(x) = \prod_(i=0)^(N-1) \cos( x_i / (i+1)^(1/2) ) 56 57 Inspect with mystic_model_plotter using:: 58 mystic.models.griewangk -b "-10:10:.1, -10:10:.1" -d -x 5 59 60 The minimum is f(x)=0.0 for x_i=0.0""" 40 61 #x = asarray(x) #XXX: converting to numpy.array slows by 10x 41 42 term1 = sum([c*c for c in x])/4000 62 term1 = sum([c*c for c in coeffs])/4000. 43 63 term2 = 1 44 for i in range( 10):45 term2 = term2 * cos( x[i] / sqrt(i+1.0) )64 for i in range(len(coeffs)): 65 term2 = term2 * cos( coeffs[i] / sqrt(i+1.0) ) 46 66 return term1 - term2 + 1 47 67 48 68 49 # def forward(self,pts): 50 # """10-D Griewangk; returns f(xi,yi,...) for pts=(x,y,...)""" 51 # return AbstractFunction.forward(self,pts) 52 69 minimizers = [0.] #XXX: there are many periodic local minima 53 70 pass 54 71 72 # cleanup 73 del _doc 55 74 56 75 # prepared instances 57 griewangk = Griewangk() 76 griewangk = Griewangk().function 58 77 59 78 # End of file -
mystic/models/poly.py
r713 r751 10 10 11 11 References:: 12 [1] Storn, R. and Price, K. Differential Evolution - A Simple and Efficient13 Heuristic for Global Optimization over Continuous Spaces. Journal of Global14 Optimization 11: 341-359, 1997.12 [1] Storn, R. and Price, K. "Differential Evolution - A Simple and 13 Efficient Heuristic for Global Optimization over Continuous Spaces" 14 Journal of Global Optimization 11: 341-359, 1997. 15 15 16 [2] Storn, R. and Price, K. 17 (Same title as above, but as a technical report.) 18 http://www.icsi.berkeley.edu/~storn/deshort1.ps 16 [2] Storn, R. and Price, K. "Differential Evolution - A Simple and 17 Efficient Heuristic for Global Optimization over Continuous Spaces" 18 TR-95-012, ICSI, 1995. http://www.icsi.berkeley.edu/~storn/TR-95-012.pdf 19 20 [3] Storn, R. "Constrained Optimization" Dr. Dobb's Journal, May, 21 119-123, 1995. 19 22 """ 20 23 from abstract_model import AbstractModel -
mystic/models/trott.py
r713 r751 6 6 # License: 3-clause BSD. The full license text is available at: 7 7 # - http://mmckerns.github.io/project/mystic/browser/mystic/LICENSE 8 """ 9 the fOsc3D Mathematica function 8 __doc__ = _doc = """ 9 This is drawn from the Mathematica GuideBook's example suite, with the 10 'fOsc3D' function definition found in [1]. 10 11 11 12 References:: 12 [4] Mathematica guidebook 13 [1] Trott, M. "The Mathematica GuideBook for Numerics", Springer-Verlag, 14 New York, 2006. 13 15 """ 14 16 from abstract_model import AbstractFunction … … 17 19 18 20 class fOsc3D(AbstractFunction): 19 """fOsc3D Mathematica function:20 fOsc3D[x_,y_] := -4 Exp[(-x^2 - y^2)] + Sin[6 x] Sin[5 y]""" 21 __doc__ = \ 22 """a fOsc3D function generator 21 23 22 def __init__(self): 23 AbstractFunction.__init__(self) 24 A fOsc3D function [1] for positive x_1 values yields 25 small sinusoidal oscillations on a flat plane, where 26 a sinkhole containing the global minimum and a few local 27 minima is found in a small region near the origin. 28 For negative x_1 values, a parabolic penalty is applied 29 that decreases as the x_1 appoaches zero. 30 31 The generated function f(x) is identical to equation (75) 32 of section 1.10 of [1], and requires len(x) == 2. 33 """ + _doc 34 def __init__(self, ndim=2): # is 2-dimensional 35 AbstractFunction.__init__(self, ndim=ndim) 24 36 return 25 37 … … 27 39 """evaluates the fOsc3D function for a list of coeffs 28 40 29 minimum is f(x)=? at x=(?,?)""" 41 f(x) = f_0(x) + p(x) 42 43 Where: 44 f_0(x) = -4 * \exp(-x_(0)^2 - x_(1)^2) + \sin(6*x_(0)) * \sin(5*x_(1)) 45 with for x_1 < 0: 46 p(x) = 100.*x_(1)^2 47 and otherwise: 48 p(x) = 0. 49 50 Inspect with mystic_model_plotter using:: 51 mystic.models.fosc3d -b "-5:5:.1, 0:5:.1" -d 52 53 The minimum is f(x)=-4.501069742528923 at x=(-0.215018, 0.240356)""" 30 54 x,y = coeffs 31 55 func = -4. * exp( -x*x - y*y ) + sin(6. * x) * sin(5. *y) … … 34 58 return func + penalty 35 59 36 # def forward(self,pts): 37 # """2-D fOsc3D; returns f(xi,yi) for pts=(x,y)""" 38 # return AbstractFunction.forward(self,pts) 39 60 minimizers = [(-0.215018, 0.240356)] #XXX: there are many local minima 40 61 pass 41 62 63 # cleanup 64 del _doc 42 65 43 66 # prepared instances 44 fosc3d = fOsc3D() 67 fosc3d = fOsc3D().function 45 68 46 69 # End of file -
mystic/models/wavy.py
r726 r751 6 6 # License: 3-clause BSD. The full license text is available at: 7 7 # - http://mmckerns.github.io/project/mystic/browser/mystic/LICENSE 8 """ 9 simple sine-based multi-minima functions 8 __doc__ = _doc = """ 9 Multi-minima example functions with vector outputs, which require 10 a 'reducing' function to provide scalar return values. 10 11 11 12 References:: … … 18 19 from numpy import sin, pi 19 20 20 class Wavy1(AbstractFunction): 21 """Wavy function #1:22 a simple multi-minima function""" 21 class Wavy1(AbstractFunction): #XXX: not a standard test function...? 22 __doc__ = \ 23 """a wavy1 function generator 23 24 24 def __init__(self): 25 AbstractFunction.__init__(self) 25 A wavy1 function has a vector return value, and oscillates 26 similarly to x+\sin(x) in each direction. When a reduction 27 function, like 'numpy.add' is applied, the surface can be 28 visualized. The global minimum is at the center of a 29 cross-hairs running along x_i = -pi, with periodic local 30 minima in each direction. 31 32 The generated function f(x) requires len(x) > 0, and a 33 reducing function for use in most optimizers. 34 """ + _doc 35 def __init__(self, ndim=2): # is n-dimensional 36 AbstractFunction.__init__(self, ndim=ndim) 26 37 return 27 38 28 39 def function(self,coeffs): 29 """evaluates the Wavy1 function for a list of coeffs40 """evaluates the wavy1 function for a list of coeffs 30 41 31 minimum is f(x)=0.0 at xi=-3.141592653589793""" 42 f(x) = \abs(x + 3*\sin(x + \pi) + \pi) 43 44 Inspect with mystic_model_plotter using:: 45 mystic.models.wavy1 -b "-20:20:.5, -20:20:.5" -d -r numpy.add 46 47 The minimum is f(x)=0.0 at x_i=-pi for all i""" 32 48 x = asarray(coeffs) #XXX: must be numpy.array 33 49 return abs(x+3.*sin(x+pi)+pi) 34 50 35 # def forward(self,pts): 36 # """n-D Wavy; returns f(xi,yi,...) for pts=(x,y,...)""" 37 # return AbstractFunction.forward(self,pts) 38 51 minimizers = [-pi] 39 52 pass 40 53 41 54 42 class Wavy2(Wavy1): 43 """Wavy function #2: 44 a simple multi-minima function""" 55 class Wavy2(AbstractFunction): #XXX: not a standard test function...? 56 """a wavy2 function generator 45 57 46 def __init__(self): 47 Wavy1.__init__(self) 58 A wavy2 function has a vector return value, and oscillates 59 similarly to \sin(x) in each direction. When a reduction 60 function, like 'numpy.add' is applied, the surface can be 61 visualized. There are degenerate global minima which are 62 periodic at 2*\pi, and similarly periodic local minima 63 at nearly the same location and magnitude. 64 65 The generated function f(x) requires len(x) > 0, and a 66 reducing function for use in most optimizers. 67 """ + _doc 68 def __init__(self, ndim=2): # is n-dimensional 69 AbstractFunction.__init__(self, ndim=ndim) 48 70 return 49 71 50 72 def function(self,coeffs): 51 """evaluates the Wavy2 function for a list of coeffs73 """evaluates the wavy2 function for a list of coeffs 52 74 53 (degenerate) minimum is f(x)=-6.9 at xi=-26.92""" 75 f(x) = 4*\sin(x)+\sin(4*x)+\sin(8*x)+\sin(16*x)+\sin(32*x)+\sin(64*x) 76 77 Inspect with mystic_model_plotter using:: 78 mystic.models.wavy2 -b "-10:10:.2, -10:10:.2" -d -r numpy.add 79 80 The function has degenerate global minima of f(x)=-6.987594 81 at x_i = 4.489843526 + 2*k*pi for all i, and k is an integer""" 54 82 x = asarray(coeffs) #XXX: must be a numpy.array 55 return 4 *sin(x)+sin(4*x) +sin(8*x)+sin(16*x)+sin(32*x)+sin(64*x)83 return 4*sin(x)+sin(4*x)+sin(8*x)+sin(16*x)+sin(32*x)+sin(64*x) 56 84 85 minimizers = None #FIXME: degenerate minimum... 86 # minimum is ??? 57 87 pass 58 88 89 # cleanup 90 del _doc 59 91 60 92 # prepared instances 61 wavy1 = Wavy1() 62 wavy2 = Wavy2() 63 93 wavy1 = Wavy1().function 94 wavy2 = Wavy2().function 64 95 65 96 # End of file -
mystic/models/zimmermann.py
r713 r751 6 6 # License: 3-clause BSD. The full license text is available at: 7 7 # - http://mmckerns.github.io/project/mystic/browser/mystic/LICENSE 8 """ 9 Zimmermann's function 8 __doc__ = _doc = """ 9 This is part of Storn's "Differential Evolution" test suite, as defined 10 in [2], with 'Zimmermann' function definitions drawn from [3]. 10 11 11 12 References:: 12 [1] Storn, R. and Price, K. Differential Evolution - A Simple and Efficient13 Heuristic for Global Optimization over Continuous Spaces. Journal of Global14 Optimization 11: 341-359, 1997.13 [1] Storn, R. and Price, K. "Differential Evolution - A Simple and 14 Efficient Heuristic for Global Optimization over Continuous Spaces" 15 Journal of Global Optimization 11: 341-359, 1997. 15 16 16 [2] Storn, R. and Price, K. 17 (Same title as above, but as a technical report.) 18 http://www.icsi.berkeley.edu/~storn/deshort1.ps 17 [2] Storn, R. and Price, K. "Differential Evolution - A Simple and 18 Efficient Heuristic for Global Optimization over Continuous Spaces" 19 TR-95-012, ICSI, 1995. http://www.icsi.berkeley.edu/~storn/TR-95-012.pdf 20 21 [3] Zimmermann, W. "Operations Research" Oldenbourg Munchen, Wien, 1990. 19 22 """ 20 23 from abstract_model import AbstractFunction 21 24 22 25 class Zimmermann(AbstractFunction): 23 """Zimmermann function:24 a non-continuous function, Equation (24-26) of [2]""" 26 __doc__ = \ 27 """a Zimmermann function generator 25 28 26 def __init__(self): 27 AbstractFunction.__init__(self) 29 A Zimmermann function [1,2,3] poses difficulty for minimizers 30 as the minimum is located at the corner of the constrained region. 31 A penalty is applied to all values outside the constrained region, 32 creating a local minimum. 33 34 The generated function f(x) is a modified version of equation (24-26) 35 of [2], and requires len(x) == 2. 36 """ + _doc 37 def __init__(self, ndim=2): 38 AbstractFunction.__init__(self, ndim=ndim) 28 39 return 29 40 30 41 def function(self,coeffs): 31 """evaluates theZimmermann function for a list of coeffs42 """evaluates a Zimmermann function for a list of coeffs 32 43 33 minimum is f(x)=0.0 at x=(7.0,2.0)""" 44 f(x) = max(f_0(x), p_i(x)), with i = 0,1,2,3 45 46 Where: 47 f_0(x) = 9 - x_0 - x_1 48 with for x_0 < 0: 49 p_0(x) = -100 * x_0 50 and for x_1 < 0: 51 p_1(x) = -100 * x_1 52 and for c_2(x) > 16 and c_3(x) > 14: 53 p_i(x) = 100 * c_i(x), with i = 2,3 54 c_2(x) = (x_0 - 3)^2 + (x_1 - 2)^2 55 c_3(x) = x_0 * x_1 56 Otherwise, p_i(x)=0 for i=0,1,2,3 and c_i(x)=0 for i=2,3. 57 58 Inspect with mystic_model_plotter using:: 59 mystic.models.zimmermann -b "-5:10:.1, -5:10:.1" -d -x 1 60 61 The minimum is f(x)=0.0 at x=(7.0,2.0)""" 34 62 x0, x1 = coeffs #must provide 2 values (x0,y0) 35 63 f8 = 9 - x0 - x1 64 #XXX: apply penalty p(k) = 100 + 100*k; k = |f(x) - c(x)| 36 65 c0,c1,c2,c3 = 0,0,0,0 37 66 if x0 < 0: c0 = -100 * x0 … … 42 71 return max(f8,c0,c1,c2,c3) 43 72 44 # def forward(self,pts): 45 # """2-D Zimmermann; returns f(xi,yi) for pts=(x,y)""" 46 # return AbstractFunction.forward(self,pts) 47 73 minimizers = [(7., 2.), (2.35477650, 5.94832200)] 74 #minima = [0.0, 0.69690150] 48 75 pass 49 76 77 # cleanup 78 del _doc 50 79 51 80 # prepared instances 52 zimmermann = Zimmermann() 81 zimmermann = Zimmermann().function 53 82 54 83 # End of file -
mystic/scripts/mystic_model_plotter.py
r747 r751 170 170 else: 171 171 raise ValueError("invalid format string: '%s'" % ','.join(option)) 172 if not x.size or not y.size: 173 raise ValueError("invalid format string: '%s'" % ','.join(option)) 172 174 return x,y 173 175 … … 344 346 parser = OptionParser(usage=__doc__) 345 347 parser.add_option("-b","--bounds",action="store",dest="bounds",\ 346 metavar="STR",default=" 0:1:.1, 0:1:.1",348 metavar="STR",default="-5:5:.1, -5:5:.1", 347 349 help="indicator string to set plot bounds and density") 348 350 parser.add_option("-l","--label",action="store",dest="label",\ … … 386 388 options = parsed_opts.bounds # format is "-1:10:.1, -1:10:.1, 1.0" 387 389 except: 388 options = " 0:1:.1, 0:1:.1"390 options = "-5:5:.1, -5:5:.1" 389 391 390 392 try: # plot using filled contours -
mystic/tests/solver_test_suite.py
r735 r751 1699 1699 x1 = x[0] 1700 1700 x2 = x[1] 1701 return -20.*sin( 0.1 + ((x1 - 4.)**2 + (x2 - 4.)**2)**(0.5))/ \1702 ( 0.1 + ((x1 - 4.)**2 + (x2 - 4.)**2)**0.5)1701 return -20.*sin((0.1 + (x1 - 4.)**2 + (x2 - 4.)**2)**(0.5))/ \ 1702 ((0.1 + (x1 - 4.)**2 + (x2 - 4.)**2)**0.5) 1703 1703 self.costfunction = venkataraman_91 1704 1704 self.ND = 2
Note: See TracChangeset
for help on using the changeset viewer.


|
Helix
|
#include <Screen.h>
Public Member Functions | |
| Screen () | |
| Any Child Vectors will be defined here. More... | |
| Screen (const Screen &c) | |
| Standard Copy Constructor. More... | |
| Screen & | operator= (const Screen &c) |
| Standard Assignment Operator. More... | |
| virtual | ~Screen () |
| Standard Destructor. More... | |
| Screen & | init () |
| Initialize this data object to have all empty or 0 values. More... | |
| Screen & | checkSize () |
| Call check_size() on all of our twine members. More... | |
| Screen (xmlNodePtr node) | |
| Construct from an XML Node. More... | |
| Screen & | readXmlNode (xmlNodePtr node) |
| Read an XML Node to set our contents. More... | |
| xmlNodePtr | createXmlNode (xmlNodePtr parent) const |
| Create an XML Node as a child of the given parent. More... | |
| xmlDocPtr | createXmlDoc () const |
| Create an XML Document from this data object. More... | |
Static Public Member Functions | |
| static vector< Screen * > * | readXmlChildren (xmlNodePtr parent) |
| Create a series of these objects by reading all children of the given parent. More... | |
| static void | createXmlChildren (xmlNodePtr parent, vector< Screen * > *vect) |
| Create a series of xml child nodes based on the input vector. More... | |
| static void | deleteVector (vector< Screen * > *vect) |
| Handle deleting a vector and its contents. More... | |
| static twine & | Name () |
| Static method to retrieve the name of this object. More... | |
| static void | insert (SqlDB &sqldb, Screen &obj) |
| static void | insert (SqlDB &sqldb, twine &stmt, bool useInputs, Screen &obj) |
| static void | insert (SqlDB &sqldb, vector< Screen * > *v) |
| static twine | insert_prepSQL (IOConn &ioc, Screen &obj) |
| static twine | insert_getSQL () |
| static void | update (SqlDB &sqldb, twine &ScrnName, twine &guid) |
| static void | update (SqlDB &sqldb, twine &stmt, bool useInputs, twine &ScrnName, twine &guid) |
| static twine | update_prepSQL (IOConn &ioc, twine &ScrnName, twine &guid) |
| static twine | update_getSQL () |
| static void | deleteByID (SqlDB &sqldb, twine &guid) |
| static void | deleteByID (SqlDB &sqldb, twine &stmt, bool useInputs, twine &guid) |
| static twine | deleteByID_prepSQL (IOConn &ioc, twine &guid) |
| static twine | deleteByID_getSQL () |
| static vector< Screen * > * | selectAllForApp (SqlDB &sqldb, twine &projappguid) |
| static vector< Screen * > * | selectAllForApp (SqlDB &sqldb, twine &stmt, bool useInputs, twine &projappguid) |
| static twine | selectAllForApp_prepSQL (IOConn &ioc, twine &projappguid) |
| static twine | selectAllForApp_getSQL () |
Public Attributes | |
| twine | ScrnName |
| All Data Members are public. More... | |
| twine | guid |
| twine | projappguid |
This is a generated data object class that is used for interfacing with a database. This class was generated based on the settings in the file: ../logic/dev/Screen.sql.xml
| Screen::Screen | ( | ) |
Any Child Vectors will be defined here.
Standard Constructor
| Screen::Screen | ( | const Screen & | c | ) |
Standard Copy Constructor.
|
virtual |
Standard Destructor.
| Screen::Screen | ( | xmlNodePtr | node | ) |
Construct from an XML Node.
| Screen & Screen::checkSize | ( | ) |
Call check_size() on all of our twine members.
|
static |
Create a series of xml child nodes based on the input vector.
| xmlDocPtr Screen::createXmlDoc | ( | ) | const |
Create an XML Document from this data object.
| xmlNodePtr Screen::createXmlNode | ( | xmlNodePtr | parent | ) | const |
Create an XML Node as a child of the given parent.
|
static |
This is an DELETE method. It is designed to run a single delete statement and return. If something goes wrong, we will throw AnException.
Developer Comments:
This removes a screen by id
Sql Statement:
delete from screen where guid = ?
|
static |
This one matches the above in functionality, but allows you to pass in the sql statement and a flag to indicate whether the input parameters will be used.
|
inlinestatic |
This method returns the sql statement that is used by the above functions.
|
static |
This method will do a replacement of all of the parameter markers in the sql statement with the standard parameter list that is defined. This is useful for automatically prepping a SQL statement that doesn't work with parameter markers.
|
static |
Handle deleting a vector and its contents.
| Screen & Screen::init | ( | ) |
Initialize this data object to have all empty or 0 values.
This is an INSERT method. It is designed to run a single insert statement and return. If something goes wrong, we will throw AnException.
Developer Comments:
This adds a new screen entry to our database
Sql Statement:
insert into screen (guid, projappguid, ScreenName) values ( ?, ?, ? )
This one matches the above in functionality, but allows you to pass in the sql statement and a flag to indicate whether the input parameters will be used.
This version of the method allows you to pass in a vector of objects to be inserted, and we will ensure that all of them are inserted within a single commit block within Sqlite.
|
inlinestatic |
This method returns the sql statement that is used by the above functions.
This method will do a replacement of all of the parameter markers in the sql statement with the standard parameter list that is defined. This is useful for automatically prepping a SQL statement that doesn't work with parameter markers.
|
static |
Static method to retrieve the name of this object.
|
static |
Create a series of these objects by reading all children of the given parent.
| Screen & Screen::readXmlNode | ( | xmlNodePtr | node | ) |
Read an XML Node to set our contents.
This is a SELECTTODO method. It is designed to run a single select statement and create a vector of data objects that represent the result set. This method returns the resulting vector of data objects. If something goes wrong, we will throw a SQLException.
Developer Comments:
This selects all screens for a given application
Sql Statement:
select guid, projappguid, ScreenName from screen where projappguid = ?
DataObject Attributes Used:
|
static |
This one matches the above in functionality, but allows you to pass in the sql statement and a flag to indicate whether the input parameters will be used.
|
inlinestatic |
This method returns the sql statement that is used by the above functions.
|
static |
This method will do a replacement of all of the parameter markers in the sql statement with the standard parameter list that is defined. This is useful for automatically prepping a SQL statement that doesn't work with parameter markers.
|
static |
This is an UPDATE method. It is designed to run a single update statement and return. If something goes wrong, we will throw AnException.
Developer Comments:
This updates the settings for a given screen in the database
Sql Statement:
update screen set ScreenName = ? where guid = ?
|
static |
This one matches the above in functionality, but allows you to pass in the sql statement and a flag to indicate whether the input parameters will be used.
|
inlinestatic |
This method returns the sql statement that is used by the above functions.
|
static |
This method will do a replacement of all of the parameter markers in the sql statement with the standard parameter list that is defined. This is useful for automatically prepping a SQL statement that doesn't work with parameter markers.
| twine Helix::Logic::dev::Screen::guid |
| twine Helix::Logic::dev::Screen::projappguid |
| twine Helix::Logic::dev::Screen::ScrnName |
All Data Members are public.


Card Title 1
Commodo knausgaard tousled non bitters, deep v kinfolk offal. Selfies disrupt duis in cardigan, irure chambray jean shorts celiac squid.
Card Title 2
Yr typewriter do taxidermy heirloom wayfarers.
Card Title 3
Godard iPhone semiotics enamel pin. Everyday carry taiyaki fam keffiyeh, kogi non messenger bag next level mollit.
Card Title 4
Vegan exercitation before they sold out mumblecore truffaut actually. Live-edge shoreditch put a bird on it bushwick godard.
Card Title 5
Lo-fi blue bottle incididunt man braid. Adipisicing before they sold out taiyaki coloring book palo santo cornhole cupidatat raw denim gentrify plaid.
Card Title 6
Tote bag succulents cray, chartreuse flannel meh irure lorem farm-to-table williamsburg wolf gluten-free. Celiac pickled enim truffaut vexillologist four loko.
Card Title 7
Cillum you probably haven't heard of them gochujang, chillwave man bun chia in whatever organic venmo poutine keffiyeh post-ironic. Ullamco offal ex normcore yuccie williamsburg try-hard freegan nostrud knausgaard.
Card Title 8
Neutra trust fund offal af williamsburg sustainable lo-fi dolor. Ex prism quinoa, pitchfork in portland etsy anim occaecat laborum selfies.
Card Title 9
Marfa tbh 8-bit fashion axe succulents neutra ullamco normcore small batch fam. Direct trade mollit activated charcoal, +1 lyft readymade ullamco ethical schlitz. Sed cillum wolf, lo-fi occaecat commodo keytar.
Card Title 10
Gluten-free you probably haven't heard of them try-hard, paleo duis keytar vegan sint knausgaard.
Card Title 11
Adaptogen asymmetrical DIY truffaut listicle banh mi. Consectetur lorem raw denim irony keytar, pour-over blog et edison bulb man bun crucifix. Lumbersexual narwhal 90's shabby chic retro cold-pressed. Four dollar toast portland bespoke tumeric, viral affogato stumptown deserunt. Asymmetrical gentrify organic post-ironic, qui vexillologist shaman dreamcatcher. Mixtape la croix yr, literally glossier aute brooklyn post-ironic est. Church-key ennui crucifix, ethical pop-up swag normcore ugh aute shoreditch.
Card Title 12
Brooklyn lorem messenger bag, vegan magna enim kombucha raw denim VHS.


{% extends 'training_template.html' %} {% load staticfiles %} {% load lesson_extras %} {% block training_content %}
This is the list of all SDCs that BSAC currently offer, expand an item to find out more and to register your interest. Once you've completed an SDC, and passed the assessment if applicable, a little tick will show next to the title.
| Title |
|---|
|
{% if is_training %}
{{ sdc.interested_members.count }}
{% endif %}
{% if profile|has_sdc:sdc %}
{% else %}
{% if sdc.other_requirements and profile|cando_sdc:sdc %}
{% elif not sdc.other_requirements and profile|cando_sdc:sdc %}
{% else %}
{% endif %}
{% endif %}{{ sdc.title }}
{# #}
{{ sdc.description|linebreaks }}
{# #}
{% if is_training %}
You have noted that you're interested in taking this course Interested Members
|
You currently have not completed any SDCs.
{% endif %}| SDC Attained | |
| You could do this SDC | |
| Your qualification is too low to do this SDC | |
| This SDC has complex requirements |


Your request has submitted successfully. You will receive a text message when driver has arrived at the pick-up location. Please call at<PHONE_NUMBER> for request cancellation. Thank you for using SafeRide. Have a good night!


class: center, middle, inverse, title-slide # Predicting How Points End in Tennis ## ETC3250 Project ###
Jacqueline Vella
Arunabh Banerjee
Weihao Li
Shayne D’Lima
David Cai --- # Feature Engineering #### Distance and Positioning - Position of winners when making final or penultimate shot - Position of losers when they made or recieved the final shot - Distance travelled, distance from the centre line and depth of point winners and losers - Distance of winners and losers from the centre line

 #### Shot composition - Whether the set-up for the final shot based on the penultimate shot affected the outcome - Differences in shot speed, net clearance, and ball bounce position - Time to set up shot based on previous shot trajectory #### Winning Shot - How the winner won the shot - If a server won the point, the number of shots in a rally can determine whether they hit a winner or the opponent made an error - Distance covered by a non-server when they made an error --- # Model Methodology

 ### Preliminary XGBoost Application - 10 fold cross validation for reasonable bias and variance - Multi:softprobe - helpful for problematic cases - Milticlass logloss evaluation metric - characterises error as the uncertainty in our classifiers - Other choices for model were; nrounds = 200, eta = 0.05, gamma = 0 - Found the best iterations, in terms of mlogloss, for each folds and created a best xgBM model for them - Then determined variable importance and training and test accuracy Diagnostics - Divergence around 40 iterations - Likely minimised over fitting - test loss is minimal and relatively close to training error - Optimal iteration around 160 ---

 ### Bagging Neural Networks - 5k - 30k trainable parameters - 0.2-0.5 dropout rate & batch normalization - Activation Function: ReLu or LeakyReLu. SoftMax for output layer. - No activation function for first hidden layer - 300 - 2000 epochs - 10 - 30 Neural Networks with random hyper parameters to build a vote matrix - Don't need to use cross validation (save time) ### Stacked Neural Networks - 9% data: sub models (Neural Networks) - 81% data: meta-learner (Neural Networks) - use raw inputs and prediction of sub models as the inputs of meta-learner - cross validation for meta-learner ### Ensemble XGBoost and RF - Created different models - Tuned parameters and changed some to be more suitable to data - Utilised inbuilt xgb cross validation - Created an ensemble with the use of weighted averages - Provided different weights to models to optimise test set and choose the model that maximsed test accuracy --- # Results  - Neural network performed better in public leaderboard and XGBoost performed better in private leaderboard - Neural networks may have been susceptible to overfitting and over-parametrization - Methods do not use the same inputs, utilised different parameters Random Forest: - Extremely flexible and high accuracy - Requires considerable tuning for an optimal forest - Overfitting easily occurred XGBoost: - Decrease speed of optimizing - Prevents overfitting - Greater test accuracy - Considerable scope for improvement within the model ---

 Neural Networks: - Speed of improvement in accuracy is faster when data is larger - Able to get higher accuracy - Complex system - Easy to cause overfitting - Each execution takes considerable time Features: - Errors in the most important new feature - Can distinguish winner well but cannot distinguish unforced and forced error well


Fill in the bracket by picking all teams that qualify for the knockout round based on their group stage standings, and pick the winner of each knockout round game all the way to the World Cup Final.
You will earn points for selecting the correct team for each round of the bracket. Points are awarded according to the following tables:
Knockout Round Qualifiers (Based on Group Standings)
| |
Group winner |
Group 2nd place |
| Finish as predicted |
3 |
2 |
| Otherwise qualifies |
1 |
1 |
Points are only awarded for teams that qualify for the knockout round.
For an example of the above points table, if you pick Spain to win Group B and they win Group B, then you earn 3 points for that pick. Alternatively,
if you pick Spain to win Group B and they do not win the group, but qualify for the knockout round, then you earn 1 point.
If you pick Portugal to finish second in Group B and they finish second in the group, then you earn 2 points for that pick. Alternatively,
if you pick Portugal to finish second in Group B and they do not finish second in the group, but qualify for the knockout round, then you earn 1 point.
Knockout Round Matches
| Round of 16 |
Quarter-Final |
Semi-Final |
Final |
3rd Place |
| 5 |
10 |
15 |
20 |
12 |
Contestants are ranked after each round based on total points from highest to lowest. Pool winners are declared after the World Cup Final. (參賽者按照從最高到最低的總分數在每輪之後進行排名。世界杯決賽后宣布優勝者。)
详细中文遊戲規則：
在每一個空格裏，選擇你認為會勝出的一隊。
得分根據以下：
分組賽：
- 選對分組首名得3分，第二名得2分。
- 選對出線隊伍，但名次不正確，得1分。
例如：
西班牙以首名分組賽出線，選西班牙首名得3分，選西班牙次名得1分。西班牙以次名出線，選西班牙第一名得1分，選第二名得2分。
十六強淘汰賽：選對得 5分
八強淘汰賽：選對得10分
四強淘汰賽：選對得15分
決賽：選對得20分
季軍戰：選對得12分
Important Points (注意事项)
Pick Deadline
The deadline for joining the pool is Thursday June 14, 2018 at 11:00 am Eastern, kickoff of the opening game of the World Cup.
Point Scoring
Each team that you pick to win a particular match does not need to be playing the team you predicted them to face for you to score points for the win.(淘汰賽階段，只要你選擇的隊伍勝出，你無需同時選出它对壘的球隊，即可赢取你應得的分数。)
Prize of Pool (彩池奖金)
Every entry costs $5. (每注5加元。總獎金 = 總投注數目 x 5加元)
If total # of entries are more than 30, 1st wins 60% prize of the pool; 2nd wins 30%; 3rd wins 10%; last place finisher gets back $5 from the first place prize money. (如果總投注數達到30注以上，第一名獲得60％彩池獎金;第二名獲30％;第三名獲10％。包尾者取回本金，由第一名彩金扣出。)
If total # of entries are less than 30, 1st wins 70% prize of the pool; 2nd wins 30%; last place finisher gets back $5 from the first place prize money. (如果總投注數少於30注，則第一名獲70％彩池獎金; 第二名獲30％。包尾者取回本金，由第一名彩金扣出。)
**To add to the fun of the pool, SFC admin will sponsor two additional prizes: the 4th prize and the 5th prize, which will get fixed amount of $15 and $10 respectively. (鑒於如此高漲的參與熱情，SFC Admin決定增加第四名和第五名獎項，分別可獲得$15和$10獎金。增加獎項獎金由SFC俱樂部贊助！)


Enter your information new person!
{% module xsrf_form_html() %} First name:
User name:
Email address:


R&D center
powertools
generators
app starter with “all the things”
css :: bootstrap
js :: backbone
productivity :: grunt
testing ::jasmine+phantom
flow...
ctrl-s
lint js
run tests
live-reload
build system...
automatically...
combine, minify, obfuscate js & templates
compile sass, combine, minify css
optimize images
revision assets
deploy!
build and publish a (simple) app in ~2 min
runs on node.js
Win/Mac/Linux
npm install yo
npm install {generator}
yo {generator}
Let's GO!!!
of interest
generator-web-app
generator-dojo-widget
generator-esri-appbuilder-js


Manager Application
Dashboard
Number of workers
Configuration
Auto-scale Policy
Logout
DNS Name:
http://ece1779-243010613.us-east-1.elb.amazonaws.com/
All Instances
#
Instance Id
Instance Ip
Image Ip
State
Actions
Scale Up
Scale Down
Clear All
Terminate


class Docker::APIClient
- Docker::APIClient
- Reference
- Object
Overview
The Docker::APIClient contains all of the methods created by the various files.
Included Modules
Defined in:
docker/client/errors.crdocker/client/ipam_config.cr
docker/client/networking_config.cr
docker/client/containers.cr
docker/client/images.cr
docker/client/info.cr
docker/client/port_bindings.cr
docker/client/restart_policy.cr
docker/client/throttle_device.cr
docker/api_client.cr
Constant Summary
-
DEFAULT_CERT_PATH =
"#{ENV["HOME"]}/.docker"
Constructors
Instance Method Summary
- #cert_path
-
#cert_path=(path : String)
Also accessible via DOCKER_CERT_PATH environment variable.
- #client : HTTP::Client
- #client=(client : HTTP::Client)
- #default_client_url
-
#get(*args, **options)
Make a GET request to the docker daemon, using the already established Docker::APIClient
-
#get(*args, **options, &block)
Make a GET request to the docker daemon, using the already established Docker::APIClient
-
#head(*args, **options)
Make a HEAD request to the docker daemon, using the already established Docker::APIClient
-
#head(*args, **options, &block)
Make a HEAD request to the docker daemon, using the already established Docker::APIClient
-
#patch(*args, **options)
Make a PATCH request to the docker daemon, using the already established Docker::APIClient
-
#patch(*args, **options, &block)
Make a PATCH request to the docker daemon, using the already established Docker::APIClient
-
#post(*args, **options, &block)
Make a POST request to the docker daemon, using the already established Docker::APIClient
-
#post(*args, **options)
Make a POST request to the docker daemon, using the already established Docker::APIClient
-
#put(*args, **options, &block)
Make a PUT request to the docker daemon, using the already established Docker::APIClient
-
#put(*args, **options)
Make a PUT request to the docker daemon, using the already established Docker::APIClient
-
#url : URI
The URL at which the docker client can be reached.
- #url=(url : URI)
- #url=(raw_url)
-
#verify_tls=(verify_tls : Bool?)
Also accessible via DOCKER_TLS_VERIFY environment variable.
Instance methods inherited from module Docker::APIClient::Images
[](image)
[],
[]?(image)
[]?,
images(all : Bool = false, filters : ImageFilters = ImageFilters.none)images(*, all : Bool = false, before : Tag? = nil, dangling = true, label : String | Tuple(String, String) | Nil = nil, reference : Tag? = nil, since : Tag? = nil) images
Instance methods inherited from module Docker::APIClient::Containers
[](id_or_name : String, *, since : String? = nil, before : String? = nil)[](id_or_name : Regex, *, since : String? = nil, before : String? = nil) [], containers(all : Bool = false, limit : Int32? = nil, since : String? = nil, before : String? = nil, size : Bool = false, filters = {} of String => Array(String)) containers
Instance methods inherited from module Docker::APIClient::Info
info
info
Constructor Detail
Instance Method Detail
Also accessible via DOCKER_CERT_PATH environment variable. If the envvar is not empty or this varable is not nil, it must be a path to a directory on the filesystem which contains the following files containing a valid SSL certificate:
- ca.pem
- key.pem
- cert.pem
Setting cert_path and not having these files present will raise an exception.
Make a GET request to the docker daemon, using the already established Docker::APIClient
Make a GET request to the docker daemon, using the already established Docker::APIClient
Make a HEAD request to the docker daemon, using the already established Docker::APIClient
Make a HEAD request to the docker daemon, using the already established Docker::APIClient
Make a PATCH request to the docker daemon, using the already established Docker::APIClient
Make a PATCH request to the docker daemon, using the already established Docker::APIClient
Make a POST request to the docker daemon, using the already established Docker::APIClient
Make a POST request to the docker daemon, using the already established Docker::APIClient
Make a PUT request to the docker daemon, using the already established Docker::APIClient
Make a PUT request to the docker daemon, using the already established Docker::APIClient
The URL at which the docker client can be reached. It is advisable to use a unix socket, which may be passed to this using the URL format "unix://*"


Tooltiper
Tooltiper is a jQuery tooltip plugin. It allows us to make customizable tooltips on webpages based on common title
attribute that can be used with almost all tags.
HTML-code inside the tooltip, different animations & appearance/disappearance speed, binding to the cursor and more make Tooltiper quite handy.
How to import
Use npm i @curveballerpacks/tooltiper
to install the package. It has no standalone styles, all needed styles can be passed in to the plugin as settings.
Tooltiper makes use of Node's modules. It requires its only dependency - jQuery - and can be required itself in your script via require("@curveballerpacks/tooltiper");
. NPM will manage possible duplicates/conflicts of jQuery versions in its dependency graph mostly on its own.
Usage
Basically, the plugin can be used like this: $('.example1 a').tooltiper();
. Also a number of settings listed below can be passed in like this:
$('.example6 a').tooltiper({
tooltipClass: "js-fancy-class",
tooltipElement: "div",
tooltipCss: {"color": "red"}
});
to adjust plugin's behaviour.
Settings
The following settings can be passed in to the plugin as an object key/value pairs (default values go after =):
tooltipType
= text - tooltip's type: plain text or html.tooltipAppearenceMode
= fadeIn - effect's name.tooltipDisappearenceMode
= fadeOut - effect's name.tooltipOffset
= 10 - distance between tooltip and element, in pixels.tooltipBound
= element - is it bound to the element or the cursor.tooltipShowSpeed
= fast - speed like 'fast'.tooltipHideSpeed
= fast - speed like 'fast'.tooltipClass
= js-tooltiper - default tooltiper calss.tooltipElement
= span - default tooltiper HTML-element.tooltipCss
- css key/value pairs object, see the defaults in the code.
More examples
Examples in action and more detailed explanation can be found on codepen or example page inside this package.


--- title: "Post Tiles Image Only" type: tiles scss: _assets/stylesheets/_tiles.scss usage: "Group of image only post teaser tiles." ---


Version 1.0 (April 2017). Made
by Neil Thapen.
Thanks to m1el and ompuco for inspiration.
Line-drawing code adapted from
woscope by m1el.
This uses an upsampling filter to simulate a digital-analogue
converter between the computer and the oscilloscope. It turns sharp corners
in the signal into curves, loops or ringing artefacts.
If the page is running slowly, try disabling upsampling.
Enter mathematical expressions (in javascript). t is time and n is the number of samples so far.
You can use mx and my for the signal from microphone, if it's active.
x is the left channel, y the right.
Unavailable in Safari. Only stereo in Chrome.
To get audio from another program,
you can either physically connect your audio output to your audio input,
or use third party software,
such as VB-CABLE on Windows
or Soundflower with
SoundflowerBed on MacOS.


| When | April, 27 2016, from 6-8 PM |
| Where | Carnegie Library of Pittsburgh, East Liberty |
| Contact | @MaptimePGH<EMAIL_ADDRESS>|
| Thanks | Carnegie Library of Pittsburgh and OpenPGH |
In this session we’ll do a walkthrough of MapWarper, an excellent online tool for georeferencing images of maps.
Georeferencing is the process of giving non-geographic data the geographic attributes it needs to be shown on a digital map. With MapWarper, we’ll show how to take maps that are only stored as images (e.g., scans of historic maps), place them in the correct virtual geographic context, and view them online.
We’ll then turn everyone loose on the University of Pittsburgh’s excellent digital historic maps collection, which includes many amazing but un-georeferenced historic maps of Pittsburgh.
See this “urban scratch-off map” for an example of a fun way to interact with georeferenced historic maps. With a good inventory of georeferenced historic local maps, we can work with OpenPGH to build something similar here!
New to Maptime? New to mapping? *Maptime is geared for beginners, and the session will be interactive so that you have plenty of opportunities to learn!**
We had a great Maptime session at CMU last night, sponsored by SUDS and OpenPGH.
.@MaptimePgh @sudscmu @GassChristianB yay! #Maptime is back! pic.twitter.com/CrZPxrWzLC
— Regional Data Center (@wprdc) March 30, 2016
The real event is chatting after the workshop. #mapnerds @SUDScmu @wprdc @MaptimePGH pic.twitter.com/K7sD4DrOi8
— Lauren Renaud (@RenRidesCycles) March 30, 2016
The slide deck is available at maptime.io/pittsburgh/presentations/2016-03-30-cartodb.
Huge thanks to MaptimeDC for pulling together a killer CartoDB tutorial wiki, which I used for creating the slide deck.
| When | March 30, 2016 - 5:30 PM |
| Where | Wean Hall @ Carnegie Mellon University, Room 4623 |
| Contact | @MaptimePGH<EMAIL_ADDRESS>|
| Thanks | SUDS and OpenPGH |
Wean Hall is the large concrete building just off the southern ‘Mall’ of CMU’s campus:
In this session we’ll provide an introduction to the basic geographic, cartographic, and geographic information systems (GIS) concepts essential to working with data in digital mapping and web maps. These concepts will be explained within the context of working with Open Street Map (OSM) and FOSS-geo tools like QGIS, Mapbox, CartoDB, and Leaflet. We’ll then work through an example using WPRDC data and an off-the-shelf web mapping platform (TBD).
New to Maptime? New to mapping? Maptime is geared for beginners, and the session will be interactive so that you have plenty of opportunities to learn!
It’s been a while!
After our first session in February, we took a step back to see how we might better schedule with and support Open PGH, the local Code For America brigade. To that end, we are happy to announce that our next session will be integrated with OpenPGH’s hosting of the National Day of Civic Hacking (NDOCH).
In the morning, we will:
In the afternoon, you’ll use these skills and resources to work with real data on real challenges.
New to Maptime? New to mapping? Fear not! Maptime is geared for beginners, and the session will be interactive so that you have plenty of opportunities to learn!
We had a great first MaptimePGH session on February 19 at the Carnegie Museum. The slides from that session are available here. We also got out and promoted the group at the Civic Tech Fair the coincided with Steel City Codefest February 22.
The event will be held in the Ford-Mateer classroom at the Carnegie Museum in Oakland, which can be accessed through the portal entrance at the rear of the museum (40.443060, -79.949607). You can reach the portal entrance through the parking area behind the museum from the intersection of Forbes and Craig or you can walk from Schenley Drive by the right side of the Carnegie Libary to the parking area in rear. Take a left before you reach the courtyard. After you pass through the portal entrance, the Ford-Mateer Classroom is the first classroom on the left after you pass through the glass double doors.
Our interactive session will go over the basics of digital mapping within the context of using and editing Open Street Map (OSM)*. We will cover:
The goal is to provide a general overview of some core concepts, tools, and resources available to enable everyone to get started working independently with digitial maps, geographic data, and Open Street Map. The session will be interactive and informal, with lots of time to ask questions and digress!
If you have a chance prior to this meet-up, please create a free account for Open Street Map @ https://www.openstreetmap.org/user/new - we will be using the online OSM editor “iD” for most of the session.
Remember, no prior experience is required and Maptime is always interactive, so don’t forget to bring your laptop or tablet!
*Please note: we’ve changed the agenda for the session slightly since we originally posted. We will be using only online web tools (though we will likely use Mapbox Studio and QGIS in future sessions).
Hope to see you there!


Demo of clearing and exporting data from Firebase
Loading...
Sign Out
Delete account
Export Data
You are signed out.
Sign In


Design Director at Paystack
My job at Paystack is to set expectations, encourage ownership, drive collaboration, invent and maintain systems for designers to do high quality work.
I joined Shola Akinlade and Ezra Olubi in 2015 to build the first version of the brand, website and product and I've been stuck here since. In 2020, the company was acquired by Stripe.
I've worked in multiple roles at Paystack and have very good context and intuition about the product. I'm able to articulate problems and come up with solutions quickly.
Paystack is by far one of the best experiences of my life. The company values are a compass for my personal life, the people are kind but critical, the work is meaningful and my role is constantly evolving. Most importantly, I have the support and autonomy to invent things.
paystack.com/about
Delivery Science
In early 2014, I joined Lanre Oyedotun at Chronos as a web designer. A few months later, he rebranded the company to Delivery Science and teamed up with Chuka Ofili and Ezra Olubi. The plan was to quit consulting to build and sell logistics software later called FieldInsight.
We built our MVP quickly but couldn't get customers. Just to get in the door, we often had to build variants of the product or solve entirely different problems for decision makers. When we ran out of money, we resorted to consulting.
Lanre encouraged us to learn by doing and that's what we all did. Angular JS. Version control. Node. Sails. Microservices. Container architecture. Everybody was learning everything. We were often working on multiple things at a time, so we tried new things on different products.
We were a little prone to over-engineering, but it was a great learning environment.
Ezra and I left DS for Paystack at the end of 2015. Three of our friends/colleagues—Seike Ibojo, Loknan Nanyaks and Shope Johnson—also joined us later.
DS was a very formative experience for me. I learnt how to do good work fast while also learning. I got a well-rounded education in product development. I also learnt how to build team spirit.
Unfortunately, the company didn't make it.
fieldinsight.co
Helloworld
In 2014, Timi Ajiboye and I started working together as Helloworld. For the next four years, we made digital products for clients and small experiments of our own.
Helloworld was also a collective. On large projects, we hired friends like Onyekachi Mbaike, Lolu Bodunwa, Segun Famisa, Efe Money e.t.c. to help.
Timi now leads BuyCoins and is building Backdrop. We no longer run Helloworld but we both still value and hire independent creators in our separate careers.
helloworld.ng
timiajiboye.com
Devcenter
In 2013, I started a database of Nigerian designers called Curation. It didn't go far, but in the process I founded Devcenter with Akin Falomo, Seun Awoyele and Kolawole Balogun.
At first, Devcenter was a site for sharing side projects. Slowly, it started to evolved into a community. I worked on it for two years until I joined Paystack.
Under Akin's direction, Devcenter is now a community of 12,000+ software developers, creatives and technology professionals.
devcenter.co


First page Back Continue Last page Overview Graphics
Tamper proof points, first try
function Point(x, y) {
return Object.freeze({
x: +x,
y: +y
});
}
But
Doesn’t inherit methods from Point.prototype.
(new Point(3,4) instanceof Point) === false
When adequate, stop here.


HOME
SERVICES
ABOUT BATMAN
WHY BATMAN
MERCHANDISE
Batman Merchandise
Browse
Batman Keychains
Batman T-shirt
Batman Mug
Batman key chains-1
Rs 100
view product
Batman key chains-2
Rs 100
view product
Batman key chains
Rs 100
view product


You are editing a page which can contain markdown and html.
Just plain text with blank lines between paragraphs works fine, or you can check
out the
markup syntax help page.
Attachments may be added by dragging fies from your desktop to the region below.


With each design, paving the path for a greater sense of light, making room for silliness and laughter. In each one of us is a creative spirit, waiting not to be lulled to dormancy by stolidity and seriousness, but itching to be ignited by the fire that makes us sing, dance, love. Here: take my design, let us share in the beauty that makes humanity great, in the heartbeat we feel in every human chest. Laugh with me, let's have some fun! I promise to design the only way I know how:


on what the Buddha taught
Saṃyutta Nikāya
Mahāvaggo
Saccasamyuttaṃ
Dhammacakkappavattanavaggo
Khandhasuttaṃ
SN56.13
“These four, almsmen, noble truths.
Which four?
And which, almsmen, suffering; a noble truth?
’Five-groups-with-grasping’ is to this to be answered; viz. the form-group-with-grasping, the feeling-group-with-grasping, the perception-group-with-grasping, the inclinations-group-with-grasping, the cognition-group-with-grasping. This is called, almsmen, suffering; a noble truth.
And which, almsmen, rise of suffering; a noble truth?
The going on of thirst, accompanied by joy and passion finding its delight in this and that, pertaining to further existence; viz. thirst for lust, thirst for existence, thirst for non-existence. This is called, almsmen, rise of suffering; a noble truth.
And which, almsmen, cessation of suffering; a noble truth?
What, with complete fading away and cessation of just this thirst, is the giving up, the forsaking, the release, the doing away with. This is called, almsmen, cessation of suffering; a noble truth.
And which, almsmen, the path leading to cessation of suffering; a noble truth?
This very noble eightfold path; viz. right view, right attitude, right speech, right doing, right way of life, right effort, right recollection, right concentration. This is called, almsmen, the path leading to cessation of suffering; a noble truth.
Now these, almsmen, are four noble truths. Therefor, almsmen, ’This; suffering’ is the effort to be made. ’This; rise of suffering’ is the effort to be made. ’This; cessation of suffering’ is the effort to be made. ’This; the path leading to cessation of suffering’ is the effort to be made.“


Compatibility guess:
{{? it.compatible }}
Should work.
{{??}}
Won't work.
{{?}}
Container compatible: {{= it.compatibility_data.container == 1 ? "yes" : "no" }}
Video compatible: {{= it.compatibility_data.video == 1 ? "yes" : "no" }}
Audio compatible: {{= it.compatibility_data.audio == 1 ? "yes" : "no" }}
Full Compatibility Debugging Data:
{{= it.require('util').inspect(it.compatibility_data, {depth: null}) }}


Unzip OpenSSL, change to the directory where you downloaded the certificates and run (all in one line):
C:\path\to\openssl\bin\openssl pkcs12 -export
-in cert-XXXX.pem
-inkey pk-XXXX.pem
-name my_amazon_cert
-out my_amazon_cert.p12
Make a note of the password you used, we'll need to configure the sample with this value.
The name specified above is the alias for the certificate and that will also be needed to configure the sample.
To view details of the certificate you just created (to look up the alias, for e.g.) use this:
C:\path\to\JDK\bin\keytool -v -list -storetype pkcs12 -keystore my_amazon_cert.p12


Equality; an important theme of the Civil Rights Movement. This interview illuminates this theme well. Burt talked about so many positive aspects of his life during the Civil Rights Movement, but a couple negative aspects he explained were related to equality. He spoke about how he remembers seeing other white schools with these amazing turf football fields, sports teams, and resources in school that the colored schools did not have access to. He explains that even though him and lots of his friends still succeeded without these resources, they may have made his and all the other students lives easier and more productive.
The information I received in the oral history interview helps me to understand an important part of the movement, the educators. Burt went on and on about how amazing his teachers were while he was in school. He explains how helpful, caring and supportive they were. He also mentioned that with all the racial discrimination and racial segregation, the teachers were never talking about the issues going on in the world, they never seemed angry about it at school, they were always focused on giving the best education possible.
During this class, I have gotten to listen to a few oral history interviews of African Americans who lived through the Civil Rights Era and none of them let their struggles get in the way of an education or a career! I loved listening to a story from people who lived through the Civil Rights Movement, especially someone from Maryland! I’m glad I got to learn more about Civil Rights and what people went through during those times.


Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting,
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of


Sept 2012 - 2018
Carrigaline Community School,
Carrigaline,
Cork.
Subjects studied:
English (HL),
Irish (OL)
Maths (OL)
Business (HL)
Economics (HL)
Biology (HL)
French (HL)
LCVP
June 2018 - Leaving Cert Examinations:
English -H3 Irish -03 Maths -04 Business -H3 Economics -H5 Biology -H2 French -H4 LCVP -Merit Overall points: 400
June 2015- Junior Cert Examinations
English -CIrish -AMaths -B
French -C
Geography -ACSPE -BHistory -D Home Ec -B Science-C Business -B.
Sept 2018 - Present
University College Cork
Studying Business Information Systems year 1. (CK203)


|
NetBeans UML Modeling |
| Properties | |
|---|---|
| Alias | index |
| Visibility | public |
| Interface Summary | |
|---|---|
| IndexElement | @author trevor |
| StructuredIndexPartReader | A StructuredIndexPart is an object that can create StructuredIterators that can be used in query processing. |
| Class Summary | |
|---|---|
| BackedCompressedByteBuffer | A BackedCompressedByteBuffer is like a CompressedByteBuffer, but it can overflow into disk storage if necessary. |
| BackedCompressedByteBufferTest | @author trevor |
| CompressedByteBuffer | Stores lists of integers in vbyte compressed form. |
| CompressedByteBufferTest | @author trevor |
| DocumentLengthsReader | @author trevor |
| DocumentLengthsWriter |   |
| DocumentNameReader | Reads a binary file of document names produced by DocumentNameWriter. |
| DocumentNameWriter |   |
| DocumentTransformationFactory | @author trevor |
| ExtentIndexReader | @author trevor |
| ExtentIndexWriter |   |
| ExtentListBuffer |   |
| ExtentValueIndexWriter |   |
| GenericElement | @author trevor |
| IndexReader | This implements the core functionality for all inverted list readers. |
| IndexWriter | This class writes index files, which are used for most Galago indexes. |
| IndexWriterTest | @author trevor |
| ManifestWriter |   |
| PositionalByteStream |   |
| PositionIndexReader | Reads a simple positions-based index, where each inverted list in the index contains both term count information and term position information. |
| PositionIndexWriter |   |
| SparseFloatListReader | Retrieves lists of floating point numbers which can be used as document features. |
| SparseFloatListWriter | @author trevor |
| StructuredIndex | @author trevor |
| VocabularyReader | @author trevor |
| VocabularyWriter | @author trevor |
| VocabularyWriterTest | @author trevor |
|
NetBeans UML Modeling |


Maximón, a Maya Saint in Sunglasses
He sits among gifts of flowers, bread, alcohol, and smoke. He hears pleas for wealth, safety, and luck, and is adored, feared, and hated. He is San Simón, Maximón, Rilaj Mam, Judas, El Tata. A caudillo, cultural ancestor, soldier, and folk saint, San Simón is revered throughout the highlands of Guatemala by the contemporary Maya, a symbol of their past and present ethnic identity.
Life-size effigies of the saint are distributed throughout the highlands. They are cared for in community shrines by local confraternities, much to the chagrin of the Catholic and Protestant Church. Shown here is the San Simón of the town of Zunil, in the Department of Quetzaltenango. San Simón effigies typically have light skin and a well-manicured mustache or goatee. Effigies are displayed seated and often hold a vara, or staff, both of which are symbols of his status as an authority figure. He wears a suit and tie along with his trademark cowboy hat and boots. San Simón often wears locally produced textiles, such as the faja, or woven sash, sported by this effigy in Zunil.
Theories abound as to the saint’s origin and mythology, but his status as an indigenous ancestral figure is key to his identity. The concept of San Simón as an ancestral remnant of the past is similar to other Maya mythological figures that were “left-overs” from another time. Effigies of this kind have deep roots in Mesoamerica, but modern communal devotion to San Simón is also influenced by Catholicism. The Spanish implemented the confraternity system after the conquest to speed conversion and re-organize indigenous communities. The mixture of the confraternity system of saints with indigenous traditions is an example of syncretism: the Maya appropriation and redefinition of Spanish religion in the face of colonialism, church power, and state repression. Despite his ladino appearance, San Simón belongs wholly to the Maya in a way that the Virgin and San Pedro cannot.
His European appearance and dress, however, refracts an even more modern experience of his indigenous followers. Photographs taken of a community shrine in Sololá in the wake of La Violencia show the saint’s effigy dressed in camouflage fatigues, leather combat boots, and aviator sunglasses. The costume is one from recent history, suggesting that indigenous communities looked to United States and Guatemalan military officials when dressing the saint during the Guatemala Civil War. In this period of relentless terror, Maya desire for control was directed to San Simón, a mimetic representation of the state and its overarching power. Many San Simón effigies, like that of Zunil, still wear aviator sunglasses, suggesting his continued use as a figure of resistance.


| Total net profit | 3.79 | Gross profit | 25.62 | Gross loss | -21.83 |
| Profit factor | 1.17 | Expected payoff | 0.08 | ||
| Absolute drawdown | -0.86 | Maximal drawdown (%) | 7.52 (112.91%) | ||
| Total trades | 46 | Profit trades (% of total) | 30 (65.22%) | Loss trades (% of total) | 16 (34.78%) |
| Long positions (won %) | 26 (65.38%) | Short positions (won %) | 20 (65.0%) | ||
| Largest | profit trade | 2.63 | loss trade | -2.44 | |
| Average | profit trade | 0.85 | loss trade | -1.36 | |
| Minimum | profit trade | 0.08 | loss trade | -0.2 | |
| Maximum | take profit in pips | 35.4 | stop loss in pips | -37.7 | |
| Average | take profit in pips | 12.1 | stop loss in pips | -23.4 | |
| Minimum | take profit in pips | -2.8 | stop loss in pips | -10.4 | |
| Maximum | Reward-Risk | 1.9 | Duration in minutes | 1523 | |
| Average | Reward-Risk | 0.6 | Duration in minutes | 295.1 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 0 | |
| Maximum | consecutive wins (profit in money) | 7.0 (5.04) | consecutive losses (loss in money) | 3.0 (-5.32) | |
| Average | consecutive wins | 2.0 | consecutive losses | 1.0 |
| Total net profit | -2.52 | Gross profit | 9.77 | Gross loss | -12.29 |
| Profit factor | 0.79 | Expected payoff | -0.1 | ||
| Absolute drawdown | -2.52 | Maximal drawdown (%) | 4.64 (218.87%) | ||
| Total trades | 26 | Profit trades (% of total) | 17 (65.38%) | Loss trades (% of total) | 9 (34.62%) |
| Largest | profit trade | 2.63 | loss trade | -2.44 | |
| Average | profit trade | 0.57 | loss trade | -1.37 | |
| Minimum | profit trade | 0.08 | loss trade | -0.2 | |
| Maximum | take profit in pips | 35.4 | stop loss in pips | -37.7 | |
| Average | take profit in pips | 9.1 | stop loss in pips | -25.4 | |
| Minimum | take profit in pips | -2.8 | stop loss in pips | -11.6 | |
| Maximum | Reward-Risk | 1.4 | Duration in minutes | 926.0 | |
| Average | Reward-Risk | 0.4 | Duration in minutes | 205.9 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 0.0 | |
| Maximum | consecutive wins (profit in money) | 4.0 (1.2) | consecutive losses (loss in money) | 3.0 (-3.39) | |
| Average | consecutive wins | 2.0 | consecutive losses | 1.0 |
| Total net profit | 6.31 | Gross profit | 15.85 | Gross loss | -9.54 |
| Profit factor | 1.66 | Expected payoff | 0.32 | ||
| Absolute drawdown | -2.14 | Maximal drawdown (%) | 7.32 (141.31%) | ||
| Total trades | 20 | Profit trades (% of total) | 13 (65.0%) | Loss trades (% of total) | 7 (35.0%) |
| Largest | profit trade | 1.83 | loss trade | -2.28 | |
| Average | profit trade | 1.22 | loss trade | -1.36 | |
| Minimum | profit trade | 0.31 | loss trade | -0.76 | |
| Maximum | take profit in pips | 24.6 | stop loss in pips | -36.0 | |
| Average | take profit in pips | 16.0 | stop loss in pips | -20.8 | |
| Minimum | take profit in pips | 4.1 | stop loss in pips | -10.4 | |
| Maximum | Reward-Risk | 1.9 | Duration in minutes | 1523.0 | |
| Average | Reward-Risk | 0.9 | Duration in minutes | 411.0 | |
| Minimum | Reward-Risk | Duration in minutes | 4.0 | ||
| Maximum | consecutive wins (profit in money) | 5.0 (4.74) | consecutive losses (loss in money) | 5.0 (-7.32) | |
| Average | consecutive wins | 4.0 | consecutive losses | 3.0 |


15TH MARINE EXPEDITIONARY UNIT (SOC)
ArmA 3 Realism Unit
HOME
ABOUT US
JOIN US
SOP
ORGANIZATION
CALENDAR
FORUMS
Setting the Standard of Excellence Since 2007
Join The Action
ArmaHost
YouTube
TeamSpeak
15th Arma Units


| describe {testthat} | R Documentation |
A simple BDD DSL for writing tests. The language is similiar to RSpec for Ruby or Mocha for JavaScript. BDD tests read like sentences and it should thus be easier to understand what the specification of a function/component is.
describe(description, code)
description |
description of the feature |
code |
test code containing the specs |
Tests using the describe
syntax not only verify the tested code, but
also document its intended behaviour. Each describe
block specifies a
larger component or function and contains a set of specifications. A
specification is defined by an it
block. Each it
block
functions as a test and is evaluated in its own environment. You
can also have nested describe
blocks.
This test syntax helps to test the intended behaviour of your code. For
example: you want to write a new function for your package. Try to describe
the specification first using describe
, before your write any code.
After that, you start to implement the tests for each specification (i.e.
the it
block).
Use describe
to verify that you implement the right things and use
test_that()
to ensure you do the things right.
describe("matrix()", { it("can be multiplied by a scalar", { m1 <- matrix(1:4, 2, 2) m2 <- m1 * 2 expect_equal(matrix(1:4 * 2, 2, 2), m2) }) it("can have not yet tested specs") }) # Nested specs: ## code addition <- function(a, b) a + b division <- function(a, b) a / b ## specs describe("math library", { describe("addition()", { it("can add two numbers", { expect_equal(1 + 1, addition(1, 1)) }) }) describe("division()", { it("can divide two numbers", { expect_equal(10 / 2, division(10, 2)) }) it("can handle division by 0") #not yet implemented }) })


--- layout: landing permalink: /404.html --- It's Not Fair 404. Zer is Nothing Here. Nothing! Give us the data Lebowski!
404. Zer is Nothing Here. Nothing!
Give us the data Lebowski!


Ghanian Day Names
The Akan people of Ghana frequently name their children after the day of the week they were born and according to their gender.
Get StartedThe Akan people of Ghana frequently name their children after the day of the week they were born and according to their gender.
Get StartedFirst Name:
Last Name
Birth Date:
Gender: Female Male
First Name:
Last Name:
Birth Date: MM ... DD ... YY ...
Century: ...
Gender: ...
Akan ID ...
Akan name: ....
....


Admin
External Links
All external links must begin with /redir.php?url= then the full url with either if the link doesn't have a query string or if it does
CGI Scripts
Mailing List
Send E-Mail
PHP / MySQL
MySQL Admin
PHP Info
Affiliate Programmes
Amazon.co.uk musicgoesoncom
Blackstar.co.uk mgo sanibel
BOL musicgoesoncom sanibel
Commision Junction<EMAIL_ADDRESS>sanibel
Infront 16981 0112164
magazineshop.co.uk musicgoeson mus482
QXL musicgoeson sanibel
TradeDoubler<EMAIL_ADDRESS>V3VQ7QF
ukaffiliates.com 12543 sanibel


So what are the Sacrements?
You’ll find this post in your _posts
directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve
, which launches a web server and auto-regenerates your site when a file is updated.
To add new posts, simply add a file in the
_posts
directory that follows the conventionYYYY-MM-DD-name-of-post.ext
and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.
Jekyll also offers powerful support for code snippets:
Check out the Jekyll docs for more info on how to get the most out of Jekyll. File all bugs/feature requests at Jekyll’s GitHub repo. If you have questions, you can ask them on Jekyll Talk.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus modi, veniam magni vero error. Quisquam eligendi totam quos in, unde quo enim necessitatibus pariatur accusantium itaque architecto dolore, dignissimos dolorem.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Odio ad quibusdam, id velit itaque culpa expedita aliquam odit alias voluptas quidem vel, voluptatem beatae exercitationem doloribus aperiam suscipit. Voluptatem, recusandae!
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quas commodi dolores excepturi, nulla atque accusantium voluptates magni, nisi, voluptas quo iusto. Quidem laboriosam architecto animi at, suscipit perferendis nihil excepturi.
Thank you.


HTTP ERROR 504
Problem accessing ZCS upstream server. Reason:
Cannot connect to the ZCS upstream server. Connection timeout.
Possible reasons:
- upstream server is blocked by a firewall
- upstream server is failing to send back the response in time
- upstream server is down
Please contact your ZCS administrator to fix the problem.
Powered by Nginx-Zimbra://


No Coin
Enable No Coin
White list for 1 min
White list for 30 min
White list permantently
Remove from white list


Espree started out as a fork of Esprima v1.2.2, the last stable published released of Esprima before work on ECMAScript 6 began. Espree is now built on top of Acorn, which has a modular architecture that allows extension of core functionality. The goal of Espree is to produce output that is similar to Esprima with a similar API so that it can be used in place of Esprima.
Install:
npm i espree
And in your Node.js code:
There is a second argument to parse()
that allows you to specify various options:
const espree = require("espree");
// Optional second options argument with the following default settings
const ast = espree.parse(code, {
// attach range information to each node
range: false,
// attach line/column location information to each node
loc: false,
// create a top-level comments array containing all comments
comment: false,
// create a top-level tokens array containing all tokens
tokens: false,
// Set to 3, 5 (default), 6, 7, 8, 9, or 10 to specify the version of ECMAScript syntax you want to use.
// You can also set to 2015 (same as 6), 2016 (same as 7), 2017 (same as 8), 2018 (same as 9), 2019 (same as 10), or 2020 (same as 11) to use the year-based naming.
ecmaVersion: 5,
// specify which type of script you're parsing ("script" or "module")
sourceType: "script",
// specify additional language features
ecmaFeatures: {
// enable JSX parsing
jsx: false,
// enable return in global scope
globalReturn: false,
// enable implied strict mode (if ecmaVersion >= 5)
impliedStrict: false
}
});
The primary goal is to produce the exact same AST structure and tokens as Esprima, and that takes precedence over anything else. (The AST structure being the ESTree API with JSX extensions.) Separate from that, Espree may deviate from what Esprima outputs in terms of where and how comments are attached, as well as what additional information is available on AST nodes. That is to say, Espree may add more things to the AST nodes than Esprima does but the overall AST structure produced will be the same.
Espree may also deviate from Esprima in the interface it exposes.
Issues and pull requests will be triaged and responded to as quickly as possible. We operate under the ESLint Contributor Guidelines, so please be sure to read them before contributing. If you’re not sure where to dig in, check out the issues.
Espree is licensed under a permissive BSD 2-clause license.
npm test
- run all linting and testsnpm run lint
- run all lintingnpm run browserify
- creates a version of Espree that is usable in a browsertokenize()
method does not use ecmaFeatures
. Any string will be tokenized completely based on ECMAScript 6 semantics.let
and const
declarations are no longer parsed by default. You must opt-in by using an ecmaVersion
newer than 5
or setting sourceType
to module
.esparse
and esvalidate
binary scripts have been removed.tolerant
option. We will investigate adding this back in the future.In an effort to help those wanting to transition from other parsers to Espree, the following is a list of noteworthy incompatibilities with other parsers. These are known differences that we do not intend to change.
let
and const
declarations by default.start
and end
. These represent the same data as range
and are used internally by Acorn.ESLint had been relying on Esprima as its parser from the beginning. While that was fine when the JavaScript language was evolving slowly, the pace of development increased dramatically and Esprima had fallen behind. ESLint, like many other tools reliant on Esprima, has been stuck in using new JavaScript language features until Esprima updates, and that caused our users frustration.
We decided the only way for us to move forward was to create our own parser, bringing us inline with JSHint and JSLint, and allowing us to keep implementing new features as we need them. We chose to fork Esprima instead of starting from scratch in order to move as quickly as possible with a compatible API.
With Espree 2.0.0, we are no longer a fork of Esprima but rather a translation layer between Acorn and Esprima syntax. This allows us to put work back into a community-supported parser (Acorn) that is continuing to grow and evolve while maintaining an Esprima-compatible parser for those utilities still built on Esprima.
Yes. Since the start of ESLint, we’ve regularly filed bugs and feature requests with Esprima and will continue to do so. However, there are some different philosophies around how the projects work that need to be worked through. The initial goal was to have Espree track Esprima and eventually merge the two back together, but we ultimately decided that building on top of Acorn was a better choice due to Acorn’s plugin support.
Acorn is a great JavaScript parser that produces an AST that is compatible with Esprima. Unfortunately, ESLint relies on more than just the AST to do its job. It relies on Esprima’s tokens and comment attachment features to get a complete picture of the source code. We investigated switching to Acorn, but the inconsistencies between Esprima and Acorn created too much work for a project like ESLint.
We are building on top of Acorn, however, so that we can contribute back and help make Acorn even better.
All of them.
There is only one ECMAScript 2016 syntax change: the exponentiation operator. Espree supports this.
There are two ECMAScript 2017 syntax changes: async
functions, and trailing commas in function declarations and calls. Espree supports both of them.
There are seven ECMAScript 2018 syntax changes:
s
flagEspree supports all of them.
Because ECMAScript 2019 is still under development, we are implementing features as they are finalized. Currently, Espree supports:
catch
binding\u2028
and \u2029
in string literals)In general, we do not support experimental JavaScript features. We may make exceptions from time to time depending on the maturity of the features.


Toggle navigation
Project name
Home
Default
(current)
Search Subscriber
Please use the form below to search for a subscriber:
First Name:
Submit
Subscriber:
is a user who knows their stuff.


Add a sound by its local path
Input a name and click "Record" to start recording when the blue button is pressed on the keyboard
Upload a sound file to add to the system
Add a variant for the sound {{ addVariantModal['sound']?.relPath }}


--- layout: page title: About header-img: "img/about-bg.png" ---
After 10 years in the restaurant industry I've made the proverbial career change leap and can't wait to see where I land.


Ontario
Quebec
British Colombia
Alberta
Manitoba
Saskatchewan
Nova Scotia
New Brunswick
Newfoundland and Labrador
Prince Edward Island
Northwest Territories
Nunavut
Yukon
Enter
Dark Mode


The extension needs you to provide some data in order to be able to use it. Please fill in the fields below.
You can click on "Get Automatically" for the Extension to obtain the data automatically, but you need to be currently logged into the Publisher Portal.
We were unable to retrieve your Sales/Review data. Please make sure that your browser is currently logged into the Publisher Portal of the Asset Store.
Also check that your Publisher ID and Review RSS Link provided is valid.
All right!
Everything is up to date and the Extension is making periodic updates in Background Service to search for new Sales or Reviews (Updateds or News).


FullStack(Java/Angular) developer
GSK | 2017 - 2019
I developed and integrated the Back-end Module & Front-end Interfaces
I used the microservices architecture and redacted the functional specifications
and Test and Validation (JUnit).
I worked with the development teams and product managers to ideate software solutions.
Environment & Tools: JavaEE, Java, Hibernate , SpringBoot, Spring Cloud , Angular 8,
Gitlab, CSS/JavaScript ,Restful, Eclipse, Visual Studio Code , Scrum , Maven