My Details
My Account
My Transactions
LOG OUT
My Details
Name :
Address :
PPSM :
Sort Code :
Update Your Details
This is a modified jumbotron that occupies the entire horizontal space of its parent.
First Name
Last Name
Address
PPSN
Sort Code
UID
Delete Account


Amiri is a classical Arabic typeface in Naskh style for typesetting books and other running text. Its design is a revival of the beautiful typeface pioneered in early 20th century by Bulaq Press in Cairo, also known as Amiria Press, after which the font is named.
Read more about the project at www.amirifont.org
Updated in July 2017 to v0.109


API¶
CodeDevils offers both GraphQL and REST APIs to access organization information. You can find more information by visiting both pages below. CodeDevils recommends that you use the GraphQL API as it provides both end-user/host flexibility and access to updates faster.
For more information, contact our Webmasters.


MiniWoW is an attempt to make WoW PvP more accessible without loosing the fun of it.
Only 9 spells
Limiting the amount of available spells and basing the play style off old school twink PvP will force players to make the most out of the tools they get.
Choice of build
At the begining, we will focus the play tests on a single build
per classes, but we plan to allow players to freely switch what spells
they uses.
This should give depth and allow players to innovate uppon the stale
meta of warth of the lich king while keep using the beloved spells
of this era.


Moonbridge Network Server for Lua – Example Application
Test POST request with file upload
Files:
Comment:


←
Stronghold Scouting Form
Team Number
Autonomous Period
Cross Defense
Shooting
High
Reached Tower
Low
Teleoperated Period
Climb
Low Goal
Success
Fail
Defenses Breached
Portcullis
Cheval de Frise
Moat
Ramparts
Penalties
Foul
Tech-Foul
Yellow Card
Red Card
Disabled
Notes
Auton Notes
Teleop Notes
Submit


| Properties' Summary |
boolean
On |
If true, line numbering is used.
|
string
CharStyle |
The name of the character style that is used for the line number.
|
boolean
CountEmptyLines |
If true, empty lines are counted.
|
boolean
CountLinesInFrames |
If true, lines in frames are included in counting.
|
long
Distance |
specifies the distance between the line number and the start or
end of the text area.
|
short
LineInterval |
Line numbers are shown on every LineIntervalth line.
|
string
LineSeparator |
specifies the symbol that is shown between the line numbers.
|
short
SeparatorLineDistance |
The line separator is shown every SeparatorLineDistanceth line.
|
short
NumberPosition |
specifies the position of the line number
(constant ::com::sun::star::style::LineNumberPosition - left/right/inside/outside).
|
short
NumberingType |
specifies the type of the numbering.
|
| Properties' Details |
On
boolean On;
- Description
- If true, line numbering is used.
|
|
CharStyle
string CharStyle;
- Description
- The name of the character style that is used for the line number.
|
|
CountEmptyLines
boolean CountEmptyLines;
- Description
- If true, empty lines are counted.
|
|
CountLinesInFrames
boolean CountLinesInFrames;
- Description
- If true, lines in frames are included in counting.
|
|
Distance
long Distance;
- Description
- specifies the distance between the line number and the start or
end of the text area.
|
|
LineInterval
short LineInterval;
- Description
- Line numbers are shown on every LineIntervalth line.
|
|
LineSeparator
string LineSeparator;
- Description
- specifies the symbol that is shown between the line numbers.
|
|
SeparatorLineDistance
short SeparatorLineDistance;
- Description
- The line separator is shown every SeparatorLineDistanceth line.
|
|
NumberPosition
short NumberPosition;
- Description
- specifies the position of the line number
(constant ::com::sun::star::style::LineNumberPosition - left/right/inside/outside).
|
|
NumberingType
short NumberingType;
- Description
- specifies the type of the numbering.
|
|
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


After visting many round-abouts in Kanpur itself, we collected the facts that :-
- For a 2 lane road people tend to form mostly 3 psuedo-lanes.
- The leftmost lane is always in motion.
- While the other two lanes are under the control of Traffic Siganl.
- The Trucks, Tankers and Trollers mostly are found during night hours (10pm to 6am)
- Also, during 11pm to 4am Orange light glows, which symbolises First come First Serve Traffic Movement
- Further we observed that Trollers occupied the maximum road space, followed by Tankers, Trucks & Buses,
Cars, E-rickshaws & Tempos and lastly Bikes, Scooties and Cycles.
- Correspondingly, Bikes & Scooties move at the fastest pickup speed followed by Cars, Tempos,
E-rickshaw, Bus, unloaded Tanker then comes unloaded Troller, Truck and lastly comes
loaded Troller, Loaded Tanker and Cycle.
- So with this and along with some approximations we concluded that the size of each vehicle can be measured
in units where each unit is equal to 2.5 meters
-
- Trucks & Buses = 5u
- Loaded & Unloaded Tankers = 6u
- Loaded & Unloaded Trollers = 7u
- Cars, Tempos & E-rickshaw = 2u
- Bikes, Scooties & Cycles = 1u
- Similarly the road length is also expressed in units(u) and space consumed.


Agenda
- What is Antikythera Framework?
- brief history, our motivations
- Core features and benefits
- comparisons with other frameworks
- Deep-dive into the internals
- pros/cons of some design decisions
About the speaker
- 桐野 俊輔 (Shunsuke Kirino)
- Ex-physicist
- Server-side guy in ACCESS since 2011
- Developing antikythera core and operating antikythera clusters since 2015
1. What is Antikythera Framework?
About the name
- The Antikythera mechanism
- An ancient Greek analog computer
- Discovered in 1902 near the coast of Antikythera island
- Kind of an “Out-Of-Place ARTifact”
The Antikythera mechanism
The Antikythera mechanism
- Used to predict astronomical positions and eclipses
- for calendar and astrological purposes
Gear scheme (hypothetical)
So what’s Antikythera Framework?
History: Our problems in 2015
- 10s of running web services
- developed using different languages
- operated in different ways
- involving significant infrastructure cost
(1) Divergence in technology stacks
- Problems:
- Little chance of code reuse
- Increased cost for developer bootstrapping
- What we wanted:
- One language for server-side development
(2) Divergence in operations
- Problems:
- Lack of sharing of scripts/knowledge across teams
- Teams had no time to automate their “toil”s
- What we wanted:
- Standardized & automated operations (deployment, etc.)
(3) Infrastructure cost
- Problems:
- Extra cost for “buffer” and “redundancy”, too many idle CPUs
- Many resources to monitor/manage
- What we wanted:
- Single pool of computational resources that can be shared by all services
Our approach
- An Elixir framework that hosts multiple web services in a single ErlangVM cluster
Antikythera “gear”
- Hereafter we call each web service running within an antikythera cluster as a “gear”
- Actually the name “antikythera” comes from this term
- Gear may depend on other gear(s)
2. Core features and benefits
Basic idea
- Load all beam files in the same ErlangVM
- Control resources by Elixir code
Architecture
Core features (1)
- As a platform for multiple services
- Resource control and isolation
- gear doesn’t disturb other gears
- Automated operations
- deploy with hot code upgrades, etc.
- Built-in common functionalities
- logging, metrics reporting, etc.
Core features (2)
- As a web framework
- Domain-based request routing
- determine which gear to handle
- Path-based request routing within a gear
- determine which module/function to handle
- Features similar to e.g. phoenix
Core features (3)
- As an asynchronous job executor
- Built-in distributed job queues
- Running arbitrary Elixir code for each job
- One-off and periodic (cron) job scheduling
Benefits
- 1 language to learn
- Straightforward code reuse
- Centralized cluster management
- Gear devs are freed from server/dependency management
- Reduced infrastructure cost
Cost savings
- Antikythera prod cluster in ACCESS
- running in AWS
- ~25 gears (would require ~50 instances)
- only 3 c4.large instances
- 2 guys to operate
Additional benefits
- Developers can freely deploy their own gears to our dev cluster
- start TLS-enabled web service in minutes
- no operation on their side
- good for experimentation/prototyping
Comparisons with phoenix
- Both are Elixir-based frameworks
- Phoenix has matured with large user base
- Antikythera offers a novel execution model for multiple services
Comparisons with micro-services (1)
- Both advocate service-level code separations
- Antikythera reduces servers to manage, standardizes operations
- Gear-to-gear communications in antikythera involves less overhead
Comparisons with micro-services (2)
- Microservices enforce complete isolation; in antikythera it’s less strict
- Antikythera uses computational resources more effectively
- CPU/memory can be shared by all gears
FAQ: What about DBs?
- Antikythera itself is DB-agnostic
- You can use any DB with any lib as you like
- Executor pools (explained later) provide basis for rate limiting accesses to DB
Amenities for gears
- Gear comes with the followings out-of-the-box
- gear config
- alerting
- logging
- metrics reporting
Gear config
- Arbitrary map for each gear
- Store secrets and dynamic configurations
- such as API keys, connection strings, …
- Original data is stored in an encrypted JSON file
- The data is cached in ETS for fast access
Logging
- Each gear has its own logger process
- The following logs are auto-generated
- HTTP: request & response
- websocket: connect & disconnect
- async job: start & end
- error logs with stacktrace
Alerting
- When an exception is raised (not caught) by gear code, antikythera sends an email to the gear developers (in addition to error logs)
- Consecutive error alerts are batched
- Necessary to quickly find and fix bugs
Metrics reporting
- Various metrics are auto-gathered and sent to
MetricsStorage
- HTTP response times (average, 95%, max)
- async job execution times (average, 95%, max)
- status of exec pool: running/total processes
- ErlangVM-level metrics
Metrics reporting
- Example: store metrics in elasticsearch and watch them via kibana dashboard:
3. Deep-dive into the internals
Architecture
HTTP request handling
- HTTP 1.1 server using cowboy 2
- Domain-based routing using cowboy’s router
- Path-based routing by matching against macro-generated function clauses
Gear-to-gear communications
- Service-level interactions (HTTP-like)
- synchronous, headers and bodies, etc.
- enables code sharing in HTTP- and g2g-handlers
- Elixir-level interactions
Clustering
- To maintain the cluster, each node periodically
- polls the current list of nodes from e.g. infrastructure API
- connects to any unconnected nodes
- Cluster-wide process registry using syn
EAL
- (Short for Environment Abstraction Layer)
- Pluggable infra-dependent features using behaviours
- Concrete implementations are specified by compile-time mix configurations
Resource control
- Erlang process:
- its own execution context and memory space, isolated from other processes
- Thus, “number of processes” can be used as 1st approximation of resource consumption
- (That’s why we chose Elixir)
Executor pool
- Control resources in terms of processes
- Consists of 3 pools per type of tasks
- web request handlers
- websocket connections
- async job runners
Multi-tenant use cases
- Executor pool also supports multi-tenant gears
- Making exec pool per tenant
- Assigning exec pool when processing a task (e.g. an HTTP request)
Other limits
- There are also upper limits on
- size of heap memory per process
- request/job execution times
- rate of accesses to async job queues
Isolation
- As gears run in the same ErlangVM, they are not completely isolated
- Gear can e.g. call other gear’s code, get other gear’s secrets, etc.
- That’s why it’s for “in-house PaaS”
- Untrusted code shouldn’t be installed in antikythera clusters
Dependency management
- All gears run in the same ErlangVM
- They share the same libraries and configurations
- To unify management of deps/configs, one needs an “antikythera instance”
Antikythera instance
- A mix project to manage deps/configs for a specific antikythera cluster
- directly depends on antikythera
- All gears in the cluster depend on the antikythera instance
- by doing so gears share the same deps/configs
Deployment model
- Antikythera instance is packaged and deployed as an OTP release
- Each gear is packaged and deployed as an OTP application
- Gears are not included in the OTP release
- Antikythera polls new versions of instance/gears and self-updates them
Async job queues
- Job queue per exec pool
- distributed, fault tolerant data structure implemented using
raft_fleet
- runs within the same cluster of ErlangVMs
- Using DB for queues is also possible
- but we want to avoid excessive polling; we want push-based interactions
Async job workers
- Reside in the same ErlangVM
- don’t separate nodes by role, make all nodes homogeneous
- simplest possible cluster management
Elixir macro
- Used for e.g.
- filling out mix settings and configs
- generating common code for gears
- routing DSL
- Plays a vital role in antikythera
Static analysis
- Introduced as a mix compiler
- check conformance to some of the gear coding rules
- module naming, prohibited functions, etc.
- problematic code in gear results in a compile error
Summary
- Antikythera Framework provides higher level abstractions for your web services
- Let’s unleash the full potential of Erlang and Elixir!


Hey guys I'm from Pakistan 🇵🇰 I'm 18 year's old. My parents gifted me a computer when i was in 5th. After playing games for a year or so, i thought if games could be developed then it can be hacked too. Hacking games with cheat engines to earn infinite coins was my first step into hacking. After that, i was too much passionate about hacking & information security and spend most of my time in learning.I am Certified jave developer & also Certified Hacker. Currently i am working as an Independent Student to complete My studies. We organize CTF (Capture the flag) competitions, make podcasts, courses, blogs and alot more things.
Download CVOur team of developers designs into rich and interactive world's best websites.
Social media audience to build your brand, increase sales, and drive website traffic.
Mobile apps can help to increase engagement and brand recognition. we have grate apps developers.
Working Experience🖤🙂
I've Three years of working experience as a programmer , or hacker. i tech a lot of students related to Ethical hacking or cyber security
My Skills🖤😘
Python Developer, Java Developer, PHP, MySql, Certified Hacker, web Developer, Graphics Designer, Android app developer, pentester .
Lorem ipsum dolor sit amet consectetur adipisicing elit.
Lorem ipsum dolor sit amet consectetur adipisicing elit.
Lorem ipsum dolor sit amet consectetur adipisicing elit.
Lorem ipsum dolor sit amet consectetur adipisicing elit.
Lorem ipsum dolor sit amet consectetur adipisicing elit.
Hacker wasii is a Professional Development , Designing & cyber security Company In Pakistan Which Offers Website Design Services, Learn Hacking, programming,Graphics Designing etc much more at low price. Hacker wasii Is Also A Digital Marketing Company Which Can Improve Your Business.


NBodyJS
Sorry, your browser does not support HTML5 Canvas. May I suggest Google Chrome or Mozilla Firefox?
Click and fling! Click, hold, and scroll (or press up/down) to increase/decrease mass. Press
t
to toggle trails,
p
to pause,
c
to clear, and
r
to reset to initial conditions.
© 2017 C.J. Campo,
www.ccampo.me


editing EMB RNA rps- Arabidopsis chloroplast expression PPR Plant gene Figure factors sequence sites using ABI: protein required site repeat {border-style (Supplementary px;} #ffffff;} essential factor Editing species motifs mutant pentatricopeptide chloroplasts plant proteins rps specificity emb events mutants reads recognition seed shown wild plants quantified S). editing. emb- ABI Barkan Chateigner-Boutin Rps- Sci. amino development. edited genes lines type Biol. EMB, EMB. Rps Table Yap alignment data development different known level line potential primer px; splicing transgenic {font-family DYW PPR-RNA Small encoding event expression. font-size generated homozygous loss primary promoter ribosomal target Aryamanesh Bioinformatics Okuda RNA-seq Takenaka additional aligned background code corresponding double; editing, example, genomic lack mitochondrial multiple mutation nucleotide number plants. plastid position sequences site. transformants v.. variation (A) (B) (C) Acad. Bentolila Click Col-. Hanson Kindgren LINK Natl. PCR Pentatricopeptide Proc. Research Small, Sun T-DNA U.S.A. Yagi according acid alignments binding border-color border-width chloroplasts. cis-element comparison complementation conserved correlates detected embryo-lethal file. function. genome highest indicates insertion involved major motif normalized orthologs predicted scores seedlings selected solid; structure targeting transcripts {font-style {font-weight (), ./j.-X...x ./pnas. ./pp.. ./tpc.. ./tpj. Arabidopsis. Australian CRR Cai Cell Cheng Cushing FIGURE Genet. Hammani Hayes ISE Kotera Physiol. Ruwe Tanz Therefore, Wang Yang a). approach article based bold changes containing correlation courier; described domain em; following footnote including interactions lacking likely longer mitochondria new online organellar overexpression pair phylogenetic plotted proportion pt;} reported reverse score seedling site-specific stage transformed upstream


menuitis
`Prev `__
M
`Next `__
--------------
**menuitis**: /men\`yoo·i:´tis/, n.
Notional disease suffered by software with an obsessively simple-minded
menu interface and no escape. Hackers find this intensely irritating and
much prefer the flexibility of command-line or language-style
interfaces, especially those customizable via macros or a
special-purpose language in which one can encode useful hacks. See
`*user-obsequious* <../U/user-obsequious.html>`__, `*drool-proof
paper* <../D/drool-proof-paper.html>`__, `*WIMP
environment* <../W/WIMP-environment.html>`__, `*for the rest of
us* <../F/for-the-rest-of-us.html>`__.
--------------
+---------------------------------+----------------------------+-----------------------------+
| `Prev `__ | `Up <../M.html>`__ | `Next `__ |
+---------------------------------+----------------------------+-----------------------------+
| memory smash | `Home <../index.html>`__ | mess-dos |
+---------------------------------+----------------------------+-----------------------------+


Toggle navigation
Add Employee
Search Employee
Add employee Information:
First Name:
Last Name:
Contact Number:
Address:
Select list:
Submit


Created by Łukasz Ziobroń
void foo(unsigned i) {
std::cout << "unsigned " << i << "\n";
}
template <typename T>
void foo(const T& t) {
std::cout << "template " << t << "\n";
}
What is the result of calling foo(42)
?
template 42
Why const int &
is a better match than unsigned
?
Const reference can bind to r-values. No conversion is needed, there is an exact match, so this option is chosen.
void foo(unsigned i) {
std::cout << "unsigned " << i << "\n";
}
template <typename T>
void foo(T& t) {
std::cout << "template " << t << "\n";
}
What is the result of calling foo(42)
now?
unsigned 42
Why unsigned
is a better match than int &
?
Reference (non-const) cannot bind to r-values. There is only one function matching. Implicit conversion from int to unsigned is applied.
void foo(unsigned i) {
std::cout << "unsigned " << i << "\n";
}
void foo(double i) {
std::cout << "double " << i << "\n";
}
What is the result of calling foo(42)
?
error: call of overloaded ‘foo(int)’ is ambiguous
Why?
Promotion to double and conversion to unsigned are equally viable.
template <typename T>
void foo(T arg) {}
template <typename T>
void foo(T* arg) {}
Calling foo(42)
makes a compiler to generate two functions.
void foo(int arg) {}
void foo(int* arg) {}
Compiler cannot substitute 42
as an argument to the second function. It would cause a compilation error. Therefore this overload is discarded.
There is no compilation error - this is SFINAE works.
If the first funtion will be missing, there would be a compilation error.
Substitution Failure Is Not An Error is a meta-programming technique.
“This rule applies during overload resolution of function templates: When substituting the explicitly specified or deduced type for the template parameter fails, the specialization is discarded from the overload set instead of causing a compile error.” -- cppreference.com
Rationale: have a universal interface without letting the caller to decide which implementation should be called. Selection of an optimal implementation is done by a compiler and is coded by a library creators.
std::enable_if
C++11 has a metaprogramming helper struct - std::enable_if
. It is a compile-time switch for enabling or disabling some templates.
template <bool Condition, class T = void>
struct enable_if {};
template <class T>
struct enable_if<true, T> { using type = T; };
Condition
is true
, accessing internal type by enable_if<Condition, T>::type
is valid.Condition
is false
, accessing internal type by enable_if<Condition, T>::type
is invalid and substitution is not correct - SFINAE works.std::enable_if_t
C++14 defines a helper type:
template <bool B, class T = void>
using enable_if_t = typename enable_if<B, T>::type;
Using both is equivalent.
template <class T,
typename std::enable_if<std::is_integral<T>::value,
T>::type* = nullptr>
void function(T& t) {}
template <class T,
typename std::enable_if_t<std::is_integral_v<T>,
T>* = nullptr>
void function(T& t) {}
Why * = nullptr
?
enable_if
occurences
template<class T> // #1 return type
auto construct(T* t) ->
typename std::enable_if_t<std::has_virtual_destructor_v<T>, T>*
{ return new T{}; }
template<class T> // #2 parameter
T* construct(
T* t,
typename std::enable_if_t<std::has_virtual_destructor_v<T>>* = nullptr
){ return new T{}; }
template<
class T, // #3 template parameter - usual choice from C++11
typename std::enable_if_t<std::has_virtual_destructor_v<T>>* = nullptr
>
T* construct(T* t)
{ return new T{}; }
enable_if
occurencesThe most elegant way
template <typename T>
using HasVirtDtor = std::enable_if_t<std::has_virtual_destructor_v<T>>;
template<
class T, // the same as #3 - template parameter
typename = HasVirtDtor<T>
>
T* construct(T* t)
{ return new T{}; }
type_traits
libraryWrite a function that allows inserting only subclasses of Shape to the collection. Other parameter types should not compile. Use SFINAE. Find proper type_traits.
Hints:
Rationale: avoiding long recompilation times, minimizing dependencies.
PIMPL stands for "pointer to implementation".
It is a dependency breaking technique, that allows to avoid recompilation of translation units utilizing our class. If internal parts of class changes very often and recompilation takes a lot of time it is worth considering PIMPL.
class Foo { // foo.hpp header file
int internalData = 0; // private part changes often
int doWork(int); // fields, functions signatures change
public:
Foo();
int interface(int); // interface is stable, doesn't change often
};
#include "foo.hpp"
int Foo::doWork(int value) {
internalData = value;
return internalData;
}
Foo::Foo() {}
int Foo::interface(int value) { return doWork(value); }
Problem?
When a header file changes, every file that includes it, will need to be recompiled.
#include <memory> // foo.hpp header file
class Foo {
class Impl;
std::unique_ptr<Impl> pimpl;
public:
Foo();
~Foo();
int interface(int);
};
#include "foo.hpp"
class Foo::Impl { // foo.cpp - implementation file
int internalData = 0;
public:
int doWork(int value) {
internalData = value;
return internalData;
}
};
Foo::Foo() : pimpl{std::make_unique<Impl>()} {}
Foo::~Foo() = default; // must be explicitly defined in cpp file
int Foo::interface(int value) { return pimpl->doWork(value); }
std::unique_ptr
as a pointer to implementationstd::unique_ptr
= default
is usually good solution)


### Blockchain and Smart Contracts
#### Ethereum
* Introduced blockchain computation -> Ethereum Virtual Machine (EVM)
* Introduced blockchain storage -> SWARM (under development)
* Consensus: Ethash (modified PoW)
##### Blockchain Smart Contracts
* Code that is **stored in**, **acts upon** and **executed on** the blockchain
##### Legally Binding Smart Contracts [2]
* Code that **articulates**, **verifies**, and **enforces** an agreement between parties
[2] Stark, J. ["Making Sense of Blockchain Smart Contracts"](https://www.coindesk.com/making-sense-smart-contracts) (2016).
#### Beware of the hype... [3]
* Cryptocurrencies Market Cap: 135 Billion $
* Largest known attack ~ 500M $
![Blockchain Hype]](./hype.png)
[3] Bartoletti, M. and Pompianu, L., [An empirical analysis of smart contracts...](https://arxiv.org/pdf/1703.06322.pdf) (2017)
#### Smart Contracts in Ethereum (1)
* Already existed in Bitcoin with Script (stack-based)
* Ethereum extends with EVM (Turing-complete)
* EVM bindings to high level smart conrtact languages ([Solidity](https://solidity.readthedocs.io/))
* Communication with RPC and WS
* Transactions: RPCs that modify blockchain state
##### Smart Contracts in Ethereum (2)
* Execution in EVM is fully replicated
* Min processing time ~ Block time
* Code execution has a [cost](https://docs.google.com/spreadsheets/d/1m89CVujrQe5LAFJ8-YAUCcNK950dUzMQPMJBxRtGCqs/edit#gid=0) ([gas](http://ethdocs.org/en/latest/contracts-and-transactions/account-types-gas-and-transactions.html))
* Communication with external world? (Events, Oracles)
* Standardization -> ERCs
#### Useful tools
* [Solidity](https://solidity.readthedocs.io/) (#develop)
* [Truffle](https://truffleframework.com/truffle) (#deploy #test)
* [Ganache Local Blockchain](https://truffleframework.com/ganache) (#test)
* [Remix Web](https://remix.ethereum.org/) (#deploy #test)
* [Web3 Ethereum API](https://web3js.readthedocs.io/en/1.0/) (#connector)
* [Metamask Plugin](https://metamask.io/) (#connector)
#### Real Life Applications
Based on: **transparency**, **verifiability** and **immutability**
* Investment (Cryptocurrencies, ICOs)
* Supply Chain
* Digital Identity
* Notary Applications
* Automated Governance (DAOs)
#### Challenges [4]
* Difficulty of programming
* Security
* Privacy
* Performance
* Standardization
[4] Alharby, M. and van Moorsel, A., [Blockchain-based smart contracts: A systematic mapping study](https://arxiv.org/pdf/1710.06372.pdf) (2017)
#### Demo
[Simple Coin with Truffle, Metamask and Remix](https://github.com/truffle-box/metacoin-box)
#### MeshDapp
![MeshDapp Architecture](./meshdapp.png)
#### Questions ?
* [Presentation Source](https://github.com/DSG-UPC/smart-contracts-presentation)
* edimoger _at_ ac.upc.edu


Log Out
Poll Vault
You can edit any questions you create.
Hint: press either side to reset the form
Create your poll below or select an old one from above to edit...
...then provide at least two options.
Create Option
Save Poll
Disabled


Blog Title
We spent yesterday playing with whales.
This is where we will put some concise text that gets them to love you and push the button.
We spent yesterday playing with whales.
We spent the day before that playing with whales.
I'm pretty tired of whales at this point.
Enough with the whales already.


My essays
My last posts depend on each other, and should be read in
sequence. Articles not in bold are optional.
- Assignment Statement Considered Harmful.
Pervasive mutable state make prgrams more
difficult to deal with. While this is old news, most
programmers don't know or don't care. It's a pitty,
because simple remedies exist.
- Defining Syntatic Sugar.
I sometimes
hear arguments about what is or is not syntactic
sugar. This is an attempt at defining it.
- Class-based Programming as Syntactic Sugar.
Most of the time, "Object Oriented" actually
mean classes. Classes are nothing more than syntactic
sugar, at least in statically typed languages such as Java
and C++. sugar is not useless, but seeing past it helps us
understand classes better.
- Taboo "OO".
The term "OO" is so
overloaded that we should stop using it. Better subsitutes
are "classes" and "prototypes".
- How Class based Programming Suck.
Classes are vastly sub-optimal. Functional
programming is far better.


Enumerations
The following enumerations are available globally.
-
The list types to track visits to
See moreDeclaration
Swift
enum Checklist : Int, CaseIterable, ServiceProvider
-
Structure of Counts pages
See moreDeclaration
Swift
enum Hierarchy
-
Mapping to bridge Checklist with UI tests’ identifiers
See moreDeclaration
Swift
enum ChecklistIndex : Int, CustomStringConvertible
-
Type of location
See moreDeclaration
Swift
enum AdminLevel : Int
-
Gender field in all API endpoints
See moreDeclaration
Swift
enum Gender : String, Codable, CustomStringConvertible
-
Age group for ranking queries
See moreDeclaration
Swift
enum Age : Int, CaseIterable, Codable, CustomStringConvertible
-
Enumerated tabs
See moreDeclaration
Swift
enum Tab : Int
-
Enumerated routing destinations
See moreDeclaration
Swift
enum Route
-
Changes that can be listened for
See moreDeclaration
Swift
enum DataServiceChange : String
-
What kind of permission to ask the user for
See moreDeclaration
Swift
enum LocationPermission
-
Interactivity control on permission check
See moreDeclaration
Swift
enum PermissionTrigger
-
Type of log statement
See moreDeclaration
Swift
enum LoggingLevel : Int, CustomStringConvertible
-
MTP.travel API endpoints
See moreDeclaration
Swift
enum MTP : Hashable
extension MTP: TargetType
extension MTP: AccessTokenAuthorizable
extension MTP: ServiceProvider
-
Errors provided by network
See moreDeclaration
Swift
enum NetworkError : Swift.Error
extension NetworkError: LocalizedError
-
Actions that can be shown in popup menus
See moreDeclaration
Swift
enum MenuAction : String
-
Changes that can be listened for
See moreDeclaration
Swift
enum NetworkServiceChange : String
-
Information serialized in notification user info and operation queues
See moreDeclaration
Swift
enum Key : String
-
Reportable events
See moreDeclaration
Swift
enum AnalyticsEvent
-
To be set up at application startup time
See moreDeclaration
Swift
enum ServiceProviderInstances
-
State of disclosure arrow
See moreDeclaration
Swift
enum Disclosure
-
Type of page presenting this object
See moreDeclaration
Swift
enum Presenter
-
Abstract Facebook SDK for testing
See moreDeclaration
Swift
enum FacebookWrapper
-
Enumerated font provider
See moreDeclaration
Swift
enum Avenir : String, ServiceProvider
-
State of data displaying view content
See moreDeclaration
Swift
enum ContentState
-
DPDConstant
See moreDeclaration
Swift
enum DPDConstant
-
CTFeedbackError
See moreDeclaration
Swift
enum CTFeedbackError : Error
-
FeedbackGenerator
See moreDeclaration
Swift
enum FeedbackGenerator
-
Media
See moreDeclaration
Swift
enum Media : Equatable
-
Topic
See moreDeclaration
-
Loading state
See moreDeclaration
Swift
enum AXPhotoLoadingState
-
Information types sent with notificaton
See moreDeclaration
Swift
enum StatusKey : String
-
Retrieves secrets from externally populated Secrets.plist
See moreDeclaration
Swift
enum Secrets : String
-
Type encapsulating various styles to apply
See moreDeclaration
Swift
enum Styler
-
Transparency valyes, particularly of navigation bars
See moreDeclaration
Swift
enum Transparency
-
Type of rounding to apply to corners
See moreDeclaration
Swift
enum ViewCorners
-
Supported gradient orientations
See moreDeclaration
Swift
enum GradientOrientation : Int
-
Source of web page data
See moreDeclaration
Swift
enum WKWebSource : Equatable
-
Supported bar buttons
See moreDeclaration
Swift
enum BarButtonItemType
-
Navigation Bar Position
See moreDeclaration
Swift
enum NavigationBarPosition : String, Equatable, Codable
-
Navigation type
See moreDeclaration
Swift
@objc enum NavigationType : Int, Equatable, Codable
-
Arguments that UI tests can pass on launch
See moreDeclaration
Swift
enum LaunchArgument : String
-
Setting keys that UI tests can pass on launch
See moreDeclaration
Swift
enum LaunchSettingKey : String
-
Settings that UI tests can pass on launch
See moreDeclaration
Swift
enum LaunchSetting
-
LocationInfoVC exposed items Currently placeholder
Declaration
Swift
enum UILocationInfo : Exposable
-
LocationPhotosVC exposed items Also contains UIPhotos
Declaration
Swift
enum UILocationPhotos : Exposable
-
LocationPostsVC exposed items Currently placeholder override of PostsVC
Declaration
Swift
enum UILocationPosts : Exposable
-
LocationWebsiteVC exposed items Currently placeholder override of WKWebViewController
Declaration
Swift
enum UILocationWebsite : Exposable
-
MyCountsVC exposed items Currently placeholder
Declaration
Swift
enum UIMyCounts : Exposable
-
MyCountsPageVC exposed items Currently placeholder override of CountsPageVC
Declaration
Swift
enum UIMyCountsPage : Exposable
-
ProfileVC exposed items Currently placeholder override of PostsVC
Declaration
Swift
enum UIProfile : Exposable
-
ProfilePostsVC exposed items Currently placeholder override of PostsVC
Declaration
Swift
enum UIProfilePosts : Exposable
-
UserCountsPageVC exposed items Currently placeholder override of CountsPageVC
Declaration
Swift
enum UIUserCountsPage : Exposable


A unique nickname is required.
{{ errors.nickname }}
Password must be at least 3 characters.
{{ errors.password }}
{{ errors.message }} Please login... Please signup again...


Twistar is a Python implementation of the active record pattern (also known as an object-relational mapper or ORM) that uses the Twisted framework's RDBMS support to provide a non-blocking interface to relational databases.
Since Twistar uses Twisted, most method and function calls will return a twisted.internet.defer.Deferred
object. You must understand the propper use of these objects before most of this documentation will make sense.


JavaScript API
Table of contents
Global
-
ptr(s)
: short-hand fornew NativePointer(s)
-
NULL
: short-hand forptr("0")
-
recv([type, ]callback)
: requestcallback
to be called on the next message received from your Frida-based application. Optionallytype
may be specified to only receive a message where thetype
field is set totype
.This will only give you one message, so you need to call
recv()
again to receive the next one. -
send(message[, data])
: send the JavaScript objectmessage
to your Frida-based application (it must be serializable to JSON).data
may be optionally passed to include a raw payload, like a buffer returned byMemory#readByteArray
. -
setTimeout(fn, delay)
: callfn
afterdelay
milliseconds. Returns an id that can be passed toclearTimeout
to cancel it. -
clearTimeout(id)
: cancel id returned by call tosetTimeout
-
setInterval(fn, delay)
: callfn
everydelay
milliseconds. Returns an id that can be passed toclearInterval
to cancel it. -
clearInterval(id)
: cancel id returned by call tosetInterval
console
console.log(line)
: writeline
to the console of your Frida-based application. The exact behavior depends on where frida-core is integrated. For example, this output goes to stdout when using Frida through frida-python, qDebug when using frida-qml, etc.
Process
-
Process.arch
: read-only property containing the stringia32
,x64
orarm
-
Process.platform
: read-only property containing the stringwindows
,darwin
orlinux
-
Process.pointerSize
: read-only property containing the size of a pointer (in bytes) as a JavaScript number. This is used to make your scripts more portable. -
Process.isDebuggerAttached()
: returns a boolean indicating whether a debugger is currently attached -
Process.getCurrentThreadId()
: get this thread’s OS-specific id as a JavaScript number -
Process.enumerateThreads(callbacks)
: enumerate threads alive right now, wherecallbacks
is an object specifying:onMatch: function onMatch(thread)
: called withthread
object containing:id
: OS-specific idstate
: string specifying eitherrunning
,stopped
,waiting
,uninterruptible
orhalted
registers
: object with the keyspc
andsp
, which are NativePointer objects specifying EIP/RIP/PC and ESP/RSP/SP, respectively, for ia32/x64/arm. Other processor-specific keys are also available, e.g.eax
,rax
,r0
,x0
, etc.
This function may return the string
stop
to cancel the enumeration early.onComplete: function onComplete()
: called when all threads have been enumerated
-
Process.enumerateModules(callbacks)
: enumerate modules loaded right now, wherecallbacks
is an object specifying:onMatch: function onMatch(module)
: called withmodule
object containing:name
: canonical module name as a stringbase
: base address as aNativePointer
size
: size in bytespath
: full filesystem path as a string
This function may return the string
stop
to cancel the enumeration early.onComplete: function onComplete()
: called when all modules have been enumerated
-
Process.enumerateRanges(protection, callbacks)
: enumerate memory ranges satisfyingprotection
given as a string of the form:rwx
, whererw-
means “must be at least readable and writable”.callbacks
is an object specifying:onMatch: function onMatch(range)
: called withrange
object containing:base
: base address as aNativePointer
size
: size in bytesprotection
: protection string (see above)
This function may return the string
stop
to cancel the enumeration early.onComplete: function onComplete()
: called when all memory ranges have been enumerated
Module
-
Module.enumerateExports(name, callbacks)
: enumerate exports of module with thename
as seen inProcess#enumerateModules
.callbacks
is an object specifying:onMatch: function onMatch(mod)
: called withmod
object containing:type
: string specifying eitherfunction
orvariable
name
: export name as a stringaddress
: absolute address as aNativePointer
This function may return the string
stop
to cancel the enumeration early.onComplete: function onComplete()
: called when all exports have been enumerated
-
Module.enumerateRanges(name, protection, callbacks)
: just likeProcess#enumerateRanges
, except it’s scoped to the specified modulename
. -
Module.findBaseAddress(name)
: returns the base address of thename
module, ornull
if the module isn’t loaded -
Module.findExportByName(module, exp)
: returns the absolute address of the export namedexp
inmodule
Memory
-
Memory.scan(address, size, pattern, callbacks)
: scan memory for occurences ofpattern
in the memory range given byaddress
andsize
.-
pattern
must be of the form “13 37 ?? ff” to match 0x13 followed by 0x37 followed by any byte followed by 0xff -
callbacks
is an object with:-
onMatch: function onMatch(address, size)
: called withaddress
containing the address of the occurence as aNativePointer
andsize
specifying the size as a JavaScript number.This function may return the string
stop
to cancel the memory scanning early. -
onError: function onError(reason)
: called withreason
when there was a memory access error while scanning -
onComplete: function onComplete()
: called when the memory range has been fully scanned
-
-
-
Memory.alloc(size)
: allocatesize
bytes of memory on the heap. The returned object is aNativePointer
and the heap memory will be released when all JavaScript handles to it are gone. This means you need to keep a reference to it while the pointer is being used by code outside the JavaScript runtime. -
Memory.copy(dst, src, n)
: just like memcpy. -
Memory.dup(address, size)
: short-hand forMemory.alloc()
followed byMemory.copy()
. -
Memory.protect(address, size, protection)
: update protection on a region of memory, whereprotection
is a string of the same format asProcess.enumerateRanges()
.For example:
Memory.protect(ptr("0x1234"), 4096, 'rw-');
-
Memory.readPointer(address)
: read a pointer fromaddress
and return it as aNativePointer
.A JavaScript exception will be thrown if
address
isn’t readable. -
Memory.writePointer(address, ptr)
: writeptr
toaddress
.A JavaScript exception will be thrown if
address
isn’t writable. -
Memory.readS8(address)
,Memory.readU8(address)
,Memory.readS16(address)
,Memory.readU16(address)
,Memory.readS32(address)
,Memory.readU32(address)
,Memory.readS64(address)
,Memory.readU64(address)
: read a signed or unsigned 8/16/32/64-bit value fromaddress
and return it as a JavaScript number.A JavaScript exception will be thrown if
address
isn’t readable. -
Memory.writeS8(address, value)
,Memory.writeU8(address, value)
,Memory.writeS16(address, value)
,Memory.writeU16(address, value)
,Memory.writeS32(address, value)
,Memory.writeU32(address, value)
,Memory.writeS64(address, value)
,Memory.writeU64(address, value)
: write the JavaScript numbervalue
to the signed or unsigned 8/16/32/64-bit value ataddress
.A JavaScript exception will be thrown if
address
isn’t writable. -
Memory.readByteArray(address, length)
: readlength
bytes fromaddress
and return it as a byte array. This byte array may be efficiently transferred to your Frida-based application by passing it as the second argument tosend()
.A JavaScript exception will be thrown if any of the
length
bytes read fromaddress
isn’t readable. -
Memory.writeByteArray(address, bytes)
: write thebytes
byte array toaddress
. This is either an object returned fromMemory.readByteArray()
or a JavaScript array-style object. For example:[ 0x13, 0x37, 0x42 ]
.A JavaScript exception will be thrown if any of the bytes written to
address
isn’t writable. -
Memory.readUtf8String(address[, size = -1])
,Memory.readUtf16String(address[, size = -1])
,Memory.readAnsiString(address[, size = -1])
: read the bytes ataddress
as a UTF-8, UTF-16 or ANSI string. Supply the optionalsize
if you know the size of the string in bytes, or omit it or specify -1 if the string is NUL-terminated.A JavaScript exception will be thrown if any of the
size
bytes read fromaddress
isn’t readable. -
Memory.writeUtf8String(address, str)
,Memory.writeUtf16String(address, str)
,Memory.writeAnsiString(address, str)
: encode and write the JavaScript string toaddress
(with NUL-terminator).A JavaScript exception will be thrown if any of the bytes written to
address
isn’t writable. -
Memory.allocUtf8String(str)
,Memory.allocUtf16String(str)
,Memory.allocAnsiString(str)
: allocate, encode and write outstr
as a UTF-8/UTF-16/ANSI string on the heap. The returned object is aNativePointer
. SeeMemory#alloc
for details about its lifetime.
Thread
Thread.sleep(delay)
: suspend execution of the current thread fordelay
seconds specified as a JavaScript number. For example 0.05 to sleep for 50 ms.
NativePointer
-
new NativePointer(s)
: create a new NativePointer from the strings
containing a memory address in either decimal, or hexadecimal if prefixed with “0x”. You may use theptr(s)
short-hand for brevity. -
isNull()
: returns a boolean allowing you to conveniently check if a pointer is NULL -
add(rhs)
: make a new NativePointer with this NativePointer plusrhs
.rhs
may either be a JavaScript number or another NativePointer. -
sub(rhs)
: make a new NativePointer with this NativePointer minusrhs
.rhs
may either be a JavaScript number or another NativePointer. -
toInt32()
: cast this NativePointer to a signed 32-bit integer -
toString([radix = 16])
: convert to a string of optional radix (defaults to 16)
NativeFunction
-
new NativeFunction(address, returnType, argTypes[, abi])
: create a new NativeFunction to call the function ataddress
(specified with aNativePointer
), where thereturnType
string specifies the return type, and theargTypes
array specifies the argument types. You may optionally also specifyabi
if not system default. For variadic functions, add a'...'
entry toargTypes
between the fixed arguments and the variadic ones. Note that the returned object is also aNativePointer
, and can thus be passed toInterceptor#attach
.Supported types:
- void
- pointer
- int
- uint
- long
- ulong
- char
- uchar
- float
- double
- int8
- uint8
- int16
- uint16
- int32
- uint32
- int64
- uint64
Supported ABIs:
-
default
- Windows 32-bit:
- sysv
- stdcall
- thiscall
- fastcall
- mscdecl
- Windows 64-bit:
- win64
- UNIX x86:
- sysv
- unix64
- UNIX ARM:
- sysv
- vfp
NativeCallback
new NativeCallback(func, returnType, argTypes[, abi])
: create a new NativeCallback implemented by the JavaScript functionfunc
, where thereturnType
string specifies the return type, and theargTypes
array specifies the argument types. You may also specify the abi if not system default. SeeNativeFunction
for details about supported types and abis. Note that the returned object is also aNativePointer
, and can thus be passed toInterceptor#replace
.
Socket
-
Socket.type(handle)
: inspect the OS sockethandle
and return its type as a string which is eithertcp
,udp
,tcp6
,udp6
,unix:stream
,unix:dgram
, ornull
if invalid or unknown. -
Socket.localAddress(handle)
,Socket.peerAddress(handle)
: inspect the OS sockethandle
and return its local or peer address, ornull
if invalid or unknown.The object returned has the fields: -
ip
: (IP sockets) IP address as a string. -port
: (IP sockets) Port number as a JavaScript number. -path
: (UNIX sockets) UNIX path as a string.
File
-
new File(filePath, mode)
: open or create the file atfilePath
with themode
string specifying how it should be opened. For example"wb"
to open the file for writing in binary mode (this is the same format asfopen()
from the C standard library). -
write(data)
: synchronously writedata
to the file, wheredata
is either a string or a buffer as returned byMemory#readByteArray
-
flush()
: flush any buffered data to the underlying file -
close()
: close the file. You should call this function when you’re done with the file.
Interceptor
-
Interceptor.attach(target, callbacks)
: intercept calls to function attarget
. This is aNativePointer
specifying the address of the function you would like to intercept calls to. Note that on 32-bit ARM this address must have its least significant bit set to 0 for ARM functions, and 1 for Thumb functions. Frida takes care of this detail for you if you get the address from a Frida API (for exampleModule.findExportByName()
).The
callbacks
argument is an object containing one or more of:-
onEnter: function onEnter(args)
: callback function given one argumentargs
that can be used to read or write arguments as an array ofNativePointer
objects. -
onLeave: function onLeave(retval)
: callback function given one argumentretval
that is aNativePointer
containing the return value. You may callretval.replace(1337)
to replace the return value with the integer1337
, orretval.replace(ptr("0x1234"))
to replace with a pointer.
Note that these functions will be invoked with
this
bound to a per-invocation (thread-local) object where you can store arbitrary data, which is useful if you want to read an argument inonEnter
and act on it inonLeave
.For example:
-
Interceptor.attach(Module.findExportByName("libc.so", "read"), {
onEnter: function onEnter(args) {
this.fileDescriptor = args[0].toInt32();
},
onLeave: function onLeave(retval) {
if (retval.toInt32() > 0) {
/* do something with this.fileDescriptor */
}
}
});
Additionally, the object contains some useful properties:
- `registers`: object with the keys `pc` and `sp`, which are
NativePointer objects specifying EIP/RIP/PC and ESP/RSP/SP,
respectively, for ia32/x64/arm. Other processor-specific keys
are also available, e.g. `eax`, `rax`, `r0`, `x0`, etc.
- `errno`: (UNIX) current errno value (you may replace it)
- `lastError`: (Windows) current OS error value (you may replace it)
- `threadId`: OS thread ID
- `depth`: call depth of relative to other invocations
-
Interceptor.detachAll()
: detach all previously attached callbacks. -
Interceptor.replace(target, replacement)
: replace function attarget
with implementation atreplacement
. This is typically used if you want to fully or partially replace an existing function’s implementation. UseNativeCallback
to implement areplacement
in JavaScript. Note thatreplacement
will be kept alive untilInterceptor#revert
is called. If you want to chain to the original implementation you can synchronously calltarget
through aNativeFunction
inside your implementation, which will bypass and go directly to the original implementation.Here’s an example:
var openPtr = Module.findExportByName("libc.so", "open");
var open = new NativeFunction(openPtr, 'int', ['pointer', 'int']);
Interceptor.replace(openPtr, new NativeCallback(function (pathPtr, flags) {
var path = Memory.readUtf8String(pathPtr);
log("Opening '" + path + "'");
var fd = open(pathPtr, flags);
log("Got fd: " + fd);
return fd;
}, 'int', ['pointer', 'int']));
Interceptor.revert(target)
: revert function attarget
to the previous implementation.
Stalker
-
Stalker.follow([threadId, options])
: start stalkingthreadId
(or the current thread if omitted), optionally withoptions
for enabling events.For example:
Stalker.follow(Process.getCurrentThreadId(), {
events: {
call: true, // CALL instructions: yes please
ret: false, // RET instructions: no thanks
exec: false // all instructions: no thanks
},
onReceive: function onReceive(events) {
// Called with `events` containing a binary blob which is one or more
// GumEvent structs. See `gumevent.h` for the format. This is obviously a
// terrible API that is subject to change once a better trade-off between
// ease-of-use and performance has been found.
},
onCallSummary: function onCallSummary(summary) {
// Called with `summary` being a key-value mapping of call target to number
// of calls, in the current time window. You would typically implement this
// instead of `onReceive` for efficiency.
}
});
-
Stalker.unfollow([threadId])
: stop stalkingthreadId
(or the current thread if omitted). -
Stalker.garbageCollect()
: free accumulated memory at a safe point afterStalker#unfollow
. This is needed to avoid race-conditions where the thread just unfollowed is executing its last instructions. -
Stalker.addCallProbe(address, callback)
: callcallback
(seeInterceptor#attach#onEnter
for signature) synchronously when a CALL is made toaddress
. Returns an id that can be passed toStalker#removeCallProbe
later. -
Stalker.removeCallProbe: remove a call probe added by
Stalker#addCallProbe
. -
Stalker.trustThreshold
: an integer specifying how many times a piece of code needs to be executed before it is assumed it can be trusted to not mutate. Specify -1 for no trust (slow), 0 to trust code from the get-go, and N to trust code after it has been executed N times. Defaults to 1. -
Stalker.queueCapacity
: an integer specifying the capacity of the event queue in number of events. Defaults to 16384 events. -
Stalker.queueDrainInterval
: an integer specifying the time in milliseconds between each time the event queue is drained. Defaults to 250 ms, which means that the event queue is drained four times per second.
Instruction
-
Instruction.parse(target)
: parse the instruction at thetarget
address in memory, represented by aNativePointer
. Note that on 32-bit ARM this address must have its least significant bit set to 0 for ARM functions, and 1 for Thumb functions. Frida takes care of this detail for you if you get the address from a Frida API (for exampleModule.findExportByName()
).The object returned has the fields: -
address
: Address (EIP) of this instruction, as aNativePointer
. -next
: Pointer to the next instruction, so you canparse()
it. -size
: Size of this instruction. -mnemonic
: String representation of instruction mnemonic. -opStr
: String representation of instruction operands. -toString()
: Convert to a human-readable string.
ObjC
-
ObjC.available
: a boolean specifying whether the current process has an Objective-C runtime loaded. Do not invoke any otherObjC
properties or methods unless this is the case. -
ObjC.classes
: an array of strings specifying the names of classes currently registered. You may callObjC.use()
to further examine them, orObjC.refreshClasses()
to ensure that the list is up-to-date. -
ObjC.mainQueue
: the GCD queue of the main thread -
ObjC.schedule(queue, work)
: schedule the JavaScript functionwork
on the GCD queue specified byqueue
. AnNSAutoreleasePool
is created just before callingwork
, and cleaned up on return.
var NSSound = ObjC.use('NSSound'); /* Mac */
ObjC.schedule(ObjC.mainQueue, function () {
var sound = NSSound.alloc().initWithContentsOfFile_byReference_("/Users/oleavr/.Trash/test.mp3", true);
sound.play();
});
ObjC.use(className)
: dynamically get a JavaScript binding forclassName
by returning a class object.
var UIAlertView = ObjC.use('UIAlertView'); /* iOS */
var view = UIAlertView.alloc().initWithTitle_message_delegate_cancelButtonTitle_otherButtonTitles_(
"Frida",
"Hello from Frida",
ptr("0"),
"OK",
ptr("0"));
view.show();
view.release();
ObjC.cast(handle, klass)
: create a JavaScript wrapper given the existing instance athandle
of given classklass
(as returned fromObjC.use()
).
var NSSound = ObjC.use('NSSound'); /* Mac */
var sound = ObjC.cast(ptr("0x1234"), NSSound);
ObjC.implement(method, fn)
: create a JavaScript implementation compatible with the signature ofmethod
, where the JavaScript functionfn
is used as the implementation. Returns aNativeCallback
that you may assign to an ObjC method’simplementation
property.
var NSSound = ObjC.use('NSSound'); /* Mac */
var oldImpl = NSSound.play.implementation;
NSSound.play.implementation = ObjC.implement(NSSound.play, function (handle, selector) {
return oldImpl(handle, selector);
});
As the
implementation
property is aNativeFunction
and thus also aNativePointer
, you may also useInterceptor
to hook functions:
var NSSound = ObjC.use('NSSound'); /* Mac */
Interceptor.attach(NSSound.play.implementation, {
onEnter: function onEnter() {
send("[NSSound play]");
}
});
-
ObjC.refreshClasses()
: refresh the list of classes currently registered, as reported byObjC.classes
-
ObjC.selector(name)
: convert the JavaScript stringname
to a selector -
ObjC.selectorAsString(sel)
: convert the selectorsel
to a JavaScript string
Dalvik
-
Dalvik.available
: a boolean specifying whether the current process has the Dalvik VM loaded. Do not invoke any otherDalvik
properties or methods unless this is the case. -
Dalvik.perform(fn)
: ensure that the current thread is attached to the VM and callfn
. (This isn’t necessary in callbacks from Java.)
Dalvik.perform(function () {
var Activity = Dalvik.use("android.app.Activity");
Activity.onResume.implementation = function () {
send("onResume() got called! Let's call the original implementation");
this.onResume();
};
});
Dalvik.use(className)
: dynamically get a JavaScript wrapper forclassName
that you can instantiate objects from by calling$new()
on it to invoke a constructor. Call$dispose()
on an instance to clean it up explicitly (or wait for the JavaScript object to get garbage-collected, or script to get unloaded). Static and non-static methods are available, and you can even replace a method implementation and throw an exception from it:
Dalvik.perform(function () {
var Activity = Dalvik.use("android.app.Activity");
var Exception = Dalvik.use("java.lang.Exception");
Activity.onResume.implementation = function () {
throw Exception.$new("Oh noes!");
};
});
Dalvik.cast(handle, klass)
: create a JavaScript wrapper given the existing instance athandle
of given classklass
(as returned fromDalvik.use()
).
var Activity = Dalvik.use("android.app.Activity");
var activity = Dalvik.cast(ptr("0x1234"), Activity);
WeakRef
-
WeakRef.bind(value, fn)
: monitorvalue
and call thefn
callback as soon asvalue
has been garbage-collected, or the script is about to get unloaded. Returns an id that you can pass toWeakRef.unbind()
for explicit cleanup.This API is useful if you’re building a language-binding, where you need to free native resources when a JS value is no longer needed.
-
WeakRef.unbind(id)
: stop monitoring the value passed toWeakRef.bind(value, fn)
, and call thefn
callback immediately.


The quest board is a very useful source of information to a hero looking for work. Complete different quests for different rewards!
{{quest.description}}


Click to learn about me!
Name: Melanie Hammermaster
Occupation:Student
Location: Vancouver, BC
I have been curiously playing around with computers since I was about 17. It started a long time before that though, but that is when I truly found my passion for it. I started playing around with network and tracert. I started becoming curious about how the world around me worked and I started learn and read more about it. One of the first things I learned was html 5 and css 3, both of which I think are great skills for anyone to consider learning in the future.
These days my expertise is a lot more extensive than just HTML and CSS. in my spare time I am a raspberry pi hobbiest and open-source fanatic. I like to play with linux distributions to learn new things and consistantly read many books about things in my field. I am hoping to dabble a little bit into engineering in the future, but for right now I am just going to play it safe and pick up arduino. I am currently attending college and I am half way through my diploma and then I hope to transfer to a school in the states.


--- layout: post title: The Latest in Bunny Demises Album has Been Updated categories: [] tags: [] status: publish type: post published: true meta: _original_post_id: '' _original_import_author: John Duprey author: ---
The latest:
I have no part in this odd ritual. You'll have to talk to my wife and her mother about it.
Follow the link to see them all:


Wojciech Barczyński [Head of Engineering]
SMACC.io | Hypatos.ai
4Developers, Warsaw, 8 April 2019
[1] all is an ongoing discovery
Operation-system, Application server, New linux.
make docker_push; kubectl create -f app-srv-dpl.yaml
Service matches labeled pods
curl http://users-v1/list
Load balanced inside cluster!
apiVersion: v1
kind: Service
metadata:
name: website
spec:
ports:
- port: 80
protocol: TCP
selector:
app: website-smacc
type: LoadBalancer
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-api
labels:
app: demo-api
spec:
replicas: 3
strategy:
type: Recreate
selector:
matchLabels:
app: demo-api
template:
metadata:
labels:
app: demo-api
spec:
containers:
- name: app
image: wojciech11/api-status:1.0.0
ports:
- containerPort: 80
| Name | Purpose | |
|---|---|---|
| Service | Interface | Entry point (Service Name) |
| Deployment | Factory | How many pods, which pods |
| Pod | Implementation | 1+ docker running |
https://github.com/wojciech12/talk_zero_downtime_deployment_with_kubernetes


PrivateSky introduced the concept of Blockchain Domain.
A Blockchain Domain is a blockchain network that is part in a hierarchy of blockchain domains. In the root of the hierarchy stays a "root domain".
Any domains can have one parent or multiple parent domains. Periodically, each child should anchor its state in the parent domains.
The benefits are obvious as this can solve scalability, confidentiality issues while also allowing updated in the form of creation of new blockchain domains.
An important insight resulted from the PrivateSky related research is that from teh confidentiality point of view it is almost always a bad idea to have business logic onchain (in smart contracts).
There are cases where having network level visible smart contracts makes sense (for example in the network governance components) but
usually only a small of group of participants should see the data or the evolution of te business process.
Encryption or pseudonymisation are not very useful because correlation with external events are always source of confidentiality leakages.
We have build a powerful approach to this problem in teh form of the offchain storage we call EDFS (Encrypted Distributed File System).
EDFS is formed from data storage units that are by like tiny file systems capable to store data and some processing code. Let's call these data units with the generic name "Data Sharing Units".
The DSU are anchored in blockchain as a method fo obtaining integrity, lineage and verifiability.
The DSUs are also capable of referencing other DSUs, therefore a decentralised file system is formed.
In PrivateSky we have developed support for three types of DSUs: BARs and Wallets.
A special case of the Off-Chain storage is when the DSUs are basicaly small off-chain ledgers that are shared between a group.
The verification of the ledger is done when there is a need to read or update the ledger.
Any changes requires blockchain anchoring and therefore the anchored ledger have the integrity, lineage and verifiability properties of a blockchain.
We call this type of ledger with the name "DSU". A DSU could contain a ledger (a blockchain like data structure) but also could contain UI code (web application).
A DSU that embeds a web application that works only with the data from the DSU is named Self Sovereign Application.
PrivateSky perspective for a typical blockchain architecture is summarized in the above picture. We have identified 5 layers in the architecture as will be described below. We see the architecture layers as types of concerns that are reflected in the system quality attributes.
This layer is focused on setting the rules and communication capabilities of the physical nodes doing network communication. For public blockchain (Bitcoin, Ethereum) this layer contains the concerns of P2P communication, node booting, etc. For permissioned DLTs, it reflects concerns regarding restricting access while allowing communication to the entities that have permission. For permissioned DLTs this layer could imply the need to configure VPNs, SDNs, Certificate Authorities, etc.
This layer contains one or multiple blockchain domains. Each blockchain domain could use a different version of the software (a fork) or even different technology entirely. Not all members should replicate all domains (for privacy this is actually a requirement). A special blockchain domain is the Blockchain Root as in PrivateSky we propose that any non-root blockchain to be anchored in the Blockchain Root to benefit from the security offered by the fact that the root domain is replicated by all participants (the whole consortium).
This layer is a logical layer, it does not exist as actual nodes but at a conceptual level (for example a shared ledger it is consistent at the logical level because at each moment each physical node will have a slightly different state)
At this layer, we have actual blockchain software running. The software at this level can be the type of blockchain nodes that participate in the consensus, blockchain nodes that are used for caching (do not participate in the consensus but serve the consumers at the top level) and the software that provides the data storage services. The storage services are storing (typically encrypted) data that is directly anchored in blockchains. In PrivateSky we call these storages near-chains as they are special types of encrypted blockchains to which access is shared only with a limited group of users.
The code belonging to this layer will run in a containerized environment that typically should stay outside the company firewalls (in the DMZ area) as the communication should be performed with similar nodes from other organisations.
In this layer of architecture, we have positioned the containers that offer services (typically REST services) to the applications that implement useful use-cases. By containers we mean Linux containers (eg docker). This layer is executed in a trusted environment, typically each company or participant should run its separate copy. The blockchain governance software should be executed at this level. Containers could be executed in DMZ but access to the services offered will typically be restricted to the company's internal network.
In this layer of architecture are all the applications and systems that use data extracted from the blockchains but are not directly connected to the blockchain. This layer is connected with blockchain through the Containerised APIs. This layer is called far-chain because it is the most logical and physically distant from blockchains. Typically, all the code from this layer is a regular enterprise code that uses APIs as a source or destination of the manipulated data and ideally is not concerned about the strictness introduced by blockchains. This layer is executed in a trusted environment and its human users should trust this environment.


HTTP is Hypertext Transfer Protocol.
HTTPS is Hypertext Transfer Protocol Secure, extension of the HTTP.
HTTP is special because unlike a regular text, hypertext links to other via hyper links. It is regarded as the backbone of the internet. HTTP follows the Client/Server model, serving what the client wants divided by HTTP Requests and HTTP Responses. These requests typically contain the HTTP version type, URL, HTTP method, request headers and the body.
The response is consists of the HTTP status code, response headers and sometimes the HTTP body.
The S at the end of HTTPS is stands for Secure. HTTPS is an extension of HTTP to enable secure communication across a computer network and is broadly used on the internet. HTTPS = HTTP + cryptographic protocols


Course schedule
Monday 31st July
Introductions
| Time | Activity | Venue |
|---|---|---|
| 1000 | Welcome to TSL and housekeeping | |
| 1015 | Introductions by TSL Staff | |
| 1030 | Participant Introductions | |
| 1100 | PEDAGOGICAL LECTURE - Introduction to Plant Microbe Interactions | |
| 1200 | Lunch | NRP Venues |
| 1300 | Poster Session | John Innes Centre Conference Centre |
| 1500 | Tour of The Sainsbury Laboratory and Norwich Research Park | Meet at John Innes Reception |
NB All activities will take place in the Training Suite, unless otherwise stated
Tuesday 1st August
Resistance Proteins. Led by Jonathan Jones
| Time | Activity | Venue |
|---|---|---|
| 930 | PEDAGOGICAL LECTURE - Jonathan Jones | |
| 1030 | Tea Break and Discussion | |
| 1100 | Practical Session | |
| 1230 | Lunch | NRP Venues |
| 1330 | KEYNOTE LECTURE - JIJIE CHAI - Structural Study of Plant Receptor Kinases | Jane Rogers Seminar Room at EI |
| 1430 | Tea Break and Discussion | |
| 1500 | Practical Session |
Wednesday 2nd August
Resistance Proteins. Led by Jonathan Jones
| Time | Activity | Venue |
|---|---|---|
| 930 | Practical Session |
Genomic Resources and Bioinformatics for Plant Microbe Interactions. Led by Dan MacLean
| Time | Activity | Venue |
|---|---|---|
| 1130 | PEDAGOGICAL LECTURE - Dan MacLean | |
| 1230 | Lunch | NRP Venues |
| 1330 | KEYNOTE LECTURE - DIANE SAUNDERS - Developing new tools for interrogating cereal invaders | Jane Rogers Seminar Room at EI |
| 1430 | Tea Break and Discussion | |
| 1500 | Practical Session | |
| 1800 | Social Session with TSL Students |
Thursday 3rd August
Effectors and Plant Immunity. Led by Sophien Kamoun
| Time | Activity | Venue |
|---|---|---|
| 930 | PEDAGOGICAL LECTURE - Sophien Kamoun | |
| 1100 | Tea Break and Discussion | |
| 1130 | Practical Session | |
| 1230 | Lunch | NRP Venues |
| 1330 | KEYNOTE LECTURE - JENS BOCH - A battle for life and death - Evolution of TALEs in plant-pathogenic Xanthomonas bacteria | JIC G34/35 |
| 1430 | Tea Break and Discussion | |
| 1500 | Practical Session |
Friday 4th August
Effectors and Plant Immunity. Led by Sophien Kamoun
| Time | Activity | Venue |
|---|---|---|
| 930 | Practical Session |
Surface Immunity. Led by Cyril Zipfel
| Time | Activity | Venue |
|---|---|---|
| 1030 | Practical Session | |
| 1230 | Lunch | NRP Venues |
| 1330 | Pedagogical Lecture - Cyril Zipfel | |
| 1430 | Tea Break and Discussion | |
| 1500 | Practical Session | |
| 1530 | KEYNOTE LECTURE - STEFANIE RANF - Specificity of LORE-dependent lipopolysaccharide immune sensing in Arabidopsis | |
| 1630 | Practical Session | |
| 1900 | Conference Dinner | Sainsbury Centre for Visual Arts |
Saturday 5th August
Surface Immunity. Led by Cyril Zipfel
| Time | Activity | Venue |
|---|---|---|
| 930 | Practical Session |
Sunday 6th August
Excursion
| Time | Activity | Venue |
|---|---|---|
| 1100 | Board Coach to Cromer | JIC Reception |
| 1600 | Board Coach to Blakeney | Cromer Coach Park - TBC |
| 1645 | Bean’s Seal Trip Departs | Quayside Blakeney |
| 1845 (approx) | Arrive back at UEA |
Monday 7th August
Cellular Defence. Led by Silke Robatzek
| Time | Activity | Venue |
|---|---|---|
| 930 | PEDAGOGICAL LECTURE - Silke Robatzek | |
| 1100 | Tea Break and Discussion | |
| 1130 | Practical Session | |
| 1230 | Lunch | NRP Venues |
| 1330 | KEYNOTE LECTURE - PAUL BIRCH - The Delivery and Activity of late blight effector proteins that suppress plant immunity | JIC G34/35 |
| 1430 | Tea Break and Discussion | |
| 1500 | Practical Session |
Tuesday 8th August
Cellular Defence. Led by Silke Robatzek
| Time | Activity | Venue |
|---|---|---|
| 930 | Practical Session | |
| 1230 | Lunch | NRP Venues |
Functional Plant Genomics. Led by Ksenia Krasileva
| Time | Activity | Venue |
|---|---|---|
| 1330 | KEYNOTE LECTURE - DANIEL CROLL - Retracing genome evolution of pathogens during rapid disease emergence in agricultural ecosystems | JIC G34/35 |
| 1430 | PEDAGOGICAL LECTURE - Ksenia Krasileva | |
| 1530 | Tea Break and Discussion | |
| 1600 | Practical Session |
Wednesday 9th August
Proteomics. Led by Frank Menke
| Time | Activity | Venue |
|---|---|---|
| 930 | PEDAGOGICAL LECTURE - Frank Menke | |
| 1100 | Tea Break and Discussion | |
| 1130 | Practical Session | |
| 1230 | Lunch | NRP Venues |
| 1330 | KEYNOTE LECTURE - DELPHINE PFLEIGER - Quantitative phosphoproteomic analysis reveals shared and specific targets of Arabidopsis MAPkinases MPK3 MPK4 and MPK6 | Jane Rogers Seminar Room at EI |
| 1430 | Tea Break and Discussion | |
| 1500 | Practical Session |
Thursday 10th August
Translations and Tipping the Balance. Led by Matt Moscou and Peter Van Esse
| Time | Activity | Venue |
|---|---|---|
| 930 | PEDAGOGICAL LECTURE - Matt Moscou | |
| 1100 | Tea Break and Discussion | |
| 1130 | Practical Session | |
| 1230 | Lunch | NRP Venues |
| 1330 | KEYNOTE LECTURE - BEAT KELLER - Molecular analysis of wheat – fungal pathosystems and applications in resistance breeding | JIC G34/35 |
| 1430 | Tea Break and Discussion | |
| 1500 | Practical Session |
Friday 11th August
Translations and Tipping the Balance. Led by Peter Van Esse and Matt Moscou
| Time | Activity | Venue |
|---|---|---|
| 930 | Practical Session | |
| 1030 | Tea Break and Discussion | |
| 1100 | PEDAGOGICAL LECTURE - Peter van Esse | |
| 1200 | Concluding Remarks |


Evanced Solutions wanted to create a suite of educational games for the app store based on popular classroom board games their sister company had produced. I came on to help with design and ensure that the games were fun for kids.
That's Baloney
That's Baloney is a trivia game for grades 2 - 6 aimed at helping kids learn common core subjects. I designed the interface and created final art assets in photoshop and Autodesk Maya.
The games I loved to play as a kid had highly interactive skeuomorphic interfaces which influenced the style I chose. Check out a review in USA TODAY.
Froggy Phonics
Froggy Phonics is designed to familiarize 4-8 year olds with letter groups and phonics sounds. I worked on the gameplay (including play testing) and interaction design. We had wonderful artists on this project who made everything look amazing.
Champs of Numeria
Champs of Numeria is a Connect Four style match game that helps kids master addition, subtraction, multiplication, and division. I worked on the gameplay mechanics and interaction design.


|
HamlPHP
Yet another Haml parser written in PHP
|
Public Member Functions | |
| __construct ($cachePath, $extension= '.cached.php') | |
| evaluate ($content, array $contentVariables=array(), $id=null) | |
| isFresh ($id) | |
| cache ($id, $content) | |
| fetch ($id) | |
| remove ($id) | |
Protected Attributes | |
| $_path = null | |
| $_extension = null |
Definition at line 3 of file FileStorage.php.
| __construct | ( | $ | cachePath, |
| $ | extension = '.cached.php' |
||
| ) |
Definition at line 8 of file FileStorage.php.
| cache | ( | $ | id, |
| $ | content | ||
| ) |
(non-PHPdoc)
Implements Storage.
Definition at line 45 of file FileStorage.php.
| evaluate | ( | $ | content, |
| array $ | contentVariables = array() , |
||
| $ | id = null |
||
| ) |
Evaluates a string. Content contains HTML and PHP code.
| $content | A string |
| $contentVariables | an array of variables |
| $id | An identifier of the content. Could be a filename. |
Implements ContentEvaluator.
Definition at line 14 of file FileStorage.php.
| fetch | ( | $ | id | ) |
(non-PHPdoc)
Implements Storage.
Definition at line 60 of file FileStorage.php.
| isFresh | ( | $ | id | ) |
(non-PHPdoc)
Implements Storage.
Definition at line 32 of file FileStorage.php.
| remove | ( | $ | id | ) |
(non-PHPdoc)
Implements Storage.
Definition at line 69 of file FileStorage.php.
$_extension = null [protected] |
Definition at line 6 of file FileStorage.php.
$_path = null [protected] |
Definition at line 5 of file FileStorage.php.


6 June 2006
The Ministry of Health in Indonesia has confirmed the country’s 49th case of human infection with the H5N1 avian influenza virus.
The case occurred in a 15-year-old boy from Tasikmalaya District, West Java Province. He developed symptoms on 24 May, was hospitalized on 26 May, and died on 30 May.
An investigation conducted by provincial health authorities found a history of contact with sick and dying chickens in the boy’s household in the week before the onset of his symptoms. Monitoring of family members and close contacts has detected no cases of influenza-like illness.
Of the 49 cases confirmed to date in Indonesia, 37 have been fatal.
The H5N1 virus is considered firmly entrenched in poultry throughout much of Indonesia. Unless this situation is urgently and comprehensively addressed, sporadic human cases will continue to occur.
The newly confirmed case is one of several where exposure occurred despite a clear signal of a high-risk situation arising from poultry deaths. Pending better control of the disease in animals, WHO and officials in the Ministry of Health see an urgent need to improve public awareness of this disease, the risk factors for infection, and the behaviours that should be avoided.


Employees ID is required.
Title is required.
Last Name is required.
First Name is required.
Title of Courtesy required.
Birth Date is required.
Hire Date is required.
Address is required.
City is required.
Region is required.
Postal Code is required.
Country is required.
Home Phone is required.
Extension required.
Photo is required.
Notes is required.
Reports To is required.
Photo Path is required.
Photo Url is required.
Save


Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Iusto magni nobis recusandae.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Iusto magni nobis recusandae.
Lorem ipsum dolor sit amet consectetur adipisicing elit. Iusto magni nobis recusandae.


I've survived most of the ways a software project can fail. Through four decades in tech, over 50 projects, from startups to majors like Intel, Microsoft, Exxon, Boeing and NASDAQ, I know what fixes the faults and what doesn't.
I'm not following someone else's recipes and hoping they work. I created these six protocols for project repair and product delivery: I and my teams smoothly Orient, React, Assess, Probe, Select, and Act.
I don't chase fads in computing or project management. Only code and practices that deliver tangible value should exist. A lot of errors and waste can be cut out; I hunt down fad-code and delete it, leaving only the productive essentials.
I clearly state only points that matter, whether it's part of the problem, part of the failed solutions, part of my plan, or my implementation. No more technobabble snow jobs and excuses; know what you're paying for and know what you're getting.
Having done software for companies ranging from Intel to NASDAQ and DoE, I have a truly rare mix of extreme hands-on technical skill married with the ability to create and lead effective software tiger teams.
Good code makes working systems but it must be properly deployed. In the end the system's components must be in place and operating properly in their real production environment. It's not a solution until it's rolled out and running smoothly the third time.


You have JavaScript disabled in your browser. This application will not work as such. If you (re-)enable JS, it will provide a simple sound board web app, written in vue.js, which provides humorous sound clips relevant to the "pointing poker" portion of agile development.


Are you a student from digital or creative education? We are on mission to prepare you for the job market after graduation by getting you a study relevant job.


MSCP Configuration
Basic
Remote
Dependencies
Server
Forwards
Security
Servers
Selected server
Dependencies
Functions
Namespace:
Arguments of function "
"
Generate handler
Generate
Forwards
General security
API access scheme:
Everyone can access
Access denied, unless granted by access rule
Only localhost
Deny all access
Static access scheme:
Everyone can access
Access denied, unless granted by access rule
Only localhost
Deny all access
Manage access scheme:
Everyone can access
Access denied, unless granted by access rule
Only localhost
Deny all access
Save
Access rules
Sub-rules
Access Keys
Basic
Name:
Enable HTTP:
Port:
Enable HTTPS:
Port:
Key path:
Certificate path:
CA path:
Attempt API on unresolved root path:
Save


A Plan for Spam: Getting Past Filters
August 2002
(This article describes the spam-filtering techniques used in the spamproof web-based mail reader we built to exercise Arc. An improved algorithm is described in Better Bayesian Filtering.)
...
(This article describes the spam-filtering techniques used in the spamproof web-based mail reader we built to exercise Arc. An improved algorithm is described in Better Bayesian Filtering.)
...
(This article was given as a talk at the 2003 Spam Conference. It describes the work I've done to improve the performance of the algorithm described in A Plan for Spam, and what I plan to do in the future.)
...
We may be able to improve the accuracy of Bayesian spam filters by having them follow links to see what's waiting at the other end. Richard Jowsey of death2spam now does this in borderline cases, and reports that it works well.
...
There are many ways to fight spam. Which works best? So far the best single solution is probably Bayesian filtering. But you don't have to choose just one. Many of the following solutions could be used in combination.
...
The real test of any technique for eliminating spam is not how much spam you can stop, but how much spam you can stop without stopping a significant amount of legitimate email. That is, how do you design a defense against spam so that the error in the system is nearly all in the direction of false negatives rather than false positives?
...
How can legitimate opt-in list publishers avoid getting their mails caught in spam filters?
...
(It's about a year now since A Plan for Spam. So far, filters are winning. This article analyzes the tricks spammers have tried to beat them, and offers some suggestions for the future.)
...
(This article is derived from one I wrote for the January 2003 issue of the Computer Security Journal.)
...
(I wrote this partly for computer people, to explain why spam doesn't have to be protected as free speech, and partly for direct marketers, a few of whom aren't yet quite clear about the difference between email and other forms of advertising.)
...
In 1997, a group of anti-spam vigilantes called MAPS started a blacklist of mail servers owned by or compromised by spammers. Mail server administrators could use this list to block sources of spam. At least, that was what most of them thought they were getting.
...


Canadian Postal Codes
Canadian postal codes contain six characters made up of alternating characters and digits. The first series of three characters and digits identifies the forward sortation area (or FSA), and the second series of three characters and digits identifies the local delivery unit (or LDU). The first character of the FSA identifies the province, territory, or region (18 characters are valid in this position, A for Newfoundland and Labrador, B for Nova Scotia, K, L, N and P for Ontario, excluding Toronto, which uses M, and so on), and so validation should ideally check to ensure that the first character is a valid one. Canadian postal codes are generally formatted using a space to separate the FSA from the LDU.
123 4th Street, Toronto, Ontario, M1A 1A1
567 8th Avenue, Montreal, Quebec, H9Z 9Z9
[ABCEGHJKLMNPRSTVXY]\d[A-Z] \d[A-Z]\d
123 4th Street, Toronto, Ontario, M1A 1A1
567 8th Avenue, Montreal, Quebec, H9Z 9Z9
[ABCEGHJKLMNPRSTVXY] matches any one of those 18 valid characters, and \d[A-Z] matches a digit followed by any alphabetic character, and thus the FSA. \d[A-Z]\d matches the LDU, a digit followed by an alphabetic character followed by a digit.
Note | This regular expression is one that should not be case sensitive. |
|


Israeli military says it killed Islamic Jihad commander in airstrike at his home in resumption of...
by EndPlayJERUSALEM - JERUSALEM (AP) - Israeli military says it killed Islamic Jihad commander in airstrike at his home in resumption of pinpointed targeting.


>From the desk of: HON. (DR.) FELIX WILLIAM Managing Director: N.N.P.C. Nigeria. ALTERNATIVE Email<EMAIL_ADDRESS>Attention: Dear friend, REQUEST FOR BUSINESS RELATIONSHIP OF GREAT PROFITS I am HON. (DR.) FELIX WILLIAM, the Director of Procurement and Contract Award at the Nigerian National Petroleum Corporation (NNPC) of the Federal Republic of Nigeria. I apologized using this medium to reach you for a transaction/ business of this magnitude, but this is due to Confidentiality and prompt access reposed on this medium. It is with trust that I wish to contact you on this matter concerning the transfer of US$30.5Million Dollars. Sometime ago, a contract was awarded by my Petroleum Corporation (NNPC) to an International Oil Firm, to Service, Turn Around Maintenance and Rehabilitation Work on Kaduna Refinery and Petrochemical Company (KRPC) Plant in Nigeria. This contract was over-invoiced by us (myself and two junior colleagues) to the tune of (US$30.5 Million United State Dollars). Though the actual contract cost have been paid to the original contractor, leaving the balance in the tune of the said amount which we have in principles gotten approval to remit by Key Tested Telegraphic Transfer (K.T.T) to any foreign bank account you will provide. It is based on this that some officials in my department and I have decided to establish a cordial business relationship with you, hence my contacting you. We want you to present yourself as the Beneficiary to this fund, so that we can release the fund into your account for safety and subsequent disbursement. We have all modalities set. We have been disappointed some years ago by a British, Mr. Rick Williams whom we trusted with a transaction of this nature up to the tune of US$50Million U.S. Dollars. He is sitting on our money for no apparent reason and refused to give us our share but we believe that for his act of wickedness to us, he will never go unpunished by God. Mr. Rick Williams still resides in London and enjoying our collective money.Because of this we are afraid and we need your total trust and assurance that you must be an honest and straight-forward person. As, we are willing to try again with you believing in your good cooperation and Faithfullness. We have agreed to share the money thus: 1. 30% for the account owner (you). 2. 60% for me and my partners 3. 10% to be used in offsetting taxes and all local & foreign expenses. Please, note that this transaction is 100% safe and risk free and we will commence the transaction from the date of receipt of the following information from you via e-mail. Please if you accept this proposal, send to me by e-mail. 1. Your personal telephone and fax numbers. 2. Your Bank name, address, telephone, fax as well as your Bank Account numbers. Or you open a new account for this business. With these information, we are going to put in application for the release of this funds (US$30.5M) into your account for us all. Due to our sensitive position, we can not afford a slip in this transaction so contact me immediately through my e-email address for further information on the requirements and procedure for this transaction. It will only take four working days to conclude this business because once you send the your full name and address with your direct phone and fax number, we shall credit your account through our Reserved Account in Europe or Asia. Remember that my present situation will not allow me to search for another person, I absolutely HOLD YOU ON TRUST. Therefore we urge you to respond immediately to this my email address to enable me commence with the modalities of this transfer as we are well prepared to do this promising transaction with you and hope to continue with you in future. Please treat with the strictest confidentiality and utmost urgency. Yours faithfully, HON. (DR.) FELIX WILLIAM. NB: please bear in mind that this is 100% legal and riskfree. We shall conclude successfully and the money shall be in your bank account within four days of receiving the needed information from you. I AM EXPECTING YOUR URGENT REPLY.


{% macro register_component() -%}
Username
Email
First Name
Last Name
About
Password
Confirm Password
Register Login


You will be automatically logged out in 1 minute. To remain logged in move your mouse over this window.


crawl package¶
Submodules¶
crawl.tweets module¶
-
crawl.tweets.
crawl_and_store_tweets
(pr=None)¶ Pulls Tweets from Twitter API and saves them to database.
!!! You need a Twitter dev account for this and to set the API key etc. in settings.py !!! :param pr: :return:
-
crawl.tweets.
key_func
(item)¶
-
crawl.tweets.
normalize_datatime
(s)¶ Normalizes datetime. :param s: The date, as a string. :return: Normalized datetime.
-
crawl.tweets.
process_item
(item, col)¶
-
crawl.tweets.
twitter_stuff
(user, api, existing=None)¶


I’m going to explore an interesting strategy suggested by Aaron Brown on one of his quora posts. At the end of the day any game in the casino is negative EV game (from the bettor side) but there is a way to make things a little bit more interesting.
Aaron suggests the 2-1-2 system. According to his post the system can work in many games where the casino margin isn’t too high and the payout is 2 to 1. The system is pretty simple. You first have to set the total amount of money you are willing to bet on and then divide it by 100. The result is your unit stake.
You start with 2 units stake. If you win the first round, set your stake to one unit and then increase your stake one unit everytime you win.
Below is a code I wrote to simulate it. N is the number of simulations to run.
def manhattan_212(N):
sim = np.zeros((N,115))
for k in range(N):
bankroll = 100
stake = 2
start = True
bank_hist = [bankroll]
for i in range(114):
roulette_result = np.random.choice([0,1], p = [0.514, 0.486])
if roulette_result == 1: #I Won
if start == True:
stake = 1
start = False
else:
stake += 1
bankroll += stake*2-stake
else:
bankroll -= stake
start = True
stake = 2
bank_hist.append(bankroll)
sim[:][k] = bank_hist
return sim
I’ve plotted the simulation results:
According to the simulation, the strategy will yeild a non-negative return rate in approx 33% of the times. ~18.5% of the simulations yielded more than 15% return and, ~3% of simulations had a return rate of over 50%! None of the simulations went down to 0. One had a return rate of over 100%.
I wanted to compare the simulation to the no-strategy of just betting the same amount every round.
def same_bet(N):
sim = np.zeros((N,115))
for k in range(N):
bankroll = 100
stake = 1
bank_hist = [bankroll]
for i in range(114):
result = np.random.choice([0,1], p = [0.514, 0.486])
if result == 1:
bankroll += (stake*2-stake)
else:
bankroll -= stake
bank_hist.append(bankroll)
sim[:][k] = bank_hist
return sim
The regular strategy had actually more success rate. with ~41% of the simulations ended with non-negative returns, ~4% with over 15% and the highest return rate was 28% (compared to 131% on 2-1-2).
Now to the plot of the end results (bankroll balance in unit stakes after the last round of roulette) of 1000 simulations of both strategies:
So I guess the average outcome of the non-strategy is actually better, but we can see the heavy tails of the 2-1-2 strategy. Now I think the 2-1-2 strategy biggest advantage is that it is much more exciting than regular betting. Think about adding up to your stake everytime you win compared to having the same stake over and over again. Besides, if I’m going to the casino I am not opting for an average result.


5N/6D
On arrival at the Cochin airport/railway station, meet our representative who will be there for your warm welcome and afterwards to transfer you to your already booked hotel in Munnar Proceed to Munnar. Visit Cheeyapara and Valara water falls on the way to Munnar.Throughout the journey enjoy beautiful streams small waterfalls, Rubber, Pepper cardamom and Tea plantations and thick forests; God has blessed his own country with incomparable beauty on arrival at Munnar check in to Hotel. At leisure. Overnight stay in Hotel/resort.
Today after breakfast, go for sightseeing at Mattupetty Dam; a beautiful spot for viewing the picturesque Munnar, Kundala Lake- a natural lake with recreational facilities like boating and having excellent view of Western Ghats as well as the lush green forest surrounded with. Also visit Eco point, blossom hydel park, TATA Tea museum etc and tea plantations. After noon you can visit Eravikulam National park; where the endangering NilgiriTahr is conserved also its the prime attraction Munnar to have a soft trekking and from the hill one can enjoy the breath taking view of entire Munnar hills. Later drive back to your resort for Overnight stay.
Today after breakfast check out your hotel and drive towards Thekkady, the Wildlife destination of Kerala. Its also known as the spice bag of the state. You can enjoy a beautiful journey through the hills and valleys of Western Ghats to reach this jungle destination. Check in your hotel and later go for an optional Kathakali show, Spice plantation visit, elephant ride, or an Ayurvedic massage treatment there. Also have an amazing boat ride in Periyar Lake which flows through the Periyar tiger reserve. You will have chance to watch the wild animals like elephant, Bison, Sambar, Deer etc are roaming the both shore. Overnightstay at Hotel at Thekkady.
After Brake fast check out from Thekkady and transferred to Alleppey. Check in at hotel and Proceed to Local sight seeing.alappuzha has always enjoyed an important place inthe maritime history of Kerala. Today, it is famous for its boat races, backwater holidays, beaches, marine products and coir industry. Alappuzha beach is a popular picnic spot. The pier, which extends into the sea here, is over 137 years old. Entertainment facilities at the Vijaya Beach Park add to the attraction of the beach. There is also an old lighthouse nearby which is greatly fascinating to visitors. over night stay at hotel.
After breakfast check out from hotel and transfer to Cochin. An interesting ensemble of various cultures like the Portuguese, Jewish, English, French, Dutch and Chinese, Kochi is a tapestry of vivid and varied colours,. After a half day sightseeing of Cochin. Overnight stay at Cochin at Hotel.
Morning After breakfast check out from hotel and transfer to Cochin Airport For onward Journey.


competition results for "${brew.recipe.name}" | brew-journal
competition results for ${brew.recipe.name}
${field(form.competition_name)}
${field(form.competition_url)}
${field(form.competition_date)}
${field(form.entry_id)}
${field(form.entered_style)}
${field(form.flight_position)}
${field(form.flight_entries)}
${field(form.mini_bos)}
${field(form.assigned_score)}
${field(form.place_awarded)}
${field(form.notes)}
Cancel


If you've never taken the time to hang out with Brak, check out his links to the left and enjoy.


Project¶
For more details regarding inputs and output in form of complex dictionaries see the original source docs at:
%host%/docs/source/ProjectInterface.html
for example:
https://editor.webgme.org/docs/source/ProjectInterface.html
-
class
webgme_bindings.project.
Project
(webgme)[source]¶ Bases:
object
Class for accessing and making changes in a project repository.
-
property
CONSTANTS
¶ A dictionary with the constants associated with the storage/project.
-
create_branch
(branch_name, new_hash)[source]¶ Creates a new branch with head pointing to the provided commit hash.
- Parameters
branch_name (str) – Name of branch to create.
new_hash (str) – New commit hash for branch head.
- Returns
Status about the branch update.
- Return type
dict
- Raises
JSError – The result of the execution.
-
create_tag
(tag_name, commit_hash)[source]¶ Creates a new tag pointing to the provided commit hash.
- Parameters
tag_name (str) – Name of tag to create.
commit_hash (str) – Commit hash tag will point to.
- Returns
Nothing is returned by the function.
- Return type
None
- Raises
JSError – The result of the execution.
-
delete_branch
(branch_name, old_hash)[source]¶ Deletes the branch.
- Parameters
branch_name (str) – Name of branch to create.
old_hash (str) – Previous commit hash for branch head.
- Returns
Status about the branch update.
- Return type
dict
- Raises
JSError – The result of the execution.
-
delete_tag
(tag_name)[source]¶ Deletes the given tag.
- Parameters
tag_name (str) – Name of tag to delete.
- Returns
Nothing is returned by the function.
- Return type
None
- Raises
JSError – The result of the execution.
-
get_branch_hash
(branch_name)[source]¶ Retrieves the commit hash for the head of the branch.
- Parameters
branch_name (str) – Name of branch.
- Returns
The commit hash.
- Return type
str
- Raises
JSError – The result of the execution.
-
get_branches
()[source]¶ Retrieves all branches and their current heads within the project.
- Returns
An object with branch names as keys and their commit-hashes as values.
- Return type
dict
- Raises
JSError – The result of the execution.
-
get_commit_object
(branch_name_or_commit_hash)[source]¶ Retrieves the commit-object at the provided branch or commit-hash.
- Parameters
branch_name_or_commit_hash (str) – Name of branch or a commit-hash.
- Returns
The commit-object.
- Return type
dict
- Raises
JSError – The result of the execution.
-
get_commits
(before, number)[source]¶ Retrieves and array of the latest (sorted by timestamp) commits for the project. If timestamp is given it will get number of commits strictly before before. If commit hash is specified that commit will be included too.
 N.B. due to slight time differences on different machines, ancestors may be returned before their descendants. Unless looking for ‘headless’ commits ‘getHistory’ is the preferred method.
- Parameters
before (int or float or str) – Timestamp or commitHash to load history from.
number (int or float) – Number of commits to load.
- Returns
The commits that match the input, ordered by their time of insertion.
- Return type
list of dict
- Raises
JSError – The result of the execution.
-
get_common_ancestor_commit
(commit_a, commit_b)[source]¶ Retrieves the common ancestor of two commits. If no ancestor exists it will result in an error.
- Parameters
commit_a (str) – Commit hash.
commit_b (str) – Commit hash.
- Returns
The commit hash of the common ancestor.
- Return type
str
- Raises
JSError – The result of the execution (will be non-null if e.g. the commits do not exist or have no common ancestor).
-
get_history
(start, number)[source]¶ Retrieves an array of commits starting from a branch(es) and/or commitHash(es).
 The result is ordered by the rules (applied in order)
 1. Descendants are always returned before their ancestors.
 2. By their timestamp.
- Parameters
start (str or str or list of str or list of str) – Branch name, commit hash or array of these.
number (int or float) – Number of commits to load.
- Returns
The commits that match the input ordered as explained.
- Return type
list of dict
- Raises
JSError – The result of the execution.
-
get_project_info
()[source]¶ Retrieves the metadata of the project.
- Returns
An object with info about the project.
- Return type
dict
- Raises
JSError – The result of the execution.
-
get_root_hash
(branch_name_or_commit_hash)[source]¶ Retrieves the root hash at the provided branch or commit-hash.
- Parameters
branch_name_or_commit_hash (str) – Name of branch or a commit-hash.
- Returns
The root hash.
- Return type
str
- Raises
JSError – The result of the execution.
Retrieves all tags and their commits hashes within the project.
- Returns
An object with tag names as keys and their commit-hashes as values.
- Return type
dict
- Raises
JSError – The result of the execution.
-
get_user_id
()[source]¶ Return the identity of the current user of this project.
- Returns
the userId
- Return type
str
-
make_commit
(branch_name, parents, root_hash, core_objects, msg)[source]¶ Makes a commit to data base. Based on the root hash and commit message a new {@link module:Storage.CommitObject} (with returned hash) is generated and insert together with the core objects to the database on the server.
- Parameters
branch_name (str) – Name of branch to update (none if null).
parents (list of str) – Parent commit hashes.
root_hash (str) – Hash of root object.
core_objects (dict) – Core objects associated with the commit.
msg (str) – Commit message.
- Returns
Status about the commit and branch update.
- Return type
dict
- Raises
JSError – The result of the execution.
-
set_branch_hash
(branch_name, new_hash, old_hash)[source]¶ Updates the head of the branch.
- Parameters
branch_name (str) – Name of branch to update.
new_hash (str) – New commit hash for branch head.
old_hash (str) – Current state of the branch head inside the database.
- Returns
Status about the branch update.
- Return type
dict
- Raises
JSError – The result of the execution.
-
property