Fermium LABS srl is a company dedicated to pervasive, young-minded and bold innovation in the broadest fields of industry.
Over engineered and monolithic products are unfit to answer the needs of today's factories and companies.
We're creating flexible and helpful smart manufacturing solutions to unfold the competitiveness problems of our nation's industries.
Check out Houston.
Beware: we haven't got project managers with 30 years of experience, in-house quality consultants or human resource management teams.
We're a small, tight-knit team guided by the ingenuity of way too young minds and quite a few salty 'n knowledgeable collaborators.
In Fermium LABS srl, solutions are born directly within new technologies and future-proof paradigms. We rethink, reinvent and redesign what's been left behind.
Did you leave behind something?


Wrapper-like behavior is now available to redefinitions using Patchwork\callOriginal().
Preprocessor output is now optionally cached.
Patchwork\replaceLater is now a @deprecated alias to Patchwork\replace, which now performs an existence check when a redefinition is being undone, or on shutdown.
Static and instance method redefinitions are now heritable. This means that redefining A::foo now also redefines B::foo, if B extends A and foo is not overridden in B.


Logic and Arithmetic
Logic
The study of the principles of reasoning, especially of the structure of propositions as distinguished from their content and of method and validity in deductive reasoning.
Logic AND (&&)
The logical AND (&&) operator (logical conjunction) for a set of operands is true if and only if all of its operands are true. It is typically used with Boolean (logical) values. When it is, it returns a Boolean value. However, the && operator actually returns the value of one of the specified operands, so if this operator is used with non-Boolean values, it will return a non-Boolean value.
If a value can be converted to true, the value is so-called truthy. If a value can be converted to false, the value is so-called falsy.
Logic OR (||)
The logical OR (||) operator (logical disjunction) for a set of operands is true if and only if one or more of its operands is true. It is typically used with Boolean (logical) values. When it is, it returns a Boolean value. However, the || operator actually returns the value of one of the specified operands, so if this operator is used with non-Boolean values, it will return a non-Boolean value.
Logical NOT (!)
The logical NOT (!) operator (logical complement, negation) takes truth to falsity and vice versa. It is typically used with Boolean (logical) values. When used with non-Boolean values, it returns false if its single operand can be converted to true; otherwise, returns true.
What is Scope?
Scope
Scope determines the visibility or accessibility of a variable or other resource in the area of your code.
Generally speaking, whenever you see {curly brackets}, it is a block. In ES6, const and let keywords allow developers to declare variables in the block scope, which means those variables exist only within the corresponding block.
Global scope
There's only one Global scope in the JavaScript document. The area outside all the functions is consider the global scope and the variables defined inside the global scope can be accessed and altered in any other scopes.
Local scope
Variables declared inside the functions become Local to the function and are considered in the corresponding local scope. Every Functions has its own scope. Same variable can be used in different functions because they are bound to the respective functions and are not mutual visible.
Decision Making
Code flow
In any programming language, the code needs to make decisions and carry out actions accordingly depending on different inputs. For example, in a game, if the player's number of lives is 0, then it's game over. In a weather app, if it is being looked at in the morning, show a sunrise graphic; show stars and a moon if it is nighttime.
Making decisions in your code: Conditionals; by means of Boolean expressions you can make decisions in your code.
In JavaScript we have the following conditional statements:
- Use if to specify a block of code to be executed, if a specified condition is true
- Use else to specify a block of code to be executed, if the same condition is false
- Use else if to specify a new condition to test, if the first condition is false
- Use switch to specify many alternative blocks of code to be executed
- Use ternary operator as a shortened version of the conditional statement
If
The if statement executes a statement if a specified condition is truthy. You can have more if statements one after the other.
Else
The if statement executes a statement if a specified condition is truthy. If the condition is falsy, another statement can be executed.
Else if
Use else if to specify a new condition to test, if the first if condition is false.
Switch
The switch statement is a part of JavaScript's "Conditional" Statements, which are used to perform different actions based on different conditions. Use switch to select one of many blocks of code to be executed. This is the perfect solution for long, nested if/else statements.
The switch statement evaluates an expression. The value of the expression is then compared with the values of each case in the structure. If there is a match, the associated block of code is executed.
The switch statement is often used together with a break or a default keyword (or both). These are both optional:
The break keyword breaks out of the switch block. This will stop the execution of more execution of code and/or case testing inside the block. If break is omitted, the next code block in the switch statement is executed.
The default keyword specifies some code to run if there is no case match. There can only be one default keyword in a switch. Although this is optional, it is recommended that you use it, as it takes care of unexpected cases.
Ternary Operator
The conditional (ternary) operator is the only JavaScript operator that takes three operands: a condition followed by a question mark (?), then an expression to execute if the condition is truthy followed by a colon (:), and finally the expression to execute if the condition is falsy. This operator is frequently used as a shortcut for the if statement. It is used often in React to inject conditionals in components.
Comparing Values
Comparing values
Comparison operators are used in logical statements to determine equality or difference between variables or values.
Loose equality
Loose equality compares two values for equality, after converting both values to a common type.
Please note that loose equality: a == b is different from the assignment a = b .
Note also that a == b and b == a are the same.
Strict equality
Strict equality compares two values for equality. Neither value is implicitly converted to some other value before being compared. Values and types must be equal.
Inequalities
The inequality operator (!=) checks whether its two operands are not equal, returning a Boolean result, it attempts to convert and compare operands that are of different types.
The strict inequality operator (!==), doesn't, so values and types must be the same; the strict inequality operator always considers operands of different types to be different.Greater and smaller than operators
These comparison operators are also used in logical statements to determine equality or difference between variables or values.
Like logical operators, comparison operators can be used in conditional statements to compare values and take action depending on the results.
- greater than >
- less than <
- greater than or equal to >=
- less than or equal to <=
When comparing a string with a number, JavaScript will convert the string to a number when doing the comparison. An empty string converts to 0. A non-numeric string converts to NaN which is always false.
When comparing two strings, "2" will be greater than "12", because (alphabetically) 1 is less than 2.
Arithmetic operators
Arithmetic operators
Writing math expressions is what programmers will ultimately do when creating more complex applications.
Arithmetic operators take numerical values (either literals or variables) as their operands and return a single numerical value. The standard arithmetic operators are addition, subtraction, multiplication and division.
Modulus (%) operator returns only the remainder. If either value is a string, an attempt is made to convert the string to a number.
Counting
Counting is the process of determining the number of elements of a finite set of objects. The traditional way of counting consists of continually increasing a (mental or spoken) counter by a unit for every element of the set.
Increment and decrement operators
The JavaScript Increment and Decrement Operators useful to increase or decrease the value by 1. For instance, Incremental operator (++) is used to increase the existing variable value by 1 (x = x + 1). The decrement operator (– –) is used to decrease or subtract the existing value by 1 (x = x – 1).
let var1 = 5, var2 = 5; // var1 is displayed, then var1 is increased to 6 console.log(var1++) // var2 is increased to 6, then var2 is displayed console.log(++var2)
Increment and decrement operators (prefix and postfix) are usually used in loops and for cycles.
Consolidation exercise
Mixed exercise
Fill in the empty spaces using js tutor. Js tutor should not stop when encountering console.assert. Console.assert Writes an error message to the console if the assertion is false. If the assertion is true, nothing happens.


Participate to start learning about RC Planes.
Register for proper module for the workshop and for updates about our upcoming events. Register here
Our upcoming workshop on RC Planes will be conducted on 25-1-2018.For more info. Click the icon below...
Participate to start learning about RC Planes.
Register for proper module for the workshop and for updates about our upcoming events. Register here


Player name must be alphanumerical and between 3 and 20 characters.
Game size must be between 1 and 10.


Preparation time
less than 30 mins
Cooking time
1 to 2 hours
Serves
Serves 4-6
Cumin and roast lamb are the perfect match, with pistachio stuffing and sweet caramelised chicory to complete a lovely Sunday lunch.
For the lamb, heat the butter in a large frying pan over a medium heat.
Add the onion and cook, stirring occasionally, for 6-8 minutes, or until softened.
Add the crushed garlic and half of the cumin seeds and cook for another minute.
Tip the mixture into a large bowl and add the torn bread, chilli flakes, dried apricots and pistachio nuts and season well with sea salt and freshly ground black pepper. Set aside until needed.
Preheat the oven to 190C/375F/Gas 5.
Mix the olive oil with the remaining cumin seeds and brush this mixture over the entire surface of the lamb.
Place the lamb in a large roasting tin and cook for 1 hour 20 minutes in total. However, 15 minutes before the end of cooking, place the stuffing mixture into the pan around the lamb and return it to the oven.
Meanwhile, for the caramelised chicory, place the chicory and onions in a baking dish and sprinkle with the sugar and chilli flakes.
Drizzle with the oil and vinegar and season to taste with sea salt and freshly ground black pepper. Place in the oven and cook for 35-45 minutes, or until golden-brown and caramelised.
Once the lamb is cooked, cover loosely with foil and leave to rest for 15 minutes before carving.
Serve the lamb in slices with the caramelised chicory and stuffing alongside..


Welcome to the Internet
CHI 2022-2024
Publish
Twitter
LinkedIn
YouTube
Dashboards
Fathom Analytics
Lemon Squeezy
Gumroad Sales
Sites
My website
PK&C
Writing for Software Developers
Life-Changing Email
write.dev
Who Pays Technical Writers
Tools
Notion
ChatGPT
GitHub
Hover
Netlify
Tailwind UI


Class puredom.NodeSelection
-
Represents a collection of DOM Elements.
Puredom methods that work with DOM elements generally return an instance of this. - Defined in: puredom.js
| Constructor Attributes | Constructor Name and Description |
|---|---|
|
puredom.NodeSelection(nodes)
Creates a new selection containing the elements of
nodes . |
Method Summary
| Method Attributes | Method Name and Description |
|---|---|
|
addEvent
(eventType, handler, useCapture)
Register an event handler.
|
|
|
appendChild
(child)
Append an element to the DOM.
|
|
|
children
()
Get a new Selection containing all direct child elements of the current Selection.
|
|
|
classify
(className)
Add a CSS class to the selection.
|
|
|
clone
(deep, newParent)
Clone the selection, optionally into a new parent node.
|
|
|
count
()
Get the number of elements in the Selection.
|
|
|
css
(css, options, callback)
Apply CSS to elements.
|
|
|
declassify
(className)
Remove a CSS class to the selection.
|
|
|
describe
()
Get an Array of String representations of each element in the selection.
|
|
|
destroy
()
Remove all elements in the Selection from the DOM, and destroy them.
|
|
|
each
(iterator)
Call an iterator function on each element in the selection, wrapping each in a new puredom.NodeSelection.
|
|
|
exists
()
Check if the selection contains at least one element.
|
|
|
fadeIn
(tween, callback)
This function tries quite hard to guess what particular fade effect is needed.
|
|
|
fadeOut
(tween, callback, andIgnore)
The opposite of fadeIn().
|
|
|
fireEvent
(type, e)
Fire an event on the selection.
|
|
|
first
(n)
Get a new Selection containing only the first element in the current Selection.
|
|
|
firstChild
()
Get a new Selection containing the first direct child element of the current Selection.
|
|
|
getResult
(reverseIndex)
Get the result of the previous operation.
|
|
|
hide
(andIgnore)
Hide elements.
|
|
|
html
(content, asText)
Set the HTML contents of elements.
|
|
|
index
(i, n)
Get a new Selection containing only the
n element(s) in the current Selection starting at index i . |
|
|
insertBefore
(child, before)
Insert an element into the DOM before a given reference element.
|
|
|
insertInto
(what)
Insert all elements in the Selection into a given parent.
|
|
|
last
(n)
Get a new Selection containing only the last element in the current Selection.
|
|
|
lastChild
()
Get a new Selection containing the last direct child element of the current Selection.
|
|
|
localize
()
Localize the selection.
|
|
|
next
()
Get a new Selection containing the next sibling elements of each element in the current Selection.
|
|
|
nodeName
()
Get the lower-case nodeName of an element.
|
|
|
nthChild
(n)
Get a new Selection containing the direct child element of the current Selection at index
n . |
|
|
on
()
Alias of puredom.NodeSelection#addEvent
|
|
|
parent
()
Get a new Selection containing the de-duped parent elements of the current Selection.
|
|
|
prev
()
Get a new Selection containing the previous sibling elements of each element in the current Selection.
|
|
|
previous
()
Alais of puredom.NodeSelection#prev
|
|
|
query
(selector, options)
Search for elements within the Selection's tree that match the given CSS selector.
|
|
|
remove
()
Remove all elements in the Selection from the DOM.
|
|
|
removeEvent
(eventType, handler, useCapture)
Un-register an event handler.
|
|
|
selection
(start, end)
Get or set the selected text of an input element.
|
|
|
show
()
Show elements.
|
|
|
siblings
()
Get a new Selection containing both the next and previous sibling elements of each element in the current Selection.
|
|
|
submit
()
Submit any forms in the Selection.
|
|
|
template
(templateFields)
Template the Selection and all descendants based on
data-tpl-id attributes. |
|
|
text
(text)
Get or set the textual content of elements.
|
|
|
toString
()
Get a String representation of the selection's current contents.
|
|
|
uuid
()
Get a globally unique identifier for an element.
|
|
|
wait
(millis, callback)
Call a function on the selection in the future.
|
Class Detail
puredom.NodeSelection(nodes)
Creates a new selection containing the elements of
This class is not generally instantiated directly - instead, use the puredom() function to query for elements or wrap an Array of elements with a selection.
nodes
. This class is not generally instantiated directly - instead, use the puredom() function to query for elements or wrap an Array of elements with a selection.
- Parameters:
- {Array} nodes
- An array of raw DOM nodes to wrap in a selection.
Method Detail
-
{this} addEvent(eventType, handler, useCapture)Register an event handler.
When an event of the given type is triggered, the handler function is called.function clickHandler(e){ alert(e.button); } foo.addEvent("click", clickHandler);
- Parameters:
- {String} eventType
- An event type to listen for
- {Function} handler
- A handler to call in response to the event
- {Any}useCapture
- Returns:
- {this}
-
{this} appendChild(child)Append an element to the DOM.
- Parameters:
- {puredom.NodeSelection|HTMLElement} child
- An element or a Selection of elements to append
- Returns:
- {this}
-
{puredom.NodeSelection} children()Get a new Selection containing all direct child elements of the current Selection.
- Returns:
- {puredom.NodeSelection} children
-
{this} classify(className)Add a CSS class to the selection.
Pass an Array and/or multiple arguments to add multiple classes.- Parameters:
- {String} className
- A CSS class to add.
- Returns:
- {this}
-
{puredom.NodeSelection} clone(deep, newParent)Clone the selection, optionally into a new parent node.
- Parameters:
- {Boolean} deep Optional, Default: true
- Perform a deep clone, which clones all descendent nodes.
- {Object} newParent Optional
- Optionally inject into a new parentNode. Pass
true
to clone into the same parent.
- Returns:
- {puredom.NodeSelection} clonedSelection
-
{Number} count()Get the number of elements in the Selection.
- Returns:
- {Number} count
-
{this} css(css, options, callback)Apply CSS to elements.
- Parameters:
- {String|Object} css
- CSS to apply to the elements in the selection. Either a CSS-string, or an Object where the keys are CSS properties and the values are the corresponding values to apply.
- {Object} options Optional
- Options
- {Number|String} options.tween Optional
- Animate the application of the given CSS styles. Numeric values are treated as durations, String values must be a comma-separated value of the format: "duration,easing-method".
- {Function} options.callback Optional
- A function to call once the styles have been applied. If tweening/animating, gets called once the animation has completed.
- {Function} callback
- Same as
options.callback
, takes precidence when used.
- Returns:
- {this}
-
{this} declassify(className)Remove a CSS class to the selection.
Pass an Array and/or multiple arguments to remove multiple classes.- Parameters:
- {String} className
- A CSS class to remove.
- Returns:
- {this}
-
describe()Get an Array of String representations of each element in the selection.
For a more logging-friendly option, see puredom.NodeSelection#describe. -
{this} destroy()Remove all elements in the Selection from the DOM, and destroy them.
Note: This also removes all elements from the Selection.- Returns:
- {this}
-
{this} each(iterator)Call an iterator function on each element in the selection, wrapping each in a new puredom.NodeSelection.
Note: Returnfalse
from withiniterator
to break out of the loop.- Parameters:
- {Function} iterator
- Gets passed
(element, index)
for each element in the selection. The value ofthis
is the selection itself.
- Returns:
- {this}
-
{Boolean} exists()Check if the selection contains at least one element.
- Returns:
- {Boolean} exists
-
{this} fadeIn(tween, callback)This function tries quite hard to guess what particular fade effect is needed.
If the element that is already semi-transparent, it fades from the current opacity.
If the element that is hidden but not explicitly transparent, it fades from opacity=0 (hidden).
If the element is already 100% opaque (non-transparent), no animation is performed, and the callback is fired after a very small delay (to enforce async).
Arguments are interchangeable for backward compatibility.- Parameters:
- {Number|String} tween
- A tween value. Can be a
{Number} duration
, or{String} "duration,easing-method"
. - {Function} callback Optional
- A function to call once the fade has completed. Gets passed the selection.
- Returns:
- {this}
-
fadeOut(tween, callback, andIgnore)The opposite of fadeIn(). Makes several guesses about the desired effect.
- Parameters:
- {Any}tween
- {Any}callback
- {Any}andIgnore
-
{this} fireEvent(type, e)Fire an event on the selection.
- Parameters:
- {String} type
- An event type
- {Object|Event} e
- The event data
- Returns:
- {this}
-
{puredom.NodeSelection} first(n)Get a new Selection containing only the first element in the current Selection.
- Parameters:
- {Any}n
- Returns:
- {puredom.NodeSelection} first
-
{puredom.NodeSelection} firstChild()Get a new Selection containing the first direct child element of the current Selection.
- Returns:
- {puredom.NodeSelection} firstChild
-
{Any} getResult(reverseIndex)Get the result of the previous operation.
Many puredom methods return the selection they were called on rather than a standard return value. This method gets the equivalent return value of the most recent selection method call.- Parameters:
- {Number} reverseIndex Optional, Default: 0
- Optionally get an older return value. This value is a 0-based offset.
- Returns:
- {Any} returnValue, or
undefined
if no value was returned.
-
{this} hide(andIgnore)Hide elements.
- Parameters:
- {Boolean} andIgnore Optional, Default: true
- If
false
, triggers "visibility:hidden" CSS, instead of "display:none".
- Returns:
- {this}
-
{String} html(content, asText)Set the HTML contents of elements.
- Parameters:
- {String} content Optional
- If set, updates the content of the elements. If not set, returns the HTML content of the first element.
- {Boolean} asText Optional, Default: auto
- If
true
, content will be treated as textual, iffalse
content will be treated as HTML. Defaults to auto-detection of HTML.
- Returns:
- {String} text The HTML or textual contents of the first element in the selection, or the selection itself if
html
was not set.
-
{puredom.NodeSelection} index(i, n)Get a new Selection containing only the
n
element(s) in the current Selection starting at indexi
.- Parameters:
- {Number} i
- A 0-based index of the elements(s) to return
- {Number} n Optional, Default: 1
- The number of elements to return
- Returns:
- {puredom.NodeSelection} slice
-
{this} insertBefore(child, before)Insert an element into the DOM before a given reference element.
- Parameters:
- {puredom.NodeSelection|HTMLElement} child
- An element or a Selection of elements to insert
- {puredom.NodeSelection|HTMLElement} before
- An element or a Selection to insert
child
before
- Returns:
- {this}
-
{this} insertInto(what)Insert all elements in the Selection into a given parent.
Uses document fragments to improve performance when inserting a Selection containing multiple nodes.- Parameters:
- {puredom.NodeSelection|HTMLElement} what
- A parent into which the selection should be inserted
- Returns:
- {this}
-
{puredom.NodeSelection} last(n)Get a new Selection containing only the last element in the current Selection.
- Parameters:
- {Any}n
- Returns:
- {puredom.NodeSelection} last
-
{puredom.NodeSelection} lastChild()Get a new Selection containing the last direct child element of the current Selection.
- Returns:
- {puredom.NodeSelection} firstChild
-
localize()Localize the selection.
Defined in: i18n.js. -
{puredom.NodeSelection} next()Get a new Selection containing the next sibling elements of each element in the current Selection.
- Returns:
- {puredom.NodeSelection} nextSiblings
-
{String} nodeName()Get the lower-case nodeName of an element.
Note: Only returns a UUID for the first element in a selection.
Note: In puredom, thewindow
Object is given a nodeName of "#window".- Returns:
- {String} nodeName
-
{puredom.NodeSelection} nthChild(n)Get a new Selection containing the direct child element of the current Selection at index
n
.- Parameters:
- {Number} n
- A 0-based index.
- Returns:
- {puredom.NodeSelection} nthChild
-
on()Alias of puredom.NodeSelection#addEvent
-
{puredom.NodeSelection} parent()Get a new Selection containing the de-duped parent elements of the current Selection.
- Returns:
- {puredom.NodeSelection} parents
-
{puredom.NodeSelection} prev()Get a new Selection containing the previous sibling elements of each element in the current Selection.
- Returns:
- {puredom.NodeSelection} previousSiblings
-
previous()Alais of puredom.NodeSelection#prev
-
{puredom.NodeSelection} query(selector, options)Search for elements within the Selection's tree that match the given CSS selector.
Note: This is a scoped version of puredom(selector).- Parameters:
- {String} selector
- A CSS selector
- {Object} options Optional
- Options, which get passed to puredom()
- Returns:
- {puredom.NodeSelection} results
-
{this} remove()Remove all elements in the Selection from the DOM.
- Returns:
- {this}
-
{this} removeEvent(eventType, handler, useCapture)Un-register an event handler.
foo.removeEvent("click", clickHandler);
- Parameters:
- {String} eventType
- The event type
- {Function} handler
- The handler to remove
- {Any}useCapture
- Returns:
- {this}
-
{Object} selection(start, end)Get or set the selected text of an input element.
Note: This only operates on the first element in the selection.- Parameters:
- {Number} start
- A character index at which to start text selection
- {Number} end Optional, Default: start
- A character index at which to end text selection
- Returns:
- {Object} An object with
start
,end
andtext
properties correspdonding to the current selection state.
-
{this} show()Show elements.
- Returns:
- {this}
-
{puredom.NodeSelection} siblings()Get a new Selection containing both the next and previous sibling elements of each element in the current Selection.
- Returns:
- {puredom.NodeSelection} siblings
-
{this} submit()Submit any forms in the Selection.
- Returns:
- {this}
-
{this} template(templateFields)Template the Selection and all descendants based on
data-tpl-id
attributes.
Each element with adata-tpl-id
attribute will have it's contents updated with the corresponding value of that attribute when interpreted as a dot-notated key path withintemplateFields
.
data-tpl-id
attribute values can optionally include a pipe-separated list of "filters".
Example:
Note: the "htmlEntities" filter is already added for you where needed.- Parameters:
- {Object} templateFields Optional, Default: {}
- Template data fields. Nested Objects/Arrays are addressable via dot notation.
- Returns:
- {this}
-
{String} text(text)Get or set the textual content of elements. Omit
text
to retrieve the textual value instead of setting it.- Parameters:
- {String} text Optional
- If set, replaces the textual content of elements.
- Returns:
- {String} text The textual contents of the first element in the selection, or the selection itself if
text
was not set.
-
toString()Get a String representation of the selection's current contents.
For the raw Array description, see puredom.NodeSelection#describe. -
{String} uuid()Get a globally unique identifier for an element.
Note: Only returns a UUID for the first element in a selection.- Returns:
- {String} uuid
-
{this} wait(millis, callback)Call a function on the selection in the future.
- Parameters:
- {Number} millis
- The number of milliseconds to wait before calling
callback
. - {Function} callback
- The function to call in
millis
milliseconds. Gets called on the selection, so the value ofthis
is the selection itself.
- Returns:
- {this}


---
layout: page
title: About
permalink: /about/
sitemap:
priority: 0.7
changefreq: 'monthly'
---
A little about me :
-
I was born and brought up in one of the liveliest cities on this planet -
Mumbai
.
-
A self-taught amateur musician, I can play up to five different instruments.
-
An impulsive backpacker.
My Work :
-
SmartNews, Tokyo | Software Engineer | November 2022 - Present
-
News Ranking Team
-
Java, SpringBoot, AWS, ML
-
Nomura, Tokyo | Tech Lead & Engineering Manager | June 2021 - October 2022
-
Helped Nomura adopt Data Culture
-
Architecting, designing and implementing hybrid cloud architectures (AWS + NCP)
-
Data Warehousing using Snowflake, Data Virtualization using Denodo / Trino
-
DataOps / ETL using Streamsets
-
Python / Java, k8s, docker, AWS, Snowflake
-
Cogent Labs, Tokyo | Lead Developer | July 2020 - June 2021
-
Scaled up an AI OCR platform's Identity management system to handle 16x more requests. Also cut down the cloud
costs by 30%.
-
As an architect & Lead Developer for an AI enterprise search product, I not only developed core features but also defined
technical road-map and liaised with product managers and senior management to define the future of the product.
-
MetLife, Tokyo | Senior Software Developer | February 2019 - July 2020
-
Worked on a sales platform used by agents to quote and illustrate various insurance products.
-
Meta data driven and highly configurable system built using Java/Spring/AngularJs/NodeJs.
-
Responsible for new feature development, bug fixing and building onsite team in Tokyo.
-
Rakuten, Tokyo | Senior Software Application Engineer | January 2017 - February 2019
-
Payment Platform: Responsible for one of the most crucial services in Rakuten processing millions of transactions per day. Developing transaction processing systems by abiding by the PCI DSS compliance.
-
Event Management Platform (EMP): Onsite
technical lead
responsible for design, development, code review, bug fixes, feature planning etc. Played a key role in scaling the platform to integrate various other internal Rakuten systems using agile methodologies. Full stack engineer
with technologies like AngularJS, Java (SpringBoot), Redis, JBPM, Talend ETL tool etc.
-
Rakuten Ichiba Billing: Automated parts of this project dealing with data checks and data manipulation, thus reducing human dependency and reducing operational cost and risk
-
Certified Rakuten scrum master
-
Nomura Services India Pvt. Ltd. | Developer | July 2014 - December 2016
-
Enhanced existing legacy Risk v/s Finance reconciliation tool to onboard firms other reconciliation requirements. Architectural changes to overcome legacy issues. Onboard and setup new reconciliations with new auto commenting requirements. Significant improvement in performance and memory utilization of the tool.
-
Received
Nomura quarterly STAR award
for providing off the shelf solution to auto code new rules using python's panda framework. Nominated for the Nomura Annual STAR award 2016
-
Lead a team of 6 interns to create a database deployment automation tool.
-
Developed and designed a dashboard for the Production Support team that automated tracking and reporting of the issues saving roughly 3 hours of the team every day. Globally used by more than 60 users.
-
FinalDesk | Co-Founder | January 2014 - August 2016
-
Co-founded a training-cum-internship program for engineering students to help them with technical trainings, interview preparation, soft skill development and internship opportunities
-
Developed a placement training program and delivered it across Mumbai University colleges and trained over
1500 students
.
-
Started a blog to share articles on how to prepare for interviews. Led a team of 11 interns for content creation and social media marketing.
-
Developed mobile apps and a website to enable students to prepare for their interviews.
My Projects :
-
Adaptive Traffic Control System
-
Designed a smart traffic control system using OpenCV image processing library. Built a prototype on Raspberry Pi
-
Presented a paper which won an award in the Institute
-
URL Shortner
-
Created a small django app to minify urls. Link to the blog post
-
Property loader
-
A smart and simple
open source project
to read property files
-
Linux Love
-
Useful linux customizations and utilities
-
File Storage
-
Cloud File Storage web application
-
Event Management
-
Event Management web application
-
Apollo Java Client
-
Open Source contribution - Apollo Java Client


API Docs
Lazy.js is a lazy evaluation library for JavaScript.
This has been done before. For examples see:
However, at least at present, Lazy.js is faster (on average) than any of those libraries. It is also more complete, with nearly all of the functionality of Underscore and Lo-Dash.
Finding your way around the code
At the heart of Lazy.js is the Sequence
object. You create an initial
sequence using Lazy
, which can accept an array, object, or string.
You can then "chain" together methods from this sequence, creating a new
sequence with each call.
Here's an example:
var data = getReallyBigArray();
var statistics = Lazy(data)
.map(transform)
.filter(validate)
.reduce(aggregate);
Sequence
is the foundation of other, more specific sequence types.
An ArrayLikeSequence
provides indexed access to its elements.
An ObjectLikeSequence
consists of key/value pairs.

An AsyncSequence
is special: it iterates over its elements
asynchronously (so calling each
generally begins an asynchronous loop and
returns immediately).
For more information
I wrote a blog post that explains a little bit more about Lazy.js, which you can read here.
You can also create an issue on GitHub if you have any issues with the library. I work through them eventually.


https://pen-testing.sans.org/resources/papers/gcih/smtp-victim-good-time-105208
Ports
25 STMP
110 POP
143 IMAP
389 Other LDAP searches
587 (SMTP Start TLS / Exchange)
465 SMTP (SSL/TLS)
636 Other LDAP searches with SSL
993 (IMAP SSL)
995 (POP SSL)
3268 LDAP searches fro GAL
3269 LDAP SSL searches
https://github.com/sensepost/ruler


Visage
Tips
- You can Grave Chill any non-allied unit. If you see the enemy mid coming to gank you in lane, just Chill
the nearest creep and make a break for it. If you're trying to catch up to an enemy for a final Soul
Assumption, Chill a neutral in the jungle to get in range quicker.
- Don’t sit on Soul Assumption charges. Instead of struggling to land a Familiar stun in a team fight
before realizing that they all died in the chaos, worry about using Soul Assumption every time you have
full bars.
- There are many other ways to use Familiars other than just for keeping you company. Use Brooklyn and
Lexington to stack ancients, send them to gank a different lane, put them behind a lane and use them to
distract the next creep wave before a dive.
- In most team fights, you'll usually want to have your Familiars spit on the enemy's squishiest support.
Not only can these supports not take the abuse, but most don't have a way of easily getting rid of the
birds either.
- Familiars deal physical damage which make them pair well with minus armor, like Medallion.
- The simplest way to Familiar stun is through unit tabbing. Grave Chill the enemy, tab to a Familiar,
press Q, tab again, wait around 1 second, Q again, Assume some Souls, get some kills.
Counters
- DoT spells are good at quickly burning off layers of Gravekeeper's Cloak.
- You can't see the countdown, but you can select a Familiar and see how much time is left on the Stone Form buff
timer.
- You can't stun/hex familiars. Well you can try, but you won't stop them from flying away unless the spell
pierces spell immunity.
- Gyrocopter's Flak Cannon will hit Familiars.


An AccountCredential object encapsulates the information needed to authenticate a user.
Use the createAccountCredential
method to create an account credential
that uses the OAuth open authentication standard.
Initializes an account credential using OAuth or OAuth2.
Returns a newly initialized account credential.
var accountCredential = Social.createAccountCredential({
oauth_token: 'lorenipsum',
token_secret: 'ipsumlorem'
});
Accounts can optionally use the OAuth open authentication standard to authenticate your client application so you can perform operations on behalf of the user. Instead of the user giving their username and password to login, the user authenticates directly with the server and your client application receives a token that grants it access to specific resources for a defined duration. The authentication mechanism uses a key and secret scheme similar to the public and private keys used by ssh. A token is a random string of letters and numbers that is unique and paired with a secret to protect the token from being abused. You initialize account credentials using this token and secret token.
The token used for the credential. [STRING]
The refresh token used for the credential. [STRING]
The expiration date of the credential. [DATE]


MAZE GENERATOR
Created by:
Alex Leska
& Dylan Roberts
Size
Instant
FPS (30)
Background
Maze
Generate
New Maze
Download


<< Ode Programming Language
Ode Development Environment
Execute Editor
Save As:
Save:
Load:
Delete:
Tracing On/Off
Print All Definitions
Clear Window
Reset Memory
Editor Area:
Output Area:


>
| Turquoise | Emerland | Peter river | Amethyst | Wet asphalt |
| Green sea | Nephritis | Belize hole | Wisteria | Midnight-blue |
| Sun-flower | Carrot | Alizarin | Clouds | Concrete |
| Orange | Pumpkin | Pomegranate | Silver | Asbestos |
| Turquoise | Emerland | Peter river | Amethyst | Wet asphalt |
| Green sea | Nephritis | Belize hole | Wisteria | Midnight-blue |
| Sun-flower | Carrot | Alizarin | Clouds | Concrete |
| Orange | Pumpkin | Pomegranate | Silver | Asbestos |
| Turquoise | Emerland | Peter river | Amethyst | Wet asphalt |
| Green sea | Nephritis | Belize hole | Wisteria | Midnight-blue |
| Sun-flower | Carrot | Alizarin | Clouds | Concrete |
| Orange | Pumpkin | Pomegranate | Silver | Asbestos |
| Turquoise | Emerland | Peter river | Amethyst | Wet asphalt |
| Green sea | Nephritis | Belize hole | Wisteria | Midnight-blue |
| Sun-flower | Carrot | Alizarin | Clouds | Concrete |
| Orange | Pumpkin | Pomegranate | Silver | Asbestos |
| Turquoise | Emerland | Peter river | Amethyst | Wet asphalt |
| Green sea | Nephritis | Belize hole | Wisteria | Midnight-blue |
| Sun-flower | Carrot | Alizarin | Clouds | Concrete |
| Orange | Pumpkin | Pomegranate | Silver | Asbestos |
| Turquoise | Emerland | Peter river | Amethyst | Wet asphalt |
| Green sea | Nephritis | Belize hole | Wisteria | Midnight-blue |
| Sun-flower | Carrot | Alizarin | Clouds | Concrete |
| Orange | Pumpkin | Pomegranate | Silver | Asbestos |


Have you ever written a function that used a list for a default argument value, only to have weird things happen?
And it’s not just with lists–the problem manifests with any mutable data type when it is used as a default argument value.
Here’s what happening, and here’s how to fix it.
Check out these two pieces of identical code, one in Python and one in JS.
The code is supposed to append 1
to whatever array you pass
in. And return it. And if you don’t pass an array, it sets the array to
empty by default:
and JS:
function foo(a=[]) {
a.push(1);
return a;
}
let x = foo();
console.log(x);
let y = foo();
console.log(y);
let z = foo();
console.log(z);
If I run them, look at the output of the JS, which is as-expected:
$ node default.js
[ 1 ]
[ 1 ]
[ 1 ]
and look at the output of Python, which is not expected!
$ python default.py
[1]
[1, 1]
[1, 1, 1]
What’s going on?
This all has to do with when the default value is created.
Javascript creates the default empty []
when the function is called. So each time you call it, it makes a
new empty array. Every call returns a different array.
Python creates the default empty []
when the function is loaded. So it gets created once only when the program is first read into
memory, and that’s it. There’s only one default list no matter how many
times you call the function. And so foo()
is returning
the same list every time you call it with no arguments. This is
why another 1
gets added on each call–.append(1)
is happening to the same list every time.
Indeed, if you run this in Python:
foo() is foo()
You’ll get True
, since the same list is being returned.
The fix is to use None
as a substitute, and then take special
action to create a new list on the spot.
```def foo(a=None): # GOOD if a is None: a = [] # Make a new list right now, every time the function is called with no args a.append(1) return a
x = foo() print(x)
y = foo() print(y)
z = foo() print(z)
x is y # False, they’re different lists, like we wanted y is z # False, they’re different lists, like we wanted
And then we get good output:
$ python3 default_good.py [1] [1] [1] ```
Now, if we had a function that used an immutable value as a default argument, we have no problem even though the same process is happening.
In that code, there’s only one "hello!"
. It gets created when
the program is first loaded, and never again. All calls to the function
return the same "hello!"
.
So how is that OK, but it’s not OK with a list?
It’s because we only ever notice there’s a problem when we modify the
data. And since we can’t modify "hello!"
, there won’t be a
problem.
Put another way, we simply don’t care if variables are pointing to the
same "hello!"
or to different "hello!"
s. We
cannot tell the difference.
But with something mutable like a list, we certainly can tell, but only after we mutate it and see if it only affects one variable, or if it affects them all.


--- layout: default title: Team permalink: /team/ ---
OMUN is comprised of veteran MUNers who have years of experience and have won awards at BMUN (Berkeley), HMUN (Harvard), CMUNCE (Columbia), and SSUNS (McGill). Our staff are dedicated to making OMUN a great conference and an educational experience. If you have any questions, feel free to contact us.
{{item[1].role}}


{% extends 'layout.html' %} {% block body %}
Welcome to "IN FOCUS", your number one source for all variety of cameras. We're dedicated to giving you the very best of cameras, with the focus on your needs. "IN FOCUS" has come a long way from its begining in a home office. When "IN FOCUS" started out, our passion for capturing all the moments in one camera drove us to do intense research and gave us the impetus to turn hard work and inspiration into a booming online store. We now serve customers all over India, and are thrilled to be a part of the quirky wing of the cameras industry. We hope you enjoy our products as much as we enjoy offering them to you.


This function automates downloading and importing CRU CL2.0
climatology data into R and creates a list of raster stacks of the data. If
requested, minimum and maximum temperature may also be automatically
calculated as described in the data readme.txt file.
Nomenclature and units from readme.txt:
- pre
- precipitation (millimetres/month)
- rd0
- wet-days (no days with >0.1mm rain per month)
- tmp
- mean temperature (degrees Celsius)
- dtr
- mean diurnal temperature range (degrees Celsius)
- reh
- relative humidity (percent)
- sunp
- sunshine (percent of maximum possible (percent of day length))
- frs
- ground-frost (number of days with ground-frost per month)
- wnd
- 10 metre windspeed (metres/second)
- elv
- elevation (automatically converted to metres)
For more information see the description of the data provided by CRU,
https://crudata.uea.ac.uk/cru/data/hrg/tmc/readme.txt
create_CRU_stack(pre = FALSE, pre_cv = FALSE, rd0 = FALSE, tmp = FALSE,
dtr = FALSE, reh = FALSE, tmn = FALSE, tmx = FALSE, sunp = FALSE,
frs = FALSE, wnd = FALSE, elv = FALSE)
Arguments
- pre
- Logical. Fetch precipitation (millimetres/month) from server and
return in a raster stack? Defaults to FALSE.
- pre_cv
- Logical. Fetch cv of precipitation (percent) from server and
return in a raster stack? Defaults to FALSE.
- rd0
- Logical. Fetch wet-days (number days with >0.1 millimetres rain
per month) and return in a raster stack? Defaults to FALSE.
- tmp
- Logical. Fetch temperature (degrees Celsius) and return it in the
raster stack? Defaults to FALSE.
- dtr
- Logical. Fetch mean diurnal temperature range (degrees Celsius)
and return it in a raster stack? Defaults to FALSE.
- reh
- Logical. Fetch relative humidity and return it in a raster stack?
Defaults to FALSE.
- tmn
- Logical. Calculate minimum temperature values (degrees Celsius)
and return it in a raster stack? Defaults to FALSE.
- tmx
- Logical. Calculate maximum temperature (degrees Celsius) and
return it in a raster stack? Defaults to FALSE.
- sunp
- Logical. Fetch sunshine, percent of maximum possible (percent of
day length) and return it in raster stack? Defaults to FALSE.
- frs
- Logical. Fetch ground-frost records (number of days with ground-
frost per month) and return it in raster stack? Defaults to FALSE.
- wnd
- Logical. Fetch 10m wind speed (metres/second) and return it in the
raster stack? Defaults to FALSE.
- elv
- Logical. Fetch elevation (converted to metres) and return it in a
raster layer object? Defaults to FALSE.
Details
This function generates a data.frame object in R with the following
possible fields as specified by the user:
Note
This package automatically converts elevation values from kilometres to
metres.
This package crops all spatial outputs to an extent of ymin = -60, ymax = 85,
xmin = -180, xmax = 180. Note that the original wind data include land area
for parts of Antarctica, these data are excluded in the raster stacks
generated by this function.
See also
create_CRU_df
Examples
# Download data and create a raster stack of precipitation and temperature
## Not run: ------------------------------------
# CRU_pre_tmp <- create_CRU_stack(pre = TRUE, tmp = TRUE)
## ---------------------------------------------


| PSUID | PS Name | Control Number |
|---|---|---|
| {{psDetails.planSponsorId}} | {{psDetails.nameFull}} |
{{controlNumber.code}}
|
{{errorData}}
We are Sorry! A system exception has occurred and prevented your request from being processed. Please contact the support service, if the problem persists.
Service Timed out.Please relogin and search


Manage makes it simple for software teams to plan day-to-day tasks while keeping the larger teams goals in view.
Manage provides all functionality your team needs, without the complexity. Our software is tailor-made for modern digital product teams.
"We have been able to cancel so many other subscriptions since using Manage. There is no more cross-channel confusion and everyone is much more focused."
"We have been able to cancel so many other subscriptions since using Manage. There is no more cross-channel confusion and everyone is much more focused."
"We have been able to cancel so many other subscriptions since using Manage. There is no more cross-channel confusion and everyone is much more focused."


Hello, I am Petru, a self-taught JavaScript developer who likes to build beautiful user interfaces using ReactJs.
I work as a front-end developer since 2014, since then I've worked on many projects ranging from simple static-interfaces to fully fledged web applications.
I have both the experience of working on small projects, in small teams, and working in a corporate environment, with a well-defined development process and high-quality coding standards.


publications & projects
-
‘Postmodernism and Its Discontents, Or, The Cultural Logic of Don DeLillo’ in Don DeLillo in Context, ed. Jesse Kavadlo (Cambridge: Cambridge University Press, 2022)
-
World Literature and Dissent, eds. Lorna Burns and Katie Muth (London: Routledge, 2019)
-
‘The Problem of Dissent’ in World Literature and Dissent
-
‘Digital Readings’ in The New Pynchon Studies, ed. Joanna Freer (Cambridge: Cambridge University Press, 2019)
-
‘The Grammars of the System: Thomas Pynchon at Boeing’, Textual Practice 3.33 (2019): 473–493
-
‘Nonfiction’ in Thomas Pynchon in Context, ed. Inger H. Dalsgaard (Cambridge: Cambridge University Press, 2019)
-
‘Mass Media’ in American Literature in Transition, 1950–1960, ed. Steven Belletto (Cambridge: Cambridge University Press, 2018)
-
Translating Feminism Beta A beta KMZ map visualising the circulation and translation of second-wave feminist texts, drawn from data developed by the Leverhulme Trust funded International Network ‘Translating Feminism: Transfer, Transgression, Transformation (1945-1990)’ (University of Glasgow, 2016)
-
‘Postmodern Fiction as Poststructuralist Theory: Kathy Acker’s Blood and Guts in High School’, Narrative 19.1 (January 2011): 88–112


Oops- page not found!
The page you're looking for doesn't exist on Dynamic Drive. Either it's been moved, and the link to it is invalid. Please contact us with the pertinent information, and we'll try and fix the problem.
Recommend Us!
-If
you like Dynamic Drive, please recommend us to a friend...
Legend
All- Script works with Netscape 4 AND Internet Explorer
4+
NS- Indicates script works with Netscape 4
(NOT NS 6 yet)
IE- Indicates script works with Internet Explorer 4
and above
NS6!- Temporary
index set up on script category pages to indicate script works in NS6


Add comments below to wish Linda the best in the Aloha State.
Keep in mind that this is a public-facing website.
Leave Some For Linda
Add comments below to wish Linda the best in the Aloha State.
Keep in mind that this is a public-facing website.


Contact
About
Work
Contact
Send me an email with the form below:
Submit
Or reach out on one of my social channels:
LinkedIn
GitHub


HF 19 as it stands will either be bad or horrible from my perspective. These hardforks aren’t inherently good or bad. It depends on what your goals are. I don’t think this hardfork will accomplish my goals of growing the platform or supporting minnows. This is ironic because I think the hardfork is meant to do those things, but this is the story of unintended consequences. Needless to say, in the short term I don’t like it.
Perceived HF19 intentions
The hardfork is designed to improve the outgoing rewards pool distribution and that may happen to a small extent in limited areas. It’s meant to improve the usage of curation benefits and do a better job of capturing their rewards. It might do that too. However; those benefits will be massively outweighed by clustering of author rewards, which will drain ~60% of the reward pool into just 10-20 accounts (unless there is a massive manual intervention). I see that as bad. Maybe you don’t… but I think it’s bad.
That said, if it fails like I think it will then the blowback will help. If I’m wrong so be it. I’ve been wrong before. I got over it then too. If users go to extraordinary efforts to manually unfuck this thing it may appear to have worked, but only because some power users took things into their own hands. Like a lot of things around here it’s up to the whales and the Witnesses they upvote to determine how this place works. Excited to see how things turn out about 1-2 months after it’s implemented.
What do I want?
I want this place to grow. Pure and simple.
The world is run by immoral banksters that cause harm. Protesting isn’t going to change it. Getting on the inside isn’t going to change it. We gotta provide an alternative to the shitty economic system they have created and get a mass adoption going. If we can do that, then we can change the world.
I’m personally motivated to do this because the immoral banksters own the pharma companies and the research dollars involved in cancer research. Cures are known. Causes are known. We can end the cancer epidemic tomorrow if leaders stopped promoting cancer studies akin to tobacco science and talk extensively about the Race to the Cause instead of the Race to the Cure. It would be great if they start promoting actual cures instead of high priced medicines that cause further harm.
I’m a PhD scientist, I’ve done extensive research. I know about the mainstream studies. I’ve read them. I don’t believe them anymore. They’re lying and the research is fraudulent, and now I have a dead mother, two dead uncles, and a variety of family members missing their organs and a fat chunk of change because of it.  I have limited time to fix this place so my kids might have it better. I want this whole system to change, and I think Steemit could do it.
That’s where I’m coming from.
Stakeholders
Who are the stakeholders here?
Whales
Merchants
Everyone Else
I’m not anti-whale or anti-merchant. They are important groups. But I’m a populist anyway and want to see this place grow and that means focusing on the needs of new users and lower power users to train, retain, and grow them. If I can do that I have a shot at changing the world. Seems like a worthy effort.  That’s excluding the @steemit account. If you include @steemit it’s basically all the steem in like 100 accounts.
I hate the distribution, but I’m a libertarian/anarchist so the plan shouldn’t be to take from whales to give to minnows, but to gently guide a rewards pool distribution that incents helping baby accounts get wealthier.

Let’s start with Linear rewards. Linear Rewards is designed to fix curation. Curation is actually the wrong place to start. It’s only 12% of the rewards pool distribution, and this tweak will at best be a 15% change to it. So overall a max of a 1.8% shift to distribution.
We can’t talk about linear rewards all by itself because it’s not actually the most important question. We have to talk about it in conjunction with the whale non-voting experiment.
I’ve created a fairly simple model. HF 18 non-voting whales, HF 18 voting whales, HF 19 non-voting whales, and HF 19 voting whales. The problem with simple models is that they aren’t quite accurate and mine is no exception. What I’ve tried to do is think of 4 people voting on a post and trying to figure out what kinds of rewards they are going to get. This isn’t an exact science, but I’m pretty comfortable with what I’m looking at in the first pass.
4 curators in a whales voting scenario
A mega Whale with 800,000 SP
A whale with 50,000 SP
A dolphin with 13500 SP
A minnow with 1200 SP
I’ve also done a whales not voting scenario. I know some whales are currently voting even in the non-voting experiment so it isn’t perfect. That’s why I bumped my normal whales value up beyond 50k but didn’t include my mega whale who likely isn’t actually voting all that much.
4 curators in a whales voting scenario
A muted mega Whale with 0 SP
A whale with 80,000 SP
A dolphin with 13500 SP
A minnow with 1200 SP
Then I thought ok. Let’s imagine 4 different posts all go up to around $3k. It doesn’t matter who authored them. They all vote on the same post around the 30 minute mark. I’m going to ignore the order for a second though I know it matters, but we need a simple model. Now imagine that there’s $120 worth of rewards to split just between those 4 curators. Who gets what under the 4 cases?
Here’s how it shakes out-
HF 18 No experiment mega whale gets 99.5% of the 120 bucks
HF 18 with experiment whale gets 97.2% of the 120 bucks
HF 19 no experiment whale gets 93%
HF 19 with experiment whale get 84%
The flat out most fair way to do this is HF 19 no experiment, but of these 4 options HF 19 with the experiment will do the most to encourage new users to come here. Through some combination of the benevolance of mega whales and likely increase in user base if whales continue not voting thus leading to a price increase I hope Linear Rewards goes through and the experiment continues. But that’s small potatoes….
The future SP distribution is driven by author rewards
Look at how the rewards pool is paid out.
72% to Authors
13% to curators
7% to interest
5% to witnesses
2% to commentors
It shouldn’t take a genius to figure out how to make a better overall distribution and grow this place. We tweak those categories.
- Commenters… it’s not worth dealing with
- Witness pay isn’t massive compared to what they have to do… maybe trim when the price goes up… but especially if competition goes up for these spots and people fight for the positions then we will actually get our money’s worth out of the witness pool.
- Interest should be at 0%. Why we’re paying 7% of the reward pool to SBD interest is a bit of a mystery to me. I’m worried it’s based on legacy policies that haven’t been updated for like a year by some top 49 witness accounts that are driving percent interest above 0% and forcing the community to give a bunch of SP to SBD holders where it’s really not necessary. Either they change or we vote them down in power and we can recapture a lot if not all of this 7%.
Curators… Linear rewards and the experiment will tweak this… but it’s net effect at best is about a 15% change on 12% or at best about 1.8% difference in curation rewards pool distribution… This isn’t a holy grail.
Author rewards- This is where it’s at baby!!!
How do we point author rewards to growth?
Look at author rewards distribution now.
I can’t integrate this data, but if I squint I think I see about 90% of the author rewards going to 8% of the authors. I know that’s covered in the white paper, but I think it’s too much. I think it’s bad for the platform.  Should it be that much? No. Why?  This is subjective, but the current distribution isn’t meeting the needs of new users.
I have a unique position running a group for ~500 minnows to know some of what they are struggling with. Yes it’s only been 4 days, but I’ve only been a dolphin for about a month. I’ve been a minnow recently for about 10 months. So, I’m feeling kinda clued in.

Curation has a built in slow growth curve for minnows. If you can’t make a big bet on a post you can’t get paid out even if it goes pure huge. So, minnow curation is kinda fucked. The most hope a minnow has for money is droppin’ memes in whale comment’s sections or hoping that 1 post actually catches a whale upvote. But there isn’t a growth cap on authoring, so that’s the best chance to make mega rewards for minnows and dolphins and seeing that all the rewards are going to the same ~30 authors every week makes that difficult to bear.
What’s the 4x change in voting going to do?
It’s going to concentrate votes even more on an even slimmer number of authors. If you think the reward pool is getting drained now by the same people over and over it’s going to be 4 times worse. Why? because that’s how you maximize curation.
I run @minnowsupport bot which is a newly minted whale account. 500 people autovote themselves about 1000 times a day.
Instead take for example a recent 1 click $700 payout for a whale curating a big post.
I get why this was put in place. It was an incentive to upvote the best content and the assumption was that if more people upvote it then it’s better content. That’s not how this works in reality though.
Now, imagine instead of placing a $50 bet on a post I get to place a $200 dollar bet on the post. My gains will get even larger. The posts will get even larger.
 It’s because curation is gamed to maximize rewards rather than used as designed to upvote the best content.
 Linear rewards is barely perceptible. If the experiment stops it’s gonna be even worse.  That said.
- Get rid of curation bonuses for pig piling.
- Spread out voting power to 80 votes instead of shrinking to 10
- Keep the non-voting whale experiment going
- Implement linear rewards
- Witnesses change SBD percent interest to 0 or you remove your witness vote on them
- Incent whales to upvote minnows by using less power or having a better rewards curve when they do
Help the people running and participating in the Minnow Support Project.
Let’s hope I’m wrong. If I’m right let’s work collectively to steer the ship on a different tack. If I’m wrong point and laugh and we’ll all joke about this a month from now.
https://steemit.com/minnowsupportproject/@minnowsupport/updated-governance-organization-ranks-channels-and-plans-for-the-minnow-support-project
This page is synchronized from the post: ‘HF 19- The Clu$terf*ckening and Unintended Consequences’


What Stranger Things Character Are You?
Please select the decription that most fits you:
I like acting like the leader of my party.
I like using my mind powers.
I like going fast!
I will do anything to protect my family.
I love taking care of reptiles.
Submit


Day 2: Keeping it Simple
Click me!!
Watch this text change when you press the button
Source:
w3schools


If this is set, only you can see this project
{{project.private?'private':'non-private'}} project
{{project.public?'public':'non-public'}} project
Open
Selling
Sold
{{(mergeProject.name && mergeProject.name!=='')?mergeProject.name:mergeProject.tree.item.name}}
Merge with selected Project
{{getUser(sharedUser).name}}
clear
{{user.name}}
Share
Project {{project.order?'ordered':'created'}} by {{project.creator.name}}


| 045:004 Khan | : |
And in your creation, and what He scattered (through the earth) of moving (living) creatures are signs for people who have Faith with certainty. |
| 045:004 Maulana | : |
And in your creation and in the animals He spreads abroad are signs for a people who are sure; |
| 045:004 Pickthal | : |
And in your creation, and all the beasts that He scattereth in the earth, are portents for a folk whose faith is sure. |
| 045:004 Rashad | : |
Also in your creation, and the creation of all the animals, there are proofs for people who are certain. |
| 045:004 Sarwar | : |
In your creation and in that of the beasts living on earth there is evidence of the Truth for the people who have strong faith. |
| 045:004 Shakir | : |
And in your (own) creation and in what He spreads abroad of animals there are signs for a people that are sure; |
| 045:004 Sherali | : |
And in your own creation and in that of all the creatures which HE spreads in the earth are Signs for a people who possess firm faith. |
| 045:004 Yusufali | : |
And in the creation of yourselves and the fact that animals are scattered (through the earth), are Signs for those of assured Faith. |
Concepts/Themes Covered: أركان الإسلام > التوحيد > توحيد الله تعالي > وجوده Pillars of Islam> Islamic> Oneness of Allah> His Existence أركان الإسلام > التوحيد > الكافرون > صفات الكفار Pillars of Islam> Islamic> The Disbelievers> The Characteristics of the Disbelievers الإيمان > الإيمان بالله > اليقين Faith> Belief In Allah> Conviction
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


Warning
Before version 3.1, the Email
and Transport
classes were under
the Cake\Network\Email
namespace instead of the Cake\Mailer
namespace.
Cake\Mailer\
Email
(mixed $profile = null)¶Email
is a new class to send email. With this
class you can send email from any place inside of your application.
First of all, you should ensure the class is loaded:
use Cake\Mailer\Email;
After you’ve loaded Email
, you can send an email with the following:
$email = new Email('default');
<EMAIL_ADDRESS>=> 'My Site'])
<EMAIL_ADDRESS>->subject('About')
->send('My message');
Since Email
‘s setter methods return the instance of the class, you are able to set its properties with method chaining.
Email
has several methods for defining recipients - to()
, cc()
,
bcc()
, addTo()
, addCc()
and addBcc()
. The main difference being
that the first three will overwrite what was already set and the latter will just
add more recipients to their respective field:
$email = new Email();
<EMAIL_ADDRESS>'To Example');
<EMAIL_ADDRESS>'To2 Example');
// The email's To recipients are<EMAIL_ADDRESS>and<EMAIL_ADDRESS><EMAIL_ADDRESS>'ToTest Example');
// The email's To recipient is<EMAIL_ADDRESS>Deprecated since version 3.4.0: Use setFrom()
, setTo()
, setCc()
, setBcc()
and setSubject()
instead.
When sending email on behalf of other people, it’s often a good idea to define the
original sender using the Sender header. You can do so using sender()
:
$email = new Email();
<EMAIL_ADDRESS>'MyApp emailer');
Note
It’s also a good idea to set the envelope sender when sending mail on another person’s behalf. This prevents them from getting any messages about deliverability.
Deprecated since version 3.4.0: Use setSender()
instead.
Configuration for Email
defaults is created using config()
and
configTransport()
. You should put your email presets in the
config/app.php file. The config/app.default.php file is an
example of this file. It is not required to define email configuration in
config/app.php. Email
can be used without it and use the respective
methods to set all configurations separately or load an array of configs.
By defining profiles and transports, you can keep your application code free of configuration data, and avoid duplication that makes maintenance and deployment more difficult.
To load a predefined configuration, you can use the profile()
method or pass it
to the constructor of Email
:
$email = new Email();
$email->profile('default');
// Or in constructor
$email = new Email('default');
Instead of passing a string which matches a preset configuration name, you can also just load an array of options:
$email = new Email();
$email->profile(['from' =><EMAIL_ADDRESS>'transport' => 'my_custom']);
// Or in constructor
$email = new Email(['from' =><EMAIL_ADDRESS>'transport' => 'my_custom']);
Changed in version 3.1: The default
email profile is automatically set when an Email
instance is created.
Deprecated since version 3.4.0: Use setProfile()
instead of profile()
.
Cake\Mailer\Email::
configTransport
($key, $config)¶Email messages are delivered by transports. Different transports allow you to
send messages via PHP’s mail()
function, SMTP servers, or not at all which
is useful for debugging. Configuring transports allows you to keep configuration
data out of your application code and makes deployment simpler as you can simply
change the configuration data. An example transport configuration looks like:
use Cake\Mailer\Email;
// Sample Mail configuration
Email::configTransport('default', [
'className' => 'Mail'
]);
// Sample SMTP configuration.
Email::configTransport('gmail', [
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'username' =><EMAIL_ADDRESS>'password' => 'secret',
'className' => 'Smtp'
]);
You can configure SSL SMTP servers, like Gmail. To do so, put the ssl://
prefix in the host and configure the port value accordingly. You can also
enable TLS SMTP using the tls
option:
use Cake\Mailer\Email;
Email::configTransport('gmail', [
'host' => 'smtp.gmail.com',
'port' => 587,
'username' =><EMAIL_ADDRESS>'password' => 'secret',
'className' => 'Smtp',
'tls' => true
]);
The above configuration would enable TLS communication for email messages.
Warning
You will need to have access for less secure apps enabled in your Google account for this to work: Allowing less secure apps to access your account.
Note
To use SSL + SMTP, you will need to have the SSL configured in your PHP install.
Configuration options can also be provided as a DSN string. This is useful when working with environment variables or PaaS providers:
Email::configTransport('default', [
'url' => 'smtp://my@gmail.com:secret@smtp.gmail.com:465?tls=true',
]);
When using a DSN string you can define any additional parameters/options as query string arguments.
Deprecated since version 3.4.0: Use setConfigTransport()
instead of configTransport()
.
Cake\Mailer\Email::
dropTransport
($key)¶Once configured, transports cannot be modified. In order to modify a transport you must first drop it and then reconfigure it.
Defining delivery profiles allows you to consolidate common email settings into re-usable profiles. Your application can have as many profiles as necessary. The following configuration keys are used:
'from'
: Email or array of sender. See Email::from()
.'sender'
: Email or array of real sender. See Email::sender()
.'to'
: Email or array of destination. See Email::to()
.'cc'
: Email or array of carbon copy. See Email::cc()
.'bcc'
: Email or array of blind carbon copy. See Email::bcc()
.'replyTo'
: Email or array to reply the e-mail. See Email::replyTo()
.'readReceipt'
: Email address or an array of addresses to receive the
receipt of read. See Email::readReceipt()
.'returnPath'
: Email address or an array of addresses to return if have
some error. See Email::returnPath()
.'messageId'
: Message ID of e-mail. See Email::messageId()
.'subject'
: Subject of the message. See Email::subject()
.'message'
: Content of message. Do not set this field if you are using rendered content.'priority'
: Priority of the email as numeric value (usually from 1 to 5 with 1 being the highest).'headers'
: Headers to be included. See Email::headers()
.'viewRender'
: If you are using rendered content, set the view classname.
See Email::viewRender()
.'template'
: If you are using rendered content, set the template name. See
Email::template()
.'theme'
: Theme used when rendering template. See Email::theme()
.'layout'
: If you are using rendered content, set the layout to render. If
you want to render a template without layout, set this field to null. See
Email::template()
.'viewVars'
: If you are using rendered content, set the array with
variables to be used in the view. See Email::viewVars()
.'attachments'
: List of files to attach. See Email::attachments()
.'emailFormat'
: Format of email (html, text or both). See Email::emailFormat()
.'transport'
: Transport configuration name. See
Mailer\Email::configTransport()
.'log'
: Log level to log the email headers and message. true
will use
LOG_DEBUG. See also Using Levels.'helpers'
: Array of helpers used in the email template. Email::helpers()
.All these configurations are optional, except 'from'
.
Note
The values of above keys using Email or array, like from, to, cc, etc will be passed
as first parameter of corresponding methods. The equivalent for:
<EMAIL_ADDRESS>'My Site')
would be defined as 'from' =><EMAIL_ADDRESS>=> 'My Site']
in your config
In Email
you are free to set whatever headers you want. When migrating
to use Email, do not forget to put the X-
prefix in your headers.
See Email::headers()
and Email::addHeaders()
Deprecated since version 3.4.0: Use setHeaders()
instead of headers()
.
Emails are often much more than just a simple text message. In order to facilitate that, CakePHP provides a way to send emails using CakePHP’s view layer.
The templates for emails reside in a special folder in your application’s
Template
directory called Email
. Email views can also use layouts
and elements just like normal views:
$email = new Email();
$email
->template('welcome', 'fancy')
->emailFormat('html')
<EMAIL_ADDRESS><EMAIL_ADDRESS>->send();
The above would use src/Template/Email/html/welcome.ctp for the view and src/Template/Layout/Email/html/fancy.ctp for the layout. You can send multipart templated email messages as well:
$email = new Email();
$email
->template('welcome', 'fancy')
->emailFormat('both')
<EMAIL_ADDRESS><EMAIL_ADDRESS>->send();
This would use the following template files:
When sending templated emails you have the option of sending either
text
, html
or both
.
You can set view variables with Email::viewVars()
:
$email = new Email('templated');
$email->viewVars(['value' => 12345]);
In your email templates you can use these with:

Here is your value: <?= $value ?>

You can use helpers in emails as well, much like you can in normal template files.
By default only the HtmlHelper
is loaded. You can load additional
helpers using the helpers()
method:
$email->helpers(['Html', 'Custom', 'Text']);
When setting helpers be sure to include ‘Html’ or it will be removed from the helpers loaded in your email template.
If you want to send email using templates in a plugin you can use the familiar plugin syntax to do so:
$email = new Email();
$email->template('Blog.new_comment', 'Blog.auto_message');
The above would use template and layout from the Blog plugin as an example.
In some cases, you might need to override the default template provided by plugins.
You can do this using themes by telling Email to use appropriate theme using
Email::theme()
method:
$email = new Email();
$email->template('Blog.new_comment', 'Blog.auto_message');
$email->theme('TestTheme');
This allows you to override the new_comment
template in your theme without
modifying the Blog plugin. The template file needs to be created in the
following path:
src/Template/Plugin/TestTheme/Plugin/Blog/Email/text/new_comment.ctp.
Deprecated since version 3.4.0: Use setTemplate()
instead of template()
. Use setLayout()
instead
of the layout argument of template()
. Use setTheme()
instead of
theme()
.
Cake\Mailer\Email::
attachments
($attachments)¶You can attach files to email messages as well. There are a few different formats depending on what kind of files you have, and how you want the filenames to appear in the recipient’s mail client:
String: $email->attachments('/full/file/path/file.png')
will attach this
file with the name file.png.
Array: $email->attachments(['/full/file/path/file.png'])
will have
the same behavior as using a string.
Array with key:
$email->attachments(['photo.png' => '/full/some_hash.png'])
will
attach some_hash.png with the name photo.png. The recipient will see
photo.png, not some_hash.png.
Nested arrays:
$email->attachments([
'photo.png' => [
'file' => '/full/some_hash.png',
'mimetype' => 'image/png',
'contentId' => 'my-unique-id'
]
]);
The above will attach the file with different mimetype and with custom Content ID (when set the content ID the attachment is transformed to inline). The mimetype and contentId are optional in this form.
4.1. When you are using the contentId
, you can use the file in the HTML
body like
.
4.2. You can use the contentDisposition
option to disable the
Content-Disposition
header for an attachment. This is useful when
sending ical invites to clients using outlook.
4.3 Instead of the file
option you can provide the file contents as
a string using the data
option. This allows you to attach files without
needing file paths to them.
Deprecated since version 3.4.0: Use setAttachments()
instead of attachments()
.
Transports are classes designed to send the e-mail over some protocol or method. CakePHP supports the Mail (default), Debug and SMTP transports.
To configure your method, you must use the Cake\Mailer\Email::transport()
method or have the transport in your configuration:
$email = new Email();
// Use a named transport already configured using Email::configTransport()
$email->transport('gmail');
// Use a constructed object.
$transport = new DebugTransport();
$email->transport($transport);
Deprecated since version 3.4.0: Use setTransport()
instead of transport()
.
You are able to create your custom transports to integrate with others email systems (like SwiftMailer). To create your transport, first create the file src/Mailer/Transport/ExampleTransport.php (where Example is the name of your transport). To start off your file should look like:
namespace App\Mailer\Transport;
use Cake\Mailer\AbstractTransport;
use Cake\Mailer\Email;
class ExampleTransport extends AbstractTransport
{
public function send(Email $email)
{
// Do something.
}
}
You must implement the method send(Email $email)
with your custom logic.
Optionally, you can implement the config($config)
method. config()
is
called before send() and allows you to accept user configurations. By default,
this method puts the configuration in protected attribute $_config
.
If you need to call additional methods on the transport before send, you can use
Cake\Mailer\Email::getTransport()
to get an instance of the transport object.
Example:
$yourInstance = $email->getTransport()->transportClass();
$yourInstance->myCustomMethod();
$email->send();
Cake\Mailer\Email::
emailPattern
($pattern)¶If you are having validation issues when sending to non-compliant addresses, you can relax the pattern used to validate email addresses. This is sometimes necessary when dealing with some Japanese ISP’s:
$email = new Email('default');
// Relax the email pattern, so you can send
// to non-conformant addresses.
$email->emailPattern($newPattern);
Deprecated since version 3.4.0: Use setEmailPattern()
instead of emailPattern()
.

Cake\Mailer\Email::deliver()
is intended for that purpose.
You can create your configuration using
Cake\Mailer\Email::config()
, or use an array with all
options that you need and use the static method Email::deliver()
.
Example:
<EMAIL_ADDRESS>'Subject', 'Message', ['from' => 'me@example.com']);
This method will send an email to<EMAIL_ADDRESS>from<EMAIL_ADDRESS>with subject “Subject” and content “Message”.
The return of deliver()
is a Cake\Mailer\Email
instance with all
configurations set. If you do not want to send the email right away, and wish
to configure a few things before sending, you can pass the 5th parameter as
false
.
The 3rd parameter is the content of message or an array with variables (when using rendered content).
The 4th parameter can be an array with the configurations or a string with the
name of configuration in Configure
.
If you want, you can pass the to, subject and message as null and do all
configurations in the 4th parameter (as array or using Configure
).
Check the list of configurations to see all accepted configs.
When sending emails within a CLI script (Shells, Tasks, ...) you should manually set the domain name for Email to use. It will serve as the host name for the message id (since there is no host name in a CLI environment):
$email->domain('www.example.org');
// Results in message ids like<EMAIL_ADDRESS>(valid)
// Instead of `<UUID@>`` (invalid)
A valid message id can help to prevent emails ending up in spam folders.
Deprecated since version 3.4.0: Use setDomain()
instead of domain()
.
New in version 3.1.0.
Mailers allow you to create reusable emails throughout your application. They can also be used to contain multiple email configurations in one location. This helps keep your code DRYer and keeps email configuration noise out of other areas in your application.
In this example we will be creating a Mailer
that contains user-related
emails. To create our UserMailer
, create the file
src/Mailer/UserMailer.php. The contents of the file should look like the
following:
namespace App\Mailer;
use Cake\Mailer\Mailer;
class UserMailer extends Mailer
{
public function welcome($user)
{
$this
->to($user->email)
->subject(sprintf('Welcome %s', $user->name))
->template('welcome_mail', 'custom'); // By default template with same name as method name is used.
}
public function resetPassword($user)
{
$this
->to($user->email)
->subject('Reset password')
->set(['token' => $user->token]);
}
}
In our example we have created two methods, one for sending a welcome email, and
another for sending a password reset email. Each of these methods expect a user
Entity
and utilizes its properties for configuring each email.
We are now able to use our UserMailer
to send out our user-related emails
from anywhere in our application. For example, if we wanted to send our welcome
email we could do the following:
namespace App\Controller;
use Cake\Mailer\MailerAwareTrait;
class UsersController extends AppController
{
use MailerAwareTrait;
public function register()
{
$user = $this->Users->newEntity();
if ($this->request->is('post')) {
$user = $this->Users->patchEntity($user, $this->request->getData())
if ($this->Users->save($user)) {
$this->getMailer('User')->send('welcome', [$user]);
}
}
$this->set('user', $user);
}
}
If we wanted to completely separate sending a user their welcome email from our
application’s code, we can have our UserMailer
subscribe to the
Model.afterSave
event. By subscribing to an event, we can keep our
application’s user-related classes completely free of email-related logic and
instructions. For example, we could add the following to our UserMailer
:
public function implementedEvents()
{
return [
'Model.afterSave' => 'onRegistration'
];
}
public function onRegistration(Event $event, EntityInterface $entity, ArrayObject $options)
{
if ($entity->isNew()) {
$this->send('welcome', [$entity]);
}
}
The mailer object could now be registered as an event listener, and the
onRegistration()
method would be invoked every time the Model.afterSave
event would be fired. For information on how to register event listener objects,
please refer to the Registering Listeners documentation.


Next: Disk cache, Previous: Cache transparency, Up: Caching [Contents][Index]
The in-memory cache consists of a list of HTTP and DNS objects maintained in least-recently used order. An index to the in-memory cache is maintained as a (closed) hash table.
When the in-memory cache grows beyond a certain size (controlled by a number of variables, see Memory usage), or when a hash table collision occurs, resources are written out to disk.


Hot Restaurant
Group 6
Make your reservation
View Tables
Table Reservation
Name
Phone Number
Email Address
Unique ID
Submit


I started to hear about CDNs since I joined my current job. One of the CDNs we use is Fastly, it is being used in almost all of our projects so I got a brief introduction about it when I first joined the company.
Since then, I have barely worked with Fastly to be honest but I was recently assigned to a new project and they are expected to go live in a couple of weeks but, they are planning on going live only on a specific region of a country, and in order to do that I need to perform configuration changes on Fastly.
So today I learned a couple more things about Fastly and overall CDNs…
But what does that even mean? Well, when a website has a lot of dynamic content, that will cause the backend servers to be overloaded because every time a resource is requested it will be requested from them. So Varnish helps to easy the workload the backend servers receive by caching content hence serving it itself without reaching to the backend servers. Note, Varnish will cash only static content.
I also learned that Varnish is designed to work specifically with HTTP.
That an HTTP accelerator is a proxy server that reduces web site access time.
That VCL is Varnish Configuration Language and it is the domain specific language of Varnish and the way we apply rules to it. Varnish will translates this configurations into binary code and execute when the request arrives. In fact, Fastly actually reads a VCL file where we can put all the Varnish rules we want to apply.
That the VCL file is divided into subroutines that are applied at different times. One is executed when the request arrives to the website and another when files are fetched from the backend servers.
Subroutines:
vcl_recv = is called at the beginning of a request, after the complete request has been received and parsed. Its purpose is to decide whether or not to serve the request, how to do it, and, if applicable, which backend to use.
vcl_fetch = is called after a document has been successfully retrieved from the backend. Normal tasks here are to alter the response headers, trigger ESI processing, try alternate backend servers in case the request failed.
Note: According to the documentation, 99% of all the changes you’ll need to do in Varnish will be done in those two subroutines (vcl_recv and vcl_fetch).
So, going back to the reason I got this task, if I need to limit the access to a website to a specific region by using Varnish rules, then I need to add a rule to the vcl_recv subroutine, because that’s the subroutine than decides what to do with the request when it first arrives. Besides that, I’ll also going to make use of Fastly Geolocation VCL features.
In the case of Fastly, it basically has a list of variables that facilitates making configuration changes on the VCL file. The variable I’ll need to make use of is “client.geo.region”. So, for example, if I want to limit the access to my website, let’s say www.pandita.com to the state of Sinaloa, Mexico (I’m from Sinaloa), then we need to use something like this:
if ( client.geo.region != “MX-SIN” ) { error 404; }
What this does is, if traffic coming to the website doesn’t come from the state of Sinaloa Mexico, then the website should return a 404 not found error.
Note: The region code is based on ISO 3166-2 country code subdivision.
##Conclusion## Sometimes I have a hard time to structure the ideas in my head in order to write something in here. There is plenty of topics to write about and a lot I don’t know of technical stuff, so I though yesterday, why not just writing small blogs about what I learned today, and this came up. I’ll try to keep doing this. It helps me to memorize things and understand them better. So, this is the summary of what I learned today about Varnish and Fastly.
##References## Fastly Geolocation ISO_3166-2


Back
Settings
Login to
Envato API
to generate a
Personal Token
with "View your items' sales history" permission. Enter the Personal Token you received into the following field and press Save button.
Save


{% extends 'crisis/base.html' %} {% block body_block %}
A Notification has been sent to the nearest Police Station!
Exact Details:
Count of people is 15
Location is Amingaon, Guwahati
Nearest Police Station detected is Amingaon Police Station
{% endblock %}


Binance is a blockchain ecosystem comprised of Exchange, Labs, Launchpad, and Info. Binance Exchange is one of the fastest growing and most popular cryptocurrency exchanges in the world. Founded by a team of fintech and crypto experts — it is capable of processing more tha...


new Zyp(apiKeyopt)
Instantiate ZypHub
Arguments:
-
[apiKey]
(string)
 An enterprose API Key for login
Examples
let zyp = new Zyp();
let zyp = new Zyp(MY_ENTERPRISE_API_KEY);
Classes
- Groups
- User
- RTM
- Events
Members
user Zyphub User APIs
static
- See:
-
- User
groups Zyphub Group APIs
static
- See:
-
- Groups
events Zyphub Event APIs
static
- See:
-
- Events
RTM Zyphub Real-time Messaging APIs
static
- See:
-
- RTM
- User
- Groups
- Events
- RTM


--- layout: tagpage title: "School" description: "Life's Motto: Work hard, Play hard." header-img: "img/um.jpg" tag: school ---
Hi I'm Rebecca!


Home
cordova-plugin-stripe-terminal!
WIP -
Help Wanted
Cordova Plugin for
Stripe Terminal
.
Home
Classes
Terminal


Chicago, IL
A few additional details about you will help your employers to know you A few additional details about you will help your employers to know you
March 2014 to August 2014
Magento/PHP development for a Point-of-sale equiptment dealer. I worked on setting up VMware ESX sandbox developer environment. I also built their quote system in Magento. They have 8 other websites that sell the same equipment so I also worked on keeping them up to date with the main website that brings in revenue.
March 2012 to March 2014
Extending/Customizing Zend Framework 2 based library search resource portal (http://myportal.domain.com)
Maintaining legacy employee travel/training requisition system and division hours site
March 2011 to March 2012
Programming additions to the existing Ans.org website
Extending/Customizing Zend Framework 2 based library search resource portal (http://myportal.domain.com)
Maintaining legacy employee travel/training requisition system and division hours site
A few additional details about you will help your employers to know you A few additional details about you will help your employers to know you
A few additional details about you will help your employers to know you A few additional details about you will help your employers to know you
A few additional details about you will help your employers to know you A few additional details about you will help your employers to know you
Updated: February 16, 2015
Share This Resume :


Row Details can be enabled by providing a <template class="row-details">
and toggling item details by using {{detailsOpened}}
template variable,
detailsOpenedItems
property or openItemDetails(item)
and
closeItemDetails(item)
methods.
Hi! My name is [[item.name.first]]!
In this example the grid's activeItem
property is bound to detailsOpenedItems
property.
Hint: Click a row to toggle the active item.
Hi! My name is [[item.name.first]]!


Casepoint
empowers legal departments, law firms, and public agencies by providing smarter legal technology combined with award-winning client service. Casepoint eDiscovery is the fast, enterprise class, and next generation eDiscovery suite from Casepoint, based on 11 years of innovation in the industry. It is built upon Casepoint Platform, a highly scalable, secure, and configurable application environment that meets the demands of sophisticated clients within eDiscovery and beyond.
Code
include'stdio.h'
void main()
{
printf("Hello World");
}
Keyboard Shortcuts :Ctrl+Shift+S To Save The Work Permanantly
Address :
Our offices · Gujarat, India Casepoint Pvt. Ltd. 208, Shivalik Western, L. P. Savani Road, Adajan, Surat, Gujarat 395009, India Phone: +91<PHONE_NUMBER>.


I can help.
I’m currently available for freelance work.
If you have a project that you want to get started, think you need my help with something or just fancy saying hey, or do you want to hire me, then get in touch.
I'm a Self learned web designer / developer based on Kathmandu, Nepal. I have a passion for web design and love to create and learn new designs.
I am a web designer so i can design a clean website the way you want it to be.I like to keep it simple.
I am a web developer so my goal is to provide you with a responsive website with the latest technology.
I like to keep things simple. My design is normally based on one page solution.
If you have a project that you want to get started, think you need my help with something or just fancy saying hey, or do you want to hire me, then get in touch.


Massimo's Angular Gallery
Light2D
A script that traces rays of light from a central point, stopping when it intersects walls.
The user can draw in walls and move the point of light around the scene, with a Doomslayer type view
on the right side.
Work in progress


Progress
Total Minutes
104
Workouts
44
Days
5
calories burned
160
23 Aug 2021
Full Body Stretch
Alvin Summers (Workout with Trainer)
Minutes 00:22:04
Calories Burned 24
Full Body Warm Up
Workout by Yourself
Minutes 00:40:04
Calories Burned 40
Abs Training - Beginner
Valeria Orsini (Workout with Trainer)
Minutes 00:32:04
Calories Burned 36
1 Aug 2021
Full Body Stretch
Alvin Summers (Workout with Trainer)
Minutes 00:22:04
Calories Burned 24
Full Body Warm Up
Workout by Yourself
Minutes 00:40:04
Calories Burned 40
Abs Training - Beginner
Valeria Orsini (Workout with Trainer)
Minutes 00:32:04
Calories Burned 36
2 Aug 2021
Full Body Stretch
Alvin Summers (Workout with Trainer)
Minutes 00:22:04
Calories Burned 24
Full Body Warm Up
Workout by Yourself
Minutes 00:40:04
Calories Burned 40
Abs Training - Beginner
Valeria Orsini (Workout with Trainer)
Minutes 00:32:04
Calories Burned 36
1 Aug 2021
Full Body Stretch
Alvin Summers (Workout with Trainer)
Minutes 00:22:04
Calories Burned 24
Full Body Warm Up
Workout by Yourself
Minutes 00:40:04
Calories Burned 40
Abs Training - Beginner
Valeria Orsini (Workout with Trainer)
Minutes 00:32:04
Calories Burned 36
2 Aug 2021
Full Body Stretch
Alvin Summers (Workout with Trainer)
Minutes 00:22:04
Calories Burned 24
Full Body Warm Up
Workout by Yourself
Minutes 00:40:04
Calories Burned 40
Abs Training - Beginner
Valeria Orsini (Workout with Trainer)
Minutes 00:32:04
Calories Burned 36


After doing a lot of digging through Google, I learned about the Enumerable#cycle method and it’s pretty [bleeping] cool. To start, I’ll walk you through the basic stuff and once we get that down, I’ll show you how the fun tricks with it.
At its core, the #cycle method runs a block either n times or, if you don’t specify, forever. You set it up like this:
>> shopping_list = ["apples", "bananas", "grapes"]
=> ["apples", "bananas", "grapes"]
>> shopping_list.cycle {|x| puts x}
apples
bananas
grapes
apples
bananas
grapes
apples
bananas
grapes
apples
bananas
grapes
[... and on and on and on. This is where I hit control + c]
Pretty simple. Now lets add our number to break it after that many cycles.
>> shopping_list. cycle(2) {|x| puts x}
apples
bananas
grapes
apples
bananas
grapes
=> nil
Now, to get a little fancier, you can write the break inside of the block:
>> shopping_list.cycle do |x|
>> puts x
>> break if x == "grapes"
>> end
apples
bananas
grapes
=> nil
Not amused? Well maybe this will get ya going: If you set a variable equal to the result of running #cycle on an Enumerable, then that object can have #next called on it to return the next item in the sequence. Let me clarify with an example:
>> food_items = shopping_list.cycle
=> #
>> food_items.next
=> "apples"
>> food_items.next
=> "bananas"
>> food_items.next
=> "grapes"
>> food_items.next
=> "apples"
Is that cool enough for you?! You can even call #rewind on the object and have it start again from the beginning of the cycle! Watch it in action (the following code continues from where the previous code left off) :
>> food_items.next
=> "apples"
>> food_items.next
=> "bananas"
>> food_items.rewind
=> #
>> food_items.next
=> "apples"
Disclaimer: There may still be more to learn about htis method. This is what I could find from in-depth google search that did not return too much information. I will update with my future findings. Until then, Happy Coding!


|
CANopen FD Master Library
Making your systems precise, reliable and high-quality - 5.10.01
|
For transmission and reception of CAN messages a structure which holds all necessary informations is used. The structure has the following data fields:
Data Fields | |
| uint32_t | ulIdentifier |
| union { | |
| uint8_t aubByte [CP_DATA_SIZE] | |
| uint16_t auwWord [CP_DATA_SIZE/2] | |
| uint32_t aulLong [CP_DATA_SIZE/4] | |
| } | tuMsgData |
| uint8_t | ubMsgDLC |
| uint8_t | ubMsgCtrl |
| CpTime_ts | tsMsgTime |
| uint32_t | ulMsgUser |
| uint32_t | ulMsgMarker |
| uint8_t CpCanMsg_s::aubByte[CP_DATA_SIZE] |
byte access, array of bytes
| uint32_t CpCanMsg_s::aulLong[CP_DATA_SIZE/4] |
32 bit access, array of longs
| uint16_t CpCanMsg_s::auwWord[CP_DATA_SIZE/2] |
16 bit access, array of words
| CpTime_ts CpCanMsg_s::tsMsgTime |
The time stamp field defines the time when a CAN message was received by the CAN controller. This is an optional field (available if #CP_CAN_MSG_TIME is set to 1).
| union { ... } CpCanMsg_s::tuMsgData |
The data field has up to 8 bytes (for classic CAN) or 64 bytes (for ISO CAN FD) of message data. The number of used bytes is described via the structure member ubMsgDLC
.
| uint8_t CpCanMsg_s::ubMsgCtrl |
The structure member ubMsgCtrl
defines the different data frames (2.0A / 2.0B) and the RTR frames.
| uint8_t CpCanMsg_s::ubMsgDLC |
The data length code denotes the number of data bytes which are transmitted by a message. The possible value range for the data length code is from 0 to 8 for classic CAN and 0 to 15 for ISO CAN FD.
| uint32_t CpCanMsg_s::ulIdentifier |
The identifier field may have 11 bits for standard frames (CAN specification 2.0A) or 29 bits for extended frames (CAN specification 2.0B). The three most significant bits are reserved (always read 0).
| uint32_t CpCanMsg_s::ulMsgMarker |
The field message marker can hold a 32 bit value, which is defined by the application. This is an optional field (available if #CP_CAN_MSG_MARKER is set to 1).
| uint32_t CpCanMsg_s::ulMsgUser |
The field user data can hold a 32 bit value, which is defined by the user. This is an optional field (available if #CP_CAN_MSG_USER is set to 1).