# -*- coding: utf-8 -*-
"""
From original at https://github.com/facebookresearch/detectron2/blob/master/detectron2/engine/train_loop.py
Original copyright of Facebook code below, modifications by Yehao Li, Copyright 2021.
"""
# Copyright (c) Facebook, Inc. and its affiliates.
import logging
import numpy as np
import time
import weakref
from typing import Dict, List, Optional
import torch
from torch.nn.parallel import DataParallel, DistributedDataParallel
import xmodaler.utils.comm as comm
from xmodaler.utils.events import EventStorage, get_event_storage
__all__ = ["HookBase", "TrainerBase"]
[docs]class HookBase:
"""
Base class for hooks that can be registered with :class:`TrainerBase`.
Each hook can implement 4 methods. The way they are called is demonstrated
in the following snippet:
::
hook.before_train()
for iter in range(start_iter, max_iter):
hook.before_step()
trainer.run_step()
hook.after_step()
iter += 1
hook.after_train()
Notes:
1. In the hook method, users can access ``self.trainer`` to access more
properties about the context (e.g., model, current iteration, or config
if using :class:`DefaultTrainer`).
2. A hook that does something in :meth:`before_step` can often be
implemented equivalently in :meth:`after_step`.
If the hook takes non-trivial time, it is strongly recommended to
implement the hook in :meth:`after_step` instead of :meth:`before_step`.
The convention is that :meth:`before_step` should only take negligible time.
Following this convention will allow hooks that do care about the difference
between :meth:`before_step` and :meth:`after_step` (e.g., timer) to
function properly.
"""
trainer: "TrainerBase" = None
"""
A weak reference to the trainer object. Set by the trainer when the hook is registered.
"""
[docs] def before_train(self):
"""
Called before the first iteration.
"""
pass
[docs] def after_train(self):
"""
Called after the last iteration.
"""
pass
[docs] def before_step(self):
"""
Called before each iteration.
"""
pass
[docs] def after_step(self):
"""
Called after each iteration.
"""
pass
[docs] def state_dict(self):
"""
Hooks are stateless by default, but can be made checkpointable by
implementing `state_dict` and `load_state_dict`.
"""
return {}
[docs]class TrainerBase:
"""
Base class for iterative trainer with hooks.
The only assumption we made here is: the training runs in a loop.
A subclass can implement what the loop is.
We made no assumptions about the existence of dataloader, optimizer, model, etc.
Attributes:
iter(int): the current iteration.
start_iter(int): The iteration to start with.
By convention the minimum possible value is 0.
max_iter(int): The iteration to end training.
storage(EventStorage): An EventStorage that's opened during the course of training.
"""
[docs] def __init__(self) -> None:
self._hooks: List[HookBase] = []
self.iter: int = 0
self.start_iter: int = 0
self.max_iter: int
self.storage: EventStorage
[docs] def register_hooks(self, hooks: List[Optional[HookBase]]) -> None:
"""
Register hooks to the trainer. The hooks are executed in the order
they are registered.
Args:
hooks (list[Optional[HookBase]]): list of hooks
"""
hooks = [h for h in hooks if h is not None]
for h in hooks:
assert isinstance(h, HookBase)
# To avoid circular reference, hooks and trainer cannot own each other.
# This normally does not matter, but will cause memory leak if the
# involved objects contain __del__:
# See http://engineering.hearsaysocial.com/2013/06/16/circular-references-in-python/
h.trainer = weakref.proxy(self)
self._hooks.extend(hooks)
[docs] def train(self, start_iter: int, max_iter: int):
"""
Args:
start_iter, max_iter (int): See docs above
"""
logger = logging.getLogger(__name__)
logger.info("Starting training from iteration {}".format(start_iter))
self.iter = self.start_iter = start_iter
self.max_iter = max_iter
with EventStorage(start_iter) as self.storage:
try:
self.before_train()
for self.iter in range(start_iter, max_iter):
self.before_step()
self.run_step()
self.after_step()
# self.iter == max_iter can be used by `after_train` to
# tell whether the training successfully finished or failed
# due to exceptions.
self.iter += 1
except Exception:
logger.exception("Exception during training:")
raise
finally:
self.after_train()
[docs] def before_train(self):
for h in self._hooks:
h.before_train()
[docs] def after_train(self):
self.storage.iter = self.iter
for h in self._hooks:
h.after_train()
[docs] def before_step(self):
# Maintain the invariant that storage.iter == trainer.iter
# for the entire execution of each step
self.storage.iter = self.iter
for h in self._hooks:
h.before_step()
[docs] def after_step(self):
for h in self._hooks:
h.after_step()
[docs] def run_step(self):
raise NotImplementedError
[docs] def state_dict(self):
ret = {"iteration": self.iter}
hooks_state = {}
for h in self._hooks:
sd = h.state_dict()
if sd:
name = type(h).__qualname__
if name in hooks_state:
# TODO handle repetitive stateful hooks
continue
hooks_state[name] = sd
if hooks_state:
ret["hooks"] = hooks_state
return ret
[docs] def load_state_dict(self, state_dict):
logger = logging.getLogger(__name__)
self.iter = state_dict["iteration"]
for key, value in state_dict.get("hooks", {}).items():
for h in self._hooks:
try:
name = type(h).__qualname__
except AttributeError:
continue
if name == key:
h.load_state_dict(value)
break
else:
logger.warning(f"Cannot find the hook '{key}', its state_dict is ignored.")


Progress Spinner
<mat-progress-spinner>
A single visual indicator should be used to represent each type of operation. For example, a refresh operation
should display either a refresh bar or an activity circle, but not both.
Determinate indicators display how long an operation will take.
Indeterminate indicators visualize an unspecified wait time.


--- title: Response Actions - Java layout: page pageOrder: 4.08 section: 'Mock Server' subsection: false ---
To mock a response in Java use the org.mockserver.model.HttpResponse class which specifies the details of each HTTP response with a fluent API:
public class HttpResponse {
/**
* The status code to return, such as 200, 404, the status code specified
* here will result in the default status message for this status code for
* example for 200 the status message "OK" is used
*
* @param statusCode an integer such as 200 or 404
*/
public HttpResponse withStatusCode(Integer responseCode);
/**
* The cookies to return as Set-Cookie headers as a list of Cookie objects
*
* @param cookies a list of Cookie objects
*/
public HttpResponse withCookies(List<Cookie> cookies);
/**
* The cookies to return as Set-Cookie headers as a varargs of Cookie objects
*
* @param cookies a varargs of Cookie objects
*/
public HttpResponse withCookies(Cookie... cookies);
/**
* Add cookie to return as Set-Cookie header
*
* @param cookie a Cookie object
*/
public HttpResponse withCookie(Cookie cookie);
/**
* Add cookie to return as Set-Cookie header
*
* @param name the cookies name
* @param value the cookies value which can be a string or regular expression
*/
public HttpResponse withCookie(String name, String value);
/**
* The headers to return as a list of Header objects
*
* @param headers a list of Header objects
*/
public HttpResponse withHeaders(List headers);
/**
* The headers to return as a varargs of Header objects
*
* @param headers a varargs of Header objects
*/
public HttpResponse withHeaders(Header... headers);
/**
* A header to return as a Header objects
*
* @param header a Header objects
*/
public HttpResponse withHeader(Header header)
/**
* A header to return as a Header objects
*
* @param name the header name
* @param values the header values which can be a varags of strings or regular expressions
*/
public HttpResponse withHeader(String name, String... values)
/**
* Set response body to return as a simple UTF-8 string response body
*
* @param body a "UTF-8" string
*/
public HttpResponse withBody(String body);
/**
* * Set response body to return as binary such as a pdf or image
*
* @param body a byte array
*/
public HttpResponse withBody(byte[] body);
/**
* Set the body to return for example:
*
* string body:
* - exact("
a simple string body
"); or
* - new StringBody("
a simple string body
")
*
* binary body:
* - binary(IOUtils.readFully(getClass().getClassLoader().getResourceAsStream("example.pdf"), 1024)); or
* - new BinaryBody(IOUtils.readFully(getClass().getClassLoader().getResourceAsStream("example.pdf"), 1024));
*
* @param body an instance of one of the Body subclasses including StringBody or BinaryBody
*/
public HttpResponse withBody(Body body);
/**
* The delay before responding with this request as a Delay object, for example new Delay(TimeUnit.SECONDS, 3)
*
* @param delay a Delay object, for example new Delay(TimeUnit.SECONDS, 3)
*/
public HttpResponse withDelay(Delay delay);
/**
* The connection options for override the default connection behaviour, this allows full control of headers such
* as "Connection" or "Content-Length" or controlling whether the socket is closed after the response has been sent
*
* @param connectionOptions the connection options for override the default connection behaviour
*/
public HttpResponse withConnectionOptions(ConnectionOptions connectionOptions);
}
To control whether the socket is closed after the response has been sent or headers such as "Connection" or "Content-Length" the org.mockserver.model.ConnectionOptions class can be used, as follows:
public class ConnectionOptions {
/**
* Prevent a "Content-Length" header from being added to the response
*
* @param suppressContentLengthHeader if true no "Content-Length" header will be added to the response
*/
public ConnectionOptions withSuppressContentLengthHeader(Boolean suppressContentLengthHeader);
/**
* Override the "Content-Length" header with the specified amount, if not set the "Content-Length"
* header will have a value determined by the length of the body
*
* @param contentLengthHeaderOverride the value to use for the "Content-Length" header
*/
public ConnectionOptions withContentLengthHeaderOverride(Integer contentLengthHeaderOverride);
/**
* Prevent a "Connection" header from being added to the response
*
* @param suppressConnectionHeader if true no "Connection" header will be added to the response
*/
public ConnectionOptions withSuppressConnectionHeader(Boolean suppressConnectionHeader);
/**
* Override the "Connection" header:
* if true the "Connection" header is specified with a value of "keep-alive"
* if false the "Connection" header is specified with a value of "close"
* if not set the "Connection" header will have a a value of "close" unless the request received is HTTP 1.1 and contains a "Connection" header with a value of "keep-alive"
*
* @param keepAliveOverride if true "keep-alive" is used if false "close" is used for the "Connection" header
*/
public ConnectionOptions withKeepAliveOverride(Boolean keepAliveOverride);
/**
* Override whether the socket is closed after a response is sent:
* if true the socket will always be closed,
* if false the socket will never be closed,
* if not set the socket will be closed unless the request received is HTTP 1.1 and contains a "Connection" header with a value of "keep-alive"
*
* @param closeSocket set whether the socket is closed after a response is sent
*/
public ConnectionOptions withCloseSocket(Boolean closeSocket);
}
For example:
HttpResponse httpResponse =
response()
.withStatusCode(401)
.withHeaders(
new Header("Content-Type", "application/json; charset=utf-8"),
new Header("Cache-Control", "public, max-age=86400")
)
.withBody("{ message: 'incorrect username and password combination' }")
.withDelay(new Delay(TimeUnit.SECONDS, 1))
.withConnectionOptions(
new ConnectionOptions()
.withKeepAliveOverride(true)
.withCloseSocket(true)
);


--- layout: tweet ---
RT @nah_serious: At @newrelic #pdx, it's ok to cry
11/8/2016, 2:49:05 PM
Favs: 0
Retweets: 0


Performs a compact genetic algorithm search to reduce errors-in-variables bias in linear regression. The algorithm estimates the regression parameters with lower biases and higher variances but mean-square errors (MSEs) are reduced.
| Version: | 2.3 |
| Imports: | Rcpp (≥ 0.11.1) |
| LinkingTo: | Rcpp |
| Published: | 2018-05-16 |
| Author: | Mehmet Hakan Satman (PhD), Erkin Diyarbakirlioglu (PhD) |
| Maintainer: | Mehmet Hakan Satman <mhsatman at istanbul.edu.tr> |
| License: | GPL-2 | GPL-3 [expanded from: GPL] |
| NeedsCompilation: | yes |
| Citation: | eive citation info |
| CRAN checks: | eive results |
| Reference manual: | eive.pdf |
| Package source: | eive_2.3.tar.gz |
| Windows binaries: | r-devel: eive_2.3.zip, r-release: eive_2.3.zip, r-oldrel: eive_2.3.zip |
| OS X binaries: | r-release: eive_2.3.tgz, r-oldrel: eive_2.3.tgz |
| Old sources: | eive archive |
Please use the canonical form https://CRAN.R-project.org/package=eive to link to this page.


vnstat- Display traffic summary for a specific network interface:
vnstat -i eth0- Display live stats for a specific network interface:
vnstat -l -i eth0- Show traffic statistics on an hourly basis for the last 24 hours using a bar graph:
vnstat -hg- Measure and show average traffic for 30 seconds:
vnstat -tr 30


referenced
by None at 2021-02-15 16:06:17.merged
by None at 2021-02-15 16:06:17.closed
by None at 2021-02-15 16:06:17.referenced
by None at 2021-02-15 20:23:02.merged
by None at 2021-02-15 20:23:02.closed
by None at 2021-02-15 20:23:02.head_ref_deleted
by None at 2021-02-15 20:23:08.labeled
by None at 2021-02-15 20:23:42.labeled
by None at 2021-02-15 20:23:42.referenced
by None at 2021-02-15 20:24:52.merged
by None at 2021-02-15 20:24:52.closed
by None at 2021-02-15 20:24:52.head_ref_deleted
by None at 2021-02-15 20:24:56.labeled
by None at 2021-02-15 20:25:56.labeled
by None at 2021-02-15 20:25:56.Superseded by #700.
closed
by None at 2021-02-15 20:25:58.head_ref_deleted
by None at 2021-02-15 20:25:58.referenced
by None at 2021-02-15 20:26:06.merged
by None at 2021-02-15 20:26:06.closed
by None at 2021-02-15 20:26:06.head_ref_deleted
by None at 2021-02-15 20:26:21.referenced
by None at 2021-02-15 20:27:14.merged
by None at 2021-02-15 20:27:14.closed
by None at 2021-02-15 20:27:14.head_ref_deleted
by None at 2021-02-15 20:27:18.referenced
by None at 2021-02-15 20:29:06.merged
by None at 2021-02-15 20:29:06.closed
by None at 2021-02-15 20:29:06.head_ref_deleted
by None at 2021-02-15 20:29:10.referenced
by None at 2021-02-15 20:30:04.merged
by None at 2021-02-15 20:30:04.closed
by None at 2021-02-15 20:30:04.head_ref_deleted
by None at 2021-02-15 20:30:08.referenced
by None at 2021-02-15 20:31:00.merged
by None at 2021-02-15 20:31:01.closed
by None at 2021-02-15 20:31:01.head_ref_deleted
by None at 2021-02-15 20:31:04.labeled
by None at 2021-02-15 20:23:40.labeled
by None at 2021-02-15 20:23:40.head_ref_force_pushed
by None at 2021-02-15 20:25:54.head_ref_force_pushed
by None at 2021-02-15 20:26:23.head_ref_force_pushed
by None at 2021-02-15 20:30:40.head_ref_force_pushed
by None at 2021-02-15 20:31:06.head_ref_force_pushed
by None at 2021-02-15 20:31:00.head_ref_force_pushed
by None at 2021-02-15 20:31:28.head_ref_force_pushed
by None at 2021-02-15 20:30:50.head_ref_force_pushed
by None at 2021-02-15 20:31:47.closed
by None at 2021-02-15 15:14:18.closed
by None at 2021-02-15 15:14:18.closed
by None at 2021-02-15 15:14:18.tags
labeled
by None at 2021-02-15 15:15:21.assigned
by None at 2021-02-15 15:15:22.https://princeton.service-now.com/service?id=ticket&table=incident&sys_id=bb5023921b5220108c9ebbb21a4bcbf2&view=sp is blocking my progress on libtc100l.aws.princeton.edu
, however, this is not blocking my progress on libtc201l.aws.princeton.edu
. I can continue with deploying the application in the latter environment.
Per Kevin's update on the SN@P ticket, root access is working for libtc101l
.
assigned
by James R. Griffin III at 2021-02-15 14:37:10.labeled
by James R. Griffin III at 2021-02-15 14:37:15.labeled
by James R. Griffin III at 2021-02-15 14:37:19.unassigned
by James R. Griffin III at 2021-02-15 19:10:21.closed
by James R. Griffin III at 2021-02-15 19:10:35.Comparing this to a case in which the DataSpace ARK was successfully indexed, the MARC for both records appears to be identical for the Voyager records:
Using BibData, the Voyager records encode the following:
<datafield ind1="4" ind2="0" tag="856">
<subfield code="u">http://arks.princeton.edu/ark:/88435/dsp012v23vx311</subfield>
</datafield>
compared to
xml
<datafield ind1="4" ind2="0" tag="856">
<subfield code="u">http://arks.princeton.edu/ark:/88435/dsp01w3763983s</subfield>
</datafield>
The Solr transformation also shows that these are comparable:
electronic_access_1display: [
"{"http://arks.princeton.edu/ark:/88435/dsp01w3763983s": ["arks.princeton.edu"]}"
],
electronic_access_1display: [
"{"http://gateway.proquest.com/openurl?url_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:dissertation&res_dat=xri:pqm&rft_dat=xri:pqdiss:22624299": ["gateway.proquest.com"],
"http://arks.princeton.edu/ark:/88435/dsp012v23vx311": ["arks.princeton.edu"]}"
],
labeled
by James R. Griffin III at 2021-02-15 16:14:05.labeled
by James R. Griffin III at 2021-02-15 16:14:06.assigned
by James R. Griffin III at 2021-02-15 16:14:06.I have requested guidance from a cataloger in the Serials & E-Resources Team, and when I receive an update, I will look to perform or assist with the creation of new DataSpace submissions.
labeled
by James R. Griffin III at 2021-02-15 16:17:40.labeled
by James R. Griffin III at 2021-02-15 16:17:40.assigned
by James R. Griffin III at 2021-02-15 16:17:40.After a follow up with Special Collections: there is a requirement for a click-through "license agreement" style functionality (example, something like this - https://libdigital.temple.edu/oralhistories/catalog/transcript:AOHWMPJZ2014110013xp16002coll22x8), not storing names in a guestbook.
I am very sorry for failing to add this when I introduced LUX.
I am very sorry for failing to add this when I introduced LUX.
No problem. I've run into it many times, so I knew what to do... Just keeping the documentation up to date.
review_requested
by None at 2021-02-15 20:19:14.referenced
by James R. Griffin III at 2021-02-15 20:26:18.merged
by James R. Griffin III at 2021-02-15 20:26:18.closed
by James R. Griffin III at 2021-02-15 20:26:18.head_ref_deleted
by James R. Griffin III at 2021-02-15 20:26:20.Coverage increased (+0.1%) to 82.7% when pulling 1ef0e3894ea789b003a7dc6bf3e9cc79df9fc561 on s3-bucket into 6bd9ab6f3c077aa56df129e003101b28e07ff3ce on main.
head_ref_force_pushed
by None at 2021-02-15 14:07:39.unlabeled
by None at 2021-02-15 14:54:30.labeled
by None at 2021-02-15 15:02:26.Closing as wontfix; we can reopen if print reserves are reinstated.
closed
by None at 2021-02-15 15:09:42.Closing as wontfix; we can reopen if print reserves are reinstated.
closed
by None at 2021-02-15 15:09:48.labeled
by None at 2021-02-15 15:13:28.@christinach this will need to be rebased on the alma branch, since Monday happened.
I tried it out and I see a bunch of holdings locations coming through. I also see a bunch that say "no holdings available for this record". I'm not sure what those mean. But this does seem like progress! Here's a screenshot from my local orangelight:
base_ref_force_pushed
by None at 2021-02-15 14:18:00.mentioned
by Christina Chortaria at 2021-02-15 18:48:49.subscribed
by Christina Chortaria at 2021-02-15 18:48:49.Coverage increased (+1.3%) to 83.884% when pulling ab339eec16f38f75362903a7d4168decc1865074 on recap-sftp into 6bd9ab6f3c077aa56df129e003101b28e07ff3ce on main.
head_ref_force_pushed
by None at 2021-02-15 14:18:25.head_ref_force_pushed
by None at 2021-02-15 17:16:19.head_ref_force_pushed
by None at 2021-02-15 17:27:28.head_ref_force_pushed
by None at 2021-02-15 18:02:00.review_requested
by None at 2021-02-15 18:10:49.review_request_removed
by None at 2021-02-15 18:12:07.review_requested
by None at 2021-02-15 18:12:07.referenced
by None at 2021-02-15 18:51:07.merged
by None at 2021-02-15 18:51:07.closed
by None at 2021-02-15 18:51:07.head_ref_deleted
by None at 2021-02-15 18:51:08.labeled
by None at 2021-02-15 18:53:56.Coverage decreased (-0.2%) to 82.962% when pulling 647e35563fa3675ca922ed13a91b3ca6184c7bdd on 1064-revert-holdings into 4763285d5d9e55ab3d70fa1a36e2a734195e107b on alma.
base_ref_force_pushed
by None at 2021-02-15 14:18:00.review_dismissed
by None at 2021-02-15 18:44:15.head_ref_force_pushed
by None at 2021-02-15 18:44:15.referenced
by None at 2021-02-15 20:51:32.merged
by None at 2021-02-15 20:51:33.closed
by None at 2021-02-15 20:51:33.head_ref_deleted
by None at 2021-02-15 20:51:33.closed
by None at 2021-02-15 20:51:41.Coverage increased (+0.4%) to 82.962% when pulling e591d391c8a7c262a3f705d86fb66c6ef529732a on alma into 6bd9ab6f3c077aa56df129e003101b28e07ff3ce on main.
head_ref_force_pushed
by None at 2021-02-15 14:18:00.labeled
by None at 2021-02-15 15:11:41.@hackartisan @carolyncole I think we can deprecate the status check in the firestone locator. We aren't doing anything status based in our current "Where to Find It" implementation. All we do is just provide the map to the item's shelf location.
mentioned
by None at 2021-02-15 18:12:54.subscribed
by None at 2021-02-15 18:12:54.mentioned
by None at 2021-02-15 18:12:54.subscribed
by None at 2021-02-15 18:12:54.head_ref_force_pushed
by None at 2021-02-15 17:26:00.referenced
by Kevin Reiss at 2021-02-15 18:05:29.merged
by Kevin Reiss at 2021-02-15 18:05:29.closed
by Kevin Reiss at 2021-02-15 18:05:29.head_ref_deleted
by Kevin Reiss at 2021-02-15 18:05:30.assigned
by None at 2021-02-15 17:48:41.added_to_project
by None at 2021-02-15 17:48:53.moved_columns_in_project
by None at 2021-02-15 17:48:56.referenced
by None at 2021-02-15 20:38:49.referenced
by None at 2021-02-15 20:46:18.referenced
by None at 2021-02-15 21:43:09.referenced
by None at 2021-02-15 21:52:13.superseded by #258
closed
by None at 2021-02-15 19:43:31.review_requested
by Hector Correa at 2021-02-15 21:42:58.renamed
by Hector Correa at 2021-02-15 21:46:25.labeled
by Christa Cleeton at 2021-02-15 14:43:48.milestoned
by Christa Cleeton at 2021-02-15 14:43:48.@tpendragon here's my fix. If you are 👍 with this approach, I will go ahead and update the tests.
mentioned
by Trey Pendragon at 2021-02-15 21:21:06.subscribed
by Trey Pendragon at 2021-02-15 21:21:06.head_ref_force_pushed
by None at 2021-02-15 13:47:23.


Macro Morning
by Chris BeckerBy Chris Becker
The USD re-asserted itself overnight as stock markets stumbled surrounding the continued lack of good news emanating from US/China trade talks, with Wall Street putting in minor losses. Oil rallied although this didn’t help commodity currencies as the Canadian Loonie dropped on domestic comments, dragging the Aussie and other proxies with it. It looks like a wobble to finish the week here in risk taking in Asia.
There are 2152 words left in this subscriber-only article.


{% extends 'registration/base.html' %} {% load static %} {% load bootstrap4 %} {% block styles %} {% bootstrap_css %} {% endblock %} {% block content %}
We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly.
If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder.


Ivan Mendoza
I am a full time software engineer with a coffee addiction(for real) and I thrive off my passion for solving stuff and breaking(building) things.
For everything else outside of "work"(I love my job) I travel and record my adventures along the way.
Aaron Mylius
I am also a full time developer with a passion for coding, travel, and video/photography!
I also love to play video games, watch a ton of sports (and occasionally play them), and of course read up on the latest technology (enthusiast here)!


Enter the amount of cash given by the customer and know minimum number of notes to be given to the customer


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import models.register.{Entity} @import uk.gov.hmrc.govukfrontend.views.html.components._ @this( govukTable : GovukTable ) @(entities: Seq[Entity[_]], viewOnly:Boolean = false, mode: Mode, srn: Option[String], tableCaption: String)(implicit messages: Messages) @edit(entity: Entity[_], editLink: String) = { @messages("site.change") @entity.name } @delete(entity: Entity[_], deleteLink: String) = { @messages("site.remove") @{entity.name} }


Infinispan in JBoss AS7
A couple weeks ago saw the final release of JBoss AS 7.0. Like AS6 before it, AS7 uses Infinispan as the distributed caching solution behind its clustering functionality. So what do you need to know about using Infinispan in AS7?
Configuration
Unlike previous releases of JBoss AS, AS7 centralizes all server configuration into one location. This include Infinispan cache configurations, which are defined by the Infinispan subsystem, within domain.xml or standalone.xml:
The complete schema for the Infinispan subsystem is included in the AS7 binary distribution:
If you are familiar with Infinispan’s native configuration file format or the corresponding configuration file from AS6, you’ll notice some obvious similarities, but some noteworthy differences.
While a native Infinispan configuration file contains cache configurations for a single cache container, like AS6, the Infinispan subsystem configuration defines multiple cache containers, each identified by a name. As with AS6, cache containers can have 1 or more aliases.
Being concise
The Infinispan subsystem’s configuration schema attempts to be more concise than the equivalent configuration in AS6. This is a direct result of the following changes:
Where is <global/>?
Much of the global configuration contains references to other AS services. In AS7, these services are auto-injected behind the scenes. This includes things like thread pools (described below), the JGroups transport (also described below), and the mbean server.
Configuration default values
AS7 supplies a set of custom default values for various configuration properties. These defaults differ depending on the cache mode. The complete set of default values can be found here:
File-based cache store
Because clustering services use the file-based cache store frequently, we’ve simplified its definition. First, by using a distinctive element, you no longer need to specify the class name. The location of the store is defined by 2 attributes:
<file-store relative-to="…" path="…"/>
The relative-to attribute defines a named path, and defaults to the server’s data directory; whereas the path attribute specifies the directory within relative-to, and defaults to the cache container name.
Specifying cache mode
Instead of defining the cache mode via a separate <clustering mode="…"/> attribute, each cache mode uses it’s own element, the child elements of which are specific to that cache mode. For example, rehashing properties are only available within the <distributed-cache/> element.
Where is <default/>?
The semantics of the default cache of a cache container are different in AS7 than in native Infinispan. In native Infinispan, the configuration within <default/> defines the cache returned by calls to CacheContainer.getCache(), while <namedCache/> entries inherit the configuration from the default cache. In AS7, all caches defined in the Infinispan subsystem are named caches. The default-cache attribute identifies which named cache should be returned by calls to CacheContainer.getCache(). This lets you easily modify the default cache of a cache container, without having to worry about rearranging configuration property inheritance.
Specifying a transport
The Infinispan subsystem uses with the JGroups subsystem to provide it’s JGroups channel. By default, cache containers use the default-stack as defined by the JGroups subsystem.
<subsystem xmlns="urn:jboss:domain:jgroups:1.0" default-stack="udp">
<stack name="udp">
<!-- … -→
</stack>
<stack name="tcp">
<!-- … -→
</stack>
</subsystem>
Changing the default stack for all clustering services is a simple as changing the default-stack attribute defined in the JGroups subsystem. An individual cache-container can opt to use a particular stack by specifying a stack attribute within its transport element.
e.g.
<cache-container name="web" default-cache="repl">
<transport stack="tcp"/>
<replicated-cache name="repl" mode="ASYNC" batching="true">
<locking isolation="REPEATABLE_READ"/>
<file-store/>
</replicated-cache>
</cache-container>
JGroups channels are named using the cache container name.
Defining thread pools
Cache containers defined by the Infinispan subsystem can reference thread pools defined by the threading subsystem. Externalizing thread pool in this way has the additional advantage of being able to manage the thread pools via native JBoss AS management mechanisms, and allows you to share thread pools across cache containers.
e.g.
<cache-container name="web" default-cache="repl" listener-executor="infinispan-listener" eviction-executor="infinispan-eviction" replication-queue-executor="infinispan-repl-queue">
<transport executor="infinispan-transport"/>
# <replicated-cache name="repl" mode="ASYNC" batching="true">#
<locking isolation="REPEATABLE_READ"/>
# <file-store/>#
</replicated-cache>
</cache-container>
# #
<subsystem xmlns="urn:jboss:domain:threads:1.0">
<thread-factory name="infinispan-factory" priority="1"/>
<bounded-queue-thread-pool name="infinispan-transport"/>
# <core-threads count="1"/>#
<queue-length count="100000"/>
<max-threads count="25"/>
<thread-factory name="infinispan-factory"/>
</bounded-queue-thread-pool>
<bounded-queue-thread-pool name="infinispan-listener"/>
<core-threads count="1"/>
<queue-length count="100000"/>
<max-threads count="1"/>
<thread-factory name="infinispan-factory"/>
</bounded-queue-thread-pool>
<scheduled-thread-pool name="infinispan-eviction"/>
<max-threads count="1"/>
<thread-factory name="infinispan-factory"/>
</scheduled-thread-pool>
<scheduled-thread-pool name="infinispan-repl-queue"/>
<max-threads count="1"/>
<thread-factory name="infinispan-factory"/>
</scheduled-thread-pool>
#</subsystem> #
Cache container lifecycle
During AS6 server startup, the CacheContainerRegistry service would create and start all cache containers defined within its infinispan-configs.xml file. Individual caches were started and stopped as needed. Lifecycle control of a cache was the complete responsibility of the application or service that used it. Instead of a separate CacheContainerRegistry, AS7 uses the generic ServiceRegistry from the jboss-msc project (i.e. JBoss Modular Service Container). When AS7 starts, it creates on-demand services for each cache and cache container defined in the Infinispan subsystem. A service or deployment that needs to use a given cache or cache container simply adds a dependency on the relevant service name. When the service or deployment stops, dependent services are stopped as well, provided they are not still demanded by some other service or deployment. In this way, AS7 handles cache and cache container lifecycle for you.
There may be an occasion where you’d like a cache to start eagerly when the server starts, without requiring a dependency from some service or deployment. This can be achieve by using the start attribute of a cache.
e.g.
<cache-container name="cluster" default-cache="default">
<alias>ha-partition</alias>
<replicated-cache name="default" mode="SYNC" batching="true" start="EAGER">
<locking isolation="REPEATABLE_READ"/>
</replicated-cache>
</cache-container>
Using an Infinispan cache directly
AS7 adds the ability to inject an Infinispan cache into your application using standard JEE mechanisms. This is perhaps best explained by an example:
@ManagedBean
public class MyBean<K, V> \{
# @Resource(lookup="java:jboss/infinispan/my-container-name") #
private org.infinispan.manager.CacheContainer container;
# private org.infinispan.Cache<K, V> cache;
#
@PostConstruct
public void start() \{
this.cache = this.container.getCache();
}
}
That’s it! No JBoss specific classes required - only standard JEE annotations. Pretty neat, no?
##
There’s only one catch - due to the AS’s use of modular classloading, Infinispan classes are not available to deployments by default. You need to explicitly tell the AS to import the Infinispan API into your application. This is most easily done by adding the following line to your application’s META-INF/MANIFEST.MF:
##
Dependencies: org.infinispan export
So, how does it all work? If you recall, during server startup, the AS creates and registers an on-demand service for every Infinispan cache container defined in the Infinispan subsystem. For every cache container, the Infinispan subsystem also creates and registers a JNDI binding service that depends on the associated cache container service. When the AS deployer encounters the @Resource(lookup) annotation, it automatically adds a dependency to the application on the JNDI binding service associated with the specified JNDI name. In the case of the Infinispan JNDI binding, the binding itself already depends on the relevant Infinispan cache container service. The net effect is, your application will include a dependency on the requested cache container. Consequently, the cache container will automatically start on deploy, and stop (including all caches) on undeploy.
Sounds great! Where do I get it?
You can download the JBoss AS 7.0.0 Final release here:
User documentation can be found here:
And direct any questions to the user forums:
Keep a look out for the 7.0.1 release expected in the coming weeks, which contains a number of clustering fixes identified since the initial final release.
How can I contribute?
Here’s the best place to start:


code JavaScript based.
Is your webpage outdated? Having trouble keeping content and appearances current? No worries.
From algebra to the alphabet, from the Southern United States to Southern Japan, I have worked in education for 10 years. I have constructed websites for my classrooms with links for homework and additional resources.
Is my copywriting still not convincing enough? Need to see more? Head over to the portfolio page and explore my projects.


Battlelog is not tracking my recently played games and is slowly removing games i played a week ago, I am still leveling up but no record of any of the games i have played are available from the past 7 days. The live scoreboard tracking is not working as well.
I have re-installed battlefiled 4 as well as re-installed Chrome, Firefox and IE and battllelog.
How do i fix these issues?
BrainFooLong
Administrator
Sorry, you are in the wrong forums.
We are a third party browser extension for battlelog.


A traveler walking on the road between Art and Photography, trying to showcase my interpretation of how I perceive each scene. For me photography is a medium to understand and to be part of Mother Nature, to learn patience while trying to be part of nature to immerse in the surrounding, being a nature photographer I mainly shoot landscapes and birds.
Born and brought up in a south Indian village in Nilgiris from child hood I was amazed to see how pretty nature organized its children, the echo system of birds, animals, lake and streams etc. Sharing is always happiness, being an amature in photography I would like to share the photos I have taken with you all. This site is an attempt to put my captures in display.


Anyone can earn veil through the Veil Bounty Program. A wide variety of tasks will be available ranging from traditional bounty tasks at the beginning, and gradually expanding to high reward contests, development bounties, and adopting Veil as a merchant or service as the program expands.


Managing Gradle Dependencies
19 Oct 2015Lately, I'm wondering how can I make my gradle build files better. Then I found a way to manage my gradle dependencies version separately from project gradle files that will be really helpful if you separate your project into several parts, for example MVP design pattern.


Problem Set 4: Countess of Functions
Problem Set 4 is available here: ps4.pdf (you will also need the ps4.zip file). It is due on Friday, 18 October at 4:19pm.
This assignment involves both PDF and Jupyter parts, and you should
submit both your ps4.ipynb
and ps4.pdf
files as attachments in
collab. As far as we know, none of the problems are impossible (we may
be wrong, of course, but none of them are intentionally impossible to
solve).
The purpose of this assignment is to continue to develop your understanding of the asymptotic operators, and to understand deeply the results in Chapter 5 of the textbook.
Updated 13 Oct 2019: The original problem 4b asked you to prove something impossible. The question we meant to as is to prove that n is in o(n log n). This is corrected now, sorry for the confusion and thanks to Gustavo Moreira for pointing out the problem.


Communication Protocol
Communication Protocol
Concept Description
ServiceComb uses two network channels, REST and Highway, both supporting encrypted Transport Layer Security (TLS) transmission. The REST channel releases services in the standard RESTful form. The consumer can send requests using http client.
Precautions
Serialization of parameters and the returned values:
Currently, the body parameters of the REST channel support only the application/json serialization. To send form-type parameters to the server, construct a body of the application/json format at the consumer end. Do not send the form type parameters in multipart/form-data format.
Currently, the REST channel supports the application/json and text/plain serialization. A provider uses produces to declare that it has the serialization capability. The consumer specifies the serialization mode of the returned values by setting parameters regarding the requested Accept header. Data serialized in application/json serialization mode is returned by default.
Thread Model
Concept Description
This section describes the thread model for ServiceComb microservices and the relationship between the I/O and service threads.
Thread Model
The complete thread model of CSE is shown in the following figure.
- When a service thread is called for the first time, it binds to a network thread to avoid thread conflicts caused by switching among different network threads.
- After the service thread bound to a network thread, it will bind to a connection of the network to avoid thread conflicts.
- Multiple network threads (eventloop) can be bound to both the client and the server. The number of network threads is two times the quantity of the CPU cores by default. Multiple connections can be configured for each network thread, and the default number is 1. The Rest and Highway network channels are supported. For details about these configurations, see following sections:
- You can configure the service thread pool executor for the client, and the thread granularity can be schemaId: operation.
Add the executors in the microservice.yaml file and configure an independent service thread pool for schemaId: operation:
servicecomb:
executors:
Provider:
[schemaId].[operation]
REST over Servlet
Configuration
REST over Servlet is deployed and runs using a web container. You need to create a servlet project to pack the microservice, load it to the web container, and then start it. To pack a microservice, you can either fully configure it in the web.xml, or configure its listener and urlPattern in the web.xml and microservice.yaml files, respectively.
-
Configure the microservice in the web.xml file.
The web.xml file is under the src/main/webapp/WEB_INF directory of the project, and its content is as follows:
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:META-INF/spring/*.bean.xml classpath*:app-config.xml</param-value> </context-param> <listener> <listener-class>org.apache.servicecomb.transport.rest.servlet.RestServletContextListener</listener-class> </listener> <servlet> <servlet-name>RestServlet</servlet-name> <servlet-class>org.apache.servicecomb.transport.rest.servlet.RestServlet</servlet-class> <load-on-startup>1</load-on-startup> <async-supported>true</async-supported> </servlet> <servlet-mapping> <servlet-name>RestServlet</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app>
-
Configure the listener in the web.xml file and urlPattern in the microservice.yaml file.
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:META-INF/spring/*.bean.xml classpath*:app-config.xml</param-value> </context-param> <listener> <listener-class>org.apache.servicecomb.transport.rest.servlet.RestServletContextListener</listener-class> </listener> </web-app>
In the microservice.yaml file, add a row to specify the urlPattern：
servicecomb.rest.servlet.urlPattern: /rest/*
The two method are equivalent, and they both require that the following dependencies be added in the pox.xml file:
<dependency>
<groupId>org.apache.servicecomb</groupId>
<artifactId>transport-rest-servlet</artifactId>
</dependency>
Configuration items that need to be set in the microservice.yaml file are described in Table 1:
Table 1 Configuration items of REST over Servlet
| Configuration Item | Default Value | Value Range | Mandatory | Description | Remark |
|---|---|---|---|---|---|
| servicecomb.rest.address | <IP_ADDRESS>:8080 | - | No | Specifies the server listening IP address. | - |
| servicecomb.rest.timeout | 3000 | - | No | Specifies the timeout duration | The unit is ms. |
| servicecomb.request.timeout | 30000 | - | No | Specifies the request timeout duration. | The configuration of this parameter for REST over Servlet is the same as that for REST over Vertx. |
| servicecomb.references.[服务名].transport | rest | No | Specifies the accessed transport type. | The configuration of this parameter for REST over Servlet is the same as that for REST over Vertx. | |
| servicecomb.references.[服务名].version-rule | latest | - | No | Specifies the version of the accessed instance. | The configuration of this parameter for REST over Servlet is the same as that for REST over Vertx. |
Sample Code
The following is an example of the configuration in the microservice.yaml file for REST over Servlet:
servicecomb:
rest:
address: <IP_ADDRESS>:8080
timeout: 3000
REST over Vertx
Configuration
The REST over Vertx communication channel uses the standalone running mode that can be started using the main function. In the main function, you need to initialize logs and load service configuration. The code is as follow:
import org.apache.servicecomb.foundation.common.utils.BeanUtils;
import org.apache.servicecomb.foundation.common.utils.Log4jUtils;
public class MainServer {
public static void main(String[] args) throws Exception {
Log4jUtils.init();//Log initialization
BeanUtils.init(); // Spring bean initialization
}
}
To use the REST over Vertx communication channel, you need to add the following dependencies in the maven pom.xml file:
<dependency>
<groupId>org.apache.servicecomb</groupId>
<artifactId>transport-rest-vertx</artifactId>
</dependency>
Configuration items that need to be set in the microservice.yaml file are described as follows:
Table 2 Configuration items of REST over Vertx
| Configuration Item | Default Value | Value Range | Mandatory | Description | Remark |
|---|---|---|---|---|---|
| servicecomb.rest.address | <IP_ADDRESS>:8080 | - | No | Specifies the server listening IP address. | Only service providers require this parameter. |
| servicecomb.rest.server.thread-count | 1 | - | No | Specifies the number of server threads. | Only service providers require this parameter. |
| servicecomb.rest.client.thread-count | 1 | - | No | Specifies the number of client network threads. | Only service consumers require this parameter. |
| servicecomb.rest.client.connection-pool-per-thread | 1 | - | No | Specifies the number of connection pools in each client thread. | Only service consumers require this parameter. |
| servicecomb.request.timeout | 30000 | - | No | Specifies the request timeout duration. | |
| servicecomb.references.[服务名].transport | rest | No | Specifies the accessed transport type. | Only service consumers require this parameter. | |
| servicecomb.references.[服务名].version-rule | latest | - | No | Specifies the version of the accessed instance. | Only service consumers require this parameter. You can set it to latest, a version range such as 1.0.0+ or 1.0.0-2.0.2, or a specific version number. For details, see the API description of the service center. |
Sample Code
An example of the configuration in the microservice.yaml file for REST over Vertx is as follows:
servicecomb:
rest:
address: <IP_ADDRESS>:8080
thread-count: 1
references:
hello:
transport: rest
version-rule: 0.0.1
Highway RPC Protocol
Concept Description
Highway is a high-performance proprietary protocol of ServiceComb, and you can use it in scenarios having special performance requirements.
Configuration
To use the Highway communication channel, you need to add the following dependencies in the maven pom.xml file:
<dependency>
<groupId>org.apache.servicecomb</groupId>
<artifactId>transport-highway</artifactId>
</dependency>
Configuration items that need to be set in the microservice.yaml file are described as follows:
Table 3 Configuration items of Highway
| Configuration Item | Default Value | Value Range | Mandatory | Description | Remark |
|---|---|---|---|---|---|
| servicecomb.highway.address | <IP_ADDRESS>:7070 | - | No | Specifies the server listening IP address. | - |
| servicecomb.highway.server.thread-count | 1 | - | No | Specifies the number of server network threads. | - |
| servicecomb.highway.client.thread-count | 1 | - | No | Specifies the number of client network threads. | - |
| servicecomb.highway.client.connection-pool-per-thread | 1 | - | No | Specifies the number of connection pools in each client thread. | - |
| servicecomb.request.timeout | 30000 | - | No | Specifies the request timeout duration. | The configuration of this parameter for Highway is the same as that for REST over Vertx. |
| servicecomb.references.[服务名].transport | rest | No | Specifies the accessed transport type. | The configuration of this parameter for Highway is the same as that for REST over Vertx. | |
| servicecomb.references.[服务名].version-rule | latest | - | No | Specifies the version of the accessed instance. | The configuration of this parameter for Highway is the same as that for REST over Vertx. |
###
An example of the configuration in the microservice.yaml file for Highway is as follows:
servicecomb:
highway:
address: <IP_ADDRESS>:7070


UTC -4
Voltage: 230 V
Frequency: 50 Hz
Banks: 0800-1200, 1430-1630. Some banks also open on Saturday mornings.
Shops: 0800-1200, 1400-1800 Monday to Friday, morning only on Saturday.
Government offices: 0730-1300, 1500-1630 Monday and Friday. 0730-1300 Tuesday to Thursday.
Business: 0800-1200, 1430-1700 Monday to Friday, 0800-1200 Saturday.
The currency is the Euro.
Most banks and bank machines accept most international credit cards. These are welcomed almost everywhere, the best known is Visa.
There are many banks and cash machines in Guadeloupe. Foreign cheques are not generally accepted.
Effective 1 July 2015, the I cent and 2 cent EC coins will be withdrawn from circulation. The coins will no longer be valid either as consumers will not be able to conduct transactions using these coins. Persons can present the coins at any of the commercial banks which operate within the Eastern Caribbean Currency Union (ECCU) to receive face value.
A price rounding system will be implemented within the ECCU countries for the settlement of cash transactions only, whereby the total payment, inclusive of duties, fees and taxes, will be rounded symmetrically to the nearest five cents. Non-cash payments using cheques, debit andcredit cards will not be impacted and therefore will not be rounded.
International Dialing Code for Guadeloupe is +590.
Internet service is available through a local server, Caribsurf, run by the phone company. Internet Access is available at all hotels on Guadeloupe, and at several other locations:
Cell phone coverage is available everywhere on Guadeloupe, but check with your cellular service provider to be sure they offer international coverage and that your cell phone supports service from the caribbean - you'll also want to be aware of your carrier's rates as calls from Guadeloupe (or to you while you are on Guadeloupe) may very likely be at a higher rate. Alternatively Guadeloupe GSM prepaid international cell phone service; prepaid phone cards; cell phone calling cards; low cost, high quality special dialing services such as toll free dial around to Guadeloupe with free minutes and no fees.
Digicel update December 2014:
Anyone cruising using Digicel should be aware that if you purchase a SIM card in one country, it cannot be topped up in different one, as previously possible. So if you wish to use the sim bought here while cruising in other countries, you should either put on a large enough sum to cover your needs, or set up an account and do it online.
You can top-up Digicel at https://online-top-up.digicelgroup.com/
In February: A carnival with the climax on Ash Wednesday, when Vaval, the Carnival King, is symbolically burnt on the stake.
Beginning January: Festival of Music, both jazz and classical, in the churches.
Second week of July: fête des Gwo Ka.
First Saturday after 10th August: Fête des Cuisinières à Pointe à Pître.
November: Le jour de la sainte Cécile. A fesival of Music on all the beaches and also concerts in the churches.
Police: 17 (or 05 90 82 00 59 Pointe-à-Pitre)
Fire department: 18 (or 05 90 89 77 17 Pointe-à-Pitre)
Ambulance: 15 (or 05 90 87.65.43)
Medical Emergency: 0590 91 39 39 (Pointe-à-Pitre)
Centre Hospitalier Regional Universitaire (CHRU), Pointe a Pitre
Tel: (590-590) 89-10-79; Fax: (590-590) 89-10-29. This hospital is the major medical facility in Guadeloupe.
IMRAY AND ADLARD COLES PILOT BOOKS are available at a discounted price for Noonsite.com users via World Cruising Club
A Cruising Guide to the Lesser Antilles 2.0 (Volume II: Leeward Islands)
Author: Frank Virgintino
Published by www.freecruisingguide.com (Feb 2016)
Also available at Kindle as well as all other EPub bookstores
A Thinking Mans Guide to Voyages South - the many facets of Caribbean Cruising
Author: Frank Virgintino
Published: 3rd Edition January 2013
ISBN<PHONE_NUMBER>847
Available as a Kindle version at www.amazon.com as well as other EPub bookstores.
The latest edition of this route planner is larger than ever. For more details see this report
Cruising Guide To The Leeward Islands: Anguilla Through Dominica
By Chris Doyle and Nancy Scott
Publisher: Cruising Guide Publications -12 Spi edition (1 Feb. 2012)
ISBN-13:<PHONE_NUMBER>931
Covers the islands from Anguilla to Dominica, and is an essential tool for all cruisers sailing this region. Chris Doyle, the author, spends months sailing these islands to update each edition. This book includes over a hundred up-to-date color sketch charts, full-color aerial photos of most anchorages, island pictures, and detailed shore-side information covering services, restaurants, provisioning, travel basics and island history. Information is linked to the author's website where you can download the GPS waypoints given in the sketch charts, and learn updates. This book gives a series of suitable waypoints to aid in navigation through Grand Cul de sac Marin.
Leeward Anchorages
By Chris Doyle
Publisher:Cruising Guide Publications - 2nd edition (Jan 2011)
ISBN-13:<PHONE_NUMBER>825
Leeward Anchorages, graphically, and through spectacular aerial photography, depicts 43 anchorages and harbors throughout the islands of Anguilla, Sint Maarten/Saint Martin, Saint Barts, Saba, Statia, Saint Kitts, Nevis, Barbuda, Antigua, Guadeloupe, Marie Galante, Iles des Saintes and Dominica from Road Bay, Anguilla to Roseau, Dominica. The book is to be used in conjunction with navigational charts and is a companion book of The Cruising Guide to the Leeward Islands. It is an indispensable aid for the yachtsman or charterer visiting these legendary islands.
Windward Anchorages
By Chris Doyle
Publisher: Cruising Guide Publications; 1st edition (March 1, 2010)
ISBN-13:<PHONE_NUMBER>832
Windward Anchorages graphically, and through spectacular aerial photography, depicts 47 anchorages and harbors throughout the islands of Martinique, St. Lucia, St. Vincent, Grenadines and Grenada, from St. Pierre, Martinique to St. David's Harbour, Grenada. Use in conjunction with navigational charts and a companion book of The Sailors Guide to the Windward Islands. It is an indispensable aid for the yachtsman or charterer visiting these legendary islands.
Sailors Guide to the Windward Islands : Martinique to Grenada
By Chris Doyle
Publisher Imray Laurie Norie & Wilson; 15 Spi edition (Aug. 2010)
ISBN 13:<PHONE_NUMBER>900
Updated for 2011-2012, features detailed sketch charts based on the author's own surveys, and aerial photos of most anchorages. It also includes clear and concise navigational information. Covers the islands from Martinique to Grenada, with dazzling scenic photography, unsurpassed onshore information, sections on exploring provisioning, water sports, services, restaurants and photography.
Routes and Waypoints
By Captain Pieter D. Brown
Publisher Baico Publishing Consultants Inc., Ontario, Canada (2011)
ISBN: 978-1-926596-83-9
A Navigational & Piloting Guide of Suggested Routes with Waypoints from Eastern Canada to Grenada including: the Canadian & USA E. Coasts, Bahamas, Turks & Caicos, Cuba, Dominican Republic, Puerto Rico, the Virgin Islands, the Leeward & Windward Islands.
Read Review here
Grenada to The Virgin Islands
By Jacques Patuelli
Published by Imray 3rd Edition 2014
ISBN:<PHONE_NUMBER>818
Fully illustrated with plans and photos, many of which are new for this third edition, the guide is packed with interesting and useful background information on the Caribbean; its history, tourism, geography and details on sailing in the islands.
Waypoints for Doyle cruising guides from Anguilla to Bonaire and Guyana can be downloaded at no charge here.
Doyle's Guide to Sailors' hikes Hiking in The Saintes.
Noonsite welcomes information and updates especially regarding clearance, customs and immigration procedures from cruisers visiting this country.
Please E-mail noonsite with any new information, updates or corrections. Even just a short email confirming that the current data is accurate would be most helpful.


Semantics
Another presentation of this result about flow graphs is to say
that for any strict symmetric premonoidal category
C P
we can find a symmetric monoidal category D
such that:
So the state transformer premonoidal category is in this sense
canonical.


Currently, both the House and Senate Select Committees on Intelligence are probing the Russia matter. Congress can appoint a special congressional committee composed of members of the House or Senate who have been appointed specifically to examine the issue. Typically, select committees are formed by a resolution adopted by a vote of the chamber establishing the committee.
A special committee could bring more focused attention to the issue, but there is no guarantee it would be free from partisanship. For instance, the special House committee that probed the attacks on the U.S. installations in Benghazi, Libya, was marked by bitter clashes between the Republican majority and their Democratic counterparts.
So far, even after hearing damning testimony, Senate Republicans have failed to take threats to our national security seriously. In testimony to the Senate Subcommittee on Crimes and Terrorism, former Attorney General Sally Yates summed up what the Michael Flynn scandal is all about: “To state the obvious, you don’t want your national security advisor compromised with the Russians.” During the same hearing, former Director of National Intelligence James Clapper revealed that multiple European allies passed intelligence to the U.S. on Trump campaign contacts with Russian intelligence agents in 2016. Clapper dismissed that this was about leaks: “The transcendent issue here is the Russian interference in our election process.” However, the Republican Senators present failed to probe into the White House’s shielding of Flynn, or the risks posed to U.S. national security.
The House has had its own problems investigating the Trump Administration’s ties to Russia. Rep. Devin Nunes (R-CA), chairman of the House Intelligence Committee and a former member of the Trump transition team violated established protocols and broke congressional norms. He was lambasted by Democrats and Republicans alike for his unusual behavior. Finally, after announcement by the Ethics Committee that Nunes “may have made unauthorized disclosures of classified information,” Nunes temporarily recused himself from the the investigation into Russia. And now the House Committee on Ethics is conducting its own investigation—into the questionable actions of Rep. Nunes.


We have a particular server which has been running very well for the past few years, but I have had a certain amount of low-level anxiety that the hard disk in the machine might fail, causing the sites it hosts to go down. We have backups, of course, but restoring a machine from backups would take hours, if for no other reason than transferring gigabytes of data to the restored disk. So I had our hosting company add a second hard disk to the machine so that I could attempt to covert it to boot to a RAID1 array.  You are then at the mercy of a data center technician, and the machine may be down for some time.
There are several documents on the Web to be found about how to go about doing this, but I found one in particular to be the most useful. I pretty much followed the instructions in that document line for line, until it broke down because that person was on a Debian Etch system running GRUB version 1, but our system is running Debian Squeeze with GRUB 2 (1.98). The steps I followed differ from those in that document starting on page two around half way down where the person says " Now up to the GRUB boot loader. ". Here are the steps I used to configure GRUB 2:
The instructions below assume the following. Things may be different on your system, so you will have to change device names to match those on your system:
Current system:
/dev/sda1 = /boot
/dev/sd5 = swap
/dev/sd6 = /
New RAID1 arrays:
/dev/md0 = /boot
/dev/md1 = swap
/dev/md2 = /
Create a file called _/etc/grub.d/06raid with the following contents. Be sure to make the file executable:
#!/bin/sh
exec tail -n +3 $0
# A custom file for CC to get system to boot to RAID1 array
menuentry "Debian GNU/Linux, with Linux 2.6.32-5-amd64, RAID1"
{
insmod raid
insmod mdraid
insmod ext2
set root='(md0)'
search --no-floppy --fs-uuid --set 075a7fbf-eed4-4903-8988-983079658873
echo 'Loading Linux 2.6.32-5-amd64 with RAID1 ...'
linux /vmlinuz-2.6.32-5-amd64 root=/dev/md2 ro quiet panic=5
echo 'Loading initial ramdisk ...'
initrd /initrd.img-2.6.32-5-amd64
}
Of course, you are going to need to change the UUID in the search line, and also the kernel and initrd image names to match those on your system, and probably some other details.
We should tell GRUB to fall back on a known good boot scenario, just in case something doesn't work.  I found some instructions about how to go about doing this in GRUB 2. Create a file name _/etc/grub.d/01fallback and add the following contents. Be sure to make the file executable:
#! /bin/sh -e
if [ ! "x${GRUB_DEFAULT}" = "xsaved" ] ; then
if [ "x${GRUB_FALLBACK}" = "x" ] ; then
export GRUB_FALLBACK = ""
GRUB_FALLBACK = $( ls /boot | grep -c 'initrd.img' )
[ ${ GRUB_DISABLE_LINUX_RECOVERY } ] || GRUB_FALLBACK = $(( ${ GRUB_FALLBACK } * 2 ))
fi
echo "fallback set to menuentry=${GRUB_FALLBACK}" >&2
cat << EOF
set fallback="${GRUB_FALLBACK}"
EOF
fi
Then add the following line to /etc/default/grub :
export GRUB_FALLBACK="1"
And while you are in there, also uncomment or add the following line, unless you plan to be using UUIDs everywhere. I'm not sure if this is necessary, but since I was mostly using device names (e.g. /dev/md0 ) everywhere, I figured it couldn't hurt.
GRUB_DISABLE_LINUX_UUID=true
Update the GRUB configuration by executing the following command:
# update-grub
Make sure GRUB is installed and configured in the MBR of each of our disks:
# grub-install /dev/sda
# grub-install /dev/sdb
Now we need to update the initramfs image so that it knows about our RAID set up. You could do this by simply running update-initramfs -u , but I found that running the following command did this for me, and perhaps some other relevant things(?), and also it verified that my mdadm settings were where they needed to be:
# dpkg-reconfigure mdadm
I used rsync , instead of cp , to move the data from the running system to the degraded arrays like so:
# rsync -ax /boot/ /mnt/md0
# rsync -ax / /mnt/md2
When rsync finishes moving / to /mnt/md2 , then edit the following files, chaning any references to the current disk to our new mdX devices:
# vi /mnt/md2/etc/fstab
# vi /mnt/md2/etc/mtab
Warning : do not edit /etc/fstab and /etc/mtab on the currently running system, as the howtoforge.com instructions would seem to indicate, else if the new RAID configuration fails and the machine has to fall back to the current system, then it won't be able to boot that either.
I believe that was it, though it's possible I may have forgot to add a step here. Don't run the following command unless you can afford to possibly have the machine down for a while. This is a good time to also make sure you have good backups. But if you're ready, then run:
# shutdown -rf now
Now cross your fingers and hope the system comes back up on the RAID1 arrays, or at all.
If the machine comes back up on the RAID1 arrays, then you can now add the original disk to the new arrays with commands like the following:
# mdadm --manage /dev/md0 --add /dev/sda1
# mdadm --manage /dev/md1 --add /dev/sda5
# mdadm --manage /dev/md2 --add /dev/sda6
The arrays will automatically rebuild themselves, and you can check the status by running:
#cat /proc/mdstat


Lorem, ipsum dolor sit amet consectetur adipisicing elit. Dolore veniam necessitatibus delectus dignissimos ipsum unde quas porro laborum rerum totam? Natus et perferendis excepturi ut, culpa nihil vitae assumenda sequi?
This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.
This card has supporting text below as a natural lead-in to additional content.
This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.


[§11-427] Reserving use of contributions. A candidate who files the affidavit voluntarily agreeing to limit expenditures and who receives contributions that in aggregate exceed the expenditure limit for an election shall reserve use of any contributions that exceed the limit until after the applicable election. [L 2010, c 211, pt of §2]


It is one of the enduring mysteries of contemporary life. How can it be, I hear you cry, that there is not a blockbusting Hollywood franchise based on Hooting Yard? Imagine for a moment that there existed a dimwitted action-packed film, filled with CGI explosions and the like, in the spirit of, say, Alien vs. Predator, but in this instance called Babinsky vs. The Grunty Man. Clearly the moviegoing hordes would be queueing up at multiplexes across the land to lose themselves for two and a half hours in such a spectacle. So why has Mr Key not yet had a call from a Hollywood mogul? It is, as I say, an enduring mystery.
I am sure, too, that a film entitled Tiny Enid : Plucky Tot could spawn an endless string of sequels. Come on, Hollywood!
To date, only the visionary film-maker Miss HatHorn has used Hooting Yard as her source. If you have not yet seen A Recipe For Gruel, watch it now.


ECCLESIASTES
1
All Is Vanity
1 The words of the Preacher, the son of David, king in Jerusalem.
2 Vanity of vanities, says the Preacher,
vanity of vanities! All is vanity.
3 What does man gain by all the toil
at which he toils under the sun?
4 A generation goes, and a generation comes,
but the earth remains forever.
5 The sun rises, and the sun goes down,
and hastens to the place where it rises.
6 The wind blows to the south
and goes around to the north;
around and around goes the wind,
and on its circuits the wind returns.
7 All streams run to the sea,
but the sea is not full;
to the place where the streams flow,
there they flow again.
8 All things are full of weariness;
a man cannot utter it;
the eye is not satisfied with seeing,
nor the ear filled with hearing.
9 What has been is what will be,
and what has been done is what will be done,
and there is nothing new under the sun.
10 Is there a thing of which it is said,
“See, this is new”?
It has been already
in the ages before us.
11 There is no remembrance of former things,
nor will there be any remembrance
of later things yet to be
among those who come after.
The Vanity of Wisdom
12 I the Preacher have been king over Israel in Jerusalem.
13 And I applied my heart to seek and to search out by wisdom all that is done under heaven. It is an unhappy business that God has given to the children of man to be busy with.
14 I have seen everything that is done under the sun, and behold, all is vanity and a striving after wind.
15 What is crooked cannot be made straight,
and what is lacking cannot be counted.
16 I said in my heart, “I have acquired great wisdom, surpassing all who were over Jerusalem before me, and my heart has had great experience of wisdom and knowledge.”
17 And I applied my heart to know wisdom and to know madness and folly. I perceived that this also is but a striving after wind.
18 For in much wisdom is much vexation,
and he who increases knowledge increases sorrow.


I love to work in a challenging environment demanding all my skills and efforts to explore and adapt myself in diferrent fields and realize my potential where I get the opportunity for continuous learning.
Developed an algorithm for Consumer Health Information Search using machine learning techniques and information retrieval. Also developed a sentiment analysis model for the part two of the project. Implemented the above mentioned algorithm and model using Python language.
Developed an web scraping tool for predicting the possibility of cancer based on presence of certain proteins in the human body. The tool was developed in Python by using some key packages of Python, e.g, urllib, BeautifulSoup, regex etc.
GPA: 9.32
GPA: 7.02
Percentage: 82.80
CGPA: 9.80
Apart from being a software developer, I enjoy most of my time being outdoors. I have travelled recently to Haridwar, one of the most sacred place of India. I also enjoy trekking, free climbing, and kayaking.


Crater Detection Pipeline¶
Pipeline and Image Objects¶
-
class
pycda.
CDA
(detector='tiny', extractor='fast_circle', classifier='convolution')[source]¶ Bases:
object
CDA is the crater detection model pipeline. Its three main components are the detector, the extractor, and the classifier; with no keywords, will initialize with some basic models with general applicability and fast performance.
- Attributes:
- detector (str, detector object): The detector model used by
- pipeline. Accepted text arguments are: ‘tiny’ : default, fast, performant detector ‘unet’ : similar model to tiny, more robust, slower ‘dummy’: does not make detections, used for testing.
- extractor (str, extractor object): The extractor model used by
- pipeline. Accepted text arguments are: ‘fast_circle’ : default, converts detections into circles ‘watershed’ : uses watershed segmentation to generate proposals ‘dummy’ : does not make extractions, used for testing
- classifier (str, classifier object): The classifier model used
- by pipeline. Accepted string arguments are: ‘convolution’ : default, uses a convolutional neural net model ‘none’ : use no classifier (None type also accepted) ‘dummy’ : assigns random likelihoods, used for testing.


Hello, I’m a data journalist/developer. I was previously at WBUR, Boston’s NPR station, the Boston Globe, and the Atlanta Journal-Constitution. My work has also appeared in the San Francisco Chronicle and San Jose Mercury News. I was also a reporter and writer in India.
I use computational methods to analyze data and write both words and code to tell compelling stories.
Projects I’ve worked on have won awards, including the Pulitzer Prize in 2021, IRE award, Philip Meyer award and the OJA Knight Award for Public Service, among others.
Here are some of my clips.
Crime in India
I took India’s dense, 600-page annual crime reports, parsed the data and built an interactive website using Frozen Flask. I believe it's the only website that allows you to track crimes in over 50 cities in India. I even found a mistake in the way the data was recorded — rates for crimes against women were calculated using total population. I wrote cleaning scripts in Pandas to correct this error. The code is on Github.
Open Elections
I am a contributor to the Open Elections project, an open source project that aims to provide processed election results. I wrote Python scripts to download result files for Georgia and New Jersey, clean them, and produce clean CSV files for public use. The code is on Github.


This is the home page!
there are:
three pictures
three text files
three links to other pages
file1
file2
file3
page2
page3
page4


Roof party microdosing brooklyn artisan migas, try-hard pork belly offal pabst unicorn chambray kombucha fixie next level. Pok pok normcore intelligentsia prism, post-ironic gentrify skateboard raw denim activated charcoal brunch squid hoodie gastropub. Cloud bread glossier salvia chicharrones listicle marfa post-ironic live-edge cold-pressed pop-up meditation kogi direct trade copper mug church-key. Tattooed coloring book gluten-free keffiyeh shoreditch godard paleo pour-over trust fund cliche raw denim. Wayfarers VHS artisan raw denim skateboard godard meggings schlitz pug twee 8-bit pok pok selfies tofu pork belly. Slow-carb franzen poutine cornhole, pickled twee mumblecore four dollar toast artisan plaid chillwave sriracha snackwave narwhal vice. IPhone normcore green juice wayfarers polaroid put a bird on it lo-fi pabst microdosing chambray vinyl four loko migas tousled taiyaki.
Loves jumping and being covered in color. The cat jumps over the lazy dog.
Eater of sushi, talker of smack. Proud Co-founder of TOPtens.


The awe-inspiring scale and diversity of India’s terrain
Northeast India refers to the easternmost region of India consisting of the contiguous Seven Sister States, Sikkim, and parts of North Bengal (districts of Darjeeling, Jalpaiguri, and Koch Bihar). In the far northeast, the Chin Hills and Kachin Hills, deeply forested mountainous regions, separate India from Myanmar. The Bangladesh-India border is defined by the Khasi Hills and Mizo Hills, and the watershed region of the Indo-Gangetic Plain. The Patkai, or Purvanchal, are situated near India's eastern border with Myanmar, made up of the Patkai–Bum, the Garo–Khasi–Jaintia and the Lushai hills. The Garo–Khasi range lies in Meghalaya. Mawsynram, a village near Cherrapunji , located on the windward side of these hills, has the distinction of being the wettest place in the world.
Vindhyachal mountain range defines central India, located as they are almost in the middle part of Indian sub-continent. The mountain range of Vindhyachal extends from the state of Gujarat to Bihar, passing through the central Indian states of Madhya Pradesh and Chhattisgarh. Sonabhadra and Narmada rivers originate from the Vindhyachal, the mountain range that divides India or Bharat into two distinct halves: northern India and peninsular India.
India reaches its peninsular tip with South India, which begins with the Deccan in the north and ends with Kanyakumari. The states in South India are Karnataka, Andhra Pradesh, Tamil Nadu, and Kerala. The southeast coast, mirroring the west, also rests snugly beneath a mountain range---the Eastern Ghats, sloping down to the Indian Ocean.
The states of Gujarat, Maharashtra, Goa, and part of the massive, central state of Madhya Pradesh constitute Western India. Extending from the Gujarat peninsula down to Goa, the west coast is lined with some of India's best beaches. The land along the coast is typically lush with rainforests. The Western Ghats separate the verdant coast from the Vindhya Mountains and the dry Deccan plateau further inland. Apart from the Arabian Sea, its western border is defined exclusively by Pakistan.
Himalayas, the world's highest mountain chain and Nepal as its neighbouring country, dominate India's northern border. Following the sweeping mountains to the northeast, its borders narrow to a small channel that passes between Nepal, Tibet, Bangladesh, and Bhutan, then spreads out again to meet Burma in the "eastern triangle”. North India is the country's largest region begins with Jammu and Kashmir, with terrain varying from arid mountains in the far north to the lake country and forests near Srinagar and Jammu. Moving south along the Indus river, the North becomes flatter and more hospitable, widening into the fertile plains of Punjab to the west and the Himalayan foothills of Uttar Pradesh and the Ganges river valley to the East. Located between these two states is the capital city, Delhi.
India is the home of the sacred River Ganges and the majority of Himalayan foothills, East India begins with the states of Bihar, Orissa and West Bengal, which comprise the westernmost part of the region. East India also contains an area known as the eastern triangle, which is entirely distinct. This is the last area of land that extends beyond Bangladesh, culminating in the Naga Hills along the Burmese border.


KnowRe / WebDevCurriculum
KnowRe web development curriculum for noobs
KnowRe
Quest 2 added constraint
Last commit 8a3080e
on 7 Aug 2016
-
Part 2 finished2 years ago
-
Quest 02 added constraint2 years ago
-
Fix: Removed advertisement2 years ago


|
cds
1.2.0
|
Spin lock. More...
#include <cds/lock/spinlock.h>
Public Types | |
| typedef Backoff | backoff_strategy |
| backoff strategy type |
Public Member Functions | |
| Spinlock () | |
| Construct free (unlocked) spin-lock. | |
| Spinlock (bool bLocked) | |
| Construct spin-lock in specified state. | |
| Spinlock (const Spinlock< Backoff > &) | |
| Dummy copy constructor. | |
| ~Spinlock () | |
| Destructor. On debug time it checks whether spin-lock is free. | |
| bool | tryLock () throw () |
Try to lock the object. Return true if success. Debug version: deadlock may be detected. | |
| bool | tryLock (unsigned int nTryCount) |
Try to lock the object, repeat nTryCount times if failed. | |
| void | lock () |
| Lock the spin-lock. Waits infinitely while spin-lock is locked. Debug version: deadlock may be detected. | |
| void | unlock () |
| Unlock the spin-lock. Debug version: deadlock may be detected. |
Private Attributes | |
| std::atomic< bool > | m_spin |
| Spin. |
Spin lock.
Simple and light-weight spin-lock critical section It is useful to gain access to small (short-timed) code
Algorithm:
TATAS (test-and-test-and-lock) [1984] L. Rudolph, Z. Segall. Dynamic Decentralized Cache Schemes for MIMD Parallel Processors.
No serialization performed - any of waiting threads may owns the spin-lock. This spin-lock is NOT recursive: the thread owned the lock cannot call lock() method withod deadlock. The method unlock() can call any thread
DEBUG version: The spinlock stores owner thead id. Assertion is raised when:
If spin-lock is locked the Backoff algorithm is called. Predefined backoff::LockDefault class yields current thread and repeats lock attempts later
Template parameters:
Backoff
backoff strategy. Used when spin lock is locked
|
inline |
Construct spin-lock in specified state.
In debug mode: if bLocked
= true then spin-lock is made owned by current thread
|
inline |
Dummy copy constructor.
In theory, spin-lock cannot be copied. However, it is not practical. Therefore, we provide dummy copy constructor that do no copy in fact. The ctor initializes the spin to free (unlocked) state like default ctor.


Test class: {{result.testClassName}}
Test name: {{result.testName}}
Pattern
Sample
Diff
Reject pattern
Reject sample
Accept sample as new pattern
Accept new alpha mask
Destroy selected mask
Update selected mask


{% extends 'base.html' %} {% block content %} We have a WINNER!! {{ winner }} is the new EMPEROR! Final Score {{ score1 }} - {{ score2 }} Play Again {% endblock %}


Class AbstractCallbackClient<T>
Inheritance
System.Object
AbstractCallbackClient<T>
Implements
System.IDisposable
Assembly: BaseClients.Core.dll
Syntax
public abstract class AbstractCallbackClient<T> : AbstractClient<T>, ICallbackClient, IClient, IDisposable
Type Parameters
Constructors
|
Improve this Doc
View Source
AbstractCallbackClient(Uri, TimeSpan)
Declaration
public AbstractCallbackClient(Uri netTcpUri, TimeSpan heartbeat = default(TimeSpan))
Parameters
| Type |
Name |
Description |
| System.Uri |
netTcpUri |
.net tcp uri of the server side endpoint.
|
| System.TimeSpan |
heartbeat |
Interval between registration (keep-alive) for callbacks.
|
Fields
|
Improve this Doc
View Source
context
Declaration
protected InstanceContext context
Field Value
| Type |
Description |
| System.ServiceModel.InstanceContext |
|
|
Improve this Doc
View Source
heartbeatReset
Declaration
protected AutoResetEvent heartbeatReset
Field Value
| Type |
Description |
| System.Threading.AutoResetEvent |
|
Properties
|
Improve this Doc
View Source
Heartbeat
The interval between registration events.
Declaration
public TimeSpan Heartbeat { get; }
Property Value
| Type |
Description |
| System.TimeSpan |
|
|
Improve this Doc
View Source
IsConnected
True if the client has made a successful registration attempt.
Declaration
public bool IsConnected { get; protected set; }
Property Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
Key
Instance Id of the client. Used to uniquely identify clients to the server.
Declaration
Property Value
| Type |
Description |
| System.Guid |
|
|
Improve this Doc
View Source
Terminate
Set true to terminate all threads.
Declaration
protected bool Terminate { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
Methods
|
Improve this Doc
View Source
Dispose(Boolean)
Declaration
protected override void Dispose(bool isDisposing)
Parameters
| Type |
Name |
Description |
| System.Boolean |
isDisposing |
|
Overrides
BaseClients.Core.AbstractClient<T>.Dispose(System.Boolean)
|
Improve this Doc
View Source
Finalize()
Declaration
protected void Finalize()
|
Improve this Doc
View Source
HandleAPICall(Func<T, ServiceCallResultDto>)
Handles an API call that returns an IServiceCallResult
Declaration
protected IServiceCallResult HandleAPICall(Func<T, ServiceCallResultDto> apiCall)
Parameters
| Type |
Name |
Description |
| System.Func<T, GAAPICommon.Core.Dtos.ServiceCallResultDto> |
apiCall |
Method the handles the channel call
|
Returns
| Type |
Description |
| GAAPICommon.Architecture.IServiceCallResult |
|
|
Improve this Doc
View Source
HandleAPICall<U>(Func<T, ServiceCallResultDto<U>>)
Handles an API call that returns a value of type T
Declaration
protected IServiceCallResult<U> HandleAPICall<U>(Func<T, ServiceCallResultDto<U>> apiCall)
Parameters
| Type |
Name |
Description |
| System.Func<T, GAAPICommon.Core.Dtos.ServiceCallResultDto<U>> |
apiCall |
Method the handles the channel call
|
Returns
| Type |
Description |
| GAAPICommon.Architecture.IServiceCallResult<U> |
|
Type Parameters
|
Improve this Doc
View Source
HandleSubscriptionHeartbeat(T, Guid)
Abstract implementation of callback registration.
Declaration
protected abstract void HandleSubscriptionHeartbeat(T channel, Guid key)
Parameters
| Type |
Name |
Description |
| T |
channel |
Channel to use for communication
|
| System.Guid |
key |
Unique client identifier
|
|
Improve this Doc
View Source
SetInstanceContext()
Declaration
protected abstract void SetInstanceContext()
Events
|
Improve this Doc
View Source
Connected
Fired whenever a callback client successfully registers with the server.
Declaration
public event Action<DateTime> Connected
Event Type
| Type |
Description |
| System.Action<System.DateTime> |
|
|
Improve this Doc
View Source
Disconnected
Fired whenever a callback client fails to register or maintain its registration with the server.
Declaration
public event Action<DateTime> Disconnected
Event Type
| Type |
Description |
| System.Action<System.DateTime> |
|
Implements
System.IDisposable


⇝ TRUST ME I GOT THIS. ⛄
Hello there! my name is Edmon Villanueva, an aspiring programmer/web developer. I previously worked as a data entry clerk in a clinic specially for OFW's before I decided to pursue a career in programming.On my spare time, I work on some side projects, play online games, watch tv-series, movies etc. I graduated college with a degree in Computer Technology. READ MORE...
*Skill level percentages are based on these categories: Beginner, Familiar, Proficient, Expert, Master. Hover to view category.
Build websites according to client's specifications, handles web design, web content development and website deployment.
Creates websites that provide an optimal viewing experience across a wide range of devices (from mobile phones to desktop computer monitors.)
Develops beautiful and simple Windows desktop applications customized to your needs using java.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates incidunt harum explicabo, ipsam eius ipsum repellat excepturi quo dolorum iusto. Quos provident nesciunt dolorem nisi adipisci. Hic nisi, perferendis ipsam.
Have you ever joined a coding bootcamp? Do you want to know how it is like to be in one?
PS: It's Fun!
Life should be easy and at the same time Web developement shouldn't be this hard ☺.
We all come to the point when we found that one thing that will make our life much much more easier!. So here I listed some web development tools that will make you say Where have you been all this time?