The Web currently does not have a mechanism where people and organizations can claim identifiers that they have sole ownership over. Identifiers, such as those rooted in domain names like emails addresses and website addresses, are effectively rented by people and organizations rather than owned. Therefore, their use as long-term identifiers is dependent upon parameters outside of their control. One danger is that if the rent is not paid, all data associated with the identifier can be made temporarily or permanently inaccessible. This document specifies a mechanism where people and organizations can cryptographically claim ownership over identifiers such that they control them and the documents that they refer to.
This is an experimental specification that is currently undergoing rapid change and is not ready for widespread implementation. The reference implementation of this technology can be found on Github
The Web currently does not have a mechanism where people and organizations can claim identifiers that they have sole ownership over. Identifiers, such as those rooted in domain names like emails addresses and website addresses, are effectively rented by people and organizations rather than owned. Therefore, their use as long-term identifiers is dependent upon parameters outside of their control. One danger is that if the rent is not paid, all data associated with the identifier can be made temporarily or permanently inaccessible.
The main reason this problem exists is two fold: it's a particularly hard one to solve and there was no time to build out the solution when the Web was starting its rapid rise in the late 1990s. The solutions for creating identifiers that we have in place today, particularly DNS, HTTP, and URLs, are powerful tools that have scaled the Web to the billions of people that use it today.
However, as the Web expands and becomes more personal, there is a growing need for a type of dereference-able identifier that can be created and owned by people and organizations without the need for a central organization or federation of organizations to control the namespace. Having such a scheme would enable more personal and organizational freedom on the Web.
The following algorithm specifies how to register a decentralized
identifier in the WebDHT. The algorithm takes a private key,
a public key, and stores a
The discovery and storage mechanism for the final WebDHT is still an area of active research and debate. One possible technology that may be used is a security hardened version of Kademlia DHT algorithms that have gained widespread use in peer-to-peer systems like tracker-less Bittorrent networks.
The mechanism for generating a DID is likely to change to one based on a cryptographic hash of a public key. Once an identifier is claimed, the key used is not necessarily significant, unlike in systems that use blockchain technology, ie: the key can sign a change to the DID document granting authorization to other keys, such that the loss of the original claiming key does not result in the loss of control over the identity.
did:
to the identifier. Example:
did:a8ebdaf1-3c47-45d1-addc-26ce643b9a0c
did:a8ebdaf1-3c47-45d1-addc-26ce643b9a0c/keys/1
@context
https://w3id.org/identity/v1
id
accessControl
writePermission
id
type
CryptographicKey
publicKey
id
type
CryptographicKey
owner
publicKeyPem
storageRequest
endpoint.
storageRequest
endpoint with the
DID document as the body of the request.
If successful, the result of the algorithm listed above will be an entry in the WebDHT where the key is the decentralized identifier and the value is similar in form to the following example document:
{ "@context": "https://w3id.org/identity/v1", "id": "did:a8ebdaf1-3c47-45d1-addc-26ce643b9a0c", "accessControl": { "writePermission": [ { "id": "did:a8ebdaf1-3c47-45d1-addc-26ce643b9a0c/keys/1", "type": "CryptographicKey" }, { "id": "did:780c5356-b4ab-473d-97f6-aeb524794eb9", "type": "Identity" } ] }, "publicKey": [ { "id": "did:a8ebdaf1-3c47-45d1-addc-26ce643b9a0c/keys/1", "type": "CryptographicKey", "owner": "did:a8ebdaf1-3c47-45d1-addc-26ce643b9a0c", "publicKeyPem": "-----BEGIN PUBLIC KEY-----\r\n MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmPUHbAM58QX957aRuE1H\r\n AN0iYjfjs4I/waRPW/0RiFcVccFh2DYra56oT9IW2XJyxxchm0LMQwOmtb2N/ro+\r\n r73gvOqms2RyTHsdcX4aYZKdIdhIN3s9GVoYwREVvpaWH2ulJhujB1hO/XYfAADB\r\n cwjxVMQ7a0Cdv1R/eaM0oQk3CHGAPnB8EaDAWzkcJ9FwCf/PPdIf3X6qtGICX4Ei\r\n LypDHkVodTL3SxpjMkSIJK87O5/x6HDWtA+tgaYxIJxnCY0P1ssUpmuxuacZfhN9\r\n jaT8NUIKYAb+9z+zL0Ba8o4niSQVDt4W3r/LCF7Mj8Ps0nF05lW3Ymwz4C6ENO1L\r\n lQIDAQAB\r\n-----END PUBLIC KEY-----\r\n" } ], "signature": { "type": "LinkedDataSignature2015", "created": "2015-10-23T02:10:21Z", "creator": "did:a8ebdaf1-3c47-45d1-addc-26ce643b9a0c/keys/1", "signatureValue": "cNJGLFqT/d/90D4GFzvPwaJ66hHKUIgSPcJmm++oiP+wSHjtov8 4/hI4lVrNmYp9WdXRrCNSIko9wzots1QdKkoleFMUftAclVXfERuvnhsFlMTBO7FKRCM5I X6D8Ec+SRKG7C8d3Hy6DBPPRtRrDeZr7YpeggUBaA/IfejaDfCRzBgwcWaXqt21MQXmins Rud7g/pYrAwsnGag9B8bwjzyKKpZgrZQ5AVcc40tuIdIsddEuckzEjFpBZs9wHtGlgnybI 4apZ90waD2SM+oLi19jnUcY4GQSZ/id3MIlr6BYeTv86fzDq4IHT2kp32foVgjidzFL+aK WMZOsQyKPiw==" } }
The Proof-of-Patience mechanism on its own is insufficient to protect the network from DDoS attacks. More mechanisms need to be employed.
When creating DID document entries in the DHT, it is useful to also create aliases for those entries to enable human-based lookup of identifiers. For example, enabling the lookup of a decentralized identifier using an email address and passphrase would help people bootstrap the discovery process using information that is easy for them to remember. The actual email address and passphrase are not stored in the WebDHT.
The following algorithm specifies how to register an alias to a decentralized identifier in the WebDHT. The algorithm takes a hash value and stores an associated alias document in the WebDHT.
:
to the hashing algorithm
output. For example, ask a person
for an email address and a passphrase, concatenate the input, and perform a
SHA-256 of the input which should result in the following example
hash value: sha256:8cd07f3a5ff98f2a78cfc366c13fb123eb8d29c1ca37c79df190425d5b9e424d
.
@context
https://w3id.org/identity/v1
id
storageRequest
endpoint.
storageRequest
endpoint with the
alias document as the body of the request.
If successful, the result of the algorithm listed above will be an entry in the WebDHT where the key is the hash value and the value is similar in form to the following example document:
{ "@context": "https://w3id.org/identity/v1", "id": "did:a8ebdaf1-3c47-45d1-addc-26ce643b9a0c", "signature": { "type": "LinkedDataSignature2015", "created": "2015-10-23T02:40:21Z", "creator": "did:a8ebdaf1-3c47-45d1-addc-26ce643b9a0c/keys/1", "signatureValue": "cNJGLFqT/d/90D4GFzvPwaJ66hHKUIgSPcJmm++oiP+wSHjtov8 4/hI4lVrNmYp9WdXRrCNSIko9wzots1QdKkoleFMUftAclVXfERuvnhsFlMTBO7FKRCM5I X6D8Ec+SRKG7C8d3Hy6DBPPRtRrDeZr7YpeggUBaA/IfejaDfCRzBgwcWaXqt21MQXmins Rud7g/pYrAwsnGag9B8bwjzyKKpZgrZQ5AVcc40tuIdIsddEuckzEjFpBZs9wHtGlgnybI 4apZ90waD2SM+oLi19jnUcY4GQSZ/id3MIlr6BYeTv86fzDq4IHT2kp32foVgjidzFL+aK WMZOsQyKPiw==" } }
The following algorithm specifies how to update a DID document that
has been previously stored in the WebDHT. The algorithm takes a
decentralized public keys associated with the identifier and stores a
storageRequest
endpoint.
storageRequest
endpoint with the
DID document as the body of the request.
Updates do not require the execution of the Proof of Patience algorithm as the storage nodes need only check the existing public keys associated with the DID document and verify the signature of the updated DID document to result in a successful write to the WebDHT.
In order for this technology to be broadly useful to society, it is important that data stored in the WebDHT has excellent survivability characteristics. The data stored on the network must be available as the system scales to billions of devices using it, undergoes nation-state attacks, suffers large failures and disruptions to the underlying communication networks, and is affected by clients with a high network churn rate. A number of data survivability considerations are listed and analyzed below with respect to the algorithms provided in this document.
In order for data to survive most of the issues listed above, a high mirroring rate is necessary. The algorithm to calculate the proper mirroring rate is still under development.
In order to survive a number of attack scenarios, it is best to have the storage node addresses and storage and mirroring locations be chosen in a way that is not under the control of the storage nodes (or any party), but rather, for example, controlled by an algorithm that must be properly implemented for the network to function. At the same time, good discovery times must be provided. The algorithms to calculate the storage location selection and storage node address locations is still under development.
In order for this technology to be broadly useful to society, it is important that the protocols and data used have certain security characteristics that don't make it susceptible to attacks that would cripple the communication channels or corrupt the data stored in the system.
It should be assumed that private organizations and nation-states may attack the WebDHT to try and disrupt activity since there are economic and political incentives to do so. Many of the attack preventions rely on slowing down requests using techniques like Proof-of-Patience, or ensuring that all data is digitally signed to provide data protection. More techniques are needed and a thorough analysis on DDoS attacks on each endpoint and system component is still required.
An attacker may target a particular individual or organization in the WebDHT to prevent that target from interacting with the broader network. Some of the protections to prevent this sort of attack include deterministically selecting storage node and data addresses in a way that makes it infeasible to spoof information on the network. A thorough anaysis on targeted attacks on decentralized identifiers is still needed.
The editors wish to thank the participants of the Credentials Community Group for discussions about and contributions to this document.


You Don't Need Magic to Disappear. All you need is destination.
Spectacular Seychelles
New Destinaion
Hong Kong & Macau
Bonus Extras!
Vietnam Highlights
New Destinations!
Sepectacular Seychelles
New Destinations!
Vietnam Highlights
New Destinations!
Sepectacular Seychelles
New Destinations!
Lorem lpsum is simply dummy text of the printing and typeset industry.Lorem lpsum has been the industry's standard dummy text ever hen an with new version look
Lorem lpsum is simply dummy text of the printing and typeset industry.Lorem lpsum has been the industry's standard dummy text ever hen an with new version look
Lorem lpsum is simply dummy text of the printing and typeset industry.Lorem lpsum has been the industry's standard dummy text ever hen an with new version look


The Livermore Big Artificial Neural Network toolkit (LBANN) is an open-source, HPC-centric, deep learning training framework that is optimized to compose multiple levels of parallelism.
v0.9 is LBANN’s initial release. The release notes linked below contain details about v0.9x iterations. Some deprecated features have been retired. At a high level, this release includes new development in these areas:
- Support for new training algorithms (e.g., generative adversarial networks)
- Support for new network structures
- Support for new layers (e.g., learning, metrics, optimizers, activations)
- Performance optimizations (e.g., GPU model-parallel softmax layer)
- Model portability & usability
- Support for an online, distributed data store
- Overhauled I/O & data readers
- Overhauled code base (see README_coding_style.txt)
- New features & build system (e.g., support for convolutional and pooling layers, GPU acceleration of local Elemental GEMM operations)
- and much more!
Learn more:


News story
Nadhim Zahawi MP, has launched a scheme to raise awareness of apprenticeships at primary school level.
The scheme, which has been launched at the Mayflower Primary School in London, sees apprentices from different sectors visit schools to talk to children about their apprenticeship and what it has done for them.
The scheme, in partnership with the charity Primary Futures, aims to improve the information on apprenticeships available in schools, helping children to see the links between their lessons and their futures and also reduce gender specific stereotyping.
The Prime Minister’s apprenticeship adviser, Nadhim Zahawi MP, says: “It’s so important for primary school children to meet with apprentices and I was delighted to have the opportunity to be involved with this. Many of us develop our idea of a dream job while we’re at primary school, and apprenticeships are a great way of achieving these dreams.
As the government seeks to hit the target of 3 million apprenticeship starts by 2020, school pupils should be aware of future options they have from a young age, so they’re familiar with the system and what the possibilities are as they shape their future.”
Over the weekend, the DfE announced that new legislation will require schools to collaborate with colleges, university technical colleges and other training providers to ensure that young people are aware of all the routes to higher skills and the workplace, including Higher and Degree Apprenticeships.
For more information on the launch event and the scheme visit the Primary Futures website .
Published: 25 January 2016
From: Skills Funding Agency
Part of: Apprenticeships


continuous4r
Get Version
0.0.4
What is it ?
continuous4r is a continuous integration tool for Ruby on Rails. With it, you can aggregate reports of the best analysis, quality, and tests tools for Ruby on Rails. By just launching one Rake task and customizing a XML file describing your project, continuous4r builds for you an entire website in a Maven-like form/design.
Requirements
- RubyGems
- rails (erb)
- hpricot
- XmlElements
Installing
[sudo] gem install continuous4r
Release notes for 0.0.4 version
- Major bug fixes on rcov and changelog builder (differences found on svn with the type of checkout http:// or svn://).
- Tests made on various projects, and notableously to a big one (Redmine).
- Introduction of reporting quality indicators (will be completed for 0.1.0).
- The release of 0.0.5 will be here very shortly, this release is here for build capability.
Release notes for 0.0.3 version
- Major bug fixes on rcov, ZenTest, tests, and changelog builders.
- Various bug fixes on gems and tasks management.
- Tests made on other projects than mine !!! (Apologies, everyone).
Release notes for 0.0.2 version
- Full Windows support, and no need for the user to define the HOME environment variable.
- Only quality and code-related tools kept (goodbye Capistrano, httperf, railroad…).
- No need to create the project file from scratch now, type ‘rake continuous4r:init’ in your Rails project directory, and there you go.
- Full extensibility : the tasks are now defined in [task]_builder.rb files, and instanciated dynamically.
- Full refactoring (Ruby and HTML/RHTML parts).
- Git support added.
- HTTP Proxy support (for those who are constrained by a proxy).
- No need to have eruby installed, now uses the Rails erb compiler.
- HTML global template fixes.
- No need to define or configure your tasks anymore.
The basics
Preparing your project
In order to have access to continuous4r Rake tasks, you must open your Rakefile, and add to the end :
require 'continuous4r'
Initializing your project
In order to initialize your project, you must create your continuous4r-project.xml file.
Just type this command and the file will be created :
rake continuous4r:init
Here is the content of this file, you can customize it to suite your needs :
<project name="FIXME project name" auto-install-gems="true" auto-install-tools="true" ignore-tests-failures="true"> <description>FIXME project description</description> <url>FIXME project URL</url> <logo>FIXME Logo URL</logo> <company> <denomination>FIXME your company name here</denomination> <url>FIXME your company website URL here</url> <logo>FIXME your company logo URL here</logo> </company> <members> <member id="FIXME user login" name="FIXME user name" email="FIXME user email" roles="FIXME user roles, separated by commas" company="FIXME company/organisation name"/> </members> <bugtracker> <tracker_type>[Trac|Bugzilla|Mantis|etc...]</tracker_type> <tracker_url>BUGTRACKER_URL</tracker_url> <tracker_account_create>BUGTRACKER_URL_ACCOUNT_CREATION</tracker_account_create> <search>BUGTRACKER_URL_SEARCH_TICKETS</search> <url>BUGTRACKER_URL_TICKETS_LIST</url> <add>BUGTRACKER_URL_TICKET_ADD</add> </bugtracker> <!-- Gems mandatory for your project --> <gems repository="http://gems.rubyforge.org/gems/"> <gem name="GEM_NAME" version="GEM_VERSION"/> </gems> </project>
Building your project
When your project file is suitable, type :
rake continuous4r:build
When the build is finished, you can find your site in the RAILS_ROOT/tmp/continuous4r directory.
Features
Proxy configuration
If you are behind a HTTP proxy within your company, you can configure it with a simple YAML file.
Create a file named proxy.yml within your USER_HOME/.continuous4r directory, with the following content :
proxy: server: my.proxy.server port: my_port login: my_login password: my_password
When you will run the build task, if there is a need for continuous4r to find something on the internet (via Rubygems), it will automatically use this configuration.
CruiseControl.rb integration
If you heard about Continuous Integration, and are a fan of CruiseControl.rb, just customize your project to build the ‘continuous4r:build’ Rake task, and a ‘continuous4r’ artifact will appear on your build page.
Running tests
By default the behaviour of continuous4r is to ignore the fact that there are failures in your tests (because the failures are noticed within the tests report).
If you want continuous4r to stop on tests failures, then you must set the “ignore-tests-failures” flag to false in your project file.
Tasks
continuous4r built-in tasks are the core of the gem. They produce reports with some of the best code-related tools for Ruby on Rails. These tasks are described below :
dcov
Dcov task produces a report related to the coverage of your Ruby documentation (rdoc). If there is a class, a module or a method which is not documented, this task finds it and reports it.
Screenshot :
rcov
Rcov is a tool which produces a report for the coverage of your Ruby code against you tests.
Screenshot :
rdoc
Produces your project documentation.
stats
Produces what you get if you run ‘rake stats’, but in HTML format.
changelog
Produces a HTML report of your code changes in your favorite source content manager. Git and Subversion are supported.
Screenshot :
flog
Flog is a tool which measures the complexity of your Ruby code.
Screenshot :
xdoclet
A task which transforms your Ruby files in HTML format with syntax highlighting support. This task is used via links in other tasks (look flog screenshot for example).
Screenshot :
flay
Flay task finds duplicates in your Ruby code.
Screenshot :
reek
Reek is code smell detector for Ruby. If there is something bad in your code, it tells you.
Screenshot :
roodi
Roodi parses your Ruby code and warns you about design issues.
Screenshot :
saikuro
Saikuro analyzes the cyclomatic complexity of your Ruby code.
Screenshot :
tests
Task to run your tests and make a report with details (type, success/failure, result).
Screenshot :
zentest
ZenTest is a test tool. It runs a Ruby file against its test file, and generates a convention-delta report if your tests are not good enough.
Screenshot :
Help needed
This version 0.0.2 has many improvements, but is still a pre-RC version of continuous4r. I’m planning on orienting the gem to collect some statistics about the tasks, and make a global quality report with graphs.
I’m searching for volunteers to test, or work on this tool. With a more substancial amount of quality and work, this tool will be really great.
License
This code is free to use under the terms of the MIT license.
Contact
Comments are welcome. Send an email to Vincent Dubois,
or post a message on the forum.
Vincent Dubois, 3rd March 2009
Theme extended from Paul Battley


|
HologramDepthmap Library
|
Structure variable for hologram paramemters. More...
#include <HologramGenerator.h>
Public Attributes | |
| double | field_lens |
| FIELD_LENS at config file. More... | |
| double | lambda |
| WAVELENGTH at config file. More... | |
| double | k |
| 2 * PI / lambda More... | |
| ivec2 | pn |
| SLM_PIXEL_NUMBER_X & SLM_PIXEL_NUMBER_Y. More... | |
| vec2 | pp |
| SLM_PIXEL_PITCH_X & SLM_PIXEL_PITCH_Y. More... | |
| vec2 | ss |
| pn * pp More... | |
| double | near_depthmap |
| NEAR_OF_DEPTH_MAP at config file. More... | |
| double | far_depthmap |
| FAR_OF_DEPTH_MAP at config file. More... | |
| uint | num_of_depth |
| the number of depth level. More... | |
| std::vector< int > | render_depth |
| Used when only few specific depth levels are rendered, usually for test purpose. More... | |
This structure has all necessary parameters for generating a hologram. It is read from the configuration file, 'config_openholo.txt'.
Definition at line 100 of file HologramGenerator.h.
| double HologramParams::far_depthmap |
Definition at line 110 of file HologramGenerator.h.
| double HologramParams::field_lens |
Definition at line 102 of file HologramGenerator.h.
| double HologramParams::k |
Definition at line 104 of file HologramGenerator.h.
| double HologramParams::lambda |
Definition at line 103 of file HologramGenerator.h.
| double HologramParams::near_depthmap |
Definition at line 109 of file HologramGenerator.h.
| uint HologramParams::num_of_depth |
if FLAG_CHANGE_DEPTH_QUANTIZATION == 0 num_of_depth = DEFAULT_DEPTH_QUANTIZATION else num_of_depth = NUMBER_OF_DEPTH_QUANTIZATION
Definition at line 112 of file HologramGenerator.h.
| ivec2 HologramParams::pn |
Definition at line 105 of file HologramGenerator.h.
| vec2 HologramParams::pp |
Definition at line 106 of file HologramGenerator.h.
| std::vector<int> HologramParams::render_depth |
Definition at line 119 of file HologramGenerator.h.
| vec2 HologramParams::ss |
Definition at line 107 of file HologramGenerator.h.


Ballygunner's Constant Evolution Drives Success On The Pitch
by PJ BrowneIn mid-October, for the sixth year in a row, Ballygunner were crowned Waterford senior hurling champions. That is a feat, according to Shane O'Sullivan, which has been achieved by never standing still.
"It's a transition, an evolution, so it's fresh," said O'Sullivan.
"Even though we've won a number of county championships, not Munsters obviously, the team has transitioned every year from a positional sense and also from new personnel coming on board which gives the team a freshness.
"So it's not the same team that's winning for the last six years in the county, it's an evolution of players and I think that's really important for the longevity or sustainability of any team, whether it's business or a sports team."
Dessie Hutchinson has been the main addition to the mix this season. The 22-year-old finished life as a professional footballer with Brighton last year and returned home to play with Waterford for six months before packing soccer in for good.
Hutchinson - whose brothers Wayne and JJ also play for Ballygunner - has been a star for the club in their run to this weekend's Munster final against Tipp champions Borris-Ileigh. He scored 1-3 in the Waterford final against De La Salle and 0-5 versus Limerick champions Patrickswell in the Munster semi.
During the off-season with Brighton, while he was back home, Hutchinson would drop in to train with the club, and he'd puck about with the other Irish players on the beach in Brighton - those little flings with hurling made the transition back a little easier.
Along with Hutchinson, Conor Sheahan and Paddy Leavy have also been important additions this campaign.
Borris-Ileigh and Tipperary hurler Brendan Maher, left, is pictured with Ballygunner and former Waterford hurler Shane O'Sullivan ahead of the AIB GAA Munster Senior Hurling Club Championship on Sunday November 24th at Páirc Uí Rinn. Photo by Sam Barnes/Sportsfile
"Media training - ye don't get into his head!" O'Sullivan joked when asked what Hutchinson has brought back from five years of professional sport.
"He just has a focus in training and he has an experience that's beyond his years - maybe as well because he's been over there.
"It's a tough game, living on your own away from your family, trying to make a career. It mightn't have the same spirit that a hurling club or football club would have.
"To be honest we were wishing him the best [when he went over]. Anyone who wants to excel in sport, live a professional life and be the best they can be, we'd be all for it.
"We had Jack O'Donoghue who would have been a brilliant hurler, played for Munster Rugby and Ireland as well and a number of other players, some professional golfers that have played for the club.
"We're all about being the best you can be, we're not that small-minded that we try to stop that, we'd be all for it."
Top photo: Sportsfile
AIB is in its 29th year sponsoring the GAA Club Championship and is delighted to continue to support the Junior, Intermediate and Senior Championships across football, hurling and camogie. For exclusive content and behind the scenes action throughout the AIB GAA and Camogie Club Championships follow AIB GAA on Facebook, Twitter, Instagram and Snapchat.


Open Menu
Home
Module 1
Module 2
Module 3
Module 4
LOG OUT
Tools
Loan Calculator
Loan Calculator
Enter Loan Data
Amount of loan ($):
Annual interest (%):
Repayment period (years):
Approximate Payments:
Calculate
Loan Balance, Cumulative Equity, and Interest Payments
Monthly payment
Total payment
Total Interest
Exit


You will be given a random number at the start of the game.
There are four crystals below. By clicking on a crystal you will add a specific amount of points to your total score.
You win the game by matching your total score to the random number. You lose the game if your score goes about the random number.
The value of each crystal is hidden from you until you click on it.
Each time the game starts, the game will change the value of each crystal.


In this algorithm, we use a fixed forex universe which contains four symbols: "EURUSD", "AUDUSD", "USDCAD" and "USDJPY". By using self.AddForex(), we add the requested forex data into the data feed.
# Add forex data of the following symbols for pair in ['EURUSD', 'AUDUSD', 'USDCAD', 'USDJPY']: self.AddForex(pair, Resolution.Hour, Market.FXCM)
In statistics, skewness is a measure of the asymmetry of the probability distribution of a real-valued random variable about its mean. Lemperiere et al. suggest there is a positive relationship between risk premia strategies and their negative skewness. We will use this relationship in our trading logic. Our implementation goes long for a forex pair when the skewness indicator is lower than a minimum threshold (-0.6) and short the pair when the indicator exceeds a maximum threshold (0.6). For each forex pair in the universe, we will calculate the skewness indicator with historical close prices and select the symbols as follows:
### In OnData() # Get historical close data for the symbols history = self.History(self.Securities.Keys, self.lookback, Resolution.Daily) history = history.drop_duplicates().close.unstack(level=0) # Get the skewness of the historical data skewness = self.GetSkewness(history) longSymbols = [k for k,v in skewness.items() if v < self.longSkewLevel] shortSymbols = [k for k,v in skewness.items() if v > self.shortSkewLevel] def GetSkewness(self, values): ''' Get the skewness for all forex symbols based on its historical data Ref: https://www.itl.nist.gov/div898/handbook/eda/section3/eda35b.htm ''' # Get the numerator of the skewness numer = ((values - values.mean()) ** 3).sum() # Get the denominator of the skewness denom = self.lookback * values.std() ** 3 # Return the skewness return (numer/denom).to_dict()
We rebalance every week, liquidate the forex pairs not on the trading list, then repeat steps 1-2. We use equal weights for the long and short positions of securities in our portfolio.
# Liquidate the holdings for pairs that will not trade for holding in self.Portfolio.Values: symbol = holding.Symbol if holding.Invested and symbol.Value not in longSymbols + shortSymbols: self.Liquidate(symbol, 'Not selected pair') # Open positions for the symbols with equal weights count = len(longSymbols) + len(shortSymbols) for pair in longSymbols: self.SetHoldings(pair, 1/count) for pair in shortSymbols: self.SetHoldings(pair, -1/count) # Set next rebalance time self.nextRebalance += timedelta(self.rebalanceDays)


Ruthvika, Siddharth Clinch Senior Ranking Badminton Titles
Ruthvika, a South Asian Games gold medallist, triumphed over 13th seed Shruti Mundada to win the final 21-10, 21-17 in just 35 minutes.
Ruthvika Shivani Gadde bounced back to form in style as she cliched the women’s singles title while 10th seed Siddharth Pratap Singh pocketed the men’s section at the Yonex Sunrise All India Senior Ranking badminton tournament in Pune on Sunday.
Ruthvika, a South Asian Games gold medallist, triumphed over 13th seed Shruti Mundada to win the final 21-10, 21-17 in just 35 minutes.
Ruthvika’s journey to the title was not easy. She had a series of upset wins on her way to the title. She first beat 10th seed Ira Sharma in the second round, which was followed by a 21-12, 23-21 win over top seed Aakarshi Kashyap.
In the quarterfinal, 15th seed Sai Uttejitha Rao Chukka retired against her while in the semi-final and then Ruthvika defeated 16th seed Samiya Imad Farooqui in three tight games.
Meanwhile, in men’s singles, Siddharth continued his fine run beat 14th seed K. Jagadeesh 23-21, 21-15 in a closely fought final.
Shikha Gautam and Ashwini Bhat bagged the women’s doubles after the top seeds notched up a 21-12, 21-17 win over Sahithi Bandi and Nila V.
Bhat also went on to win the mixed doubles title with Krishna Prasad. The sixth seeds blew away the seventh-seeded pair of Vighnesh Devlekar and Prajakta Sawant 21-15, 21-16 to win the title.
In men’s doubles, fourth seeds Devlekar and Deep Rambhiya got a walkover in the final from second seeds Krishna Prasad Garaga and Shlok Ramchandran.
For breaking news and live news updates, like us on Facebook or follow us on Twitter and Instagram. Read more on Sports Latest News on India.com.
Story Timeline
- 17 Nov 2019 Ruthvika, Siddharth Clinch Senior Ranking Badminton Titles...
- 16 Nov 2019 Hong Kong Open: Kidambi Srikanth Loses to Home Favourtie Lee Cheuk Yiu in Semis...
- 14 Nov 2019 Hong Kong Open: World Champion PV Sindhu, Parupalli Kashyap Crash Out in Second Round...
- 13 Nov 2019 I Continue To Coach As I Don't See The Succession Plan Come By So Easily: Pullela Gopichand...
Comments - Join the Discussion


The following Sailors have been assigned multiple watches this month: {{watch.Person.FriendlyName}}
Input conflict: {{warning.Key.PersonAssigned.FriendlyName}} was assigned the watch shift {{warning.Key.WatchShift.Title}} on {{warning.Key.WatchShift.Range.Start | date: "short"}}, but they
have an input from {{warning.Value[0].Range.Start | date: "short"}} to {{warning.Value[0].Range.End | date: "short"}} for {{warning.Value[0].InputReason.Value}}.


Files CCore/inc/lang/LangDataMap.h CCore/src/lang/LangDataMap.cpp
Subfolders CCore/inc/lang CCore/src/lang
Lang::DataMap is a class to load lang data from a ddl file, produced by the utility CondLangLR1.
class Lang::DataMap : NoCopy
{
....
public:
explicit DataMap(StrLen file_name);
DataMap(StrLen file_name,PrintBase &eout);
~DataMap();
const TypeDef::Lang & getLang() const { return lang; }
void sanity();
// generator support
void atoms(FuncArgType<ulen,StrLen> func) const; // func(1-based atom index,StrLen name)
class ArgList
{
....
public:
....
void operator () (FuncArgType<bool,StrLen> func) const; // func(bool is_atom,StrLen name)
};
class RuleList
{
....
public:
....
void operator () (FuncArgType<StrLen,ArgList> func) const; // func(StrLen rule_name,ArgList arg_list)
};
void synts(FuncArgType<StrLen,RuleList> func) const; // func(StrLen name,RuleList rule_list)
void rules(FuncArgType<ulen,StrLen,StrLen,ulen> func) const; // func(1-based rule index,StrLen synt_name,StrLen rule_name,1-based element index)
class ActionList
{
....
public:
....
void operator () (FuncArgType<ulen,ulen> func) const; // func(1-based atom index OR 0,1-based rule index OR 0)
};
void finals(FuncArgType<ulen,ActionList> func) const; // func(0-based final index,ActionList action_list)
class TransList
{
....
public:
....
bool operator + () const { return transitions.len; }
bool operator ! () const { return !transitions.len; }
void operator () (FuncArgType<ulen,ulen> func) const // func(1-based element index,0-based state index)
};
ulen getStatesCount() const;
void states(FuncArgType<ulen,ulen,TransList> func) const; // func(0-based state index,0-based final index,TransList trans_list)
};
Constructor loads data from the given file. An exception is thrown in case of error and message is printed into console (or another printer device if given).
Once the object is constructed you may acccess the lang data.
getLang() returns a reference to the data node.
sanity() performes a sanity check on the data. If the data are inconsistent an exception is thrown.
Other methods iterate (in ascending order) over various data tables and feed provided functors with data.
atoms() iterates over the lang atoms, the first argument is the 1-based atom index, the second is the atom name.
synts() iterates over the lang synts, the first argument is the synt name, the second is the synt rule list.
RuleList::operator () iterates over the list, the first argument is the rule name, the second is the rule argument list.
ArgList::operator () iterates over the list, the first argument is the atom flag (equals true iff the argument is an atom), the second is the atom/synt name.
rules() iterates over the rule list, the first argument is the 1-based rule index, the second is the resulting synt name, the third is the rule name, the last is the resulting 1-based element index.
finals() iterates over the final list, the first argument is the 0-based final index, the second is the action list.
ActionList::operator () iterates over the list, the first argument is the 1-based atom index OR 0, the second is the 1-based rule index OR 0.
getStatesCount() returns the number of the LR1 parser states.
states() iterates over the LR1 parser states, the first argument is the 0-based state index, the second is the 0-based final index, the third is the transition list.
TransList::operator + is true iff the list is not empty.
TransList::operator ! is true iff the list is empty.
TransList::operator () iterates over the list, the first argument is the 1-based element index, the second is the 0-based state index.


RPS is a peer to peer iOS game. Designed to get friends in touch by playing the famous hand game .
Free Download. No Sign Up Required


R50m Powerball Plus winner claims winnings
A lucky Powerball Plus winner has come forward and claimed his R50m winnings.
The winner's identity has not been revealed.
According to Timeslive, the man spent R45 on the winning ticket. He played at SuperSpar Parkrand on Van Wyk Louw Drive in Boksburg.
The man was at the store to buy bread on Monday, when he decided to take his chances using the quick pick method.
News24 earlier reported that a Johannesburg father of two, who won R6m in a Lotto Jackpot in October, has no plans to quit his job.
The winner has only told his wife and child about his winnings.
The man won R6 483 828.80 after he bought his Lotto ticket via the National Lottery Mobile App for R100.
Recently, national lottery operator Ithuba announced that more than R2.5bn had been won this year across all its games - a record since the company took over lottery operations in 2015.
Ithuba corporate relations executive Khensani Mabuza said: "We congratulate all the winners who have come forward to claim their winnings. As Ithuba, we set out to change lives of ordinary South Africans, since taking over national lottery operations and this momentous payout is testament that we are positively contributing to the betterment of South Africans."
The biggest winner ever to be paid out in the history of the lottery games was a Cape Town man who won a R232m Powerball jackpot after 24 rollovers.
Other significant jackpots came from Powerball and Powerball Plus games, with R141m won on August 23 and a R70m payout on September 3.
Since its launch in March, the Daily Lotto has paid out R224 665 218.15. Sportstake 8 has paid R1 744 210.20 and Sportstake 13 has paid R89 103 342.20 in winnings.
- Compiled by Ntwaagae Seleka


This tool provides an estimate of mental speed based on sleep amounts, time of day, and caffeine consumed.
The needle on the gauge points to predicted mental speed at the time and date shown. Use the slide bar below the gauge to scroll forward by 2 days or backward by 2 days and see how mental speed varies.
To see how different sleep amounts or caffeine affects mental speed, click the button below the gauge to input your personal sleep schedule or caffeine intake.


Bayesian T test demo
Contents
Paired test
Data from http://en.wikipedia.org/wiki/Student's_t-test
z = [ 30.02, 29.99, 30.11, 29.97, 30.01, 29.99]; y = [ 29.89, 29.93, 29.72, 29.98, 30.02, 29.98]; [BF01, probH0] = bayesTtestOneSample(y-z)
BF01 = 1.0358 probH0 = 0.5088
Compare to web program (slightly different prior)
http://pcl.missouri.edu/sites/default/bf/one-sample.php
Unpaired (pooled) test
Data from Gonen et al 2005 sec 4
xbar = 5;
ybar = -0.2727;
Nx = 10;
Ny = 11;
sx = 8.7433;
sy = 5.9007;
%[BF01, probH0] = bayesTtestTwoSample(x,y)
[BF01, probH0] = bayesTtestTwoSample([],[],xbar,ybar,Nx,Ny,sx,sy)
BF01 = 0.8379 probH0 = 0.4559


I am Mr.Alex Daniel,the Accountant General.I personally discovered an account of Phillip Carter with a total sum of $75,000,000.00 [Seventy Five Million United State Dollars The owner of this account is a foreigner by name "Mr.Phillip Carter" who died along with his son Andrew and two of his friends on 2nd May 2007. in a plane crash in Wansford,Cambridgeshire. For more infomation,you can log on http://soccernet.espn.go.com/news/story?id=426866&cc=5739 Mr.Philip Carter vice president of Chelsea and his son,flying back from the Champions League match at Liverpool,were killed when their helicopter crashed less than mile from home. I am now seeking for a reliable and honest person who will stand as his next of kin to receive this money.if it remains dormant for a period of [5] months without any claims.In this regard, I earnestly need your full cooperation in transferring this dormant fund out of our bank to avoid confiscating this fund.First,I will transfer $5,000,000.00 to any valid foreign account you will nominate,upon a successful transfer without any disappointment from your side; I will then fly to meet you in your home destination for sharing,thereafter we jointly transfer the remaining balance of $70,000,000.00 for magnitude investments. If you are willing to cooperate in this project.PRIVATE E-MAIL<EMAIL_ADDRESS>Yours truly, Alex Daniel. _________________________________________________________________ The Live Earth concert on the 7th July 2007, with more than 150 top musicians http://liveearthsos.msn.com/Hub.aspx?mkt=en-za


Class
MarkovModelGives a suitable representation of a Marcov Chain.
Gives a suitable representation of a Marcov Chain.
| Defined in | <seqan/statistics.h> |
|---|---|
| Signature |
template <typename TAlphabet[, typename TFloat[, typename TSpec]]>
class MarkovModel;
|
Template Parameters
TAlphabet |
The type of the underlying alphabet. |
|---|---|
TFloat |
The type for storing counts, default is double. |
TSpec |
Tag for specialization. |
Member Function Overview
-
void MarkovModel::build(stringSet);
Compute the transition matrix from a training set. -
TFloat MarkovModel::emittedProbability(s);, TFloat MarkovModel::emittedProbability(ss);
Computes the probability that a string or a set of strings is emitted by the MarkovModel. -
MarkovModel::MarkovModel(order);
Constructor -
void MarkovModel::read(file);
Load an instance of MarkovModel from a file. -
void MarkovModel(transition[, stationaryDistribution]);
Set transition matrix. -
void MarkovModel::write(file);
Stores an instance of a markovModel in a file.
Member Variable Overview
-
unsigned MarkovModel::order
The order of the MarkovModel. -
TVector MarkovModel::stationaryDistribution
The vector of characgter distribution (String of TFloat). -
TMatrix MarkovModel::transition
The transition matirx.
Detailed Description
Examples
Build a MarkovModel from Background
#include <iostream>
#include <fstream>
#include <seqan/index.h>
#include <seqan/statistics.h>
#include <seqan/seq_io.h>
using namespace seqan;
int main()
{
// Build path to background FASTA file.
CharString bgPath = getAbsolutePath("/demos/statistics/background.fa");
// Read the background from a file into X.
StringSet<DnaString> X;
SeqFileIn seqFile;
if (!open(seqFile, toCString(bgPath)))
{
std::cerr << "ERROR: Could not open " << bgPath << "\n";
return 1;
}
StringSet<CharString> ids; // will be ignored
readRecords(ids, X, seqFile);
// Create MarkovModel of order 3 from the background.
MarkovModel<Dna> mm(3);
buildMarkovModel(mm, X);
// Build set of words that we want to compute the zscore of.
StringSet<DnaString> W;
appendValue(W, "CCCAAAGC");
appendValue(W, "CCCAAAGTAAATT");
// Compute and print zscore.
std::cout << "zscore: " << zscore(W, X, mm, AhoCorasick()) << "\n";
// //TODO his path has to be set explicitely when calling the demo
// FILE *fd = fopen("projects/library/demos/zscore_human_mm.3","r");
// read(fd, mm);
// fclose(fd);
//std::cout << zscore(W, X, mm, WuManber()) << std::endl;
return 0;
}
The following example shows how to build a MarkovModel over a Dna alphabet from a set of background sequence. After build the model, we compute the zscore.
zscore: 11.8323
Load a MarkovModel from File
We can also load the MarkovModel from a file (previously saved using write). Since we do not have the background word set here but only the model, we compute the variance of a word using the function calculateVariance from the alignment_free module.
#include <iostream>
#include <fstream>
#include <seqan/index.h>
#include <seqan/alignment_free.h>
#include <seqan/statistics.h>
#include <seqan/seq_io.h>
using namespace seqan;
int main()
{
// Build path to serialized MarkovModel.
CharString mmPath = getAbsolutePath("/demos/statistics/zscore_example_mm.3");
// Open the file.
FILE * mmFile = fopen(toCString(mmPath), "rb");
if (!mmFile)
{
std::cerr << "ERROR: Could not open " << mmPath << "\n";
return 1;
}
// Create MarkovModel of order 3 and load it from the file.
MarkovModel<Dna> mm(3);
read(mmFile, mm);
fclose(mmFile); // close file again
// Build set of words that we want to compute the zscore of.
DnaString word = "CCCAAAGC";
// Compute variance.
double variance = 0;
int n = 10000; // assumed text length
calculateVariance(variance, word, mm, n);
std::cout << "variance: " << variance << "\n";
return 0;
}
variance: 0.267919
Member Functions Detail
void MarkovModel::build(stringSet);
Compute the transition matrix from a training set.
Parameters
stringSet
|
The StringSet to build the model for. |
|---|
The character statitionary distribution and the auxiliary information that give raise to an instance of a Markov Model are also computed.
Data Races
If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.
TFloat MarkovModel::emittedProbability(s);
TFloat MarkovModel::emittedProbability(ss);
Computes the probability that a string or a set of strings is emitted by the MarkovModel.
Parameters
s
|
The String to compute the emission probability for. |
|---|---|
ss
|
The StringSet to compute the emission probability for. |
Returns
TFloat |
The emission probability, TFloat is the TFloat from the MarkovModel. |
|---|
Data Races
If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.
MarkovModel::MarkovModel(order);
Constructor
Parameters
order
|
The order of the model (unsigned). |
|---|
Data Races
If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.
void MarkovModel::read(file);
Load an instance of MarkovModel from a file.
Parameters
file
|
The file to read the model from (type FILE *). |
|---|
Data Races
If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.
void MarkovModel(transition[, stationaryDistribution]);
Set transition matrix.
Parameters
transition
|
The transition matrix. |
|---|---|
stationaryDistribution
|
The vector of character distributions. |
Given e transition matrix, sets it as transition matrix of the MarkovModel and computes (if it is not available) the vector of character distributions and the auxiliary information.
Data Races
If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.
void MarkovModel::write(file);
Stores an instance of a markovModel in a file.
Parameters
file
|
The file to write the model to (type FILE *). |
|---|
Data Races
If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.
Member Variables Detail
unsigned MarkovModel::order
The order of the MarkovModel.
TVector MarkovModel::stationaryDistribution
The vector of characgter distribution (String of TFloat).
TMatrix MarkovModel::transition
The transition matirx.


Terrified Jacqueline Jossa forced to face next trial and chooses Myles to join
Jacqueline Jossa looked visibly shaken as she found out she would be completing her next Bushtucker trial tomorrow
by Irishmirror.ieJacqueline Jossa looked terrified in tonight's I'm a Celebrity... Get Me Out Of Here!
She found out the horrifying news that she would be completing tomorrow's Bushtucker Trial, Snake Hotel.
Her eyes went wide before she laughed nervously.
Her camp mates immediately rushed to comfort her as she threw her head in her hands and exclaimed "No! On my own!?"
Rallying around her, her campmates rubbed her back and assured her she would be fine.
Myles Stephenson hugged her as she complained she was especially gutted to be doing the task alone.
But this isn't the case.
Extra Camp revealed that Jacqueline was given a choice of campmate to do the task with her, and she chose Myles.
The pair will hunt for stars tomorrow night in a snake-infested hotel room in order to win meals for their campmates.
The night saw some tension in the famously friendly camp.
After achieving eight stars in their Bushtucker Trial, new campmates Cliff Parisi and Andy Whyment became Outlaws and were sent to the Jungle Jailhouse.
The main camp had the opportunity to be "good, bad or downright ugly" - and either keep all the food themselves, or choose to feed the outlaws with their share of food.
The twist with the second option was that two campmates would have to join the outlaws in the Jailhouse - but tempers flared over a difference in opinion.
Andrew Maxwell and James Haskell both agreed they were happy to go to the jailhouse, while Kate Garraway and Ian Wright also said they would sacrifice themselves.
Former footballer Ian suggested they should draw straws, so the group picked out named water bottles to decide who would go.
However, Jacqueline said it was "scary" and admitted she did not want to leave the main camp.
Kate asked if she would rather not go, while Ian said she didn't have to, but Jacqueline confessed: "Yeah but it’s not very heroic."
Comedian Andrew Maxwell did not see the funny side and insisted everyone should be in the hat.
He said: "I think it has to be everyone in, I don’t think it’s fair to count yourself out."
Rugby star James said Jacqueline should not be forced to go, but Andrew argued: "It’s an ordeal that has to be shared."


subclassing
Component
to create a new xeogl component type
making the new component fire a change event whenever its color property is updated


For a long time I’v been interested in running game-specific/entity-specific code in coroutines. Something like the following.
void some_game_object_behavior( entity ent, ... )
{
pnt3 points[] = {
{1,1,1},
{2,2,2},
{3,3,3},
{4,4,4}
};
int pos = 0;
while(entity_alive(ent))
{
// move the entity to a position and yield coroutine while movement is ongoing.
move_to(ent, points[pos % ARRAY_LENGTH(points)]);
pos++;
for(int i = 0; i < 4; ++i)
{
shoot_bullet(ent);
wait_sec(ent, 2); // do nothing for 2 seconds and yield the coroutine for that duration.
}
}
}
The above example is slightly simplified but I hope that it get the point across, that I want to be able to suspend code-execution at specific points and wait for certain actions to complete. Writing one-off game-code in this fashion might be a good way to work, especially when adding wait_for_any() and wait_for_all() etc.
So when I finally decided to take a stab at trying that out I started out by looking at how to implement the actual coroutines. There are a couple of libraries out there that I looked at for coroutines in c/c++ such as:
Both libdill and libmill feel too ‘opinionated’ on how they want you to structure your code ( not that weird since the both sets out to re-implement go:s goroutines in c ) and also feels ‘heavier’ than what I need. libaco however sparked my interest, it looked quite lean and not too opinionated, i.e. it looks really nice! But there is a big BUT, no windows support yet =/ I do most of my development on Linux but throwing Windows support out of the “window” (badumtish) is not something I want to do. According to the issue-tracker it is in “the pipe” but it is not supported as of writing this.
This lead me to fire of a question on twitter about alternatives and where @RandyPGaul pointed out something that I had looked at before but totally forgot about, coroutines/protothreads based on “duff’s device”.
Since this technique is already well documented on the interwebs I’ll just link to the original article here and wait until you have read it ( if you haven’t already ).
Read it yet? Good!
Here are a few other links to libs that implement these kind of coroutines.
What I like about this solution is that it is “just code” so it should in theory work on any platform without platform-specific code. It should also work with emscripten ( that I shall get running any day now!!! ;) ).
There are however things that I am missing from these otherwise fine libraries. A major one is based in how I plan to use them. I plan to have all my “behaviors” run one coroutine and have some kind of simple “scheduler” run them. Something simple as having all “active” coroutines in a list, remove them from the list when waiting for something, and update them in a loop. However doing that with the above libs would require me keeping track of what functions are associated with each coroutine state.
Also local variables/state is not handled by the above libs and would need to be handled by passing in some kind of state-struct, that would need to be different for each “behavior” and also be tracked by the above mentioned system.
2 of the 3 libs also fails to handle calling another coroutine-function from within a coroutine and by that having the sub-call control the state of the top-level coroutine. For example if a sub-call does a yield or wait the entire call-hierarchy should do the same (cute_coroutine.h solves this for a fixed depth of sub-calls).
So what do you do when you have an interesting itch to scratch? You scratch it of course :)
Solving the issues!
As any decent NIH-addict I decided to try myself and see what I could do and came to the conclusion that all the above issues can be solved by adding a small stack to each coroutine, i.e. almost do what the compiler does!
Introducing my boringly named coroutine lib/header, coro.
As mentioned above the only real difference between coro
and the above mentioned libs are that each coroutine
in coro MAY have a stack associated with it where the system itself can push data and reset when a coroutine completes.
Warning for you C-all-the-way people, there be some usage of C++ in this piece of code! But I guess it wouldn’t be that hard to C:ify the lib if there is demand for it!
The library does nothing particularly fancy at its core, the simplest coroutine would be implemented and updated like this.
void my_coro( coro* co, void*, void* )
{
// all coroutines need a matching co_begin/co_end-pair
co_begin(co);
// ... do stuff ...
// ... yield execution of coroutine, i.e. introduce a yield-point in the
// function where to continue execution on the next update ...
co_yield(co);
co_end(co);
}
void run_it()
{
// ... create and initialize our coroutine ...
coro co;
co_init(&co, nullptr, 0, my_coro);
// ... resume until completed ...
while(!co_completed(&co))
co_resume(&co);
}
But now to the meat of this post, how will adding a stack solve the above mentioned issues?
General coroutine update
Well, this isn’t solved by the stack, this is just solved by introducing a struct for the coroutines and storing a function-ptr in it :) Now we have that out of the way, carry on.
Local variables
Lets get to the stack-part and start with local variables. When we have a memory-area to store data in the problem isn’t really to store the data, it is how to make it nice to use.
As all the above mentioned libs, the same goes for coro, you can’t just make a local variable and expect it to work
void some_game_object_behavior( coro* co, void*, void* )
{
int my_counter = 0;
co_begin(co);
printf("whoo %d\n", ++my_counter);
co_yield(co);
printf("whoo %d\n", ++my_counter);
co_yield(co);
printf("whoo %d\n", ++my_counter);
co_yield(co);
co_end(co);
}
One might expect for this to print:
whoo 1
whoo 2
whoo 3
But it will print
whoo 1
whoo 1
whoo 1
Why? If you read the article coroutines in c ( you did read it right? ) then you see the problem. The coroutines build on calling the function over and over until it exits at the end. On each call it will initialize a local variable to 0, jump to the last position in the function, increment and print.
Thats not good now, is it? “Didn’t you mention solving this with the stack” you might think and that is correct.
coro
has a pair of functions (actually a macros) called co_locals_begin()
/co_locals_end()
that is used like this
void some_game_object_behavior( coro* co, void*, void* )
{
co_locals_begin(co);
int my_counter = 0; // could be any amount of variables here!
co_locals_end(co);
co_begin(co);
printf("whoo %d\n", ++locals.my_counter);
co_yield(co);
printf("whoo %d\n", ++locals.my_counter);
co_yield(co);
printf("whoo %d\n", ++locals.my_counter);
co_yield(co);
co_end(co);
}
These macros will declare a local struct and instantiate a reference to one of these called locals
, and guess where
that reference is pointing, into the stack! This variable will only be allocated from the stack when entering the
function for the first time, in the following calls it will just be fetched from the stack.
What this means is that we will have a struct that will be the same between all calls to our coroutine, that is not exposed to the calling code and take the burden of keeping track of this away from the caller.
It might be interesting to have a look at how the macro work as well, if we just expand it and look at what is generated.
void some_game_object_behavior( coro* co, void*, void* )
{
struct _co_locals
{
int my_counter = 0;
};
if(co->call_locals == nullptr)
{
co->call_locals = _co_stack_alloc( co,
sizeof(_co_locals),
alignof(_co_locals));
new (co->call_locals) _co_locals;
}
_co_locals& CORO_LOCALS_NAME = *((_co_locals*)co->call_locals);
co_begin(co);
// ... function ...
co_end(co);
}
As you can see it just declare a local struct and put everything between co_locals_begin()
/co_locals_end()
into it. Then,
if it is the first call, allocate data from the stack at the correct size/alignment. By placing the values in a struct we
can put all of this in one declare call + we get size/alignment of the entire block for free from the compiler.
Also, since c++ now supports ‘inline’ initialization ( I guess there is a fancier name for it ) of member-variables we can
just write out or variables, set initial values and use placement new
to initialize the values.
Note to the C++:ers out there, currently no destructor is run on the locals but I guess that could be implemented in co_end() if needed.
sub-calls
With local variables out of the way, how about calling another coroutine function from the first one? Well, just to state the obvious calling an ordinary function is just doing the call if someone was wondering. However say that you want to call a function that can, by itself, yield execution?
void some_game_object_sub_behaviors1( coro* co, void*, void* )
{
// ... do stuff ...
wait_for_timer(); // how this is implemented is up to the user ;)
// ... do other stuff ...
}
void some_game_object_sub_behaviors2( coro* co, void*, void* )
{
// ... do other cool stuff ...
wait_for_timer(); // how this is implemented is up to the user ;)
// ... DAMN THIS IS SOME COOL STUFF GOING ON HERE ...
}
void some_game_object_behavior( coro* co, void*, void* )
{
co_begin(co);
// ... function ...
if(rand() % 1)
{
// some_game_object_sub_behaviors1()?
}
else
{
// some_game_object_sub_behaviors2()?
}
co_end(co);
}
Lucky for us we have the stack and co_call()
! co_call() will allocate a coro
-struct on the coroutine-stack and execute
that just as any other coroutine. However it has some differences from co_init()+co_resume(). First of all, if it returns
on the first call the caller will not yield, it will just continue. If it do yield it will be resumed by co_begin() of the
caller until it completes and then the caller will continue at the yield-point introduced by co_call().
The resume of the sub-call could also have been done in the top-level co_resume() call but I decided to do it from the
caller just to preserve the callstack for debugging.
When the sub-call completes the stack will be reset to the point where co_call()
allocated its coro
-struct.
The above code will then be
void some_game_object_behavior( coro* co, void*, void* )
{
co_begin(co);
// ... function ...
if(rand() % 1)
co_call(co, some_game_object_sub_behaviors1);
else
co_call(co, some_game_object_sub_behaviors2);
co_end(co);
}
call-arguments
So how about argument to coroutines? You guessed it, lets just pass them on the stack! Both co_init()
and co_call()
has
versions that accepts a pointer to an argument + size/alignment. Example
void some_game_object_move_on_path( coro* co, void*, int* path_index )
{
move_me_on_path(*path_index); // maybe this will yield until movement is complete!
}
void some_game_object_behavior( coro* co, void*, void* )
{
int path_to_take; // need to be declared before co_begin(), see below =/
co_begin(co);
// ... function ...
path_to_take = rand() % 5;
co_call((co_func)some_game_object_move_on_path, &path_to_take, sizeof(int), alignof(int));
co_end(co);
}
The above will allocate space for the int and copy it onto the stack, and run some_game_object_move_on_path
. The last argument
to a co_func
will be its arguments, or nullptr
if not used.
An alert reader might have noticed that the argument is copied onto the stack and that is true… and its copied by memcpy
so
keep the arguments simple. I guess you could add lots of c++ magic to move types and yada yada but I haven’t needed that. IHMO
keeping types memcpy
-able usually keeps code simpler and easier to work with!
Note: there is also a version of co_call() and co_init() that deduce sizeof() and alignof() from arg.
Again, no destructor will be run for the argument! Lastly note the cast to (co_func)! I guess that this is not everyones cup of tea but personally I’d rather take the cast there than in the function itself but I guess that is a matter of taste.
Running out of stack!
So what happens when/if we run out of stack, for example allocating locals, args or doing a co_call()
? coro will handle that
gracefully and yield the coroutine at a point before the point of allocation.
When this happen co_resume()
will return as usual and the state can be checked by co_stack_overflowed()
and that can then be
handled by the user.
The simplest might just be to ASSERT() but there is also co_stack_replace()
if you feel fancy and want to grow the stack.
An example of how this might work
void run_me()
{
uint8_t original_stack[128];
coro co;
co_init(&co, original_stack, sizeof(original_stack), some_func);
while(!co_completed(&co))
{
co_resume(&co);
if(co_stack_overflowed(&co))
{
void* old = co_stack_replace(&co, malloc(co.stack_size * 2), co.stack_size * 2);
if(old != original_stack)
free(old);
}
}
if(co.stack != original_stack)
free(co.stack);
}
a note on ‘waiting’
I mentioned above that I would like to be able to do things such as wait_for( timeout, move_to )
. That is however something
that I have mostly left out of coro
. Why you ask? Well, I can’t really know how the user structures their code, how do they
want to update the coroutines etc.
If I would have supported something like that the lib would have become bigger and more ‘opinionated’, maybe it would have
needed an update and a manager of some kind etc. That would have brought the lib from being a simple building-block to something
more “framework:y” and that is not my intent. Maybe someday I’ll do something like that but then it will be built upon coro
not
built into it.
There is however one small helper for building this kind of code, and that is co_wait()
. co_wait() is basically a co_yield()
that also sets a flag on the coroutine. This flag is also propagated through the currently running coroutine-callstack so that the
user can do co_waiting(&co)
at the top-level and see if it is waiting for something. This flag will be cleared on the next
call to co_resume()
.
I think this little addition will be enough to build your own system on top of it if needed.
Conclusion
First of all I need to say that I’m curious to see if it really works when I actually start to use it ;) I.e. my next task is to actually use this for something productive ( nope haven’t done that yet! ). IMHO it feels promising but we’ll see.
Secondly let’s take a look at some pros/cons of this approach.
Pro: No platform specific code
This is IMHO a big win for a smaller team ( in this case me ). No need to support low-level asm-code to switch stacks and save registers. No worries about “what happens if we start porting to a new platform, can we do the same thing there?”.
Pro: Not much code
Also it is quite small ( at the time of writing 280 lines of code + 345 lines of comments ) and that is always a good thing for maintenance and “ease of use”.
Con: Easy to mess up locals
It is easy to mess up your local variables as it is second nature for every one of us to just declare a variable and expect it
to keep its value :)
My guess however is that you learn quickly and hopefully co_locals_begin()/co_locals_end()
make it a bit easier.
Con: Macro-heavy
Personally I’m not that afraid of macros but I know some are. Also in this case they require you to follow quite a few rules and if you break them you end up with quite hard to understand errors. Again I think this is something that you learn but the more of you on your team the more people that have to learn and the fudge up a few times.
An macro-related error that can be quite hard to understand if you are new to the code is this
void some_game_object_behavior( coro* co, void*, void* )
{
co_begin(co);
// ... function ...
int path_to_take = rand() % 5;
printf("%d\n", path_to_take);
co_yeald(co);
co_end(co);
}
This code looks perfectly valid but generates this on my currently installed gcc.
test/test_coro.cpp: In function ‘void some_game_object_behavior(coro*, void*, void*)’: test/test_coro.cpp:43:16: error: jump to case label [-fpermissive] co_yield(co); ^ test/test_coro.cpp:40:9: note: crosses initialization of ‘int path_to_take’ int path_to_take = rand() % 5;
Also stepping through the co_***-macros while debugging is far from pleasant, hopefully that is my problem and not my users :)
Con: no type-safety for arguments
Currently there is no real type-safety between args passed to co_call()/co_init() and the actual function used as a coroutine callback. I would like to have that but I’m not really sure that it is doable? Any ideas for solutions would be appreciated ( easy on the meta-programming please ) !
Final note
I think this turned out nicely and hope that its something that might be useful for some of you. On a bigger team with more resources, would I use this? Maybe? I think a full-scale stack-register switch might be a better solution but that has its own caveats ( TLS-variables for example ).
Any thoughts or suggestions? I would love to hear about it! Please hit me up on twitter or post in the coro issue-tracker! And remember, there will be bugs, there always is!
Check it out https://github.com/wc-duck/coro!


--- subject: "Independent Legal Assessors Proposal" --- This email originated from outside our organisation Please review and get back to me make further arrangement. Download Independent Legal Assessors Proposal Healthcare Please let me know if you have any concerns. Thanks, Regards John Smith
This email originated from outside our organisation
Please review and get back to me make further arrangement.
Download Independent Legal Assessors Proposal Healthcare
Please let me know if you have any concerns.
Thanks,
Regards
John Smith


Student in court for robbery
by Caleb Kuleke/ Sylvia Sika Afealetey, GNA
Ho, Nov. 13, GNA - Karl Komla Agbenorxevi, aka Prosper, 27, a student, has appeared before a Ho Circuit Court for robbery, unlawful entry and causing unlawful damage.
He pleaded not guilty to the charges and has been granted bail to reappear on December 18, 2019.
Prosecuting, Police Inspector Agnes Ahiable told the court presided over by Madam Priscilla Dikro-Ofori that the complainant is a nurse at Kpalime-Duga and resides at the Nurses’ Quarters in the same town whilst the accused is a native of Dzolo-Gborgame and a student of University of Ghana.
She said the accused's accomplice who is currently on remand owns a taxi, which the accused sometimes engages for his rounds within and outside the Ho Municipality.
The prosecution said on September 30, 2018 at about 0447 hours, the accused broke into the room of the complainant through his window while the complainant and his fiancée were sleeping.
Inspector Ahiable said the accused and armed with pistol then begun to ransacking the room and in the process woke complainant up who saw the accused pointing the pistol at him.

The Prosecution said the complainant pleaded for mercy and gave the accused GH¢1,000.00.
The prosecution said the accused who was not satisfied with the amount then decided to pick the complainant’s Samsung galaxy S7 Edge phone with an identification number SM-G935F *359948/07/406679/3*, valued at GH¢1,800.00, one black Hitachi Flat screen TV valued at GH¢1,500.00 and one Toshiba laptop valued GH¢1,800.00.
She said the complainant after the robbery lodged a complaint at Kpalime-Duga Police Station.
The prosecution said the accused then sold the Samsung galaxy S7 Edge Phone to his friend one Selorm Sakpo, who also sold it to one Akaho Dickson in Ho at a price of GH¢600.00.
Inspector Ahiable said help from a Samsung Company located Akaho led to the arrest of Sakpo.
The prosecution said on November 6, 2019 the accused was arrested and during interrogation, he admitted having sold the phone to Sakpo for GH¢650.00 but claimed he bought it in a shop at Madina in Accra for GH¢900.00.
She said after investigations the accused was charged with the offences.
GNA


Henry rocks the runway for Hermes
by sl278Henry was seen in a welcome but unexpected place recently!
The multi-talented musician was seen strutting his stuff for a Hermes runway show in Seoul. Henry was seen walking confidently in a trendy geometric patterned sweater and gray dress pants.
Check out a video of Henry's walk below!


 You will be able to change their background color, add gradients, shadows, etc.
At the time of writing these docs, there are subclasses for UITableViewCell
, UINavigationBar
and UITabBar
, and several custom cells.
Here are some examples of what you can achieve:
_table.png)
_table.png)
Documentation
Full documentation can be found here: http://vicpenap.github.com/PrettyKit
Using it
First:
- Copy all files under the
PrettyKit
folder. #import "PrettyKit.h"
where you need it.
Then, just change all your references to UI classes to Pretty classes, and you’re done.
You’ll find further information on how to use the classes in the docs: http://vicpenap.github.com/PrettyKit
Customization
All Pretty objects' properties have default values, but you can freely change them.
Pretty Cell
Grouped tables
You can change the cell’s appearance as follows:
- cell’s shadow (border will be disabled when the shadow is enabled).
- cell’s background color or gradient.
- cell’s border color (border will be disabled when the shadow is enabled).
- cell’s corner radius.
- cell’s separator.
- cell’s selection gradient.
Plain tables
You can change the cell’s appearance as follows:
- cell’s background color or gradient.
- cell’s separator.
- cell’s selection gradient.
Pretty Navigation Bar
You can change the navigation bar appearance as follows:
- shadow opacity
- gradient start color
- gradient end color
- top line volor
- bottom line color
- corner radius
Pretty Tab Bar
You can change the tab bar appearance as follows:
- gradient start color
- gradient end color
- separator line volor
Performance
Everything is drawn using Core Graphics, so you can expect a nice performance. Particular attention has been paid to non opaque areas, trying to reduce them as much as possible.
](https://github.com/vicpenap/PrettyKit/raw/master/Screenshots/blended_layers.png))
Current status
This framework is currently under active development. It is compatible with iOS 4.0 or higher.
F.A.Q.
Q. How can I use PrettyNavigationBar?
There are two possibilities:
Interface Builder
If you’re building your interface with Interface Builder, select the navigationBar, go to the Identity inspector and change the class to PrettyNavigationBar
.
- Programmatically
If you’re creating the NavigationController programmatically, create a subclass of UINavigationController
, override initWithRootViewController
(or the constructors you want), and add this line:
[self setValue:[[[PrettyNavigationBar alloc] init] autorelease] forKeyPath:@"navigationBar"];
Take into account that this approach is a bit hackish, so it might be a reason for Apple to reject your app. That shouldn’t happen, though.
Also take a look at this stack overflow thread, where other approaches are shown.
Q. I’m stuck with this error: [UINavigationBar setTopLineColor:]: unrecognized selector sent to instance 0x6c5dd50
- Make sure the navigation bar is an instance of PrettyNavigationBar. Take a look at the question above.
Q. Is there a way to use the same PrettyNavigationBar customization in the entire app?
- There is, indeed. You can either create a subclass or a category on PrettyNavigationBar, and override the properties you want to change.
For example, if you want to have a red navigationBar, you can create a RedNavigationBar
subclass of PrettyNavigationBar
, and override the properties topLineColor
, gradientStartColor
, gradientEndColor
, bottomLineColor
and tintColor
. Then, wherever you want to use the navigation bar, add an #import "RedNavigationBar.h"
at the top of the code.
Contribution
Please, please contribute with this project! Fork it, improve it and make me a pull request.
Changelog
- 2012/08/01: v0.2.0
- Bug fixing (memory issues, cell drawing, naming colision with new Xcode (DP3))
- New UITableView category to add a shortcut to drop the top and bottom shadow in plain tables
- PrettyNavigationBar can now have rounded corners
- New widget PrettyToolbar (replacing UIToolbar)
- 2012/04/12: Initial release (v0.1.0)


I'm a computer science undergraduate student at UC Berkeley pursuing a career in software engineering. I've been coding since I was in high school and ever since I've been mesmerized by how commands typed onto an IDE have so much impact on our lives. I enjoy making my ideas tangible through personal projects where I can explore CS and pick up new skills along the way. I'm currently seeking technology internships. As hobbies, I also enjoy running and learning new vegetarian recipes. The purpose of this website is to allow me to showcase projects and give more insight on my CS experiences. Please feel free to contact me through email.


Main Page
Surviving Grad School
FAQ
Resources
Chad Meiners
Title:
PhD Student
Advisor:
Eric Torng
Lab:
SENS
Email Address:
meinersc at cse msu edu
Website:
http://www.cse.msu.edu/~meinersc/
Birthday:
1 May 1978
Chad R Meiners's Homepage


work dashboard (BETA!)
{% include "./work_nav.html" %}
{% extends 'layout.html' %} {% block title %}LaunchLab New Project{% endblock %} {% block head %} {% parent %} {% endblock %} {% block content %}
{% include "./work_nav.html" %}
Hours Today: 0.5
Hours This woork: 2.2
Hours This Month: 6
Hours Yesterday: 0.5
Hours Last woork: 2.2
Hours Last Month: 6
Amount Outstanding: R0.00 (0 invoices)
Amount Invoiced This Month: R0.00 (0 invoices)
Payments Received Last Month: R0.00
Payments Received This Year: R0.00


Sample App with Simple-Spotify
{% if name %}
Hello ! {{ name }}
Log out
Your Top Artists ({{ term }})
{% for artist in artists %}
{{ artist.name }}
{% endfor %}
Your Top Tracks (Last 6 months)
{% for track in tracks %}
{{ track.name }}
{{ track.artists[0].name }}
{% endfor %}
{% else %}
Sign In
{% endif %}


Success! The registration has been updated
Error! An error occurred creating the registration
Your Stripe account does not require beneficial owner information
Your Stripe account does not require company director information
Company representatives must be executives
Either representative, director or owner must be selected
Error! Invalid or missing percent ownership (0 if none)
Error! Invalid or missing relationship title


Welcome to the simple game of fizzbuzz, made even easier through the wonders of automation. Just click the button to the right and see the results of playing FizzBuzz for the numbers 1-100 displayed below.
Welcome to the simple game of fizzbuzz, made even easier through the wonders of automation. Just click the button to the right and see the results of playing FizzBuzz for the numbers 1-100 displayed below.


§501-73 Removing clouds on title. The court may remove clouds on titles and may find and decree in whom the title or any interest, legal or equitable, in land is vested, whether in the applicant or in any other person. [L 1909, c 11, §5; RL 1925, pt of §3228; RL 1935, pt of §5037; RL 1945, pt of §12637; RL 1955, pt of §342-38; HRS §501-73]
Case Notes
Dower, power of widow to convey. 21 H. 431.
Court may decree title to be in beneficiary of trust when trustee's sole duty was to convey. 26 H. 809, 816.
Applicant has burden of establishing its title. 50 H. 507, 444 P.2d 909.
Cited: 20 H. 355, 357; 37 H. 74, 95, aff'd 158 F.2d 122.


{% load staticfiles %}
Aaho - Online Truck Booking
{% csrf_token %}
Welcome to AAHO
Log in
©2016 All Rights Reserved.Trans IQ Technologies Pvt Ltd


Analysis Situs is an open source software licensed under the 3-clause BSD license (its text is reproduced below).
It practically means that you may use Analysis Situs and its parts in any applications including commercial ones.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the
names of all contributors may be used to endorse or promote products
derived from this software without specific prior written permission.


The abstract operation EvaluateStaticBlock takes arguments _receiver_ (an Object) and _blockRecord_ (a ClassStaticBlockDefinition Record). It performs the following steps when called:
1. Assert: Type(_receiver_) is Object.
1. Assert: _blockRecord_ is a ClassStaticBlockDefinition Record.
1. Perform ? Call(_blockRecord_.[[BodyFunction]], _receiver_).


Posted on February 13, 2020 by Mauris Winata
Various interations of the carriage were designed. The first design can be seen below:
In order to test the motors, a controller is required. For this purpose, an Arduino is utilised. The Arduino sends signals to an ESC which then controls the BLDC motor. As the motor operates on 24V, a 24V AC/DC converter is used. The motor is soldered to the ESC which is soldered to the power source. Sanjay can be seen assisting in the soldering.
After soldering, the motor can be tested:
The gimbal motor controller will be dependent on accelerometer readings. As such, in this test set-up, a Bosch BNO055 is connected to the Arduino. The motor speed and direction can then be controlled by tilting the breadboard at various angles.


Angular Directives are special pre-built instructions
that typically render HTML code or provide additional functionality
There are three types of directives:
Custom Directives using the decorator @Directive. - This is added to a TypeScript class. Furthermore, The @Component decorator is actually a special form of the @Directive decorator. In practice, you’ll use @Directive when creating your own custom directives.
Structural Directives - This will add/remove/or update the contents of the DOM. It basically changes the webpage’s layout. *ngFor and *ngIf which we’ll explain in a moment are common examples of structural directives. The following is a quick example of their usage. Again, we’ll dive deeper into their usage in a moment.
Attribute Directives - The final form is an attribute directive. An attribute directive will change the look and feel or behavior of an element. Examples of attribute directives are ngModel, ngClass, and ngStyle. We cover ngModel in a separate video when we explain two-way data-binding. Here, you’ll see usage of ngClass.
Structural Directive example *ngFor List of things that Genesis likes:
{{thing}}
Display every employee in my list of employees,
and have different properties based on their role


-
art carved palladium rings
Diablo 3 Dupe Hack [FREE DOWNLOAD] Duplicate and Farm Rare ...
Jul 4, 2012 . Diablo 3 Dupe Hack [FREE DOWNLOAD] Duplicate and Farm Rare Items . Diablo 2 How to download a Maphack (480 x 360). By felixraute .
http://www.dailymotion.com/video/xrz2az_diablo-3-dupe-hack-free-download-duplicate-and-farm-rare-items_videogames
-
furniture moving pads for sale
How to Hack Characters in Diablo 2 | eHow.com
Diablo II Sector is a good resource for hacking characters, and offers a number of free downloads so you can edit your character to your liking.
http://www.ehow.com/how_6491037_hack-characters-diablo-2.html
-
water falls in georgia
Hacked Items - Diablo 2 Event - Diablo 2 Cheats, Diablo II Hacks ...
Diablo 2 Download. 1.12a Hacks/Cheats/Bots · FREE CD Keys · Bots · Hacks . own skill tree and they messed it all up.. id take duped hacked items anyday .
http://newd2event.net/index.php?id=screenshots/hacked-bugged_items/index
-
flowers above ear in hawaii means
Diablo 2 LOD - Dupe hack, Working in version 1.13d - YouTube
Sep 11, 2010 . Diablo 2 LOD - Dupe hack, Working in version 1.13d . Don't be fooled by other sites and on ebay selling dupe methods,mine is free.You don't .
http://www.youtube.com/watch?v=Wgw7KH3xGvw
-
old pictures of cherokee indians
Diablo 2 [Archive] - OwnedCore - World of Warcraft Exploits, Hacks ...
[Archive] Diablo 2 exploits, guides, bot and programs, mods, character builds, . Need Dupe Method / Bugged Items method Offer ingame items ! . Diablo 2 Clones · i have 10 free diablo 2 keysets · [GUIDE] Level 1-80 In 2 Hours (OR LESS!) .
http://www.ownedcore.com/forums/archive/index.php/f-119.html
-
album and movie cover art
Duped Items - Diablo 2 Event - Diablo 2 Cheats, Diablo II Hacks ...
1.12a Hacks/Cheats/Bots · FREE CD Keys . Hey Imoth here, i am releaseing my diablo 2 dupe program. i am leaveing diablo for world of warcraft and i feel i .
http://newd2event.net/index.php?id=screenshots/duped_items/index
-
roland xp-50 noise problem
Diablo Mods, Clones and Bots
Free anni,Soj,Mara etc..! lowest prices and 24/7 instant delivery ! In: . Diablo 2 - Hacks, Bots, Cheats, Utilities, Exploits, Dupe-Rollback Methods, Bugs, Editors, .
http://www.topgamesites.net/diablo
-
reon kadena video rapid share
Diablo 2 Methods (diablo ii dupe, rollback, glitch, bug etc.)
Diablo 2 Methods (diablo ii dupe, rollback, glitch, bug etc.) . Diablo 2 Download. 1.12a Hacks/Cheats/Bots · FREE CD Keys · Bots · Hacks · Utilities · Diablo II .
http://newd2event.net/index.php?id=methods
-
septic system drainfield design
Diablo Hacks, Trainers, Clans, Editors
Free anni,Soj,Mara etc..! lowest prices and 24/7 instant delivery ! . D2Dupes. com - Working Diablo II 2 Dupe, Bots, Cheats, Glitches, Hacks, Maphack, Editors, .
http://www.gamesitestop100.com/diablo
-
how design an election posters
DOWNLOAD NEW 2011 DUPE - NEW!!! Diablo 2 Release Dupe ...
Jan 19, 2011 . Diablo 2 Release Dupe Hack 2010 WORKING!!! [ ....mpg . Don't be fooled by other sites and on ebay selling dupe methods,mine is free.
http://www.youtube.com/watch?v=Y-SW1Z5XT1Y
-
oak forest fest 2009
Cube buffer dupe - Diablo 2 Event - Diablo 2 Cheats, Diablo II Hacks ...
Diablo 2 Download. 1.12a Hacks/Cheats/Bots · FREE CD Keys · Bots · Hacks · Utilities . Diablo 2 Fun Early April Joke - Cube Buffer Dupe (1.11b) by Snarg .
http://newd2event.net/index.php?id=fun/Cube_buffer_dupe
-
honolulu greek fest details
Diablo II D2HackIt
Diablo 2 D2HackIt - d2hackit v1.11, d2hackit v1.10, d2hackit v2.0 beta 0920 ( open source) . FREE CD Keys . Diablo 2 hacking (packets, d2hackit etc.) . Working dupe released works with current patch 1.12 id hurry though before they patch .
http://newd2event.net/index.php?id=d2hackit/d2hackit
-
chi meditation correspondence course
Diablo 2 Cheats
MMORPG and Free Online RPG Game Directory. Click Here! Home · Game Directory . Diablo 2 Cheats. Here's how to dupe an item without any hacking: . Although not documented, you may run Diablo 2 in a Window instead of full- screen.
http://www.gameogre.com/diablo2cheats.htm
-
how to add my own ringtones
Diablo 2 Hacks
Diablo 2 Hacks - Our Diablo 2 Hacks forum covers different hacks, bots and tools. You'll be able to find latest maphacks and other useful third party tools within. Feel free. . [Hack] ISO Private Dupe - 1.13c Working - Willing to Pay $$$ .
http://www.d3scene.com/forum/diablo-2-hacks/
-
judo gyms in san antonio
Does item duping still work in Diablo 2 with the latest patches
. Open B-net, as duping on closed B-net is effectively cheating/hacking, and is not looked well upon. . There is no reason to dupe in Diablo 2 on multiplayer LAN or open battlenet . It's 100% free, no registration required.
http://gaming.stackexchange.com/questions/28321/does-item-duping-still-work-in-diablo-2-with-the-latest-patches-for-single-play
-
35 errors in an inconvenient truth
Soj - Diablo 2 Event - Diablo 2 Cheats, Diablo II Hacks, Bots, Diablo ...
Diablo 2, 1.11b, Diablo 2 Items, Diablo II Cheats, Hacks, Bots, Rune Words, Exploits, Trainers, Editors, Shops, Markets, Dupe Methods, Maphack, Pickit, . does any one have a free enigma i got 2 free enigmas today im making a collection.
http://newd2event.net/index.php?id=fun/soj
-
trascend 4gb micro sd
[RedVex] Project: Diablo 2 LoD Dupe Program for 1.12 Closed Battlenet
Oh btw a dupe program does the following: It duplicates Virtual items within an online game Diablo 2 LoD. Feel free to ask any questions.
http://www.ownedcore.com/forums/general/programming/143096-redvex-project-diablo-2-lod-dupe-program-1-12-closed-battlenet.html
-
bead supplies in arizona
Diablo Mods, Clones and Bots
Free anni,Soj,Mara etc..! lowest prices and 24/7 instant delivery ! In: . Diablo 2 - Hacks, Bots, Cheats, Utilities, Exploits, Dupe-Rollback Methods, Bugs, Editors, .
http://www.topgamesites.net/diablo
-
pigs with swine flu
Diablo 2 hacks 2011 january ! undetectable ! - Video Dailymotion
Jan 20, 2011 . XP HackFARMWILLE HACKS how to get free farmwille working hacks for free new farmwille . Diablo 2 Working 1.13c Dupe Download here .
http://www.dailymotion.com/video/xgndb3_diablo-2-hacks-2011-january-undetectable_videogames
-
shanghai real estate market
NEW DIABLO 2 DUPE! GHEEDS DUPE! LEAKED BY ... - YouTube
Mar 9, 2007 . THEY DONT DESERVE THIS PRIVATE DUPE ANYMORE.... . FREE Diablo 2 Account! NO JOKEby . Diablo 2 1.12 Auto Accept Hack Works Great Undetectable 100% Workingby Diablo2HackReleaser 63,114 views; 4:11 .
http://www.youtube.com/watch?v=z8elddAuagw


Man faces impaired driving charge after crash that injured passenger
OSHAWA, Ont. — Police east of Toronto say they've laid an impaired driving charge after a crash that sent a man to hospital with a serious head injury. Durham Regional Police say the single-vehicle crash took place yesterday afternoon in Oshawa, Ont.
by Canadian PressOSHAWA, Ont. — Police east of Toronto say they've laid an impaired driving charge after a crash that sent a man to hospital with a serious head injury.
Durham Regional Police say the single-vehicle crash took place yesterday afternoon in Oshawa, Ont.

A 57-year-old man travelling in the truck as a passenger was taken to hospital for treatment
Police say they've arrested the 34-year-old man driving the truck.
The Whitby, Ont. man is facing one count of impaired operation causing bodily harm.
This story by the Canadian Press was first published Nov. 23, 2019.
The Canadian Press


---
layout: post
title: Cycling through your history
tags: []
status: publish
type: post
published: true
meta: {}
---
I quite often find myself cycling through the history of commands I have typed in the console window and there can be quite a few commands stored there. John, part time philosopher and all round good bloke and extraordinary at all things computing related, stopped me from monkeying around on the keyboard and showed me the following command that stopped me from having kittens when it came to finding that all important and elusive command:
[code]history | grep "pattern"[/code]
For example while re-building qmail I was looking for the last make statement:
[code]host:/tmp/qmail/maildrop-1.6.3# history | grep "make"
511 make man && make setup check
514 make man && make setup check
517 make cert
520 make && make setup check
528 make && make install
536 make && make install-strip
541 make && make install-strip && make install-man
547 history | grep "make"[/code]
Then you can do !541 ("!" is pronounced bang) and this will execute: "make && make install-strip && make install-man". Sometimes working with *nix systems is just so handy and it's another feather in my cap!
Oh and John see I managed to get kittens, monkeys and hats into a post!


imap-multi.c
Download imap-multi.c raw
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2017, Daniel Stenberg<EMAIL_ADDRESS>et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/
/* <DESC>
* IMAP example using the multi interface
* </DESC>
*/
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
/* This is a simple example showing how to fetch mail using libcurl's IMAP
* capabilities. It builds on the imap-fetch.c example to demonstrate how to
* use libcurl's multi interface.
*
* Note that this example requires libcurl 7.30.0 or above.
*/
#define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000
static struct timeval tvnow(void)
{
struct timeval now;
/* time() returns the value of time in seconds since the epoch */
now.tv_sec = (long)time(NULL);
now.tv_usec = 0;
return now;
}
static long tvdiff(struct timeval newer, struct timeval older)
{
return (newer.tv_sec - older.tv_sec) * 1000 +
(newer.tv_usec - older.tv_usec) / 1000;
}
int main(void)
{
CURL *curl;
CURLM *mcurl;
int still_running = 1;
struct timeval mp_start;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(!curl)
return 1;
mcurl = curl_multi_init();
if(!mcurl)
return 2;
/* Set username and password */
curl_easy_setopt(curl, CURLOPT_USERNAME, "user");
curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret");
/* This will fetch message 1 from the user's inbox */
curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/INBOX/;UID=1");
/* Tell the multi stack about our easy handle */
curl_multi_add_handle(mcurl, curl);
/* Record the start time which we can use later */
mp_start = tvnow();
/* We start some action by calling perform right away */
curl_multi_perform(mcurl, &still_running);
while(still_running) {
struct timeval timeout;
fd_set fdread;
fd_set fdwrite;
fd_set fdexcep;
int maxfd = -1;
int rc;
CURLMcode mc; /* curl_multi_fdset() return code */
long curl_timeo = -1;
/* Initialise the file descriptors */
FD_ZERO(&fdread);
FD_ZERO(&fdwrite);
FD_ZERO(&fdexcep);
/* Set a suitable timeout to play around with */
timeout.tv_sec = 1;
timeout.tv_usec = 0;
curl_multi_timeout(mcurl, &curl_timeo);
if(curl_timeo >= 0) {
timeout.tv_sec = curl_timeo / 1000;
if(timeout.tv_sec > 1)
timeout.tv_sec = 1;
else
timeout.tv_usec = (curl_timeo % 1000) * 1000;
}
/* get file descriptors from the transfers */
mc = curl_multi_fdset(mcurl, &fdread, &fdwrite, &fdexcep, &maxfd);
if(mc != CURLM_OK) {
fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc);
break;
}
/* On success the value of maxfd is guaranteed to be >= -1. We call
select(maxfd + 1, ...); specially in case of (maxfd == -1) there are
no fds ready yet so we call select(0, ...) --or Sleep() on Windows--
to sleep 100ms, which is the minimum suggested value in the
curl_multi_fdset() doc. */
if(maxfd == -1) {
#ifdef _WIN32
Sleep(100);
rc = 0;
#else
/* Portable sleep for platforms other than Windows. */
struct timeval wait = { 0, 100 * 1000 }; /* 100ms */
rc = select(0, NULL, NULL, NULL, &wait);
#endif
}
else {
/* Note that on some platforms 'timeout' may be modified by select().
If you need access to the original value save a copy beforehand. */
rc = select(maxfd + 1, &fdread, &fdwrite, &fdexcep, &timeout);
}
if(tvdiff(tvnow(), mp_start) > MULTI_PERFORM_HANG_TIMEOUT) {
fprintf(stderr,
"ABORTING: Since it seems that we would have run forever.\n");
break;
}
switch(rc) {
case -1: /* select error */
break;
case 0: /* timeout */
default: /* action */
curl_multi_perform(mcurl, &still_running);
break;
}
}
/* Always cleanup */
curl_multi_remove_handle(mcurl, curl);
curl_multi_cleanup(mcurl);
curl_easy_cleanup(curl);
curl_global_cleanup();
return 0;
}


This sample demonstrates how to use unobtrusive javascript to activate the Accordion. It makes use of the SpryDOMUtils.js file. The javascript for this accordion is here.


div(great-grandparent)
ul(grandparent)
li(directparent)
span
li(directparent)
span
div(great-grandparent)
p(directparent)
span
descendants는 하위의 요소들 중 direct하위요소만 선택 즉 child객체를 선택하는 것 children, find


Welcome to REMOTEBASEHQ, the disruptive social network!
Starting now in the U.S.A. and soon available for the World.
Mission
We want to create Social Network Brand Equity through Honesty.
Vision
We want the World to embrace REMOTEBASEHQ as the Universal measure to unlock potential for personal, professional and business growth.
Who are we?
REMOTEBASEHQ is a young, ambitious and creative Company founded in 2018 (remotebasehq Inc.).
Please check our webpage: www.remotebasehq.com
Or contact us directly<EMAIL_ADDRESS>With best regards.
The REMOTEBASEHQ Team


At a time when I was arguably quite happily settled and—as my parents would say—in for the night, I decided to go for a wander to try to spot the lunar eclipse. I dressed quickly, stepped out and locked the door behind me. The key-turn echoed in the sleepy close. Everyone else's lights were already off: Witney is a quiet town. I happen to live near the edge of it, though, because it's all edge, and so it didn't take me long to reach to one strip of the cobbled-together ring-road and head towards near-black countryside.
The streetlights gave out a malnourishing, yellow glow. It stuck to the mist as it rose reluctantly from the fields and the river, all of these camped out around the village in the valley nearby. There was no chance of seeing the sky clearly through that murk, so I carried on walking. The rain-damp grass had been brylcreemed to a slick finish by the same light, the light I had to escape; the tarmac of the path was the same colour as the grass, to within a fraction of a shade of living, earthy brown.
I reached the end of the paved road, and turned onto a muddy verge. Its bank led along the side of a narrow country road, both vanishing together in the distance as the unnatural light petered out, moonlight too weak to fill the gap. As I continued my eyes began to adjust, slightly. But eventually the walk became a trudge as dampness crept into my shoes, and the late hour, unsupported by alcohol or coffee, started to weigh heavy on my shoulders.
Finally I thought, far enough, and turned to look at the moon. Oh.
This wasn't some clean astronomical event. The face of the satellite was dirty with a red-black smut, covering all but a thin white chord towards the top, the north. Against the white stars, the wisps of pale-grey clouds, the moon was the chimney-sweep at the wedding. Either that or it had been in some sort of fight, and was now tatty, bloody, grubby and set at a rakish angle to the horizon. Away from the influence of the streetlights, the clarity of the view made nearby constellations look wide-eyed with consternation at this mud-coloured interloper. I put my arm out, blanking out the remaining glow from the town with my forearm and hand, and looked as though just watching was in itself a conversation.
Ten, fifteen minutes passed, and one or two stray cars trolled past me. I hoped that the drivers might follow my example and just look up.  Something told me I shouldn't look back up: it was unlucky, or maybe presumptuous, like the moon might now be changing from one set of clothes to the other, and I oughtn't to catch it in empyrean undress. Like all my best friends I'd see it again anyway, some other time.
On the way back home I passed by the tennis courts of the sports complex. With my eyes still towards the ground I spotted something by my feet, off-white in the sump-oil grass. I reached down and picked it up: a ball. Tentatively I sniffed at it from a distance, held between finger and thumb. I could only smell new rubber, school sports and wet vegetation.
It looked clean, pure and untouched, and was the palest thing I could see away from the stars. Like it had fallen straight out of the sky.
Thinking of what I had seen a few minutes earlier, I gingerly put this tiny globe in my pocket. After all, if night were to pass, and the moon could still not find its other, its virginal fraction, I would love to be the one to oblige.