User Authentication with Passport and Koa
Passport is a library that provides a simple authentication middleware for Node.js.
This tutorial looks at how to set up a local authentication strategy with Node, Koa, and koa-passport, where users can sign up and log in using a username and password. We’ll also use Postgres for storing user information and Redis for session management.
Last updated on July, 25 2018 to update a failing test.
Parts
This article is part of a 4-part Koa and Sinon series…
- Building a RESTful API with Koa and Postgres
- Stubbing HTTP Requests with Sinon
- User Authentication with Passport and Koa (this article)
- Stubbing Node Authentication Middleware with Sinon
Main NPM Dependencies
- Koa v2.3.0
- Mocha v3.5.0
- Chai v4.1.1
- Chai HTTP v3.0.0
- Knex v0.13.0
- pg v7.1.2
- koa-router v7.2.1
- koa-bodyparser v4.2.0
- koa-passport v4.0.1
- koa-session v5.5.1
- passport-local v1.0.0
- bcrypt.js v2.4.3
- koa-redis v3.1.1
Contents
- Objectives
- Project Setup
- User Model
- Passport Setup
- Passport Local Strategy
- Routes and Tests
- Password Hashing
- Redis Session Store
- Conclusion
Objectives
By the end of this tutorial, you will be able to…
- Discuss the overall client/server authentication workflow
- Add Passport and passport-local to a Koa app
- Configure bcrypt.js for salting and hashing passwords
- Practice test driven development
- Register and authenticate a user
- Utilize sessions to store user information via koa-session
- Explain why you may want to use an external session store to store session data
- Set up an external session store with Redis
- Render HTML pages via server-side templating
Project Setup
Start by cloning down the base Koa project:
$ git clone https://github.com/mjhea0/node-koa-api \
--branch v2 --single-branch
$ cd node-koa-api
Then, check out the v2 tag to the master branch and install the dependencies:
$ git checkout tags/v2 -b master
$ npm install
Take a quick look at the code along with the project structure:
├── knexfile.js
├── package.json
├── src
│ └── server
│ ├── db
│ │ ├── connection.js
│ │ ├── migrations
│ │ │ └──<PHONE_NUMBER>2841_movies.js
│ │ ├── queries
│ │ │ └── movies.js
│ │ └── seeds
│ │ └── movies_seed.js
│ ├── index.js
│ └── routes
│ ├── index.js
│ └── movies.js
└── test
├── routes.index.test.js
├── routes.movies.test.js
└── sample.test.js
This is just a basic RESTful API, with the following routes:
| URL | HTTP Verb | Action |
|---|---|---|
| /api/v1/movies | GET | Return ALL movies |
| /api/v1/movies/:id | GET | Return a SINGLE movie |
| /api/v1/movies | POST | Add a movie |
| /api/v1/movies/:id | PUT | Update a movie |
| /api/v1/movies/:id | DELETE | Delete a movie |
Want to learn how to build this project? Review the Building a RESTful API With Koa and Postgres blog post.
Download and install Postgres (if necessary), and then fire up the server on port 5432. Open psql, in the terminal, and create two new databases, one for development and the other for testing:
$ psql
# CREATE DATABASE koa_api;
CREATE DATABASE
# CREATE DATABASE koa_api_test;
CREATE DATABASE
# \q
Ensure the tests pass:
$ npm test
Server listening on port: 1337
routes : index
GET /
✓ should return json
routes : movies
GET /api/v1/movies
✓ should return all movies
GET /api/v1/movies/:id
✓ should respond with a single movie
✓ should throw an error if the movie does not exist
POST /api/v1/movies
✓ should return the movie that was added
✓ should throw an error if the payload is malformed
PUT /api/v1/movies
✓ should return the movie that was updated
✓ should throw an error if the movie does not exist
DELETE /api/v1/movies/:id
✓ should return the movie that was deleted
✓ should throw an error if the movie does not exist
Sample Test
✓ should pass
11 passing (624ms)
Apply the migrations, and seed the database:
$ knex migrate:latest --env development
$ knex seed:run --env development
Run the Koa server, via npm start
, and navigate to http://localhost:1337/api/v1/movies. You should see something similar to:
{
"status": "success",
"data": [
{
"id": 1,
"name": "The Land Before Time",
"genre": "Fantasy",
"rating": 7,
"explicit": false
},
{
"id": 2,
"name": "Jurassic Park",
"genre": "Science Fiction",
"rating": 9,
"explicit": true
},
{
"id": 3,
"name": "Ice Age: Dawn of the Dinosaurs",
"genre": "Action/Romance",
"rating": 5,
"explicit": false
}
]
}
User Model
Generate a new migration template for the user model:
$ knex migrate:make users
Then update the newly created file:
exports.up = (knex, Promise) => {
return knex.schema.createTable('users', (table) => {
table.increments();
table.string('username').unique().notNullable();
table.string('password').notNullable();
});
};
exports.down = (knex, Promise) => {
return knex.schema.dropTable('users');
};
Apply the migration against the development database:
$ knex migrate:latest --env development
Passport Setup
Install the koa-passport wrapper module:
$ npm install<EMAIL_ADDRESS>--save
Then, update src/server/index.js to add Passport to the app middleware along with koa-session, which is used for managing sessions:
const Koa = require('koa');
const bodyParser = require('koa-bodyparser');
const session = require('koa-session');
const passport = require('koa-passport');
const indexRoutes = require('./routes/index');
const movieRoutes = require('./routes/movies');
const app = new Koa();
const PORT = process.env.PORT || 1337;
// sessions
app.keys = ['super-secret-key'];
app.use(session(app));
// body parser
app.use(bodyParser());
// authentication
require('./auth');
app.use(passport.initialize());
app.use(passport.session());
// routes
app.use(indexRoutes.routes());
app.use(movieRoutes.routes());
// server
const server = app.listen(PORT, () => {
console.log(`Server listening on port: ${PORT}`);
});
module.exports = server;
In production, make sure to update the secret key,
app.keys
. For example, you can use Python to generate a secure key:$ python3 >> import os >> os.urandom(24) b'3\xa5\xfa\xc6\xfb\x0e\x1dA\x19-U\x15Y\x9e2]\x92/\x97\x8d\xecsJ\xb7'
Install koa-session:
$ npm install<EMAIL_ADDRESS>--save
Sessions are stored in a cookie by default on the client-side, unencrypted. We’ll stick with this for now, just to get things up and running, but we’ll refactor and add Redis before all is said and done.
Before moving on, let’s handle serializing and de-serializing the user information to the session. Create a new file called auth.js in “src/server”:
const passport = require('koa-passport');
const knex = require('./db/connection');
passport.serializeUser((user, done) => { done(null, user.id); });
passport.deserializeUser((id, done) => {
return knex('users').where({id}).first()
.then((user) => { done(null, user); })
.catch((err) => { done(err,null); });
});
Passport Local Strategy
Next, install the passport-local strategy, which is used for authenticating with a username and password:
$ npm install<EMAIL_ADDRESS>--save
Update auth.js like so:
const passport = require('koa-passport');
const LocalStrategy = require('passport-local').Strategy;
const knex = require('./db/connection');
const options = {};
passport.serializeUser((user, done) => { done(null, user.id); });
passport.deserializeUser((id, done) => {
return knex('users').where({id}).first()
.then((user) => { done(null, user); })
.catch((err) => { done(err,null); });
});
passport.use(new LocalStrategy(options, (username, password, done) => {
knex('users').where({ username }).first()
.then((user) => {
if (!user) return done(null, false);
if (password === user.password) {
return done(null, user);
} else {
return done(null, false);
}
})
.catch((err) => { return done(err); });
}));
Here, we check if the user exists and the password matches what’s in the database and then pass the results back to Passport via the callback:
- Does the username exist?
- No? then
false
is returned - Yes? Does the password match?
- No?
false
is returned - Yes? The user object is returned and then the
id
is serialized to the session
- No?
- No? then
You probably noticed that we are checking that the provided password is literally the same as the password pulled from the database, so we are storing the password in plain text. We’ll update this after we add the main routes.
Routes and Tests
Like the majority of my tutorials, we’ll write tests first. That said, we will only be testing the happy paths. It’s up to you to add tests for handling errors.
Routes:
| URL | HTTP Verb | Authenticated? | Result |
|---|---|---|---|
| /auth/register | GET | No | Render the register view |
| /auth/register | POST | No | Register a new user |
| /auth/login | GET | No | Render the login view |
| /auth/login | POST | No | Log a user in |
| /auth/status | GET | Yes | Render the status page |
| /auth/logout | GET | Yes | Log a user out |
Full Authentication flow:
- The end user provides a username and a password and the credentials are sent to the server-side
- The server-side Koa app then checks the credentials against the database
- If they are correct, the end user is redirected to
/auth/status
- If they are incorrect, the end user is redirected to
/auth/login
- If they are correct, the end user is redirected to
Create a new file called routes.auth.test.js in “test”:
process.env.NODE_ENV = 'test';
const chai = require('chai');
const should = chai.should();
const chaiHttp = require('chai-http');
chai.use(chaiHttp);
const server = require('../src/server/index');
const knex = require('../src/server/db/connection');
describe('routes : auth', () => {
beforeEach(() => {
return knex.migrate.rollback()
.then(() => { return knex.migrate.latest(); })
.then(() => { return knex.seed.run(); });
});
afterEach(() => {
return knex.migrate.rollback();
});
});
This is just a boilerplate for the tests.
Register - GET
This route serves up a view with an HTML form for users to register with.
Test
Start with a test:
describe('GET /auth/register', () => {
it('should render the register view', (done) => {
chai.request(server)
.get('/auth/register')
.end((err, res) => {
should.not.exist(err);
res.redirects.length.should.eql(0);
res.status.should.eql(200);
res.type.should.eql('text/html');
res.text.should.contain('
Register
');
res.text.should.contain(
'
<button type="submit">Register</button>
');
done();
});
});
});
Run the tests. You should see the following error:
Uncaught AssertionError: expected [Error: Not Found] to not exist
Now let’s write the code to get it to pass…
Code
First, add a new file to the “src/server/routes” folder called auth.js:
const Router = require('koa-router');
const passport = require('koa-passport');
const fs = require('fs');
const queries = require('../db/queries/users');
const router = new Router();
router.get('/auth/register', async (ctx) => {
ctx.type = 'html';
ctx.body = fs.createReadStream('./src/server/views/register.html');
});
module.exports = router;
Add another new file called users.js to “src/server/db/queries”. Leave the file empty for now. Create the “views” folder, and then add the register.html template:
<!DOCTYPE html>

<meta charset="utf-8">
<title>Register</title>

Register

<form action="/auth/register" method="post">

Username: <input type="text" name="username"/>

Password: <input type="password" name="password"/>

<button type="submit">Register</button>

</form>

Register the auth routes in src/server/index.js:
const Koa = require('koa');
const bodyParser = require('koa-bodyparser');
const session = require('koa-session');
const passport = require('koa-passport');
const indexRoutes = require('./routes/index');
const movieRoutes = require('./routes/movies');
const authRoutes = require('./routes/auth');
const app = new Koa();
const PORT = process.env.PORT || 1337;
// sessions
app.keys = ['super-secret-key'];
app.use(session(app));
// body parser
app.use(bodyParser());
// authentication
require('./auth');
app.use(passport.initialize());
app.use(passport.session());
// routes
app.use(indexRoutes.routes());
app.use(movieRoutes.routes());
app.use(authRoutes.routes());
// server
const server = app.listen(PORT, () => {
console.log(`Server listening on port: ${PORT}`);
});
module.exports = server;
Ensure the tests now pass:
$ npm test
Server listening on port: 1337
routes : auth
GET /auth/register
✓ should render the register view
routes : index
GET /
✓ should return json
routes : movies
GET /api/v1/movies
✓ should return all movies
GET /api/v1/movies/:id
✓ should respond with a single movie
✓ should throw an error if the movie does not exist
POST /api/v1/movies
✓ should return the movie that was added
✓ should throw an error if the payload is malformed
PUT /api/v1/movies
✓ should return the movie that was updated
✓ should throw an error if the movie does not exist
DELETE /api/v1/movies/:id
✓ should return the movie that was deleted
✓ should throw an error if the movie does not exist
Sample Test
✓ should pass
12 passing (868ms)
Register - POST
Test
Again, start with a test:
describe('POST /auth/register', () => {
it('should register a new user', (done) => {
chai.request(server)
.post('/auth/register')
.send({
username: 'michael',
password: 'herman'
})
.end((err, res) => {
should.not.exist(err);
res.redirects[0].should.contain('/auth/status');
done();
});
});
});
The test should fail with the following error, since the route does not exist:
Uncaught AssertionError: expected [Error: Not Found] to not exist
Code
Add the route handler:
router.post('/auth/register', async (ctx) => {
const user = await queries.addUser(ctx.request.body);
return passport.authenticate('local', (err, user, info, status) => {
if (user) {
ctx.login(user);
ctx.redirect('/auth/status');
} else {
ctx.status = 400;
ctx.body = { status: 'error' };
}
})(ctx);
});
Here, if the user is successfully added to the database, we call the login
method, from koa-passport, to trigger the creation of the session and then redirect the user to /auth/status
For the addUser()
helper, add the following code to src/server/db/queries/users.js:
const knex = require('../connection');
function addUser(user) {
return knex('users')
.insert({
username: user.username,
password: user.password
})
.returning('*');
}
module.exports = {
addUser,
};
Ensure the tests pass.
Status
Add the route handler:
router.get('/auth/status', async (ctx) => {
if (ctx.isAuthenticated()) {
ctx.type = 'html';
ctx.body = fs.createReadStream('./src/server/views/status.html');
} else {
ctx.redirect('/auth/login');
}
});
For this route, we’ll skip the tests since we’ll have to stub the isAuthenticated()
method and manually set a cookie.
Add the template:
<!DOCTYPE html>

<meta charset="utf-8">
<title>Status</title>

You are authenticated.

Logout?

To test, fire up the server via npm start
and navigate to http://localhost:1337/auth/status. Register a new user. You should be redirected to auth/status
and a cookie should be set:
Login - GET
For this route, we’ll serve up a view with an HTML form for users to log in with.
Test
describe('GET /auth/login', () => {
it('should render the login view', (done) => {
chai.request(server)
.get('/auth/login')
.end((err, res) => {
should.not.exist(err);
res.redirects.length.should.eql(0);
res.status.should.eql(200);
res.type.should.eql('text/html');
res.text.should.contain('
Login
');
res.text.should.contain(
'
<button type="submit">Log In</button>
');
done();
});
});
});
Code
Add the route handler:
router.get('/auth/login', async (ctx) => {
if (!ctx.isAuthenticated()) {
ctx.type = 'html';
ctx.body = fs.createReadStream('./src/server/views/login.html');
} else {
ctx.redirect('/auth/status');
}
});
Then, add the login.html template:
<!DOCTYPE html>

<meta charset="utf-8">
<title>Login</title>

Login

<form action="/auth/login" method="post">

Username: <input type="text" name="username"/>

Password: <input type="password" name="password"/>

<button type="submit">Log In</button>

</form>

The tests should now pass.
Login - POST
Test
describe('POST /auth/login', () => {
it('should login a user', (done) => {
chai.request(server)
.post('/auth/login')
.send({
username: 'jeremy',
password: 'johnson'
})
.end((err, res) => {
res.redirects[0].should.contain('/auth/status');
done();
});
});
});
Code
router.post('/auth/login', async (ctx) => {
return passport.authenticate('local', (err, user, info, status) => {
if (user) {
ctx.login(user);
ctx.redirect('/auth/status');
} else {
ctx.status = 400;
ctx.body = { status: 'error' };
}
})(ctx);
});
Let’s also create a new Knex seed file to add a test user to the database:
$ knex seed:make users
Add the following code to the newly created seed in “src/server/db/seeds”:
exports.seed = (knex, Promise) => {
return knex('users').del()
.then(() => {
return Promise.join(
knex('users').insert({
username: 'jeremy',
password: 'johnson'
})
);
});
};
The tests should now pass. Before moving on, try adding a few more tests to handle errors as well.
Logout
We won’t be writing any tests for this route either since we’ll have to stub portions of the auth workflow. So, just add the route handler:
router.get('/auth/logout', async (ctx) => {
if (ctx.isAuthenticated()) {
ctx.logout();
ctx.redirect('/auth/login');
} else {
ctx.body = { success: false };
ctx.throw(401);
}
});
Manually test by registering a new user. If all is well, you should be redirected to auth/status
and a cookie should be set. Then ensure that the cookie is removed after you log out.
Make sure all tests pass before moving on.
Password Hashing
Install bcrypt.js to handle the salting and hashing of passwords:
$ npm install<EMAIL_ADDRESS>--save
Start by adding a helper method called comparePassword
to src/server/auth.js:
function comparePass(userPassword, databasePassword) {
return bcrypt.compareSync(userPassword, databasePassword);
}
Add the import as well:
const bcrypt = require('bcryptjs');
This helper can now be used when we pull a user from the database and check that the passwords are equal:
passport.use(new LocalStrategy(options, (username, password, done) => {
knex('users').where({ username }).first()
.then((user) => {
if (!user) return done(null, false);
if (!comparePass(password, user.password)) {
return done(null, false);
} else {
return done(null, user);
}
})
.catch((err) => { return done(err); });
}));
Next, update the addUser
function in src/server/db/queries/users.js:
const bcrypt = require('bcryptjs');
const knex = require('../connection');
function addUser(user) {
const salt = bcrypt.genSaltSync();
const hash = bcrypt.hashSync(user.password, salt);
return knex('users')
.insert({
username: user.username,
password: hash,
})
.returning('*');
}
module.exports = {
addUser,
};
Do the same for the user seed in src/server/db/seeds/users.js:
const bcrypt = require('bcryptjs');
exports.seed = (knex, Promise) => {
const salt = bcrypt.genSaltSync();
const hash = bcrypt.hashSync('johnson', salt);
return knex('users').del()
.then(() => {
return Promise.join(
knex('users').insert({
username: 'jeremy',
password: hash,
})
);
});
};
Now, instead of adding a plain text password to the database, we salt and hash it first.
Drop and recreate the koa_api
database, apply the migrations, and then run the server and manually test everything out.
Finally, make sure the tests still pass:
$ npm test
Server listening on port: 1337
routes : auth
GET /auth/register
✓ should render the register view
POST /auth/register
✓ should register a new user (211ms)
GET /auth/login
✓ should render the login view
POST /auth/login
✓ should login a user (99ms)
routes : index
GET /
✓ should return json
routes : movies
GET /api/v1/movies
✓ should return all movies
GET /api/v1/movies/:id
✓ should respond with a single movie
✓ should throw an error if the movie does not exist
POST /api/v1/movies
✓ should return the movie that was added
✓ should throw an error if the payload is malformed
PUT /api/v1/movies
✓ should return the movie that was updated
✓ should throw an error if the movie does not exist
DELETE /api/v1/movies/:id
✓ should return the movie that was deleted
✓ should throw an error if the movie does not exist
Sample Test
✓ should pass
15 passing (3s)
Redis Session Store
It’s a good idea to move session data out of memory and into an external session store as you begin scaling your application.
For example, if you scale horizontally and start spinning up new instances of the same Node application to share the load, then users would need to log in to each instance separately if sessions are stored in memory. On the other hand, if sessions are stored in an external session store (like Redis), session data can be shared across all instances of the app. In the latter case, users would need to log in just once.
To utilize Redis as the session store, first install koa-redis:
$ npm install<EMAIL_ADDRESS>--save
Then, update the koa-session
middleware config in src/server/index.js:
app.use(session({
store: new RedisStore()
}, app));
Add the dependency:
const RedisStore = require('koa-redis');
Take note of the default options for koa-redis, making any necessary changes. Then, download and install Redis (if necessary) and spin up the server in a new terminal tab:
$ redis-server
Fire up the app and register a new user, taking note of the cookie:
Within another new terminal tab, open the Redis client and make sure that key can be found:
$ redis-cli
<IP_ADDRESS>:6379> keys 1nmcdC3apKbGVOk-VfbKjMR1dcgDUH1S
1) "1nmcdC3apKbGVOk-VfbKjMR1dcgDUH1S"
<IP_ADDRESS>:6379> exit
Run the tests one final time.
Conclusion
In this tutorial, we went through the process of adding authentication to a Koa app with Passport. Turn back to the objectives. Review each one. What did you learn?
The full code can be found in the v3 tag of the node-koa-api repository.
Check your understanding by adding additional test cases and error handlers, if you have not already done so. Add the missing tests to the /auth/status
and /auth/logout
routes by stubbing out the authentication functionality. Refer to the Stubbing HTTP Requests with Sinon blog post for help. Try adding social authentication too!
Please share your comments, questions, and/or tips in the comments below.


StepContext
Control flow instrument for the step_fn
from run_step_fn()
.
tf.compat.v1.train.SingularMonitoredSession.StepContext
Users of step_fn
may perform run()
calls without running hooks
by accessing the session
. A run()
call with hooks may be performed
using run_with_hooks()
. Computation flow can be interrupted using
request_stop()
.
__init__
__init__( session, run_with_hooks_fn )
Initializes the step_context
argument for a step_fn
invocation.
session
: An instance of tf.compat.v1.Session
.run_with_hooks_fn
: A function for running fetches and hooks.session
request_stop
request_stop()
Exit the training loop by causing should_stop()
to return True
.
Causes step_fn
to exit by raising an exception.
StopIteration
run_with_hooks
run_with_hooks( *args, **kwargs )
Same as MonitoredSession.run
. Accepts the same arguments.


| Number of Classes | Line Coverage | Mutation Coverage |
|---|---|---|
| 8 | 76% | 64% |
| Name | Line Coverage | Mutation Coverage |
|---|---|---|
| DefaultFileItemFactory.java | 100% |
100% |
| DiskFileUpload.java | 16% |
0% |
| FileUpload.java | 100% |
100% |
| FileUploadBase.java | 75% |
53% |
| FileUploadException.java | 33% |
11% |
| InvalidFileNameException.java | 100% |
100% |
| MultipartStream.java | 78% |
68% |
| ParameterParser.java | 95% |
89% |


Home
Interactive Organization Chart
Employee Profile
Name
Employee ID
Title
Work Location
Department
Gender
Male
Female
Other
Email
Phone number
Image


Student at University of Helsinki majoring in general linguistic and also keen interest in language technology. Minor in social studies specialising in social policy. On the side doing language studies mainly in German to prepare for future exchange semester in Germany. Through my studies at Helsinki University I have been able to combine many of my interest for future work prospects.
For now I am hoping to deepen my knowledge in laguage technology and maybe make use out of it in social studies.
Command line tools for linguists, fall 2019
Corpus linguistics and statistical methods, fall 2019
Semantics and pragmatics, spring 2019
Morphology and syntax, spring 2019
Introduction to language technology, fall 2018
GitHub for Command line tools for linguists course


{% extends "layout.html" %}
{% block content %}
{% include "nav.html" %}
Error: {{ error }}
{% endif %}
3% of the world’s entire biodiversity is found only in Madagascar 87% of Madagascar's rainforest have been lost in the last 100 years 11% of the original rainforests are all that currently remain. 12637 trees planted in restoration areas 3103 one-year-old seedlings growing 4536 wild-nursery trees ready for plantingWhy Madagascar?
Our Impact
Contact Us
Become A Member
Membership is your connection to rainforest restoration.
By becoming an member of Green Again, you can join our efforts to restore a self-sustaining rainforest ecosystems with the original species of floral and fauna.
Membership with Green Again provides you with a section of rainforest to adopt and covers the cost of the trees, materials, and labor needed to restore this section.


Select the apps you'd like preloaded with your docker image!
{% for d in data %}
{{d.image}}
{% endfor %}
Next
Your perfect dockerfile is a few steps away!
50% Complete


Inline Box: Error fit to parent
Warning some text is here.
Inline Box: Warning with verbose content and max lines (wrap to longest text)
Error some text is here Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Inline Box: Success with verbose content, max lines and line breaks (wrap to longest text)
Error some text is here
Lorem Ipsum is simply dummy text
of the printing and typesetting industry.
Lorem Ipsum has been the industry's
standard dummy text ever since the 1500s
When an unknown printer took a galley
of type and scrambled it to make a type.
specimen book.
Inline Box: Info with verbose content, max lines, line breaks and fit to parent
Error some text is here
Lorem Ipsum is simply dummy text
of the printing and typesetting industry.
Lorem Ipsum has been the industry's
standard dummy text ever since the 1500s
When an unknown printer took a galley
of type and scrambled it to make a type.
specimen book.


6. Property
This section containts information about atomic and molecular properties that can be calculated.
6.1. Population Analysis/Atomic Charges
Population analysis is the study of charge distribution in molecules, it requires the overlap integrals and the electron density, in addition to information about the number of basis functions centered on each atom. The charge on atom A may be computed as:
6.1.1. Mulliken Population Analyasis
where the summation is limited to only those basis functions centered on atom A.
from moha import *
mol,orbs = IOSystem.from_file('../data/water.xyz','sto-3g.nwchem')
ham = ChemicalHamiltonian.build(mol,orbs)
wfn = HFWaveFunction(10,7,{'alpha':5,'beta':5})
hf_solver = PlainSCFSolver(ham,wfn)
hf_results = hf_solver.kernel()
pa_m_results = PopulationAnalysisMulliken(mol,orbs,ham,wfn).kernel()
pa_l_results = PopulationAnalysisLowdin(mol,orbs,ham,wfn).kernel()
6.2. Multipole Moment
The calculation of one-electron properties requires density matrix and the relevant property integrals. The electronic contribution to the electric-miltipole moment may be computed using:
where L = k+l+m is the angular moment
In order to compute the total multipole moment, you must include the nuclear contribution, which requires the atomic numbers and Cartesian coordinates of the nuclei.
from moha import *
mol,orbs = IOSystem.from_file('../data/water.xyz','sto-3g.nwchem')
ham = ChemicalHamiltonian.build(mol,orbs)
wfn = HFWaveFunction(10,7,{'alpha':5,'beta':5})
hf_solver = PlainSCFSolver(ham,wfn)
hf_results = hf_solver.kernel()
mm_results = MultipoleMoment(mol,orbs,wfn).kernel([[1,0,0],[0,1,0],[0,0,1]])
6.3. Excitation energy
The fundamental idea behind CIS is the representation of the excited-state wave functions as linear combinations of singly excited determinants relative to the Hartree-Fock reference wave function, viz.
where m identifies the various excited states, and we will use i and j (a and b) to denote occupied (unoccupied) spin-orbitals. Inserting this into the Schrödinger equation and left-projecting onto a particular singly excited determinant gives
If we recognize that we have one of these equations for every combination of i and a spin-orbitals, then this equation may be viewed as a matrix eigenvalue problem:
from moha import *
mol,orbs = IOSystem.from_file('../data/water.xyz','sto-3g.nwchem')
ham = ChemicalHamiltonian.build(mol,orbs)
wfn = HFWaveFunction(10,7,{'alpha':5,'beta':5})
hf_solver = PlainSCFSolver(ham,wfn)
hf_results = hf_solver.kernel()
ee_cis_results = ExcitationEnergyCIS(ham,wfn).kernel()


{% extends "base.html" %} {% block content_title %}
smrtr is a free collaborative learning, quiz and study tool.
 Ideal for students, professionals or general-knowledge know-it-alls alike!
Log in below, or create a new account to get involved!
{% endblock %} {% block content_right %} {% endblock %}


Fred at the Jail
“Officers, here is your killer! The tedium of his dreary day to day life got to be too much for him. A job going nowhere, a loveless marriage and a couple of brats of questionable paternity. All of this fueled his growing jealousy towards the victim. In Alex he saw everything he wished he was and would never be; successful, attractive, free. It became too much for him to bear, he feigned drunkenness so he could sneak away and plot the dastardly deed. After everyone retired to bed for the night, he snuck back downstairs, removed the knife from the kitchen, and stabbed Alex to death in the dining room.”
“Dwaine! How could you think…., I would never….”
“And that so called alibi he gave is laughable, he and Wilma come on! She must be covering for him I don’t know why, but look at him and look at her, she’s way out of his league! Maybe, she helped him with the murder, maybe he has something on her and forced her to lie.”
“You bastard!” Fred lunges at me and has to be restrained by the officers.
“It’s best that you come down to the station with us sir, we have some questions for you. You too ma’am.” A dumbfounded Wilma just stares slack jawed as the cuffs are placed on her wrists and she is led into the backseat of the police car.


package graph
Type Members
-
class
Path extends AnyRef
Immutable World state element modelling Path with crossings traversed by the Vehicles
-
trait
PathGenerator extends AnyRef
World generator element trait
-
case class
PathState(iterNum: Int, crossings: Map[Char, Boolean]) extends Product with Serializable
World state element modelling Path wth crossings traversed by the Vehicles at a given simulation step
World state element modelling Path wth crossings traversed by the Vehicles at a given simulation step
- iterNum
- incremental number of the simulation step
- crossings
- state of the crossings in Path
-
trait
PathStateGenerator extends AnyRef
World state element trait


Please note that we do not re-issue credits for product purchased with store credit.
If you place an order that is paid for using both store credits and
cash, the system will calculate the percentage of the Marine Life order
that was purchased with cash and apply that percentage for any animals
that do not live during the 15 day guarantee. For instance, if a $100
Marine Life purchase is made with $90 cash and a $10 credit, you will be
entitled to 90% of the value of any livestock that does not stay alive
during the 15 day guarantee period in store credit. We apologize in
advance that we do not re-issue store credits.
Guarantee requests that do not have photos ( or we have not received the
deceased item in our facility) will be closed after 30 days.
Order Items
Item ID
Description
Unit Price
Purchased
Previously Reported
Available to Report
{% for item in alloiitems %}
{{item.itemid}}
{{item.itemname}}
${{item.unitprice|floatformat:"2"}}
{{item.numitems}}
{%for bbb in item.orderitemid|fetchrmaoitem %}
{{bbb.qty_return}}
{%endfor%}


×
Upload your own dataset
Dataset name
Dataset Upload
Number of Series:
{{numOfData}}
Number of Points in each serie:
{{numOfPoints}}
Similarity Search
Number of Results
Options
Show scatterplot
Consider Time-Range
Cluster Search
K-means Cluster Size
Sketchpad
Results
Representative patterns
Outliers


Attached is PIRA's latest "Electricity Daily Demand Forecast."
If you have any questions regarding the report's content, please contact
Morris Greenberg (email<EMAIL_ADDRESS>or Victoria Watkins (email:
vwatkins@pira.com), at<PHONE_NUMBER>.
Contact John Graziano regarding PIRA report distribution and address changes
at<PHONE_NUMBER>, email<EMAIL_ADDRESS>NOTE: Circulation of the "Electricity Daily Demand Forecast" outside a
Client's licensed distribution area is strictly prohibited. Clients that are
unsure of their licensed distribution or require an extension of their
current license should contact their PIRA sales representative, or email to
<EMAIL_ADDRESS>PIRA Energy Group
- ed060601.pdf
- ed060601.xls
***********
EDRM Enron Email Data Set has been produced in EML, PST and NSF format by ZL Technologies, Inc. This Data Set is licensed under a Creative Commons Attribution 3.0 United States License <http://creativecommons.org/licenses/by/3.0/us/> . To provide attribution, please cite to "ZL Technologies, Inc. (http://www.zlti.com)."
***********
California


Codable Routing Session
HTTP is a stateless connection protocol, that is the server can't distinguish one request from another. Sessions and cookies provide HTTP with state, they allow the server to know who is making a specific request and respond accordingly.
This guide uses Kitura-Session with Codable routing leveraging type-safe sessions. If you want to use sessions with raw routing, check out the Kitura Session with raw routing guide.
Step 1: Create your session routes
In this guide we are going to create two Kitura routes:
A GET route, where we retrieve the books from our session.
A POST route, where we store a book in our session.
We are using the Book model from the routing guide in our routes, however you could use any codable object.
To use Kitura-Session from a server, we need to add Kitura-Session to our dependencies.
If you don't have a server, follow our Create a server guide.
Once that is complete, open your Application.swift file in your default text editor (or Xcode if you prefer):
Open your Application.swift file:
open Sources/Application/Application.swift
Inside the postInit() function add:
initializeTypeSafeSessionRoutes(app: self)
Create a new file, called TypeSafeSessionRoutes.swift:
touch Sources/Application/Routes/TypeSafeSessionRoutes.swift
Open your TypeSafeSessionRoutes.swift file:
open Sources/Application/Routes/TypeSafeSessionRoutes.swift
Inside this file, add the framework for our routes code:
import KituraContracts
import KituraSession
func initializeTypeSafeSessionRoutes(app: App) {
app.router.post("/cart", handler: app.postSessionHandler)
app.router.get("/cart", handler: app.getSessionHandler)
}
extension App {
// Define handlers here
}
We will add our postSessionHandler and getSessionHandler later in this guide.
Step 2: Define your Session
To use sessions with Codable routes, we need to model the structure of what we will store in the session. We do this by defining a Swift type that conforms to the TypeSafeSession protocol.
If you don't already have one, create a Middlewares folder:
mkdir Sources/Application/Middlewares
Create a new file, called CheckoutSession.swift:
touch Sources/Application/Middlewares/CheckoutSession.swift
Open your CheckoutSession.swift file:
open Sources/Application/Middlewares/CheckoutSession.swift
We can use either a class or a struct for TypeSafeMiddleware here but we will use a Class.
Inside this file, define your CheckoutSession class:
import KituraSession
final class CheckoutSession: TypeSafeSession {
let sessionId: String // Requirement: every session must have an ID
var books: [Book] // User-defined type, where Book conforms to Codable
init(sessionId: String) { // Requirement: must be able to create a new (empty)
self.sessionId = sessionId // session containing just an ID. Assign a default or
books = [] // empty value for any non-optional properties.
}
}
// Defines the configuration of the user's type: how the cookie is constructed and how
// the session is persisted.
extension CheckoutSession {
static let sessionCookie: SessionCookie = SessionCookie(name: "MySession", secret: "Top Secret")
static var store: Store?
}
When using a class you need to declare it as final.
The minimum requirements for a type-safe session are:
sessionID: An identifier that is unique to the session
Initilizer: Used to create a new session from a sessionId
sessionCookie: Defines the name of the cookie and the secret data used to encrypt it
An optional store: Defines how sessions should be persisted
With our class, we have created a session that will store an array of books, via a cookie called "MySession" and using "Top Secret" as the password to encrypt that cookie. Since we didn't specify a store a default in memory store is used.
For an example of a persistent store for sessions see Kitura-Session-Redis
Step 3: Add session POST route
Inside the app extension in TypeSafeSessionRoutes.swift, we add our postSessionHandler:
func postSessionHandler(session: CheckoutSession, book: Book, completion: (Book?, RequestError?) -> Void) {
}
We have registered our TypeSafeSession on our handler by adding it to the signature.
When the handler is called the middleware is run and our session is created.
Within postSessionHandler, we can then interact with our session:
session.books.append(book)
session.save()
completion(book, nil)
What we're doing here is storing the posted Book into the session.
We use the append method as we know books is an Array as we defined it as an Array in the CheckoutSession class.
Then we need to save the session.
Now we can add a route for retrieving the data.
Step 4: Add session GET route
Below our postSessionHandler handler add:
func getSessionHandler(session: CheckoutSession, completion: ([Book]?, RequestError?) -> Void) -> Void {
completion(session.books, nil)
}
Add that's it! We've now enabled a Kitura Session on our server.
Your completed TypeSafeSessionRoutes.swift should now look as follows:
import KituraContracts
import KituraSession
func initializeTypeSafeSessionRoutes(app: App) {
app.router.post("/cart", handler: app.postSessionHandler)
app.router.get("/cart", handler: app.getSessionHandler)
}
extension App {
func postSessionHandler(session: CheckoutSession, book: Book, completion: (Book?, RequestError?) -> Void) {
session.books.append(book)
session.save()
completion(book, nil)
}
func getSessionHandler(session: CheckoutSession, completion: ([Book]?, RequestError?) -> Void) -> Void {
completion(session.books, nil)
}
}
Step 5: Test our Session
An easy way to test our our session is using Kitura OpenAPI. You can follow our Kitura OpenAPI Guide to learn how to set up OpenAPI and use the interface for testing.
Alternatively, we can test our routes by sending a request using curl, with cookies enabled.
Open Terminal and enter the following:
curl -X POST \
http://localhost:8080/cart \
-b cookies.txt -c cookies.txt \
-H 'content-type: application/json' \
-d '{
"id": 1,
"title": "War and Peace",
"price": 10.99,
"genre": "Historical drama"
}'
If our request was successful, our book will be returned to us:
{"id":1,"title":"War and Peace","price":10.99,"genre":"Historical drama"}
We will also have a cookie that curl has stored in the cookies.txt file.
To retrieve our book, we make another curl request to our server:
curl -X GET \
http://localhost:8080/cart \
-b cookies.txt -c cookies.txt
If the request is successful, it will return the book we just sent to the server.
[{"id":1,"title":"War and Peace","price":10.99,"genre":"Historical drama"}]
The cookie we sent with our request has identifed our session, so that our saved book can be returned.
Each user making requests to these routes will create their own basket of books.
We can demonstrate this by deleting our cookie:
rm cookies.txt
Followed by making a new GET request:
curl -X GET \
http://localhost:8080/cart \
-b cookies.txt -c cookies.txt
This represents a user without a session so we are returned an empty array:
[]
Next steps
Authentication: Learn about authentication and what Kitura provides.


- Clicking the SAVE button or leaving the page here will save grid state to localStorage.
- Use the control buttons to SAVE / RESTORE / RESET / DELETE / grid state or LEAVE the page.
- Select/Deselect checkboxes to control saving / restoring feature state.


| Opcode/Instruction | Op/En | 64/32-bit Mode | CPUID Feature Flag | Description |
| 0F,AE,/2 LDMXCSR m32 | M | V/V | SSE | Load MXCSR register from m32. |
| VEX.LZ.0F.WIG AE /2 VLDMXCSR m32 | M | V/V | AVX | Load MXCSR register from m32. |
| Op/En | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| M | ModRM:r/m (r) | NA | NA | NA |
Loads the source operand into the MXCSR control/status register. The source operand is a 32-bit memory location. See “MXCSR Control and Status Register” in Chapter 10, of the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 1, for a description of the MXCSR register and its contents.
The LDMXCSR instruction is typically used in conjunction with the (V)STMXCSR instruction, which stores the contents of the MXCSR register in memory.
The default MXCSR value at reset is 1F80H.
If a (V)LDMXCSR instruction clears a SIMD floating-point exception mask bit and sets the corresponding exception flag bit, a SIMD floating-point exception will not be immediately generated. The exception will be generated only upon the execution of the next instruction that meets both conditions below:
This instruction’s operation is the same in non-64-bit modes and 64-bit mode. If VLDMXCSR is encoded with VEX.L= 1, an attempt to execute the instruction encoded with VEX.L= 1 will cause an #UD exception.
Note: In VEX-encoded versions, VEX.vvvv is reserved and must be 1111b, otherwise instructions will #UD.
MXCSR ← m32;
_mm_setcsr(unsigned int i)
None.
See Exceptions Type 5; additionally
| #GP | For an attempt to set reserved bits in MXCSR. |
| #UD | If VEX.vvvv != 1111B. |


Home
Sessions
CV Clinic
Engineers Forum
The Criterion
You™
Flagship Day
Dining Etiquette and Grooming
Gallery
Are You Ready? 2012
Engineers Forum
Benchmark
Be Known
Flagship Day
Dining Etiquettes and Grooming
Are You Ready? 2013
CV Clinic
About Us
Partners
DIMO
Brandix
Mobitel
Rotaract Mora
Contact Us
Companies
My Profile


Convert your USD or EURO money into foreign currencies
Convert live your money to foreign currency based on today's exchange rates. Currency converter uses cross rates to deliver other currencies values, which means you can calculate the values of the EUR (Euro) and USD (United States Dollar) to any other currency. Currency codes are standardized by ISO 4217:2015 and represented by three-letter alphabetic code followed by the full name of the currency.
100 EUR
=
111.9800 USD
Euro
↔
US dollar
1 EUR = 1.1198 USD
1 USD = 0.8930 EUR
ECB Exchange rates: 2019-08-09 16:01:53
Save on international money transfers
When you send or receive an international transfer with your bank, you might lose money on a bad exchange rate and pay hidden fees as a result.

We recommend you use TransferWise, which is usually much cheaper. For example, 1000 EUR transfer to USD can cost you as little as 4 EUR with TransferWise, compared to 28 EUR with a bank.
Currency Exchange Cross Rates are the calculated values for two currencies neither of which is the domestic currency of the country for which the quote is obtained.
For example, in the United States a cross rate will be any rate between two currencies different from the U.S. Dollar.
EUR
USD
GBP
CHF
CAD
AUD
JPY
EUR
1
1.1198
0.9282
1.0897
1.4796
1.6452
118.5100
USD
0.8930
1
0.8289
0.9731
1.3213
1.4692
105.8314
GBP
1.0774
1.2064
1
1.1740
1.5941
1.7725
127.6772
CHF
0.9177
1.0276
0.8518
1
1.3578
1.5098
108.7547
CAD
0.6759
0.7568
0.6273
0.7365
1
1.1119
80.0960
AUD
0.6078
0.6806
0.5642
0.6624
0.8993
1
72.0338
JPY
0.0084
0.0094
0.0078
0.0092
0.0125
0.0139
1
This Currency Converter has updated rates once per day. Automate currency converter API with 150 currencies and live update to your own system.
* Using central bank data, which is updated daily between 2.15 p.m. and 3.00 p.m. CET


Add amazing apps to your website with just a few clicks: image slideshow, web forms, blog, online store, photo gallery, calendar, Google Maps, Paypal Checkout Button, YouTube videos, Google translate, Ebay store and social media share buttons (Facebook, Google +1, Twitter, Pinterest).
Make it easy for your visitors to remember your website with a personalized domain. You can further create a professional image for yourself with your own custom email address.
Keep track of your visitors and find out which part of your website they like to view.
By knowing your visitor trends and behavior, you can adjust your marketing strategy to make your website more effective.


regional_rt_pipeline.Rd
Runs a pipeline by region.
regional_rt_pipeline( cases = NULL, linelist = NULL, delay_defs = NULL, incubation_defs = NULL, target_folder = "results", merge_onsets = FALSE, case_limit = 40, onset_modifier = NULL, dt_threads = 1, verbose = FALSE, ... )
| cases | A dataframe of cases ( |
|---|---|
| linelist | A dataframe of of cases (by row) containing the following variables:
|
| delay_defs | A data.table that defines the delay distributions (model, parameters and maximum delay for each model).
See |
| incubation_defs | A data.table that defines the incubation distributions (model, parameters and maximum delay for each model).
See |
| target_folder | Character string, name of the folder in which to save the results. |
| merge_onsets | Logical defaults to |
| case_limit | Numeric, the minimum number of cases in a region required for that region to be evaluated. Defaults to 10.
set to |
| onset_modifier | data.frame containing a |
| dt_threads | Numeric, the number of data.table threads to use. Set internally to avoid issue when running in parallel. Defaults to 1 thread. |
| verbose | Logical, defaults to |
| ... |
## Save everything to a temporary directory ## Change this to inspect locally target_dir <- tempdir() ## Construct example distributions ## reporting delay dist delay_dist <- suppressWarnings( EpiNow::get_dist_def(rexp(25, 1/10), samples = 1, bootstraps = 1)) ## Uses example case vector from EpiSoon cases <- data.table::setDT(EpiSoon::example_obs_cases) cases <- cases[, `:=`(confirm = as.integer(cases), import_status = "local")][, cases := NULL] cases <- data.table::rbindlist(list( data.table::copy(cases)[, region := "testland"], cases[, region := "realland"])) ## Run basic nowcasting pipeline regional_rt_pipeline(cases = cases, delay_defs = delay_dist, target_folder = target_dir)#>#>#>#>#> #>#>#> #>#>


home
here is a racing game and my 2d version of midtown madness a mltiplication game an animation acomedy skit a game similar to space invaders a 3d enderman. control him with the arrow keys a comedy space oddesy and lastly a teddy bear orchestra.


It apears you didn't create a URL properly. It should be the full address, complete with http.
- http://coralize.net/http://www.google.com/
- http://coralize.net/http://www.google.com/mail
- http://coralize.net/google.com
- http://coralize.net/www.google.com


Javascript closures are usted to retain value of data which is not global. Often when we call a function the value of all variables inside the function is reset
A closure enables us to have private variables which we can call over and over again, but not have to reset all variables


For a year and a half, I have been happily, blissfully off of social media. I feel today what I felt then. However, I’m increasingly working on projects both for my day job and for my general professional development which would benefit from more interaction with the public at large. It is extremely unfortunate, in my view, that there is no easy mechanism for social interactivity via the indie web, and that the critical mass of software developers in particular is on Twitter in particular. But that’s reality.
So I am left considering how I can employ social media in general and Twitter in particular… while minimizing its injurious effects on my soul.
That’s not being overly dramatic. I could feel the effect of even just being exposed to much Twitter content via the handful of feeds I had piped into Feedbin and that friends would send me via text message. It’s particularly bad for anything about politics, but it’s not great in any category. It’s full of anger and hatred and conspiracy theorizing and arguing in bad faith. I don’t even want to see any of that, much less be pulled into it.
And yet I do want—to some extent maybe even need, for some of my goals over the next half decade—the benefits social media platforms afford: being able to spark conversations, share ideas, and get in front of a larger audience. For developers, that mostly means Twitter.
So after much thinking over the last few months, and after discussing it with my friend and professor of social media (!) Stephen Carradini, I’ve devised an approach that I am going to try:
I will treat social media work as part of my job. I will do it 10–15 minutes a day, three days a week. (Probably Mondays, Wednesdays, and Thursdays.)
I will avoid “flow” state on social media at all costs.

I will block social media entirely on weekends.
I will not have social media on my phone or my iPad.
I will have a short list of people I follow. The signal-to-noise ratio for those follows will have to be roughly 100%, and the number of “takes” on politics etc.—hot or cold—will need to be roughly 0. Twitter is simply not an appropriate forum for those discussions, precisely because of their importance.
I will do all of my Twitter access through a dedicated app like Twitterrific with notifications disabled—avoiding Twitter’s own algorithmic feed and recommendations and streaming and basically increasing the friction as much as possible.
I will never tweetstorm. Anything that deserves more than a sentence-long response will become a blog post and my reply will consist of a link to the blog post. If it takes a while to get to it, all the better.
I will generally try to respond to any good-faith mentions, but I don’t make any promises about how long it’ll take. If you want a real conversation, email me (even though that might also take a while). I will never respond to obviously-bad-faith comments.
Multiple times a year, I will take a one-month hiatus from social media. I currently expect I will either do three months on and one month off or two months on and one month off. This means that I will have either three or four months a year where I am still totally away from these pressures, stresses, and temptations.
So with a sigh, back into it, a little bit, in a way that hopefully won’t crush my soul.


First Name
Second Name
Roll
Enter your Choice for Subjects :
Specialization 1:
Computer Architecture
Artificial Intelelligence
CyberSecurity
Automata Theory & Practical
THis is box 1
THis is box 2


One of the things I’m involved in is DevStaff: an open community for developers and anyone interested in technology, based in Heraklion, Crete.
At DevStaff, we’ve been hosting a meetup every month for the past 3,5 years and even though we’ve had some events with remote speakers we only recently decided to start live streaming our events. (Btw, I was not positively inclined, but that’s probably a topic for another blog post, because… I might have been wrong).
Anyway, back on topic. Since we took the decision, we needed to find a way to stream the events with the minimum friction possible. We’re all volunteers and we don’t want / can’t afford to spend a lot of time looking for the ideal solution. We also don’t want to invest in buying equipment / expensive software right now. (but we might if interest picks up on the live streams…)
Requirements
So, in a nutshell, what we wanted to do is be able to have:
Local Audience + Remote Audience + Local Speakers + Remote speakers being able to see each other.
Put another way, this means that our requirements were that any given person (remote or local) should be able to see:
- the speaker
- the audience
- the slides
and hear:
- local speaker
- local audience
- remote participants (whether speaker / attendant)
These were NOT in our requirements:
- recording the event so that people can watch it in their own time.
- remote attendees to appear on screen as they’re asking a question (so the audience can see them)
Solution
Here is our current solution:
- Start Bluejeans (doesn’t have to be Bluejeans, BUT the video conferencing solution you choose MUST support both sharing your video and your screen at the same time).
- Point laptop camera to speaker + slides that show up on the projector screen behind them. You have to align the laptop camera in a way that both show up on screen. It is ideal
- O̵̵̵p̵̵̵e̵̵̵n̵̵̵ ̵̵̵P̵̵̵h̵̵̵o̵̵̵t̵̵̵o̵̵̵ ̵̵̵B̵̵̵o̵̵̵o̵̵̵t̵̵̵h̵̵̵ ̵̵̵a̵̵̵n̵̵̵d̵̵̵ ̵̵̵s̵̵̵h̵̵̵a̵̵̵r̵̵̵e̵̵̵ ̵̵̵s̵̵̵c̵̵̵r̵̵̵e̵̵̵e̵̵̵n̵̵̵ ̵(̵d̵o̵n̵’̵t̵ ̵d̵o̵ ̵t̵h̵i̵s̵ ̵-̵ ̵t̵h̵e̵ ̵s̵l̵i̵d̵e̵s̵ ̵t̵e̵x̵t̵ ̵w̵i̵l̵l̵ ̵b̵e̵ ̵m̵i̵r̵r̵o̵r̵e̵d̵,̵ ̵m̵e̵a̵n̵i̵n̵g̵ ̵r̵e̵m̵o̵t̵e̵ ̵a̵t̵t̵e̵n̵d̵e̵e̵s̵ ̵w̵o̵n̵’̵t̵ ̵b̵e̵ ̵a̵b̵l̵e̵ ̵t̵o̵ ̵s̵e̵e̵ ̵t̵h̵e̵m̵ ̵p̵r̵o̵p̵e̵r̵l̵y̵)̵
- Instead, do this:
- Open Quicktime Player -> New Movie Recording.
- Select the external camera as the video input source for Quicktime player.
- Point the external camera to the audience. This way, a video stream of the audience will appear on your screen (and, hint hint, you can share your screen! ;) )
- Do NOT actually start recording (watch out for this!), cause you might run out of disk space!
- Maximise your Quicktime player window and share your screen on Bluejeans.
For bonus points:
- Get speakers to connect to conference call on bluejeans and share their screen as they’re presenting. This way it is guaranteed that folks attending remotely will be able to see the slides properly. (then your laptop camera only needs to show the speaker).
Hope this helps someone !


focus-trap-react demo
In the demos below, you'll be able to tell that a focus trap is active because it will turn pink. You should also be able to tell because it will trap your focus!
When a trap is active, you can deactivate it by pushing its deactivate button or, if the demo allows, pressing the Escape key.
Before you try the demos, if you're using macOS, make sure you have enabled keyboard navigation in order to use the Tab key to move focus between all controls.
In Ventura (v13), you'll find this under System Settings > Keyboard
.
Prior to Ventura, it may have been under System Settings > General
.
FireFox and Safari, for example, respect this setting and without it enabled, you won't get a good experience. Chrome appears to ignore it (at least in v109). While focus-trap will still trap all the right nodes, the browser/OS will not let you access all tabbable nodes on the page, nor in any traps you activate, while using the Tab key.
defaults
Default behavior: When this FocusTrap mounts (and activates), the first element in its tab order receives focus.
animated dialog
This focus trap will fade in when activated and fade out when deactivated. It logs a message to the console when the trap has finished activating. Note that the fade animation needs to be written yourself, it is not built into the library.
animated trigger
The activation button for this focus trap will fade out when the trap activates and fade in when the trap deactivates. It logs a message to the console when the trigger has received focus again. Note that the fade animation needs to be written yourself, it is not built into the library.
first focus, no escape
When this FocusTrap mounts (and activates), focus jumps to a specific, manually specified element.
Also, the Escape key does not deactivate this trap; you have to click the button to deactivate.
special element
Inspect this element and you'll see that it is not the default plain div,
but rather a section tag with an id, a class, inline styles, and an
arbitrary data-
attribute.
Also, this FocusTrap activates and deactivates while staying mounted (and does so in React 18 Strict Mode, though the true effects of this are only applicable if you're running this demo locally in development mode since strict mode does not affect production code).
ALSO, when you click outside this FocusTrap, the trap deactivates and your click carries through.
Finally, focus should return to the "activate trap" button, whether you click the "deactivate trap" button, or press the ESC key.
demo autofocus
The trap contains an input with the autofocus attribute.
demo containerElements
You may pass in an array prop containerElements
that contains nodes to trap focus within, which if passed will be used instead of the direct child. The direct child, if any, will be ignored by the trap (unless also given as an element in containerElements
).
demo containerElements (no child)
Slight underlying difference from the previous "containerElements" demo in that the
focus trap element is not given a child: <FocusTrap containerElements={[...]} />
.
The result is the same, but this further reinforces the fact that when containerElements
is
used, the child is not considered, and therefore not even necessary.
demo setReturnFocus option applied
When this focus trap deactivates, it will send focus to the "Alternate Return Focus Element"
demo Iframe with document option applied
When integrated in an iframe, you may specify the document (of the said iframe) for the focusTrap to stay inside of it.
⚠ NOTE: When the focusTrap is in an iframe (and so using a document other than the main/root document), focus will be trapped inside the iframe, but it will still be possible to interact with any element outside of it.
with shadow dom
This focus trap contains tabbable elements that are inside
open and closed Shadow DOMs. It configures tabbable
to look for Shadow DOM
elements and provides a reference to the closed Shadow when requested.


The Responsive Slider with Advanced CSS3 Transitions
Create unique sliders using CSS3 transitions -- no jQuery knowledge required!
Supports modern browsers, old browsers (IE7+), touch devices and responsive designs


Dustin Loves Kitebording and writing code
I enjoy writing code and shredding waves
Thanks for visiting! contact via Twitter: @endo2k6


HOME
ABOUT
PRODUCT
CONTACT
COFFEE SERVED
Coffee Beverages
Drip Coffee
Café Au Lait
Cappuccino
Latte
Flavored Latte
Gift cards!
Order now!
1 of 4
1 of 5


Before Change
INVALID_PARAMETER_VALUE)
with self.ManagedSessionMaker() as session:
runs = [run.to_mlflow_entity(session)
for exp in experiment_ids
for run in self._list_runs(session, exp, run_view_type)]
filtered = SearchUtils.filter(runs, filter_string)
sorted_runs = SearchUtils.sort(filtered, order_by)
After Change
// tags. These run attributes are referenced during the invocation of
// ``run.to_mlflow_entity()``, so eager loading helps avoid additional database queries
// that are otherwise executed at attribute access time under a lazy loading model.
queried_runs = session \
.query(SqlRun) \
.options(*self._get_eager_run_query_options()) \
.filter(
SqlRun.experiment_id.in_(experiment_ids),
SqlRun.lifecycle_stage.in_(stages)) \
.all()
runs = [run.to_mlflow_entity() for run in queried_runs]
filtered = SearchUtils.filter(runs, filter_string)
sorted_runs = SearchUtils.sort(filtered, order_by)


|
GPGPU-Sim
|
#include <cuobjdumpInstList.h>
Public Attributes | |
| int | bytes |
| std::string | name |
| std::string | destination |
| int | offset |
Definition at line 56 of file cuobjdumpInstList.h.
| int constMemoryPtr::bytes |
Definition at line 58 of file cuobjdumpInstList.h.
| std::string constMemoryPtr::destination |
Definition at line 61 of file cuobjdumpInstList.h.
| std::string constMemoryPtr::name |
Definition at line 59 of file cuobjdumpInstList.h.
| int constMemoryPtr::offset |
Definition at line 62 of file cuobjdumpInstList.h.


Drop a ColumnPanel here to add content
Add
ColumnPanel components to create new cards.
Drop a title here


We are a group of people with a common dream; increase the awareness of our beautiful yet destructive sun, nationally. It is that simple. Founded in 2015, we are new players in the field but we believe that there can never be too many when spreading a cause. Working hand in hand with other organisations such as SunSmart™ and the various Cancer Council’s, not as a competitor, but as an ally to achieve our joint goal; more awareness, no cancer and more fun!
Aims and Objectives
The aims of Project: SunSafety are to increase awareness about the dangers of excessive sun exposure, minimise the human cost of skin cancer and explore the how and why behind.
We achieve this by the following objectives:
Sharing, assisting in and funding research that explores cancer and preventions
Rally for supportive environments and infrastructure addressing UV over-exposure
Providing and building a community of support for all but especially the younger generation
Creating a knowledge base of factual and relevant information


| HBASE-288 |
Add in-memory caching of data |
Trivial |
regionserver |
Jim Kellerman |
Tom White |
| HBASE-19 |
CountingBloomFilter can overflow its storage |
Major |
. |
Stu Hood |
|
| HBASE-28 |
[hbase] thrift put/mutateRow methods need to throw IllegalArgument exceptions |
Major |
Thrift |
David Simpson |
stack |
| HBASE-2 |
hlog numbers should wrap around when they reach 999 |
Minor |
regionserver |
Billy Pearson |
Bryan Duxbury |
| HBASE-425 |
Fix doc. so it accomodates new hbase untethered context |
Major |
. |
stack |
stack |
| HBASE-421 |
TestRegionServerExit broken |
Critical |
test |
Jim Kellerman |
Jim Kellerman |
| HBASE-3 |
rest server: configure number of threads for jetty |
Major |
REST |
Michael Bieniosek |
stack |
| HBASE-426 |
hbase can't find remote filesystem |
Blocker |
. |
stack |
|
| HBASE-437 |
Clear Command should use system.out |
Major |
util |
Edward J. Yoon |
Edward J. Yoon |
| HBASE-435 |
TestTableMapReduce failed in HBase-Patch #15 |
Major |
test |
Jim Kellerman |
Jim Kellerman |
| HBASE-434 |
TestTableIndex failed in HBasePatch build #14 |
Major |
test |
Jim Kellerman |
Jim Kellerman |
| HBASE-444 |
hbase is very slow at determining table is not present |
Major |
. |
Michael Bieniosek |
Bryan Duxbury |
| HBASE-438 |
XMLOutputter state should be initialized. |
Critical |
util |
Edward J. Yoon |
Edward J. Yoon |
| HBASE-446 |
Fully qualified hbase.rootdir doesn't work |
Blocker |
. |
stack |
Jim Kellerman |
| HBASE-8 |
[hbase] Delete table does not remove the table directory in the FS |
Minor |
master |
stack |
Bryan Duxbury |
| HBASE-441 |
Can not create table with the column family "count" |
Minor |
util |
Billy Pearson |
Bryan Duxbury |
| HBASE-460 |
TestMigrate broken when HBase moved to subproject |
Major |
test |
Jim Kellerman |
Jim Kellerman |
| HBASE-462 |
Update migration tool |
Minor |
util |
Jim Kellerman |
Jim Kellerman |
| HBASE-464 |
HBASE-419 introduced javadoc errors |
Major |
documentation |
Jim Kellerman |
Bryan Duxbury |
| HBASE-428 |
Under continuous upload of rows, WrongRegionExceptions are thrown that reach the client even after retries |
Blocker |
regionserver |
Marc Harris |
stack |
| HBASE-473 |
When a table is deleted, master sends multiple close messages to the region server |
Blocker |
master |
Jim Kellerman |
Bryan Duxbury |
| HBASE-281 |
Shell should allow deletions in .META. and -ROOT- tables |
Blocker |
util |
Bryan Duxbury |
Edward J. Yoon |
| HBASE-480 |
Tool to manually merge two regions |
Minor |
. |
stack |
|
| HBASE-477 |
Add support for an HBASE_CLASSPATH |
Minor |
. |
stack |
|
| HBASE-490 |
Doubly-assigned .META.; master uses one and clients another |
Blocker |
master |
stack |
|
| HBASE-492 |
hbase TRUNK does not build against hadoop TRUNK |
Minor |
test |
Andy Lee |
Jim Kellerman |
| HBASE-496 |
impossible state for createLease writes 400k lines in about 15seconds |
Major |
. |
stack |
|
| HBASE-472 |
Passing on edits, we dump all to log |
Major |
. |
stack |
|
| HBASE-495 |
No server address listed in .META. |
Major |
master |
stack |
|
| HBASE-251 |
[hbase] Stuck replaying the edits of crashed machine |
Blocker |
master |
stack |
Jim Kellerman |
| HBASE-433 |
region server should deleted restore log after successfull restore |
Blocker |
regionserver |
Billy Pearson |
Jim Kellerman |
| HBASE-27 |
[hbase] hregioninfo cell empty in meta table |
Blocker |
master |
stack |
Jim Kellerman |
| HBASE-501 |
Empty region server address in info:server entry and a startcode of -1 in .META. |
Blocker |
. |
stack |
|
| HBASE-510 |
HConnectionManger.listTables returns empty list if exception (though there may be many tables present) |
Minor |
Client |
stack |
Bryan Duxbury |
| HBASE-516 |
HStoreFile.finalKey does not update the final key if it is not the top region of a split region |
Blocker |
. |
Jim Kellerman |
Jim Kellerman |
| HBASE-525 |
HTable.getRow(Text) does not work |
Critical |
Client |
Clint Morgan |
Bryan Duxbury |
| HBASE-524 |
Problems with getFull |
Critical |
regionserver |
Bryan Duxbury |
Bryan Duxbury |
| HBASE-529 |
RegionServer needs to recover if datanode goes down |
Blocker |
. |
Bryan Duxbury |
Bryan Duxbury |
| HBASE-528 |
table 'does not exist' when it does |
Major |
Client |
Bryan Duxbury |
Bryan Duxbury |
| HBASE-537 |
We no longer wait on hdfs to exit safe mode |
Blocker |
. |
stack |
Jim Kellerman |
| HBASE-527 |
RegexpRowFilter does not work when there are columns from multiple families |
Blocker |
Filters |
Clint Morgan |
Jim Kellerman |
| HBASE-476 |
RegexpRowFilter behaves incorectly when there are multiple store files |
Blocker |
Filters |
Clint Morgan |
Jim Kellerman |
| HBASE-534 |
Double-assignment at SPLIT-time (WAS: Stores retaining references to long-deleted mapfiles) |
Blocker |
. |
stack |
|
| HBASE-550 |
EOF trying to read reconstruction log stops region deployment |
Blocker |
. |
stack |
stack |
| HBASE-551 |
Master stuck splitting server logs in shutdown loop; on each iteration, edits are aggregated up into the millions |
Blocker |
. |
stack |
stack |
| HBASE-505 |
Region assignments should never time out so long as the region server reports that it is processing the open request |
Blocker |
. |
Jim Kellerman |
stack |
| HBASE-561 |
HBase package does not include LICENSE.txt nor build.xml |
Blocker |
. |
stack |
|
| HBASE-452 |
"region offline" should throw IOException, not IllegalStateException |
Minor |
. |
Michael Bieniosek |
Bryan Duxbury |
| HBASE-541 |
Hadoop jars used in HBase/lib are not compatible with Hadoop-trunk |
Minor |
build |
Jim Kellerman |
Jim Kellerman |
| HBASE-563 |
TestRowFilterAfterWrite erroneously sets master address to <IP_ADDRESS>:60100 rather than relying on conf |
Blocker |
Filters |
Jim Kellerman |
Jim Kellerman |
| HBASE-507 |
In master, there are a load of places where no sleep between retries |
Major |
. |
stack |
Jim Kellerman |
| HBASE-564 |
Adding a flush file of zero entries |
Minor |
. |
stack |
Jim Kellerman |
| HBASE-554 |
filters generate StackOverflowException |
Blocker |
Filters |
stack |
Jim Kellerman |
| HBASE-567 |
Reused BatchUpdate instances accumulate BatchOperations |
Major |
. |
stack |
|
| HBASE-236 |
NPE on failed open of region |
Major |
regionserver |
stack |
Jim Kellerman |
| HBASE-577 |
NPE getting scanner |
Blocker |
. |
stack |
Jim Kellerman |
| HBASE-574 |
HBase does not load hadoop native libs |
Blocker |
io |
Rong-En Fan |
stack |
| HBASE-573 |
HBase does not read hadoop-*.xml for dfs configuration after moving out hadoop/contrib |
Blocker |
. |
Rong-En Fan |
stack |
| HBASE-11 |
[hbase] Unexpected exits corrupt DFS |
Major |
regionserver |
Bryan Duxbury |
Jim Kellerman |
| HBASE-12 |
when hbase regionserver restarts, it says "impossible state for createLease()" |
Minor |
regionserver |
Michael Bieniosek |
stack |
| HBASE-559 |
MR example job to count table rows |
Blocker |
. |
stack |
stack |
| HBASE-575 |
hbase master dies with stack overflow error if rootdir isn't qualified |
Blocker |
. |
Michael Bieniosek |
Jim Kellerman |
| HBASE-582 |
HBase 554 forgot to clear results on each iteration caused by a filter |
Blocker |
regionserver |
Clint Morgan |
|
| HBASE-532 |
Odd interaction between HRegion.get, HRegion.deleteAll and compactions |
Blocker |
. |
Jim Kellerman |
stack |
| HBASE-590 |
HBase migration tool does not get correct FileSystem or root directory if configuration is not correct. |
Blocker |
util |
Jim Kellerman |
Jim Kellerman |
| HBASE-10 |
HRegionServer hangs upon exit due to DFSClient Exception |
Minor |
regionserver |
Chris Kline |
Jim Kellerman |
| HBASE-598 |
Loggging, no .log file; all goes into .out |
Major |
. |
stack |
|
| HBASE-595 |
RowFilterInterface.rowProcessed() is called *before* fhe final filtering decision is made |
Major |
Filters |
Clint Morgan |
|
| HBASE-586 |
HRegion runs HStore memcache snapshotting -- fix it so only HStore knows about workings of memcache |
Critical |
. |
stack |
stack |
| HBASE-412 |
unable to report to master |
Minor |
regionserver |
Billy Pearson |
|
| HBASE-20 |
Regions getting messages from master to MSG_REGION_CLOSE_WITHOUT_REPORT |
Minor |
. |
Billy Pearson |
|
| HBASE-588 |
Still a 'hole' in scanners, even after HBASE-532 |
Blocker |
. |
stack |
stack |
| HBASE-604 |
Don't allow CLASSPATH from environment pollute the hbase CLASSPATH |
Blocker |
. |
stack |
|
| HBASE-608 |
HRegionServer::getThisIP() checks hadoop config var for dns interface name |
Major |
regionserver |
Jim R. Wilson |
|
| HBASE-609 |
Master doesn't see regionserver edits because of clock skew |
Blocker |
. |
stack |
stack |
| HBASE-405 |
TIF and TOF use log4j directly rather than apache commons-logging |
Minor |
. |
stack |
stack |
| HBASE-612 |
HColumnDescriptor's readFields() method is version aware but its write() method is not |
Minor |
io |
Andrew Purtell |
|
| HBASE-618 |
We always compact if 2 files, regardless of the compaction threshold setting |
Blocker |
. |
stack |
|
| HBASE-619 |
Fix 'logs' link in UI |
Major |
. |
stack |
|
| HBASE-478 |
offlining of table does not run reliably |
Critical |
. |
stack |
Jim Kellerman |
| HBASE-599 |
CME iterating return from ServerManager.getMarkedToClose |
Critical |
. |
stack |
Jim Kellerman |
| HBASE-453 |
undeclared throwable exception from HTable.get |
Minor |
. |
Michael Bieniosek |
|
| HBASE-620 |
testmergetool failing in branch and trunk since hbase-618 went in |
Major |
. |
stack |
stack |
| HBASE-622 |
Remove StaticTestEnvironment and put a log4j.properties in src/test |
Major |
test |
Jim Kellerman |
Jim Kellerman |
| HBASE-624 |
Master will shut down if number of active region servers is zero even if shutdown was not requested |
Major |
. |
Jim Kellerman |
Jim Kellerman |
| HBASE-23 |
UI listing regions should be sorted by address and show additional region state |
Minor |
. |
stack |
Jean-Daniel Cryans |
| HBASE-593 |
build on hudson failing compiling jsp |
Major |
build |
stack |
stack |
| HBASE-629 |
Split reports incorrect elapsed time |
Major |
regionserver |
Jim Kellerman |
Jim Kellerman |
| HBASE-623 |
migration script for hbase-82 |
Blocker |
. |
stack |
stack |
| HBASE-630 |
Default hbase.rootdir is garbage |
Major |
. |
stack |
stack |
| HBASE-589 |
Remove references to deprecated methods in Hadoop once hadoop-0.17.0 is released |
Blocker |
. |
Jim Kellerman |
Jim Kellerman |
| HBASE-638 |
Purge from src |
Major |
. |
stack |
|
| HBASE-644 |
DroppedSnapshotException but RegionServer doesn't restart |
Blocker |
. |
stack |
stack |
| HBASE-645 |
EOFException opening region (HBASE-550 redux) |
Major |
. |
stack |
stack |
| HBASE-642 |
Splitting log in a hostile environment -- bad hdfs -- we drop write-ahead-log edits |
Major |
. |
stack |
stack |
| HBASE-646 |
EOFException opening HStoreFile info file (spin on HBASE-645 and 550) |
Major |
. |
stack |
stack |
| HBASE-651 |
table.commit should throw NoSuchColumnFamilyException if column family doesn't exist |
Major |
. |
Michael Bieniosek |
stack |
| HBASE-656 |
Do not retry exceptions such as unknown scanner or illegal argument |
Major |
. |
stack |
stack |
| HBASE-649 |
API polluted with default and protected access data members and methods |
Major |
. |
stack |
stack |
| HBASE-659 |
HLog#cacheFlushLock not cleared; hangs a region |
Blocker |
. |
stack |
stack |
| HBASE-640 |
TestMigrate failing on hudson |
Major |
. |
stack |
stack |
| HBASE-663 |
Incorrect sequence number for cache flush |
Blocker |
regionserver |
Ning Li |
Jim Kellerman |
| HBASE-655 |
need programmatic way to add column family: need programmatic way to enable/disable table |
Major |
. |
Michael Bieniosek |
Jim Kellerman |
| HBASE-654 |
API HTable.getMetadata().addFamily shouldn't be exposed to user |
Blocker |
. |
Michael Bieniosek |
Jim Kellerman |
| HBASE-666 |
UnmodifyableHRegionInfo gives the wrong encoded name |
Blocker |
. |
Jean-Daniel Cryans |
Jim Kellerman |
| HBASE-670 |
Historian deadlocks if regionserver is at global memory boundary and is hosting .META. |
Major |
. |
stack |
stack |
| HBASE-668 |
HBASE-533 broke build |
Blocker |
. |
stack |
stack |
| HBASE-665 |
server side scanner doesn't honor stop row |
Major |
. |
Michael Bieniosek |
stack |
| HBASE-662 |
UI in table.jsp gives META locations, not the table's regions location |
Minor |
Client |
Jean-Daniel Cryans |
Jean-Daniel Cryans |
| HBASE-676 |
Bytes.getInt returns a long |
Major |
. |
stack |
Clint Morgan |
| HBASE-680 |
config parameter hbase.io.index.interval should be hbase.index.interval, accroding to HBaseMapFile.HbaseWriter |
Minor |
regionserver |
Luo Ning |
|
| HBASE-681 |
NPE in Memcache |
Major |
regionserver |
Clint Morgan |
Jim Kellerman |
| HBASE-686 |
MemcacheScanner didn't return the first row(if it exists), cause HScannerInterface's output incorrect |
Major |
. |
Luo Ning |
Jim Kellerman |
| HBASE-691 |
get* and getScanner are different in how they treat column parameter |
Major |
. |
stack |
stack |
| HBASE-694 |
HStore.rowAtOrBeforeFromMapFile() fails to locate the row if # of mapfiles >= 2 |
Critical |
regionserver |
Rong-En Fan |
Bryan Duxbury |
| HBASE-652 |
dropping table fails silently if table isn't disabled |
Blocker |
. |
Michael Bieniosek |
Jean-Daniel Cryans |
| HBASE-683 |
can not get svn revision # at build time if locale is not english |
Minor |
build |
Rong-En Fan |
Rong-En Fan |
| HBASE-699 |
Fix TestMigrate up on Hudson |
Major |
. |
stack |
stack |
| HBASE-615 |
Region balancer oscillates during cluster startup |
Blocker |
master |
Jim Kellerman |
Bryan Duxbury |
| HBASE-701 |
Showing bytes in log when should be String |
Major |
. |
stack |
stack |
| HBASE-702 |
deleteall doesn't |
Major |
. |
stack |
stack |
| HBASE-704 |
update new shell docs and commands on help menu |
Blocker |
. |
Billy Pearson |
stack |
| HBASE-709 |
Deadlock while rolling WAL-log while finishing flush |
Blocker |
. |
stack |
stack |
| HBASE-613 |
Timestamp-anchored scanning fails to find all records |
Blocker |
Client |
stack |
Jim Kellerman |
| HBASE-716 |
TestGet2.testGetClosestBefore fails with hadoop-0.17.1 |
Major |
regionserver |
Jim Kellerman |
Jim Kellerman |
| HBASE-627 |
Disable table doesn't work reliably |
Critical |
. |
Michaela Buergle |
Jim Kellerman |
| HBASE-717 |
alter table broke with new shell returns InvalidColumnNameException |
Critical |
. |
Billy Pearson |
stack |
| HBASE-712 |
midKey found compacting is the first, not necessarily the optimal |
Minor |
. |
stack |
Jim Kellerman |
| HBASE-703 |
Invalid regions listed by regionserver.jsp |
Minor |
. |
Michaela Buergle |
Izaak Rubin |
| HBASE-674 |
memcache size unreliable |
Major |
. |
stack |
Jim Kellerman |
| HBASE-726 |
Unit tests won't run because of a typo |
Trivial |
test |
Sebastien Rainville |
stack |
| HBASE-706 |
On OOME, regionserver sticks around and doesn't go down with cluster |
Major |
. |
stack |
Jean-Daniel Cryans |
| HBASE-727 |
Client caught in an infinite loop when trying to connect to cached server locations |
Minor |
Client, IPC/RPC |
Izaak Rubin |
Izaak Rubin |
| HBASE-732 |
shell formatting error with the describe command |
Minor |
documentation, scripts |
Izaak Rubin |
Izaak Rubin |
| HBASE-731 |
delete, deletefc in HBase shell do not work correctly. |
Minor |
documentation, scripts |
Izaak Rubin |
Izaak Rubin |
| HBASE-734 |
scan '.META.', {LIMIT => 10} crashes |
Minor |
util |
Sebastien Rainville |
Izaak Rubin |
| HBASE-735 |
hbase shell doesn't trap CTRL-C signal |
Minor |
util |
Sebastien Rainville |
Jean-Daniel Cryans |
| HBASE-740 |
ThriftServer getting table names incorrectly |
Trivial |
Thrift |
Tim Sell |
|
| HBASE-744 |
BloomFilter serialization/deserialization broken |
Blocker |
. |
Jim Kellerman |
Jim Kellerman |
| HBASE-739 |
HBaseAdmin.createTable() using old HTableDescription doesn't work |
Minor |
Client |
Sebastien Rainville |
Izaak Rubin |
| HBASE-742 |
Column length limit is not enforced |
Major |
Client |
Jim Kellerman |
Jean-Daniel Cryans |
| HBASE-737 |
Scanner: every cell in a row has the same timestamp |
Blocker |
Client |
Izaak Rubin |
Jim Kellerman |
| HBASE-679 |
Regionserver addresses are still not right in the new tables page |
Major |
. |
stack |
Jim Kellerman |
| HBASE-754 |
The JRuby shell documentation is wrong in "get" and "put" |
Minor |
scripts |
Jean-Daniel Cryans |
Jean-Daniel Cryans |
| HBASE-756 |
In HBase shell, the put command doesn't process the timestamp |
Minor |
scripts |
Jean-Daniel Cryans |
Jean-Daniel Cryans |
| HBASE-720 |
clean up inconsistencies around deletes |
Major |
. |
stack |
Izaak Rubin |
| HBASE-758 |
Throwing IOE read-only when should be throwing NSRE |
Major |
. |
stack |
stack |
| HBASE-743 |
bin/hbase migrate upgrade fails when redo logs exists |
Minor |
. |
Sebastien Rainville |
Izaak Rubin |
| HBASE-757 |
REST mangles table names |
Major |
. |
stack |
stack |
| HBASE-761 |
IOE: Stream closed exception all over logs |
Major |
. |
stack |
stack |
| HBASE-763 |
ClassCastException from RowResult.get(String) |
Major |
. |
Andrew Purtell |
|
| HBASE-764 |
The name of column request has padding zero using REST interface |
Major |
REST |
sishen.freecity |
|
| HBASE-750 |
NPE caused by StoreFileScanner.updateReaders |
Major |
regionserver |
Andrew Purtell |
stack |
| HBASE-770 |
Update HBaseRPC to match hadoop 0.17 RPC |
Major |
. |
stack |
stack |
| HBASE-769 |
TestMasterAdmin fails throwing RegionOfflineException when we're expecting IllegalStateException |
Major |
. |
stack |
stack |
| HBASE-780 |
Can't scan '.META.' from new shell |
Blocker |
. |
stack |
stack |
| HBASE-424 |
Should be able to enable/disable .META. table |
Major |
. |
stack |
Jim Kellerman |
| HBASE-771 |
Names legal in 0.1 are not in 0.2; breaks migration |
Blocker |
. |
stack |
Jim Kellerman |
| HBASE-766 |
FileNotFoundException trying to load HStoreFile 'data' |
Critical |
. |
stack |
stack |
| HBASE-791 |
RowCount doesn't work |
Minor |
. |
Jean-Daniel Cryans |
Jean-Daniel Cryans |
| HBASE-751 |
dfs exception and regionserver stuck during heavy write load |
Blocker |
regionserver |
Rong-En Fan |
stack |
| HBASE-793 |
HTable.getStartKeys() ignores table names when matching columns |
Major |
. |
Andrew Purtell |
Andrew Purtell |
| HBASE-790 |
During import, single region blocks requests for >10 minutes, thread dumps, throws out pending requests, and continues |
Blocker |
regionserver |
Jonathan Gray |
Andrew Purtell |
| HBASE-776 |
Master not reassigning .META. from failed/failing regionserver |
Major |
master |
Andrew Purtell |
|
| HBASE-788 |
Div by zero in Master.jsp |
Major |
. |
Clint Morgan |
|


---
layout: post
title: Eclipse
date: '2013-08-14T17:31:00+02:00'
categories:
- Storyboards
- Aljubarrota
picture_url: https://film-Storyboards.tumblr.com/post/58276840576/eclipse-taken-from-the-aljubarrota-battle
---
Eclipse
imagesTaken from the Aljubarrota Battle Storyboards.


| Overview | Reports | 2005-2006 - 1st Quarter | Contract | |||||||
| Vendor Name: | Forman & Associés Inc. |
| Reference Number: | 50010 |
| Contract Date: | 2005-04-12 |
| Description of Work: | 0491 - Management Consulting |
| Contract Period / Delivery Date: | 2005-04-12 to 2006-03-31 |
| Contract Value: | $25,000.00 |
| Comments: | Organizational development and change management |


Allowed Sites
No need to open following sites in incognito mode
One per line in RegEx format
(mozilla)\.org
(firefox|github|google|youtube)\.com
(google)\.com.tr
Forbidden Sites
Always open following sites in incognito mode. If there is a match with allowed site list, we will force that matched site to open in incognito mode.
One per line in RegEx format
news.google.com
maps.google.com
www.google.com\/maps
Allowed Protocols
No need to open following protocols in incognito mode. We will still check for allowed sites. So protocol is not enough to allow it. But if protocol is not in allowed protocols list, we will force to open it in incognito mode.
One per line
https


HEDSPI Library
Home
Category
Novel
Fiction
Foreign Book
See more >>
About
Log In
Log Out
HEDSPI Library
Home
Search
Category
Novel
Fiction
Foreign Book
See more >>
About
Login
Log Out
Released 2018
Fiction
Detail
Sponsor
BOOK CAFE
Visit
Book Collection 2018
Manga
Detail
Category
Manga
Tiểu Thuyết
Văn Học
Thiếu Nhi
Ngoại Văn
Thể loại khác
Trinh thám,Tình cảm,...
Xem thêm
Recommended Book
Detail
book name
RATING:4.0/5
Detail
book name
RATING:4.0/5
Detail
book name
RATING:4.0/5
Detail
book name
RATING:4.0/5
Detail
book name
RATING:4.0/5
Detail
book name
RATING:4.0/5
Detail
book name
RATING:4.0/5
Detail
book name
RATING:4.0/5


As the World continues to grapple with the pandemic, the surge in the number of false news is also at it's high. To decipher what is true and what is false is difficult in today's time. At least 800 people may have died around the world because of coronavirus-related misinformation in the first three months of last year. From medical misinformation resembling credible information to rumors spread just to create chaos, all of them have potentially serious implications. Online rumours led to mob attacks in India and mass poisonings in Iran. With various social media platforms like twitter, facebook or instagram, people post a lot of misinformation about covid-19 exploiting public fear and uncertainty.
Widespread panic has led to a plethora of misinformation,rumors and hoaxes are spreading by word of mouth and on social media. And to curb misinformation and fake news relating to the raging COVID-19 pandemic is difficult.
Covid News Detector is a web app to detect false social media post regarding covid-19. The sources of data are various social-media platforms such as Twitter, Facebook, Instagram, etc. Given a social media post, Covid news detector classify it into either fake or real news depending on the post.


--- layout: default permalink: /404.html --- 404 This content is not available in your country Take me home!


{{include '../_partials/navbar.html'}}
Thought is already is late, exactly is the earliest time
Not matter of the today will drag tomorrow
上架新的图书
{{include '../_partials/sidebar.html'}}


An email has been sent to your email address {{ email }}. Click it to verify your identify. Server has stored hashed email {{ token }} internally. Your email id is not stored on the server.
{{ email }}
{{ token }}


Juá Control
My Account
Configurations
Logout
Dashboard
Rules
Actions
Events
Devices
About
{% block content %} {% endblock %}


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Statistics
Statistic information. This information is not preserved between restarts of the service. Once a service is restarted, the counters start at zero!
| Method Summary | |
|---|---|
long |
getAverageProcessingTime()
The average processing time of a job - this only counts finished jobs. |
long |
getAverageWaitingTime()
The average waiting time of a job in the queue. |
long |
getLastActivatedJobTime()
The time a job has been started last. |
long |
getLastFinishedJobTime()
The time a job has been finished/failed/cancelled last. |
long |
getNumberOfActiveJobs()
Number of jobs currently in processing. |
long |
getNumberOfCancelledJobs()
Number of permanently failing or cancelled jobs. |
long |
getNumberOfFailedJobs()
Number of failing jobs. |
long |
getNumberOfFinishedJobs()
Number of successfully finished jobs. |
long |
getNumberOfJobs()
This just adds getNumberOfActiveJobs() and getNumberOfQueuedJobs() |
long |
getNumberOfProcessedJobs()
Number of already processed jobs. |
long |
getNumberOfQueuedJobs()
Number of jobs currently waiting in a queue. |
long |
getStartTime()
The time this service has been started |
void |
reset()
Clear all collected statistics and set the starting time to the current time. |
| Method Detail |
|---|
long getStartTime()
long getNumberOfFinishedJobs()
long getNumberOfCancelledJobs()
long getNumberOfFailedJobs()
long getNumberOfProcessedJobs()
getNumberOfFinishedJobs()
, getNumberOfCancelledJobs()
and getNumberOfFailedJobs()
long getNumberOfActiveJobs()
long getNumberOfQueuedJobs()
long getNumberOfJobs()
getNumberOfActiveJobs()
and getNumberOfQueuedJobs()
long getLastActivatedJobTime()
long getLastFinishedJobTime()
long getAverageWaitingTime()
long getAverageProcessingTime()
void reset()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Protein is the main source of calories in this meal plan. This macro-nutrient ratio, alongside appropriate caloric intake is used by many to successfully lose fat and build muscle. The healthiest way to maintain this diet is by incorporating a variety of fruits and vegetables in order to ensure the required amount of daily fiber intake.
2 meals a day
{{product.days}} day plan - ${{product.price}}
{{product.days}} day plan - ${{product.price}}
{{product.days}} day plan - ${{product.price}}
3 meals a day
{{product.days}} day plan - ${{product.price}}
4 meals a day
{{product.days}} day plan - ${{product.price}}
5 meals a day
{{product.days}} day plan - ${{product.price}}


DecomPy
Installation
decompy
Design Decisions
Decompiler Information
LLVM Transformations
Pattern Matching and Normalization
DecomPy
Docs
»
Documentation Page for DecomPy
View page source
Documentation Page for DecomPy
¶
Installation
Installation From GitHub
decompy
decompy package
Design Decisions
Design and Architecture
Data Gathering
Database
Binary Lifting
Using an Existing Decompiler
LLVM Comparison
LLVM Comparison
Decompiler Information
How Rule Based Decompilers Work
LLVM Transformations
Dead Code Elimination
Equivalency Classes
SingleLineReplacement
LLVM Summaries
Merge Constants
llc
OpenMP
Opt
What Are LLVM Modules
Pattern Matching and Normalization
Using Decompy’s Syntax for Patterns
Index
Module Index


Music
Pictures
Videos
Articles
SomeThing more awesome is coming...

Explore more
↓


Mobile Number An account with this email address does not exist!
Password Show Wrong password! Try again.
Remember me
Forgot your password?
Username Your username can only contain numeric and alphabetic symbols!
Mobile Number Enter a valid email address!
Password Show Your password has to be at least 6 characters long!
I agree to the Terms
Lost your password? Please enter your email address. < br /> You will receive a link to create a new password.
E-mail An account with this email does not exist!
Back to log-in


- next(int) - Method in class astraiea.util.MersenneTwister
-
Returns an integer with bits bits filled with a random number.
- nextBoolean() - Method in class astraiea.util.MersenneTwister
-
This method is missing from jdk 1.0.x and below.
- nextBoolean(float) - Method in class astraiea.util.MersenneTwister
-
This generates a coin flip with a probability probability
of returning true, else returning false.
- nextBoolean(double) - Method in class astraiea.util.MersenneTwister
-
This generates a coin flip with a probability probability
of returning true, else returning false.
- nextByte() - Method in class astraiea.util.MersenneTwister
-
For completeness' sake, though it's not in java.util.Random.
- nextBytes(byte[]) - Method in class astraiea.util.MersenneTwister
-
A bug fix for all versions of the JDK.
- nextChar() - Method in class astraiea.util.MersenneTwister
-
For completeness' sake, though it's not in java.util.Random.
- nextDouble() - Method in class astraiea.util.MersenneTwister
-
A bug fix for versions of JDK 1.1 and below.
- nextDouble(boolean, boolean) - Method in class astraiea.util.MersenneTwister
-
Returns a double in the range from 0.0 to 1.0, possibly inclusive of 0.0 and 1.0 themselves.
- nextFloat() - Method in class astraiea.util.MersenneTwister
-
A bug fix for versions of JDK 1.1 and below.
- nextFloat(boolean, boolean) - Method in class astraiea.util.MersenneTwister
-
Returns a float in the range from 0.0f to 1.0f, possibly inclusive of 0.0f and 1.0f themselves.
- nextGaussian() - Method in class astraiea.util.MersenneTwister
-
A bug fix for all JDK code including 1.2.
- nextInt(int) - Method in class astraiea.util.MersenneTwister
-
This method is missing from JDK 1.1 and below.
- nextLong(long) - Method in class astraiea.util.MersenneTwister
-
This method is for completness' sake.
- nextShort() - Method in class astraiea.util.MersenneTwister
-
For completeness' sake, though it's not in java.util.Random.
- NoIncrementing - Class in astraiea.layer2.strategies
-
Test performs a fixed number of runs (no incrementing).
- NoIncrementing(int) - Constructor for class astraiea.layer2.strategies.NoIncrementing
-


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
A
C
D
G
I
M
N
O
P
R
S
U
V
W
O
ObservableHorizontalScrollView
- Class in
com.kevalpatel2106.rulerpicker
Created by Kevalpatel2106 on 29-Mar-2018.
ObservableHorizontalScrollView(Context, ObservableHorizontalScrollView.ScrollChangedListener)
- Constructor for class com.kevalpatel2106.rulerpicker.
ObservableHorizontalScrollView
Constructor.
ObservableHorizontalScrollView.ScrollChangedListener
- Interface in
com.kevalpatel2106.rulerpicker
Listener to get callbacks on scrollview scroll events.
onCreate(Bundle)
- Method in class com.kevalpatel2106.sample.
RulerDemoActivity2
onDraw(Canvas)
- Method in class com.kevalpatel2106.rulerpicker.
RulerValuePicker
onDraw(Canvas)
- Method in class com.kevalpatel2106.rulerpicker.
RulerView
onIntermediateValueChange(int)
- Method in interface com.kevalpatel2106.rulerpicker.
RulerValuePickerListener
onLayout(boolean, int, int, int, int)
- Method in class com.kevalpatel2106.rulerpicker.
RulerValuePicker
onMeasure(int, int)
- Method in class com.kevalpatel2106.rulerpicker.
RulerView
onRestoreInstanceState(Parcelable)
- Method in class com.kevalpatel2106.rulerpicker.
RulerValuePicker
onSaveInstanceState()
- Method in class com.kevalpatel2106.rulerpicker.
RulerValuePicker
onScrollChanged(int, int, int, int)
- Method in class com.kevalpatel2106.rulerpicker.
ObservableHorizontalScrollView
onScrollChanged()
- Method in interface com.kevalpatel2106.rulerpicker.
ObservableHorizontalScrollView.ScrollChangedListener
Called upon change in scroll position.
onScrollChanged()
- Method in class com.kevalpatel2106.rulerpicker.
RulerValuePicker
onScrollStopped()
- Method in interface com.kevalpatel2106.rulerpicker.
ObservableHorizontalScrollView.ScrollChangedListener
Called when the scrollview stops scrolling.
onScrollStopped()
- Method in class com.kevalpatel2106.rulerpicker.
RulerValuePicker
onValueChange(int)
- Method in interface com.kevalpatel2106.rulerpicker.
RulerValuePickerListener
A
C
D
G
I
M
N
O
P
R
S
U
V
W
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes


Court of Appeal of Fiji (FJCA)
High Court of Fiji (FJHC)
Supreme Court of Fiji (FJSC)
Fiji Magistrate’s Court (FJMC)
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
No indication of discrimination
1
2
3
4
5
Clear indication of discrimination
Submit


I also see it so that you have solved all correctly.
I actually see that the assignments have some bugs and don't update data as expected.
I'll take a look into after the bf4 beta.
BrainFooLong
Administrator
I've manually forced the update for this battlereport.
Gratulations for the allrounder assignment.
Topicstarter
Kenoz02
Thank you !!!! I love BetterBattlelog, Good job. :D


|
|
CIFXCLODManager Class ReferenceThis object is used to change the resolution of an IFXMeshGroup.
More...
Inheritance diagram for CIFXCLODManager:
List of all members.
Detailed Description
This object is used to change the resolution of an IFXMeshGroup.
It does this by adjusting the resolution on each individual IFXMesh in a synchronous manner so that cracks do not develop between materials. The resolution range is from 0 to the number of vertices in the original IMESH.
- Note:
- If your mesh has only one material then you should use just the IFXResManger class above as it does away with overhead associated with keeping the resolution of each IFXMesh synchronized.
Constructor & Destructor Documentation
| IFXINLINE CIFXCLODManager::CIFXCLODManager |
( |
|
) |
[private] |
|
| CIFXCLODManager::~CIFXCLODManager |
( |
|
) |
[private, virtual] |
|
Member Function Documentation
| U32 CIFXCLODManager::AddRef |
( |
|
) |
[virtual] |
|
|
|
This method increments the reference count for an interface on a component.
- Note:
- It should be called for every new copy of a pointer to an interface on a given component.
- Returns:
- It returns a U32 that contains a value from 1 to 2^32 - 1 that defines the new reference count. The return value should only be used for debugging purposes.
Implements IFXUnknown. |
| void CIFXCLODManager::DecreaseTo |
( |
U32 |
r |
) |
[private] |
|
| IFXINLINE U32 CIFXCLODManager::GetMaxResolution |
( |
|
) |
[virtual] |
|
|
|
This method gets the maximum resolution value.
- Returns:
- Returns U32
Implements IFXCLODManager. |
| IFXINLINE IFXMeshGroup * CIFXCLODManager::GetMeshGroup |
( |
void |
|
) |
[virtual] |
|
|
|
This method gets the ResManager interface.
- Parameters:
-
- Returns:
- Returns IFXResManagerInterface
Implements IFXCLODManager. |
| IFXINLINE U32 CIFXCLODManager::GetResolution |
( |
|
) |
[virtual] |
|
|
|
This method gets the resolution range.
- Returns:
- Returns U32
Implements IFXCLODManager. |
| IFXINLINE IFXUpdatesGroup * CIFXCLODManager::GetUpdatesGroup |
( |
void |
|
) |
[virtual] |
|
| void CIFXCLODManager::IncreaseTo |
( |
U32 |
r |
) |
[private] |
|
|
|
This method initializes the object for use.
- Parameters:
-
| pCLODManager | Pointer to IFXCLODManagerInterface |
| pInMeshGroup | Pointer to an IFXMeshGroup |
- Returns:
- Returns an IFXResult
Implements IFXCLODManager. |
|
|
- Warning:
- : the input mesh is assumed to be at full resolution.
- Todo:
- : check consistancy, add resolution option?
Implements IFXCLODManager. |
|
|
This method sets the resolution to zero.
- Parameters:
-
- Returns:
- Returns an IFXResult
Implements IFXCLODManager. |
| U32 CIFXCLODManager::PrevResolution |
( |
|
) |
[virtual] |
|
|
|
This method gets the previous resolution.
- Returns:
- Returns U32
Implements IFXCLODManager. |
| IFXRESULT CIFXCLODManager::QueryInterface |
( |
IFXREFIID |
interfaceId, |
|
|
void ** |
ppInterface |
|
) |
[virtual] |
|
|
|
This method provides access to the various interfaces supported by a component.
Upon success, it increments the component's reference count and hands back a pointer to the specified interface.
- Note:
- A number of rules must be adhered to by all implementations of IFXAPI QueryInterface . For a list of such rules, refer to the IFXCOM usage guidelines.
- Returns:
- Upon success, IFX_OK is returned. Otherwise, either IFX_E_INVALID_POINTER or IFX_E_UNSUPPORTED are returned.
Implements IFXUnknown. |
| U32 CIFXCLODManager::Release |
( |
|
) |
[virtual] |
|
|
|
This method decrements the reference count for the calling interface on a component.
- Note:
- If the reference count on a component falls to zero, the component is destroyed.
- Returns:
- It returns a U32 that contains a value from 1 to 2^32 - 1 that defines the new reference count. The return value should only be used for debugging purposes.
Implements IFXUnknown. |
| U32 CIFXCLODManager::SetResolution |
( |
U32 |
r |
) |
[virtual] |
|
|
|
This method sets the resolution range.
- Parameters:
-
- Returns:
- Returns U32
Implements IFXCLODManager. |
Friends And Related Function Documentation
| IFXRESULT IFXAPI_CALLTYPE CIFXCLODManager_Factory |
( |
IFXREFIID |
interfaceId, |
|
|
void ** |
ppInterface |
|
) |
[friend] |
|
Member Data Documentation
|
|
array of individual mesh resolution controllers
|
© 1999 - 2006 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.
|
|


Please don't hesitate to leave me a message! I am as fluffy and friendly as a chick!
Thank you for reaching out! I will get back to you in the blink of an eye!


[gecode-users] Using MiniZinc/GeCode in VS
Andrei Neboian
andrei.neboian at googlemail.com
Thu Mar 31 11:08:06 CEST 2011
Dear All,
Is it then possible to write a model in MiniZinc in the Visual Studio
environment and use the GeCode as a solver? I saw that there are
mzn-libraries in the GeCode directory...
I really like MiniZinc because it is easy and intuitive for me to model my
problems, but I still want to use GeCode given its speed.
Many Thanks!
Andrei
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20110331/cde35d65/attachment.htm>
More information about the users
mailing list


Attaching to the process
First, we'll need a handle to the process so that we can interact with it. This is done with the OpenProcess() function. We also need to request certain access rights in order for us to perform the tasks below. These specfic rights var across Windows versions, however the following should work for most:
hHandle = OpenProcess( PROCESS_CREATE_THREAD |
PROCESS_QUERY_INFORMATION |
PROCESS_VM_OPERATION |
PROCESS_VM_WRITE |
PROCESS_VM_READ,
FALSE,
procID );