public interface WatchService extends Closeable
A Watchable
object is registered with a watch service by invoking
its register
method, returning a WatchKey
to represent the registration. When an event for an object is detected the
key is signalled, and if not currently signalled, it is queued to
the watch service so that it can be retrieved by consumers that invoke the
poll
or take
methods to retrieve keys
and process events. Once the events have been processed the consumer
invokes the key's reset
method to reset the key which
allows the key to be signalled and re-queued with further events.
Registration with a watch service is cancelled by invoking the key's
cancel
method. A key that is queued at the time that
it is cancelled remains in the queue until it is retrieved. Depending on the
object, a key may be cancelled automatically. For example, suppose a
directory is watched and the watch service detects that it has been deleted
or its file system is no longer accessible. When a key is cancelled in this
manner it is signalled and queued, if not currently signalled. To ensure
that the consumer is notified the return value from the reset
method indicates if the key is valid.
A watch service is safe for use by multiple concurrent consumers. To
ensure that only one consumer processes the events for a particular object at
any time then care should be taken to ensure that the key's reset
method is only invoked after its events have been processed. The close
method may be invoked at any time to close the service causing
any threads waiting to retrieve keys, to throw ClosedWatchServiceException
.
File systems may report events faster than they can be retrieved or
processed and an implementation may impose an unspecified limit on the number
of events that it may accumulate. Where an implementation knowingly
discards events then it arranges for the key's pollEvents
method to return an element with an event type of OVERFLOW
. This event can be used by the
consumer as a trigger to re-examine the state of the object.
When an event is reported to indicate that a file in a watched directory
has been modified then there is no guarantee that the program (or programs)
that have modified the file have completed. Care should be taken to coordinate
access with other programs that may be updating the file.
The FileChannel
class defines methods
to lock regions of a file against access by other programs.
The implementation that observes events from the file system is intended
to map directly on to the native file event notification facility where
available, or to use a primitive mechanism, such as polling, when a native
facility is not available. Consequently, many of the details on how events
are detected, their timeliness, and whether their ordering is preserved are
highly implementation specific. For example, when a file in a watched
directory is modified then it may result in a single ENTRY_MODIFY
event in some
implementations but several events in other implementations. Short-lived
files (meaning files that are deleted very quickly after they are created)
may not be detected by primitive implementations that periodically poll the
file system to detect changes.
If a watched file is not located on a local storage device then it is implementation specific if changes to the file can be detected. In particular, it is not required that changes to files carried out on remote systems be detected.
FileSystem.newWatchService()
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes this watch service.
|
WatchKey |
poll()
Retrieves and removes the next watch key, or
null if none are
present. |
WatchKey |
poll(long timeout,
TimeUnit unit)
Retrieves and removes the next watch key, waiting if necessary up to the
specified wait time if none are yet present.
|
WatchKey |
take()
Retrieves and removes next watch key, waiting if none are yet present.
|
void close() throws IOException
If a thread is currently blocked in the take
or poll
methods waiting for a key to be queued then
it immediately receives a ClosedWatchServiceException
. Any
valid keys associated with this watch service are invalidated
.
After a watch service is closed, any further attempt to invoke
operations upon it will throw ClosedWatchServiceException
.
If this watch service is already closed then invoking this method
has no effect.
close
in interface AutoCloseable
close
in interface Closeable
IOException
- if an I/O error occursWatchKey poll()
null
if none are
present.null
ClosedWatchServiceException
- if this watch service is closedWatchKey poll(long timeout, TimeUnit unit) throws InterruptedException
timeout
- how to wait before giving up, in units of unitunit
- a TimeUnit
determining how to interpret the timeout
parameternull
ClosedWatchServiceException
- if this watch service is closed, or it is closed while waiting
for the next keyInterruptedException
- if interrupted while waitingWatchKey take() throws InterruptedException
ClosedWatchServiceException
- if this watch service is closed, or it is closed while waiting
for the next keyInterruptedException
- if interrupted while waitingDracula Javadoc Sample, Made with Allan Im.


{% raw %} {% endraw %}
The results of FastText analysis are as follows:
Note: Similarity values greater than 0.5 are unrealiable. A similarity value of 0 indicates perfect match, read about Jensen-Shannon distance metric for more information.


08/20/2014 |
Kick-Off General Body MeetingNSBE will be having their first General Body Meeting of the year on September 10, 2014 at 8PM in Patrick F. Taylor, Rm. 2222. The meeting will offer an Alumni Panel, Regional and National conference updates, study group sign-ups, and much more important information. Come out and bring a friend! Tweet Out |
08/16/2014 |
Welcome to the Offical LSU NSBE HomepageThe time has finally come! Welcome to LSU NSBE's first, hand-coded, fully customized and designed from sratch website. This site will be your up to date source for all of NSBE's events, news, and information relevant to your life. The site features an informative homepage where you can see NSBE's most recent news, upcoming events, and meetings, as well as sections to get connected to NSBE's emailing list and contact NSBE directly with questions or comments. We also have a section where you can get to know your E-Board, so be sure to check it out. Bookmark this site, share it with your friends, and be sure to come back often for the latest NSBE news. Tweet Out |


Thank you for downloading GitKraken! Your download should start automatically.If it doesn’t, please click here.
Here’s an intro video to get you started.


For information on allergens, contact the restaurant and make sure it suits your dietary
needs. You can find the possibility to contact the restaurant as follows:
- You can find the restaurant’s contact information from the restaurant’s info page.
- Contact the restaurant for ingredients and food preparation.
Please leave notes for the chef with instructions (no nuts, no lactose, no gluten, etc.). The
ability to leave notes for the chef are in the cart preview or before adding a specific item to
the cart.


Cellular Basis#
Cellular algebras are a class of algebras introduced by Graham and Lehrer
[GrLe1996]. The CellularBasis
class provides a general framework for
implementing cellular algebras and their cell modules and simple modules.
Let \(R\) be a commutative ring. A \(R\)-algebra \(A\) is a cellular algebra if it has a cell datum, which is a tuple \((\Lambda, i, M, C)\), where \(\Lambda\) is finite poset with order \(\ge\), if \(\mu \in \Lambda\) then \(T(\mu)\) is a finite set and
such that the following holds:
The set \(\{c^\mu_{st}\mid \mu\in\Lambda, s,t\in T(\mu)\}\) is a basis of \(A\).
If \(a \in A\) and \(\mu\in\Lambda, s,t \in T(\mu)\) then:
\[a c^\mu_{st} = \sum_{u\in T(\mu)} r_a(s,u) c^\mu_{ut} \pmod{A^{>\mu}},\]where \(A^{>\mu}\) is spanned by
\[`\{c^\nu_{ab} | \nu > \mu\text{ and } a,b \in T(\nu)\}`.\]Moreover, the scalar \(r_a(s,u)\) depends only on \(a\), \(s\) and \(u\) and, in particular, is independent of \(t\).
The map \(\iota \colon A \longrightarrow A; c^\mu_{st} \mapsto c^\mu_{ts}\) is an algebra anti-isomorphism.
A cellular basis for \(A\) is any basis of the form \(\{c^\mu_{st} \mid \mu \in \Lambda, s,t \in T(\mu) \}\).
Note that the scalars \(r_a(s,u) \in R\) depend only if \(a\), \(s\) and \(u\) and,
in particular, they do not depend on \(t\). It follows from the definition of
a cell datum that \(A^{>\mu}\) is a two-sided ideal of \(A\). More importantly,
if \(\mu \in \Lambda\) then the
CellModule
\(C^\mu\) is the
free \(R\)-module with basis \(\{c^\mu_s \mid \mu \in \Lambda, s \in T(\mu)\}\)
and with \(A\)-action:
where the scalars \(r_a(s,u)\) are those appearing in the definition of the cell datum. It follows from the cellular basis axioms that \(C^\mu\) comes equipped with a bilinear form \(\langle\ ,\ \rangle\) that is determined by:
The radical of \(C^\mu\) is the \(A\)-submodule
\(\operatorname{rad} C^\mu = \{x \in C^\mu | \langle x,y \rangle = 0 \}\).
Hence, \(D^\mu = C^\mu / \operatorname{rad} C^\mu\) is also an \(A\)-module.
It is not difficult to show that \(\{ D^\mu \mid D^\mu \neq 0 \}\) is a
complete set of pairwise non-isomorphic \(A\)-modules. Hence, a cell datum for
\(A\) gives an explicit construction of the irreducible \(A\)-modules. The module
simple_module()
\(D^\mu\) is either zero or absolutely irreducible.
EXAMPLES:
We compute a cellular basis and do some basic computations:
sage: S = SymmetricGroupAlgebra(QQ, 3)
sage: C = S.cellular_basis()
sage: C
Cellular basis of Symmetric group algebra of order 3
over Rational Field
See also
AUTHOR:
Travis Scrimshaw (2015-11-5): Initial version
REFERENCES:
- class sage.algebras.cellular_basis.CellularBasis(A)#
Bases:
CombinatorialFreeModule
The cellular basis of a cellular algebra, in the sense of Graham and Lehrer [GrLe1996].
INPUT:
A
– the cellular algebra
EXAMPLES:
We compute a cellular basis and do some basic computations:
sage: S = SymmetricGroupAlgebra(QQ, 3) sage: C = S.cellular_basis() sage: C Cellular basis of Symmetric group algebra of order 3 over Rational Field sage: len(C.basis()) 6 sage: len(S.basis()) 6 sage: a,b,c,d,e,f = C.basis() sage: a C([3], [[1, 2, 3]], [[1, 2, 3]]) sage: c C([2, 1], [[1, 3], [2]], [[1, 2], [3]]) sage: d C([2, 1], [[1, 2], [3]], [[1, 3], [2]]) sage: a * a C([3], [[1, 2, 3]], [[1, 2, 3]]) sage: a * c 0 sage: d * c C([2, 1], [[1, 2], [3]], [[1, 2], [3]]) sage: c * d C([2, 1], [[1, 3], [2]], [[1, 3], [2]]) sage: S(a) 1/6*[1, 2, 3] + 1/6*[1, 3, 2] + 1/6*[2, 1, 3] + 1/6*[2, 3, 1] + 1/6*[3, 1, 2] + 1/6*[3, 2, 1] sage: S(d) 1/4*[1, 3, 2] - 1/4*[2, 3, 1] + 1/4*[3, 1, 2] - 1/4*[3, 2, 1] sage: B = list(S.basis()) sage: B[2] [2, 1, 3] sage: C(B[2]) -C([1, 1, 1], [[1], [2], [3]], [[1], [2], [3]]) + C([2, 1], [[1, 2], [3]], [[1, 2], [3]]) - C([2, 1], [[1, 3], [2]], [[1, 3], [2]]) + C([3], [[1, 2, 3]], [[1, 2, 3]])
- cell_module_indices(la)#
Return the indices of the cell module of
self
indexed byla
.This is the finite set \(M(\lambda)\).
EXAMPLES:
sage: S = SymmetricGroupAlgebra(QQ, 3) sage: C = S.cellular_basis() sage: C.cell_module_indices([2,1]) Standard tableaux of shape [2, 1]
- cell_poset()#
Return the cell poset of
self
.EXAMPLES:
sage: S = SymmetricGroupAlgebra(QQ, 3) sage: C = S.cellular_basis() sage: C.cell_poset() Finite poset containing 3 elements
- cellular_basis()#
Return the cellular basis of
self
, which isself
.EXAMPLES:
sage: S = SymmetricGroupAlgebra(QQ, 3) sage: C = S.cellular_basis() sage: C.cellular_basis() is C True
- cellular_basis_of()#
Return the defining algebra of
self
.EXAMPLES:
sage: S = SymmetricGroupAlgebra(QQ, 3) sage: C = S.cellular_basis() sage: C.cellular_basis_of() is S True
- one()#
Return the element \(1\) in
self
.EXAMPLES:
sage: S = SymmetricGroupAlgebra(QQ, 3) sage: C = S.cellular_basis() sage: C.one() C([1, 1, 1], [[1], [2], [3]], [[1], [2], [3]]) + C([2, 1], [[1, 2], [3]], [[1, 2], [3]]) + C([2, 1], [[1, 3], [2]], [[1, 3], [2]]) + C([3], [[1, 2, 3]], [[1, 2, 3]])
- product_on_basis(x, y)#
Return the product of basis indices by
x
andy
.EXAMPLES:
sage: S = SymmetricGroupAlgebra(QQ, 3) sage: C = S.cellular_basis() sage: la = Partition([2,1]) sage: s = StandardTableau([[1,2],[3]]) sage: t = StandardTableau([[1,3],[2]]) sage: C.product_on_basis((la, s, t), (la, s, t)) 0


Behavior
Like its pre-evolution, it is rarely calm, quickly enraged. He has a sensitive dream, if you wake him up, he will chase after you even in a drowsy state. But worst of all, if you give a primitive a real reason for anger, then it will chase you even to the end of the world and will not calm down until it is well-rounded. And it is useless to resist - because of this, the Primeape will only get even more angry.


HugeArrayNext(), HugeArrayPrev(), HugeArrayExpand(), HugeArrayContract(), HugeArrayEnum(), HugeArrayCompressBlocks(), ECCheckHugeArray()
The routines in the other section may be all you will need for using Huge Arrays. However, you can improve access time by taking advantage of the structure of a Huge Array. As noted above, you can use any of the VM Chain routines on a Huge Array, as long as none of the blocks are locked.
If you have been accessing an element in a Huge Array and you want to move
on to the next one, you can call the routine HugeArrayNext()
.
The routine takes a pointer to a pointer to the element. It changes that
pointer to point to the next element in the array, which may be in a
different block. If the routine changes blocks, it will unlock the old block
and lock the next one. It returns the number of consecutive elements starting
with the element we just advanced to. If we were at the last element in the
Huge Array, it returns zero and the pointer will point to the last element.
If you want to move to the previous element instead of the next one, call
HugeArrayPrev()
. It also takes a pointer to a pointer to an
element. It changes that pointer to a pointer to the previous element; if
this means switching blocks, it unlocks the current block and locks the
previous one. It returns the number of elements which come before the
newly-locked one in its block, counting the newly-locked element. If the
pointer was pointing to the first element in the Huge Array, it returns
zero and the pointer will point to the first element.
If you have a block of the Huge Array locked and you want to insert an element or elements at an address in that block, call the routine
HugeArrayExpand()
. It takes three arguments:
The routine inserts the elements, dirtying any appropriate blocks. It writes a pointer to the first new element into the pointer passed. Since the data block may be resized or divided to accommodate the request, this address may be different from the one you pass. The routine returns the number of consecutive elements beginning with the one whose address was written. If the new element is in a different block from the address passed, the old block will be unlocked, and the new one will be locked.
If you have a block of a Huge Array locked and you want to delete one or more elements starting with one within the block, you can call
HugeArrayContract()
. This routine takes two arguments:
The routine deletes the elements, dirtying any appropriate blocks. It then changes the pointer to point to the first element after the deleted ones. If this element is in a different block, it will unlock the old block and lock the new one. It returns the number of consecutive elements following the one whose address was written.
You may wish to perform the same operation on a number of consecutive elements of a Huge Array.
HugeArrayEnum()
is a routine which lets you do this efficiently.
HugeArrayEnum()
takes six arguments:
HugeArrayEnum()
. The callback routine can abort the enumeration by returning
true
(
i.e.
, non-zero).
HugeArrayEnum()
calls the callback routine for every element, in order, from the first element. It passes the callback a pointer to the element and the pointer passed to
HugeArrayEnum()
. The callback routine may not do anything which would invalidate any pointers to the Huge Array; for example, it may not allocate, delete, or resize any of the elements. The callback routine should restrict itself to examining elements and altering them (
without
resizing them). The callback routine can abort the enumeration by returning
true
(
i.e.
, non-zero); if it does so,
HugeArrayEnum()
will return
true
. If
HugeArrayEnum()
finishes the enumeration without aborting, it returns
false
(
i.e.
, zero).
If the count is large enough to take
HugeArrayEnum()
past the end of the array,
HugeArrayEnum()
will simply enumerate up to the last element, then stop. For example, if you pass a start index of 9,000 and a count of 2,000, but the Huge Array has only 10,000 elements,
HugeArrayEnum()
will enumerate up through the last element (with index 9,999) then stop. However, the starting index
must
be the index of an element in the Huge Array. You can also pass a count of -1, indicatingg that
HugeArrayEnum()
should enumerate through the last element of the array. Therefore, to enumerate the entire array, pass a starting element of zero and a count of -1.
As noted above, most Huge Arrays contain a fair amount of unused space. This makes it much faster to add and remove elements, since blocks don't need to be resized very often. However, if you have a Huge Array that is not frequently changed, this is an inefficient use of space. You can free this space by calling
HugeArrayCompressBlocks()
. This routine is passed two arguments: the handle of the VM file, and the
VMBlockHandle
of the Huge Array. The routine does not change any element in the Huge Array; it simply resizes the directory and data blocks to be no larger than necessary to hold their elements. The routine does not return anything.
If you want to verify (in error-checking code) that a given VM block is the directory block of a Huge Array, you can call
ECCheckHugeArray()
. This routine is passed the VM file and block handles of the block in question. If the block is the directory block of a Huge Array, the routine returns normally; otherwise it causes a fatal error. The routine should not, therefore, be used in non-EC code.


Welcome to IBRI Administrator Panel. In this administration panel you will be allowed to manage the client's data, see the results of a mission, resume it, or delete the mission. Also you can add, edit or remove drones. If you want to go back to the mission map, click over "Create Mission" option in the menu.


Geniues Digital Artist - Better Battlelog Forums #77266
Sitemap
18. January 2013 13:53
Topicstarter
BrainFooLong
Administrator
This guy.... I can't tell ya, it's incredible.
Watched 10 vids currently and i can't get enough
http://www.youtube.com/watch?v=F_-wWJITam4&list=UUXoIFuHdVHm-Zp9umA2seRQ


ColorWare Now Offering Custom-Painted AirPods Pro for $389
by Juli CloverColorWare, a company that designs custom-painted Apple products, today began offering custom-painted versions of the AirPods Pro, a little over a week after the AirPods Pro first debuted.
ColorWare is offering the AirPods Pro in dozens of custom colors, ranging from solids to metallics in all colors of the rainbow. Jet black gloss, deep purple, yellow, orange, red, gold, silver, and more are options.
Each AirPod Pro earbud can be painted in a different shade, and the Wireless Charging Case can also be painted in a unique color. Users can choose between a matte or gloss finish.
A custom version of the AirPods Pro will cost $389, which is a $139 premium over the base $250 price tag. Customizing the AirPods Pro case as well costs an additional $50, for a total of $439.
ColorWare is using Apple's base AirPods Pro for the customization, so these have all of the standard features of the AirPods Pro such as Active Noise Cancellation, Adaptive EQ, and more, with no change in functionality due to the painting.
To create AirPods Pro in custom colors, ColorWare disassembles them and then carefully custom paints each individual component. There is, unfortunately, no option for sending in existing AirPods.
All ColorWare work is guaranteed for 12 months, and 24 months with the purchase of an additional warranty. Returns are available for the first 30 days but are subject to a 25 percent restocking fee.
Custom AirPods Pro can be ordered from the ColorWare website starting today and will ship out in approximately three to four weeks. ColorWare also makes custom-painted AirPods 2 and other Apple products like the Magic Keyboard and Magic Mouse 2.


This element of the service will be added at a later stage.
To register for a licence for controlled items and services, log in to SPIRE.


Set of functions to make the processing and analysis of
surveys easier : interactive shiny apps and addins for data recoding,
contingency tables, dataset metadata handling, and several convenience
functions.
| Version: |
0.7.0 |
| Depends: |
R (≥ 2.10) |
| Imports: |
shiny (≥ 1.0.5), miniUI, rstudioapi, highr, classInt, htmltools, graphics, stats, utils, labelled (≥ 2.0.0) |
| Suggests: |
memisc, testthat, roxygen2, dplyr, tidyr, janitor, forcats, knitr |
| Published: |
2018-11-26 |
| Author: |
Julien Barnier [aut, cre],
François Briatte [aut],
Joseph Larmarange [aut] |
| Maintainer: |
Julien Barnier <julien.barnier at ens-lyon.fr> |
| BugReports: |
https://github.com/juba/questionr/issues |
| License: |
GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: |
https://juba.github.io/questionr/ |
| NeedsCompilation: |
no |
| SystemRequirements: |
xclip (Linux) |
| Materials: |
NEWS |
| In views: |
OfficialStatistics |
| CRAN checks: |
questionr results |


KVM MANAGER
Portals
Administration Portal
Username:
Password:
Login
Input License
Submit Key
Key
:(input the key and submit)
Current Machine Code:
Current License:
Update
Cancel


When I saw an article on The Telegraph about Beyoncé in a new music video with Coldplay and Sonam Kapoor, it got me thinking about something I had witnessed in Cameroon. When I went back to Cameroon last year for the Christmas holidays I noticed a lot of women wearing sarees and churidars.
My immediate reaction (in my head of course) was ‘hmm na so Indian dem di cam take over pays, anyhow ie fine. Na wa own diversity be this’.
This really pissed me off and I couldn't understand why some of us Cameroonians think it is fashionable to wear sarees while stereotyping Indians for having bad breath. Upon reading this article on The Telegraph it then occurred to me that this was an example of cultural appropriation. So what is cultural appropriation and why do we keep going on about it?
I noticed that there are many examples in the west of white stars adopting certain aspects of black culture as cool and fashionable while failing to speak out on critical issues of white on black racism. Or everyday Britons wanting to go eat some authentic Caribbean food while making sure that the restaurant in question is not in a ‘shady’ neighbourhood.
Let's go ahead and consider these two examples: One, a teenage girl born to a Native American chief is kidnapped and forced to marry an Englishman. She is then taken to England and used as an icon to encourage the oppression of Native Americans by the English. Two, another teenage girl born to German Jews. Went into hiding with her family due to Hitler's oppression of Jews and wrote a diary that eventually became one of the most widely read books of our time.
Now these two young women have had deeply traumatic lives. However Walt Disney has warped and romanticised the story of pocahontas into a money making fairytale with a happy ending. Can we imagine what would happen if the same was done with Anne Frank's story, maybe depicting her as some Jewish girl who eloped and lived happily ever after with a Nazi officer?
Question is, where do we draw the line between cultural appreciation and appropriation? When does it become offensive for someone to adopt aspects of a culture that isn't theirs?
Receive new posts straight to your inbox.


./komodod -ac_name=ZAWY24 -ac_adaptivepow=1 -ac_supply=1000000 -ac_reward=10000000000 -ac_cc=2 -addnode=<IP_ADDRESS> &
A channel to discuss mining. For useful links and more info click the pinned messages to the right.
100 messages
Before 05-Dec-19 12:00 AM
Mylo29-Dec-18 10:57 PM
Luckpool .net and .org have different ui. .net looks like updated by messages on screen. Was lazily looking for a hush pool. Cool, jeezy then likes pixel art graphic style and retro-ness
dukeleto30-Dec-18 12:15 AM
.org is the older infra and .net is the new
BlackJesus30-Dec-18 06:45 PM
dude
komodos difficulty has skyrocketed :X
40 m/sols
it was 27 for the longest
whelp nvm i understand
It's creeped up into profitability, because it's apparently one of the most resilient equihash coins in this bear market(edited)
Komodo mining pool is a mining pool for mining Komodo (KMD), the first komodo pool and best on web. On komodominingpool.com you can mine with your CPUs and GPUs.
It's definitely not the difficulty
jl777c30-Dec-18 07:33 PM
likely the diff ->msols conversion algo on that website
A NOMP based stratum for the Komodo platform. Contribute to webworker01/knomp development by creating an account on GitHub.
Captain_Jack31-Dec-18 01:27 AM
thanks...I see this has asset chain options....cool...will fire it up...thanks.
Btw...I mined at kmd.solopool.com and the site went down and 3 immature blocks disappeared after I mined for day...site came back up 2 hours later...blocks show confirmed and not paid. Miners beware
NutellaLicka31-Dec-18 05:01 AM
JL, what is the diff to sol/s calc if it is different?
Portypete31-Dec-18 05:35 AM
ive been at the top at supnova for months now... 2 others there are put up some high hash powers.
ComputerGenie 👴👴👴31-Dec-18 08:39 AM
suprnova needs some math
Rank User Name KH/s KMD/Day
1 paulatzarr 103,663,905 0.033
(edited)
$tefano.31-Dec-18 11:54 AM
even if diff and globalhash rate it's huge my pool have more than 80% of luck today
ComputerGenie 👴👴👴31-Dec-18 07:13 PM
@jl777c fwiw, the 40M+ network number comes from the daemon
Contribute to TheComputerGenie/KMD-solo-mining development by creating an account on GitHub.
1
1
1
because it's a new year
PTYX01-Jan-19 03:36 PM
The objective is a "light-weight" pool that does what needs to be done.
$tefano.01-Jan-19 05:07 PM
with many kmd solo mining pool I think that is it is no longer necessary to maintain pool open.
4.48 MSol/s hashrate from know pool against 33.88 MSol/s of solo hidden pools
i want evaluate if it's better to shutdown pool
ComputerGenie 👴👴👴01-Jan-19 05:16 PM
imo, both are needed
I think that anyone that can solo should, but anyone that feels they benefit from a group pool should do that too
as a side note: I'm OK with it if chickenpool becomes the only public KMD pool there is in 2019
$tefano.01-Jan-19 09:07 PM
keep public pool open requires more work and more money compared to a simple localhost PC
both are needed but solo is better
ComputerGenie 👴👴👴01-Jan-19 09:19 PM
I'll always have mixed emotions/beliefs about solo vs public, but other than the pool fee they are kinda moot for KMD itself
more solo = more nodes being still true, though(edited)
$tefano.01-Jan-19 09:29 PM
keep more solo ( or future masternodes? ) could be better for stability against public pool, global hashrate is the demonstration. 10% of hashrate of 10 know pools against 90% of hidden pools( how many?)
ComputerGenie 👴👴👴01-Jan-19 09:30 PM
well, I'm firmly against masternodes
$tefano.01-Jan-19 09:30 PM
me too
ComputerGenie 👴👴👴01-Jan-19 09:32 PM
it's not too hard (although it is CPU intensive) to make an educated guess about how many solos there are
Urakawa02-Jan-19 10:38 AM
What is the best pool, in terms of rewards and stability?
@Urakawa you will have to do your own research on this. But I imagine on average, all pools will give the best rewards (not taking into account pool fees). And stability isnt something that is tracked per se.(edited)
NutellaLicka03-Jan-19 01:09 AM
Congratulations to all the winners on the https://minethechains.com/#CompetitionResults Christmas Mining Competition.
Winners, please contact @NutellaLicka a on the Pirate Discord if you'd like it !arrrtip to you directly(you will need to prove it is your address by setting a miner.name to a word of my choosing), otherwise I will be sending these addresses the ARRR on the 7th of January via an !arrrtip withdrawal in the #mining channel! We appreciate your use of the pool and would love to hear your thoughts on pool improvements.
zs13jz26wv6jd2h6xsfl2gh65z9ap3ak7g7xvf9w8q0w797r8y8dhucf82xc3vkeytzkfumct8hq2r
zs1g5k6da9a03zm500da588y2m6rwuh032shp53skzqwmu4x940u3k8a4xfzrz4twsfh27w6rmdg5m
zs13w73tdvnd2ehyn9vzr6f3zlydlgsghvq78uelmgg00vftmdq7yz75xh65ysul4g26preuqs6jeh
I'd like to congratulate @Dr4gonTrader as the first contestant to come forward and prove their address!
They have been !arrrtip 'd in the Pirate Discord channel Happy Mining!
$tefano.03-Jan-19 08:05 AM
hi guys, I'm very sorry about this news but it's time to shutdown my pool.
Costs to maintain pool up ( 5 dedicated servers) it's more expensive.
I supported Komodo project since start with my pool but keep it open for 30 miners it has become unsustainable.
Shutdown planned on 4th ( tomorrow morning ) at 11:00 AM - CET
Thanks to all those who supported the pool and komodo developers for this big project
Enjoy(edited)
Cryptoon03-Jan-19 09:14 AM
Understandable, but a pity nonetheless
blackjok3r03-Jan-19 09:19 AM
Chicken pool it is @ComputerGenie 👴👴👴
1
ComputerGenie 👴👴👴03-Jan-19 01:57 PM
just in time, finally took down RKT yesterday and I should have pool back up today or tomorrow(edited)
SHossain03-Jan-19 02:06 PM
@ツ#7004 you can shut down RKT chain if you want. there is no need for that chain anymore
@ComputerGenie 👴👴👴 ^^
Thank you very much for helping with the sapling testing on that chain
ComputerGenie 👴👴👴03-Jan-19 02:08 PM
@SHossain I had it running there and still using it here working on pool stuff for PIRATE; much easier to hit a GPU block than a 95M sols chain block
SHossain03-Jan-19 02:11 PM
if you want to continue testing, there is no issue. you can keep it up
ComputerGenie 👴👴👴03-Jan-19 02:11 PM
thanks for your permission (edited)
SHossain03-Jan-19 02:11 PM
BlackJesus03-Jan-19 02:52 PM
@$tefano. thanks man I mined a little over 2k from your pool and recently made the switch to luck pool a couple of days ago just for more consistent payouts. But thanks for hosting for so long.
$tefano.03-Jan-19 03:22 PM
NutellaLicka03-Jan-19 05:19 PM
If you're looking for a new kmd pool, try https://minethechains.com we would love to have you aboard :)
dukeleto03-Jan-19 07:30 PM
BEAM mining started, and they integrated GPU mining directly into their full node
they are using equihash (150,5) and Zcash is thinking of adopting that as their new PoW that will be phased in
From Announcing Zcash Blossom and proposed feature goals: Harmony Mining What is it? A dual-proof-of-work scheme, where one algorithm is backwards compatible with current mining equipment, and anot...
NutellaLicka03-Jan-19 08:41 PM
Anyone deal with or know the beam team?
$tefano.03-Jan-19 10:18 PM
@dukeleto when do you think that zcash could change algo? this year?(edited)
Bug description Sending to self works and the transaction is confirmed Sending to an address not in the local node seems to require that the receiving node is online. To Reproduce send transaction ...
@$tefano. it's not changing algos, they want to have 2 PoW algos, at first the new algo will only be 5% and phased in to 50% after 2 years, is what they are currently talking
NutellaLicka04-Jan-19 12:15 AM
Mmh okay. I've only had a quick look, but are they selling themselves as a privacy currency?
dukeleto04-Jan-19 12:59 AM
yes, it seems so. "Mimblewimble implementation", confidential and privacy are the main buzzwords
polycryptoblog04-Jan-19 01:34 AM
how can one be private without being able to do offline transactions?
I’m thoroughly opposed to this time-locking, as I’ve made clear on the GitHub issue. This proposal was made by @zooko only 23 days ago, without any background discussion or consultation with engineers — most of whom have been on holiday for much of that period. It wa...
ComputerGenie 👴👴👴05-Jan-19 07:39 AM
“more fairly” distribute mining rewards
Does ZEC need a #safespace?
jl777c05-Jan-19 07:54 AM
they want an fpga dominated algo
actionslacks05-Jan-19 10:10 AM
If this schizm is not being recorded for posterity I would venture to posit that history is being wasted. we have an open source uprising on our hands here. First Linus, now Zooko, who is next?

 They are trying to make some kind of hierarchy of mining like GPUs/FPGA's are pure bloods and ASIC's are lower class citizens. When they are both doing the same job just one of them is specifically designed for it.
Alright05-Jan-19 10:47 PM
@NutellaLicka there is getblocksubsidy, but I'm not sure if that's what they use
They are likely just using the block template?
Ah read that as pools instead of explorers for some reason
if you're talking about where insight says "Block Reward", I believe that's a static value set it a config file somewhere
NutellaLicka05-Jan-19 11:30 PM
Yeah okay, I guess I am wondering about the transaction amount (cb) that is the first transaction to every block.
Alright05-Jan-19 11:31 PM
it's reading the data from chain?
NutellaLicka05-Jan-19 11:34 PM
Yeah I didn't know if there was a single RPC call. But I guess it's tx 0 in the block aha


--- layout: post title: Transcription made easy ---
Still from Julien (am clearing my work backlog), this tool lets you transcript easily video and audio. I can think of a nice applciation for synched lyrics in windows media player... Karaoke editor anyone? :)


I am offering introductory lessons in the following topics:
Learn the very fundamentals of programming while using in-demand languages like C#, Python, or Java.
Learn the very basics of application development.
Learn the very basics of web development.
Learn the very basics of database development.
Learn the very basics of computer science.
Learn the very basics of the Linux operating system.
An introduction to Software Modelling.
Learn about Version Control.
Learn the basics of Security and Encryption.
Receive an introduction to Cloud Computing.
Be Introduced to Virtual Machines.
Introductory level classes are appropriate for total newcomers as well as kids who are being introduced to IT. I also offer a clear line of progression, as well as advanced classes for more experienced students.
If you are interested, please contact me to make a booking.
Note: Some classes may require you to run third party software on your machine. You will always be notified beforehand if this is the case, and your permission will be requested.


Classes | |
| class | ckSysMgr |
| The system manager singleton. More... | |
Defines | |
| #define | ckMain() |
| The entry function of the application. | |
| #define | ckReadLittleEndian(data, type) ckSysMgr::readLittleEndianForSystem<type>(data) |
| Reads the specified data in little endian. | |
| #define | ckWriteLittleEndian(dest, value, type) ckSysMgr::writeLittleEndianForSystem<type>(dest, value) |
| Writes the specified data in little endian. | |
Functions | |
| CK_API void | ckCreateCatcake (const char *title, u16 width, u16 height, u16 aim_fps, u16 sys_flag=0) |
| Creates all the managers of Catcake. | |
| CK_API void | ckDestroyCatcake () |
| Destroys all the managers of Catcake. | |
| CK_API void | ckStartCatcake () |
| Starts the main loop of Catcake. | |
| CK_API void | ckEndCatcake () |
| Ends the application. | |
| CK_API void | ckError (const char *msg,...) |
| Raise an error. |
| #define ckMain | ( | ) |
Value:
int main(int argc, char* argv[]) \ { \ ckSysMgr::setInitialDirectoryForSystem(argc, argv); \ \ extern void ckMain_(); \ ckMain_(); \ \ return 0; \ } \ void ckMain_()
| #define ckReadLittleEndian | ( | data, | |||
| type | ) | ckSysMgr::readLittleEndianForSystem<type>(data) |
Reads the specified data in little endian.
| [in] | data | The data. |
| [in] | type | The class type. |
| #define ckWriteLittleEndian | ( | dest, | |||
| value, | |||||
| type | ) | ckSysMgr::writeLittleEndianForSystem<type>(dest, value) |
Writes the specified data in little endian.
| [out] | dest | The destination. |
| [in] | value | The value to be written. |
| [in] | type | The class type. |
| CK_API void ckCreateCatcake | ( | const char * | title, | |
| u16 | width, | |||
| u16 | height, | |||
| u16 | aim_fps, | |||
| u16 | sys_flag = 0 | |||
| ) |
Creates all the managers of Catcake.
| [in] | title | The title of the application. |
| [in] | width | The width of the framebuffer. |
| [in] | height | The height of the framebuffer. |
| [in] | aim_fps | The aim fps. |
| [in] | sys_flag | System flag. |
| CK_API void ckError | ( | const char * | msg, | |
| ... | ||||
| ) |
Raise an error.
| msg | An error message. | |
| ... | Additional arguments. |


Intended ports must be notified one week in advance of ETA and again 24 hours before ETA.
On arrival and departure at every port Customs and Immigration must be visited and the landing card for the next port presented.
Foreign vessels may not enter or leave ports, or shift berths within a port, without permission from the Port Authority and, possibly, without a pilot being sent on board.
Vessels entering or leaving any port may be submitted to a quarantine examination and an inspection by the Port Authorities and other relevant organisations.
After having berthed in the place assigned by the Port Authority, the captain must present the ship's papers and crew's passports and also prepare the following documents: foreign vessel's entry report, crew list, import manifest and a customs declaration. Other documents that may be required are a valid survey certificate of vessel or builder's certificate, and the captain's certificate of competence. It is important to have a ship's stamp to use on documents.
Yachts intending to visit Shanghai must take on board a pilot at the sea buoy. It has been reported that the pilot fee is extremely high, but the payment cannot be avoided as pilotage on the river is compulsory.
Before departure, the captain must submit a foreign vessel departure report, an export manifest and a list of crew replacements, if any have occurred.
In the recent past, some yachts which have visited China have not been obliged to engage the services of a pilot, although the regulations stipulate that this is compulsory. The same applies to the services of an agent (see recommended agents under clearance for each port). The official organisation allowed to act as agents on behalf of foreign vessels is China Ocean Shipping Agency (Penavico). This is a state-owned company under the Ministry of Communications and has offices located in many coastal cities. www.Penavico.sh.cn. An email contact there is<EMAIL_ADDRESS>. In 2011 however, cruisers attempting to contact Penavico received no reply.
Another organisation which may be able to offer help is:-
Quingdao Administration Centre of Sailing
www.qdsailing.org (although this website has not been updated since 2010)
Email contact<EMAIL_ADDRESS>Cruisers Carol and Brian Boswell (email<EMAIL_ADDRESS>are happy to answer questions as they have previously cruised in China.
Yachts other than Hong Kong and Macau registered ones are not allowed into China for repairs.
Last updated December 2015.
Passports must be valid for at least six months beyond the date of the intended visit.
A visa is required by all visitors, obtainable in advance from Chinese embassies or consulates. The only exemptions are for citizens of Chinese origin, as well as residents of Hong Kong holding a certificate of return issued by the China Travel Service in Hong Kong.
Passports must be carried at all tome when ashore.
The length of a visa varies from one to three months. Travel permits may also be required for visits to certain areas.
Citizens of most countries can visit Macao without a visa.
After the vessel has been inspected by the authorities, in some ports crew members may have to apply to the Frontier Inspection office for landing permits.
Last updated February 2015.
Prohibited imports are firearms, pornographic material and any material considered politically offensive.
Valuables and photographic equipment must be declared to customs on arrival.
Note that if purchasing a yacht in China and taking it out of the country it will be eligible for a substantial amount of tax if it is brought back into China for any reason.
Last updated March 2015.
On arrival, a complete health declaration must be made. Malaria prophylaxis is recommended.
The tap water is not suitable for drinking. Bottled water is widely available.
Documents required are:-
Normal ship's papers, foreign vessel's entry report, crew list, import manifest and a customs declaration. Other documents that may be required are a valid survey certificate of vessel or builder's certificate, and the captain's certificate of competence.
It is important to have a ship's stamp to use on documents.
Vessels are prohibited from entering or passing through forbidden areas unless specially authorised by the relevant authorities. There are strict regulations concerning the access and movement of foreign vessels in Chinese territorial waters and ports. The most important regulations have been outlined, and although they may not be applied as strictly to yachts as to cargo ships or passenger vessels, anyone sailing to China should be aware of them.
No passenger or crew member of foreign vessels is allowed to photograph or make sketches of harbours.
Radios, radio telephones, radar, RDF, echo sounders, sextants, signal rockets, signal flares or signal guns shall not be used while in port. In case of an emergency or for dispatching urgent messages, one of the above may be used, but a report must be submitted immediately after usage.
China has a new rule in effect that all pets must go into quarantine for seven days even if they meet all the requirements of entry. At the end of the seven days the remainder of the 30 days quarantine period can be home quarantine. Bringing a pet into China is complicated even if you have the proper Health Certificate and Rabies Vaccination Certificate and it is recommended you use a specialist company such as Jialian Kennel - www.jialiang.com. Only one pet per adult is allowed into China. Documentation required for pet entry to China = - International Health Certificate issued in originating country showing name, age, sex and breed - Vaccination Certificate showing rabies shot has been given within the preceding 12 months but not less than 30 days before departure. Cats must be vaccinated against Enteritis (E3)within 12 months of arrival in China. You will also need a certificate for Feline Panleucopania, and Feline Respiratory Disease Complex vaccinations.


{% extends "global/Page.html" %} {% load staticfiles otree %} {% block body_main %} {% include 'phase_one/snippets/navbar.html' %} {{ block.super }} {% endblock %} {% block content %}
Consider the lottery that the winner gets in each of the following auctions. Which auction would you prefer to participate in?


This functionality may exist either constain on the Model Checking Results page of the Model Editor, or on its own page, depending on how the user has configured the Toolbox via the preferences.
Entering a constant expression in the Expression field of this section, and selecting the toggle button above and to the right of this field, will cause the value of that expression to appear in the Value field when TLC is run. The expression can use any constant operators defined or declared in the spec or elsewhere in the model. Used with the No behavior spec option on the Model Overview Page, this turns TLC into a mathematical calculator--one that computes arbitrary TLA+ expressions.


Issue 5644: Editing a disabled property makes another
Steps to reproduce
- Inspect the
<p>
above (#element1
)
-
Switch to the Style side panel
⇒ The "#element1" rule should have two enabled properties - "font" and "color"
-
Disable both of them
⇒ They should be grayed out
-
Rename the rule from "#element1" to "p#element1"
⇒ The disabled properties should still be there
-
Start changing "color" to contain "gray", then press
ESCAPE
⇒ It should revert to a disabled state containing "#700020"
-
Change "color" to contain "gray"
⇒ It should change value and become enabled again
-
Start adding a new property "font" containing "gray", then press
ESCAPE
⇒ Nothing should happen
-
Add a new property "font" containing "gray"
⇒ The disabled "font" property should disappear
- Disable the "color" property
-
Right-click to edit the inline element style and add a property "padding: 1px", then disable that property
⇒ It should succeed
-
In the command line, run "$0.style.margin = '1px';"
⇒ "padding" should still remain, disabled
-
In order, right-click and choose "
Delete "<property>"
" on "margin", "padding", and "font".
⇒ Property removal should work


It is possible to back any Recno database (either fixed or variable length) with a flat-text source file. The reason for this is to provide fast read (and potentially write) access to databases that are normally created and stored as flat-text files. The backing source file may be declared as part of the db_open call to open the database, specifically by setting the re_source element of the DB_INFO structure.
The backing source file will be read to initialize the database. In the case of variable length records, the records are assumed to be separated by the re_delim element of the DB_INFO structure. For example, standard UNIX byte stream files can be interpreted as a sequence of variable length records separated by ASCII newline characters.
In addition, when cached data would normally be written back to the underlying database file (e.g., DB->close or DB->sync functions are called), the in-memory copy of the database will be written back to the backing source file.
By default, the backing source file is read lazily, i.e., records are not read from the backing source file until they are requested by the application. If multiple processes (not threads) are accessing a recno database concurrently and either inserting or deleting records, the backing source file must be read in its entirety before more than a single process accesses the database, and only that process should specify the backing source file as part of the db_open call. This can be accomplished by setting the DB_SNAPSHOT flag in the DB_INFO structure.
Reading and writing the backing source file cannot be transactionally protected because it involves filesystem operations that are not part of the Berkeley DB transaction methodology. For this reason, if a temporary database is used to hold the records, i.e., a NULL was specified as the file argument to db_open, it is possible to lose the contents of the backing source file, e.g., if the system crashes at the right instant. If a permanent file is used to hold the database, i.e., a file name was specified as the file argument to db_open, normal database recovery on that file can be used to prevent information loss, although it is still possible that the contents of the backing source file itself will be lost if the system crashes.
The backing source file must already exist (but may be zero-length) when db_open is called.
For all of the above reasons, the backing source file is generally used to specify databases that are read-only for Berkeley DB applications, and that are either generated on the fly by software tools, or modified using a different mechanism, e.g., a text editor.


Congress Gets the OK to Look at Trump’s Tax Returns
by ERIKA WILLIAMSWASHINGTON (CN) – On the first day of public hearings in the impeachment probe of President Donald Trump, the D.C. Circuit gave Congress the go-ahead to take a peek at the president’s tax returns.
With public hearings underway, President Trump faced an upset on Wednesday after the federal court granted Congress permission to seek access to eight years of his tax filings.
A three-judge-panel in October rejected Trump’s request to bar Congress from subpoenaing the records from his accounting firm Mazars USA and his attorneys pined for a full panel to rehear the case.
On Wednesday, the federal appeals court responded by upholding the earlier decision to affirm Congress’ authority to request tax information and denied the requested rehearing.
D.C. Circuit Judges Karen LeCraft Henderson, a Bush appointee, and Trump nominees Gregory Katsas and Neomi Rao disagreed with Wednesday’s order —they would prefer to grant the president’s petition for a rehearing.
Judge Rao said the subpoena Congress was allowed to issue by a lower court, which was upheld on Wednesday, is unprecedented.
“The Committee exceeded its constitutional authority when it issued a legislative subpoena investigating whether the President broke the law,” wrote Rao in a dissenting opinion, adding, “Investigations of impeachable offenses simply are not, and never have been, within the legislative power because impeachment is a separate judicial power vested in Congress. The panel’s analysis of these issues misapprehends the gravamen of the Committee’s subpoena and glosses over the difficult questions it raises for the separation of powers.”
This separation-of-powers debate takes matters one step closer to a Supreme Court hearing, as Trump’s attorneys have publicly promised to pursue.
“The Constitution and our historical practice draw a sharp line between the legislative and judicial powers of Congress. By upholding this subpoena, the panel opinion has shifted the balance of power between Congress and the President and allowed a congressional committee to circumvent the careful process of impeachment,” Rao wrote Wednesday.
“Contrary to the President’s arguments, the Committee possesses authority under both the House Rules and the Constitution to issue the subpoena, and Mazars must comply,” wrote Judge David Tatel, a Clinton nominee.
The dissenting judges say this case involves personal records and no executive privilege assertion on the part of the president, which renders it a different issue than the current impeachment inquiry.
“Thus, the scope of required disclosure is determined not by neutral judges applying some form of rule-based interest balancing, but by the whim of Congress—the President’s constitutional rival for political power—or even, as in this case, by one committee of one House of Congress,” Kastas wrote.
“On the one hand, this case does not implicate the President’s need to secure candid advice from close governmental advisors—the interest supporting a presidential communications privilege covering various official-capacity records,” Kastas wrote.
On the other hand, the unavailability of that privilege “creates an open season on the President’s personal records,” according to Kastas.
“If the competing opinions here demonstrate anything, it is that this case presents exceptionally important questions regarding the separation of powers among Congress, the Executive Branch, and the Judiciary,” wrote Kastas, who was joined by Henderson in a written dissent on Wednesday.
Copyright © 2019 courthousenews.com


AbvOS is a fully decentralized loosely coupled distributed search engine and social network where the user control everything.
Abv (абв) are the first three letters in the bulgarian alphabet cyrillic
Technically speaking AbvOS is a Websockets based client-server architecture where every server is a node and every client is a agent/nomad and every group of clients is a clan in the AbvOS terminology
Some key points of interest.
- The user own his browsing history, bookmarks, searches, files, friends list etc on his device/s.
- Every message is encrypted.
- There is no tracking/logging system and no connection between nodes.
- Nobody can watch user activity except his friends
- The user with his clan of friends can jump freely like nomads from node to node.
- The user can ban/delete everybody from his clan
- The user or node owner can advertise something if want
- The user may be a human or a bot
- The abvos node can be started even in android phone
As a side effect, this design will cut the spread of fake news around the world
You can look at AbvOS as spiritual successor of the Inferno os and its Styx protocol
Also despite that I write it in Javascript and C for practical reasons if you are interested in programming I strongly recommend to
take a look at Haxe language.
AbvOS as haxe born, "Cherchez la femme" as always and that fact will be never forgotten.
I wrote its first components, better said prototypes in haxe and they are archived here.
I also have to mention
Now,
Heroku,
Openshift,
Cloudno.de,
Openode.io
because thanks to their generosity I can test my baby and you to see it in action here.
There is not much at the moment, be patient. More to come.
That is... :)


National Apprenticeship Week is now in its fifth year and aims to raise the profile of apprenticeships to employers, individuals, parents and teachers.
Matthew Coffey National Director of Learning and Skills said:
‘The value of apprenticeships cannot be underestimated, a point highlighted in a number of Ofsted reports, including the Annual Report and not least by National Apprenticeship Week. There is no doubt that apprenticeships bring considerable benefits to employers, individuals and the economy. Their value has long been known with a history that stretches back to the guilds of the middle ages.
‘Businesses across the country are increasingly realising the benefits that apprentices create, not only in terms of a highly skilled workforce but also by boosting productivity and staff retention. Research shows they are an optimal way of training, developing and skilling people for the future. Apprenticeships help businesses secure a supply of people with the skills and qualities they need and that are not always easily found through external recruitment.’
Three examples of success
Bridgwater College: luxury leather goods manufacturer Mulberry and Bridgwater College working together
Bridgwater College in Somerset has been highlighted by Ofsted as a provider that uses excellent links with employers in its community to build relationships between learners, hopefully securing jobs for them in the future. This was the case with Mulberry, the fashion brand and manufacturer of luxury leather goods. The company’s highly experienced and talented workforce demonstrated that they could hold their own on quality against the likes of Cartier, Louis Vuitton and Chanel, whose handbags are vying for the same shoulders, but over recent years the average age of operational staff had been increasing, and Mulberry was finding it increasingly difficult to replace retiring staff with suitably skilled new recruits.
The company turned to Bridgwater College for help in training new staff with the specialist skills it required. Although the College offered textiles to a small number of students, it had little experience of manufacturing leather goods. Mulberry recognised that the College had excellent skills in teaching, learning and assessment and so both the employer and the College worked together successfully to recruit suitable teaching staff and develop a flourishing and successful apprenticeship training programme at Mulberry’s premises in Chilcompton.
Mulberry has just announced that it plans to open a new manufacturing facility in Bridgwater creating over 250 new jobs. Bridgwater College will be building on the success of the workforce development programmes that it has been running with companies such as DHL, Morrisons and Haven Holidays, to support unemployed people from the community into employment within this new facility and onto the apprenticeship programme.
Andy Berry, Head of Business Development at Bridgwater College said:
‘We are seeing an increasing number of enquiries about apprenticeships, in subjects as diverse as Leather Goods, Photography, Engineering and Construction. The increase in university fees and the general rise in the cost of living mean that many young people and their parents are looking to an apprenticeship as a means of learning new skills, furthering their studies and gaining a nationally-recognised qualification, while earning. An increasing number of employers are supporting apprentices to gain university level qualifications through the new Higher Apprenticeships.’
The College is putting on a number of activities to mark National Apprenticeship week
.
Westminster Kingsway College: the Young Chefs’ Academy
Westminster Kingsway College was highlighted in Ofsted’s
‘Learning from the best’
report as an example of best practice that worked well to support learners. It offered a 10-week course on Saturday mornings, sponsored by Geoffrey Harrison Catering, for school children to experience working in a commercial training kitchen. The project was aptly called The Young Chefs’ Academy, and it gave young people who were considering working in the hospitality industry first-hand experience of the type of training they would receive as part of their learning, especially if they are considering an apprenticeship in the future.
Alexandra Roberts, Programme Manager for Culinary Arts Full Time Courses and Commercial Enterprise at Westminster Kingsway College, said:
‘The Young Chefs’ Academy is a really good introduction to basic cooking skills and food hygiene. It allows the students to work safely and enjoy the kitchen environment in an exciting and fun setting. The course is also a fantastic preliminary course to the Professional Chef Diploma.’
Westminster Kingsway College has an excellent reputation within the hospitality and catering industry with many famous alumni across the sector. The College offers a unique opportunity to study in central London for vocational qualifications that are tailored direct to employment opportunities. Westminster Kingsway College is recognised as one of the leading providers of education and training in London and has been accredited with the new national Training Quality Standard.
Prospects College: Builders’ breakfast
Prospects College worked very well with local employers and was highlighted in an Ofsted report called
‘Learning from the best’
. Prospects College is a work-based learning provider in Essex. Their apprenticeship programme in construction features courses in bricklaying, carpentry and joinery, painting and decorating, plumbing and electrical installation. Staff teaching construction worked with a number of local construction employers and set up ‘Builders’ breakfast’ meetings. These meetings provided a vital network that bridged the gap between apprentices leaving training and looking for work and employers looking for staff who were job ready. When there was less work on one site during quieter times, employers were happy to send trainee apprentices to a different busier site. This yielded benefits for both parties, on the one hand employers would be grateful for the help they received by the trainees during busier times, and also trainees gained more experience as their time was filled with purposeful and challenging tasks.
A construction employer who attended the breakfasts and worked with the college said:
‘Giving another apprentice the chance to work on my site is no big deal. It’s my chance to give something back to the industry. I’d like to think that if I was starting again, a builder out there would do the same for me.’


More than half a million working women experienced domestic abuse last year
Shocking new figures show the extent of domestic abuse in the UK, indicating that 574,000 working women have suffered domestic abuse in the past 12 months.
A study by KPMG revealed that of these, 122,000 women have taken time off work because of it in the past year.
It led to £316 million in economic output being lost by UK businesses as a result of work absences, the accounting firm calculated.
They said the potential loss of earnings per woman as a result of abuse having negative impacts on career progression is estimated to be £5,800 each year.
The report, commissioned by Vodafone and published on the UN Day for the Elimination of Violence Against Women, looked at nine countries.
It highlights the damaging impact of domestic abuse on careers and businesses globally.
More than one third (38%) of victims surveyed said they suffered from reduced productivity and 22% said they sometimes stopped going to work and/or would take days off.
Advertisement Advertisement
KPMG analysis of records on domestic violence and abuse victims also revealed that the length of unplanned leave averages at 10.1 days per woman.
As a result of work absences related to abuse, in the nine countries covered by the survey, an estimated £1.6 billion in economic output is lost globally each year.
Four million women globally have missed out on a promotion – suffering a related annual average salary loss of £2,240 per woman.
This equates to approximately £10 billion in potential earnings lost each year.
Helen Lamprell, from the Vodafone UK Foundation, said: ‘Domestic abuse has such a huge effect on the individual, their family and friends and a vast financial impact to both the individual and the UK economy.
‘Supporting and providing resources for these vulnerable people can really be lifesaving – that is why the Vodafone Foundation is committed to providing programmes such as TecSOS and our Bright Sky app to offer 24/7 support to the thousands of people suffering with domestic violence or abuse.’
Earlier this year, Vodafone announced a new HR policy for victims of domestic abuse.
Employees globally will now have access to support and specialist counselling, as well as up to 10 days additional paid leave in all countries.
Got a story for Metro.co.uk?
Get in touch with our news team by emailing us at<EMAIL_ADDRESS>For more stories like this, check our news page.


“Happiness is when what you think, what you say, and what you do are in harmony.”
Author: {{ quote.author }}
Posted by {{ quote.name }}
Published {{ quote.publishedDate|timeAgo }}
Life is a beautiful journey that is meant to be embraced to the fullest every day. Whether a funny quote from a famous celebrity or an encouraging message about giving it your best from a successful business person, we can all use a little motivation and inspiration these days via a life quote.
myQuote allows you to add your own choice of quote as well as upvote and downvote added quotes. Enjoy!


Android Seat Booking Application. Created with due respect for ULTRATECH
Android Seat Booking Application. Created with due respect for ULTRATECH
Android Seat Booking Application. Created with due respect for ULTRATECH
Android Seat Booking Application. Created with due respect for ULTRATECH


Using T-Digest: Median calculation and anomaly detection
In this article you can find information about using t-digest
library in order to measure average value of some quantity(average session time).
There is also an answer for the question: What and why should you use to make such the measurement mean or median?
Besides, list and comparison of different implementations is presented below in the article.
Main problem
So in what cases we have need to calculate mean/median? For example we have a site and we want to understand how much time an average user spent on our site. In order to do it we should calculate an average duration of a user session. And there are at least two ways to do it - calculate an arithmetic mean(or just mean) or calculate a median. The calculation of mean is very simple. You need two fields: one for a sum of elements and another for their count. But it doesn`t work very well with anomalies in the data. I mean the case when one or several elements differ greatly from others. Lets assume that we have such values for our session durations(in milliseconds):
3000, 2000, 3000, 5000, 3000, 4000, 4500, 3200, 2700, 3380
mean = (3000+2000+3000+5000+3000+4000+4500+3200+2700+3380) / 10 = 3378 msecs
. In this case all is ok.
But what if one of these users opens the site, forgets to close a browser tab and goes afk for an hour(3.600.000 msecs):
3000, 2000, 3000, 5000, 3000, 4000, 4500, 3200, 2700, 3600000
mean = (3000+2000+3000+5000+3000+4000+4500+3200+2700+3600000) / 10 = 363040 msecs
. Just one of the users influences strongly on mean value.
Generally speaking, the mean is only representative if the distribution of the data is symmetric, otherwise it may be heavily influenced by outlying measurements.
In simple cases it is possible to use some kind of a filter.
But often we just don’t know what threshold we should use to filter values.
Whereas the median value is the same in both cases and is equal to 3100
. So in the cases like this the median will be more useful then the mean.
However the calculation of the median in general case needs a lot of memory - O(n)
T-digest
In order to deal with memory consumption Q-Digest
algorithm has been developed and after that T-digest
has been created as improvement of Q-digest
.
The main idea of these algorithms is to sacrifice accuracy of calculation for decrease of required amount of memory.
List of implementations
I’ve found these libs for median calculation:
- tdunning/t-digest - a java library with implementation of
t-digest
algorithm - addthis/stream-lib - we already saw it in previous article. It’s a library of streaming algorithms written in Java.
- apache/commons-math - it’s a library of different mathematics and statistics components from apache.
apache/commons-math
implements a regular algorithm for median calculation. It is used for the estimation of calculation accuracy of viewed t-digest
implementations.
tdunning/t-digest: simple example
A short description from github page:
A new data structure for accurate on-line accumulation of rank-based statistics such as quantiles and trimmed means. The t-digest algorithm is also very parallel friendly making it useful in map-reduce and parallel streaming applications.
Friendliness for a parallel calculation shows itself by support of a merging operation. You can see it in the example below.
Example of the code for t-digest:
object TDigestExample {
import com.madhukaraphatak.sizeof.SizeEstimator
import com.tdunning.math.stats.TDigest
def main(args: Array[String]) {
//define constants for experiments
val oneSecond = 1000
val twoMinutes = 2 * 60 * 1000
val tenMinutes = 10 * 60 * 1000
val twoHours = 2 * 60 * 60 * 1000
val mainValues = 10000000
val badValues = 100000
//generate 10.000.000 pseudo-random values for normal user session durations
val mainData = Generator.generate(count = mainValues, from = oneSecond, to = twoMinutes)
//generate 100.000(1%) pseudo-random values for invalid user session durations
val badData = Generator.generate(count = badValues, from = tenMinutes, to = twoHours)
//generate one united collection. For further details see below
val totalData = {
Generator.generate(count = mainValues, from = oneSecond, to = twoMinutes) ++
Generator.generate(count = badValues, from = tenMinutes, to = twoHours)
}
// Experiment #1
// All data in one digest object
// all values from one collection(totalData) are added to one digest object
// recommend default value of compression = 100
val totalDigest = TDigest.createArrayDigest(100)
//the timing of the median calculation
val startTime = System.currentTimeMillis()
totalData.foreach(value => totalDigest.add(value))
val median = totalDigest.quantile(0.5d) //the median is a 0.5 quantile
val calcTime = System.currentTimeMillis() - startTime
println("calcTime: " + calcTime)
// Experiment #2
// Separate objects for normal(mainData) and bad data(badData) to check accuracy of t-digest merging
val mainDigest = TDigest.createArrayDigest(100)
mainData.foreach(value => mainDigest.add(value))
val badDigest = TDigest.createArrayDigest(100)
badData.foreach(value => badDigest.add(value))
//to check accuracy of merging several digests
val mergedDigest = TDigest.createArrayDigest(100)
mergedDigest.add(mainDigest)
mergedDigest.add(badDigest)
val mergedMedian = mergedDigest.quantile(0.5d)
println("median: " + median)
println("mergedMedian: " + mergedMedian)
//how many bytes is needed to serialize t-digest object
println("byte size: " + totalDigest.byteSize())
//how much memory is needed for totalDigest object
val sizeInMem = SizeEstimator.estimate(totalDigest)
println(s"size in mem: $sizeInMem bytes")
}
}
addthis/stream-lib
In general there is no much difference in the interface between tdunning/t-digest
and addthis/stream-lib
. The example for addthis/stream-lib
you can find in StreamLibExample.scala
file.
However tdunning/t-digest
has more accuracy and less calculation time. More details about lib comparison are below.
Comparison
Now lets compare our libraries. The libraries are compared by:
- Time of calculation
- Calculation accuracy
- Serialization size
- Needed memory
Results:
| Median Value | Calc.Time(msec) | Calc. Acc.(%) | Serial. size(bytes) | Memory(bytes) | |
|---|---|---|---|---|---|
| commons-math | 61084,0000 | 5.922 | 100,000000 | not-supported | 134.218.824 |
| t-digest | 61084,6668 | 8.234 | 100,001090 | 15740 | 29.688 |
| stream-lib | 60763,2110 | 20.142 | 99,474839 | 24820 | 231.784 |
Anomaly detection
One more interesting application of the median is anomaly detection. In order to find anomalies in your data sequence threshold should be calculated.
For this you need to get 99.9%-quantile which means that we expect ~0.1% of anomalies in the data sequence. Look below to see how to do it using tdunning/t-digest
.
/**
* Example of anomaly detection
*/
object AnomalyDetectionExample {
import com.tdunning.math.stats.TDigest
def main(args: Array[String]) {
//define constants for experiments
val oneSecond = 1000
val twoMinutes = 2 * 60 * 1000
val tenMinutes = 10 * 60 * 1000
val twoHours = 2 * 60 * 60 * 1000
val mainValues = 10000000
val badValues = 10000
//generate 10.000.000 pseudo-random values for normal user session durations
val mainData = Generator.generate(count = mainValues, from = oneSecond, to = twoMinutes)
//generate 100.000(1%) pseudo-random values for invalid user session durations
val badData = Generator.generate(count = badValues, from = tenMinutes, to = twoHours)
val totalData = mainData ++ badData
val totalDigest = TDigest.createArrayDigest(100)
totalData.foreach(value => totalDigest.add(value))
//this threshold means that we expect ~0.1% of data is anomalies
val threshold = totalDigest.quantile(0.999d).toInt
println(s"threshold: $threshold msec")
}
}
Links
- Example project - sources for this article
- tdunning/t-digest - github page of
t-digest
- addthis/stream-lib
- apache/math - the apache commons mathematics library


Before Change
for line in sys.stdin.readlines():
line = line.strip()
if line:
questions.append(tokenize(line))
// If list is not empty - process it
if questions:
After Change
// QAs
while True:
question = input("\n> ")
answers = process_questions(question)[0]
if answers is None:
print(colorama.Fore.RED + "! Question can"t be empty")
else:
for i, _ in enumerate(answers["scores"]):
print("{}- {}{}".format(colorama.Fore.GREEN if answers["scores"][i] == 1 else colorama.Fore.YELLOW if answers["scores"][i] == 0 else colorama.Fore.RED, answers["answers"][i], colorama.Fore.RESET))


Hot Ticket
Welcome!
If you already have a Google Account, please sign in with your Gmail! If not then please register through our system.
First Name
Last Name
Email
Password
{{errMsg}}


@* * This template is called from the `index` template. This template * handles the rendering of the page header and body tags. It takes * two arguments, a `String` for the title of the page and an `Html` * object to insert into the body of the page. *@ @(title: String, scripts: Html=Html(""))(content: Html)
@* Here's where we render the page title `String`. *@


- Front end by Jia Jiang and Lucien Rae Gentil created with the help of HTML, CSS, JS, and Figma
- Back end by Kamron Bhavnagri and Chris Doyle created with the help of Rust and JS
- Content delivery by Johnny Huang and Hai Nguyen created with the help of Google Slides, Canva and iMovie


5. Kernel Method¶
5.1. Polynomial Regression¶
basic linear regression with one variable:
what if linear model could not nicely fit training examples?
we can naturally extend linear model to polynomial model, for example:
this method can be conclude as: map original attibutes x to some new set of quantities \(\phi(x)\) (called features), and use the same set of model.
5.1.1. least mean squares with features¶
let \(\phi : \mathbb{R}^{d} \to \mathbb{R}^{p}\) be a feature map, then original batch gradient descent:
using features:
the above becomes computationally expensive when \(\phi(x)\) is high dimensional.
but we can observe that, if at some point , \(\theta\) can be represented as:
then in the next round:
\(\theta\) can be also represented as a linear representation of \(\phi(x^{(i)})\)
we can then derive \(\beta\)’s update rule:
we only need to compute \(\left \langle \phi(x^{(j)}), \phi(x^{(i)}) \right \rangle = \phi(x^{(j)})^{T}\phi(x^{(i)}))\) to update parameters no matter how high the feature dimension p is.
5.1.2. kernel¶
we define the kernel corresponding to the feature map \(\phi\) as a function that satisfying:
define the kernel matrix:
properties of kernel matrix:
symmetric, since \(\phi(x)^{T}\phi(z) = \phi(z)^{T}\phi(x)\).
positive semidefinite:
in the other hand, we have sufficient conditions for valid kernels:
(mercer): let \( K: \mathbb{R}^{d} \times \mathbb{R}^{d} \mapsto \mathbb{R}\). then for K be a valid kernel, it is necessary and sufficient that for any \(\left \{ x^{(1)},...,x^{(n)} \right \} \), the corresponding kernel matrix is symmetric positive semi-definite.
proof t.b.c.
5.2. support vector machine¶
5.2.1. Margins¶
consider logistic regression, where the probability \(p(y=1|x;\theta)\) is modeled by \(h_{\theta}(x)=\sigma(\theta^{T}x)\). we predict 1 on an input x if and only if \(\theta^{T}x >= 0.5\), the larger \(\theta^{T}x\) is, the more confidence we are.
the distance from the hyperplane is important.
functional margin:
geometric margin:
geometric margin is the euclid distance.
5.2.2. the optimal margin classifier¶
we want to maximize geometic margin:
without loss of generality, we can set \(\gamma\left \| w \right \|=1\), then the above is equivalent to:
5.2.3. lagrange duality¶
consider the following primal optimization problem:
we define the lagrangian of this optimization problem:
here \(\alpha_{i}, \beta_{i}\) are the lagrange multipliers. consider the quantity:
here \(P\) stands for “primal”.
let some \(w\) be given, if \(w\) violates any primal constraints, i.e., if either \(g_{i}(w) > 0\) or \(h_{i}(w) \ne 0\), then:
conversely, if the constraints are saitistied for particular \(w\), then \(\theta_{P}(w) = f(w)\), hence:
with this equation, we have:
we define the optimal value of the objective function to be \(p^{\ast} = \underset{w}{min}\theta_{P}(w)\).
reverse the min max oder, we define:
D stands for “dual”, we can pose the dual optimization problem:
we define the optimal \(d^{\ast}=\underset{\alpha,\beta:\alpha_{i}\ge{0}}{max}\theta_{D}(\alpha, \beta)\), it can easily be shown that:
however, under certain conditions, we have:
so that we can solve the dual problem instead of the primal problem.
(KKT conditions)suppose \(f\) and \(g_{i}\) are convex, \(h_{i}\) are affine, and there exits some \(w\) so that \(g_{i}(w) < 0\) for all \(i\).
under these assumptions, there must exists \(w^{\ast}, \alpha^{\ast}, \beta^{\ast}\) so that \(w^{\ast}\) is the solution to the primal problem, \(\alpha^{\ast},\beta^{\ast}\) are the solutions to the dual problem, and \(p^{\ast}=d^{\ast}=L(w^{\ast}, \alpha^{\ast}, \beta^{\ast})\).
moreover, \(w^{\ast}, \alpha^{\ast}, \beta^{\ast}\) iff satisfy the KKT conditions:
proof t.b.c.
5.3. 2.4 use lagrange duality¶
previous optimal margin problem:
we can write the constraints as:
this problem satisfy the KKT prerequisites:
\(\frac{1}{2}{\left \| w \right \|}^2\) is convex.
\(1 - y^{(i)}(w^{T}x^{(i)} + b)\) is convex.
there exits \(w, b\), such that \(1 - y^{(i)}(w^{T}x^{(i)} + b) < 0\), just increase the order.
write the lagrangian of this problem:
just solve the dual form of the problem, to do so, we need to first minimize \(L(w,\alpha,\beta)\) with respect to \(w,b\), setting derivatives to 0:
this implies:
derivative with respect to b:
plug these equations back to lagrangian:
we thus obtain the following dual optimization problem:
this is easier to solve(we’ll talk about it later). after abtained \(\alpha_{i}^{\ast}\), we have:
go back to the original problem, we get:
when making predictions, we have:
we only needed inner product.
5.3.1. non-separable case¶
so far, we assumed the data is linearly separable.
while mapping data to a high dimensional feature space via \(\phi\) does not increase the likelihood that the data is separable.
so we need to make the algorithm work for non-linearly separable datasets.
we reformulate our optimization as follows:
the cost of outlier \(C\xi_{i}\).
the lagrangian:
here \(\alpha_{i},r_{i}\) are our lagrange multipliers.
the dual form of the problem:
the same as before except \(\alpha_{i}\)’s constraints, the calculation for \(b^{\ast}\) has to be modified, t.b.c.
import numpy as np
from sklearn import datasets
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import LinearSVC
iris = datasets.load_iris()
X = iris["data"][:, 2:]
y = (iris["target"] == 2).astype(np.int)
svm_clf = Pipeline([("scaler", StandardScaler()),
("linear_svc", LinearSVC(C=1, loss="hinge"))])
svm_clf.fit(X, y)
Pipeline(steps=[('scaler', StandardScaler()),
('linear_svc', LinearSVC(C=1, loss='hinge'))])
5.3.2. SMO algorithm¶
consider when trying to solve the unconstrained optimization problem:
we have the coordinate ascent algorithm:
we can not directly use coordinate ascent facing SVM dual problem:
if we want to update some \(\alpha_{i}\), we must update at least two of them simutaneously.
coordinate ascent change to:
the reason that SMO is an efficient is that the update to \(\alpha_{i}, \alpha_{j}\) can be computed efficiently.
take \(i,j=1,2\) as example, SMO step is like:
this can be change to:
this is direct quadratic optimization, easy to solve.
remained questions:
the choice of \(\alpha_{i},\alpha_{j}\) , this is heuristic.
how to update b.
t.b.c according to Platt’s paper.
5.4. SVM with kernels¶
let \(\phi : \mathbb{R}^{d} \to \mathbb{R}^{p}\) be a feature map, the original dual form of the problem:
now change to:
we only need to know \(\left \langle \phi(x^{(i)}),\phi(x^{(j)}) \right \rangle\) to optimize.
when predicting:
"""PolynomialFeatures + LinearSVC"""
from sklearn.datasets import make_moons
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import PolynomialFeatures
polynomial_svm_clf = Pipeline([
("poly_features", PolynomialFeatures(degree=3)),
("scaler", StandardScaler()),
("svm_clf", LinearSVC(C=10, loss="hinge", random_state=42))
])
polynomial_svm_clf.fit(X, y)
Pipeline(steps=[('poly_features', PolynomialFeatures(degree=3)),
('scaler', StandardScaler()),
('svm_clf', LinearSVC(C=10, loss='hinge', random_state=42))])
"""poly SVC"""
from sklearn.svm import SVC
poly_kernel_svm_clf = Pipeline([
("scaler", StandardScaler()),
("svm_clf", SVC(kernel="poly", degree=3, coef0=1, C=5))
])
poly_kernel_svm_clf.fit(X, y)
Pipeline(steps=[('scaler', StandardScaler()),
('svm_clf', SVC(C=5, coef0=1, kernel='poly'))])
"""rbf SVC"""
from sklearn.svm import SVC
rbf_kernel_svm_clf = Pipeline([
("scaler", StandardScaler()),
("svm_clf", SVC(kernel="rbf", gamma=5, C=0.001))
])
rbf_kernel_svm_clf.fit(X, y)
Pipeline(steps=[('scaler', StandardScaler()),
('svm_clf', SVC(C=0.001, gamma=5))])
"""SVM can support regression"""
from sklearn.svm import SVR
svm_poly_reg = SVR(kernel="poly", degree=2, C=100, epsilon=0.1, gamma="scale")
svm_poly_reg.fit(X, y)
SVR(C=100, degree=2, kernel='poly')


BMLTNAMeetingSearchAnimatedButtonView
@IBDesignable
final class BMLTNAMeetingSearchAnimatedButtonView : UIButton
This is a special class that presents a button. When pressed, it starts animating images with up to 100 frames.
It can be initialized in Interface Builder with a frame prefix (we add a no-leading-zero integer between 0 and 99), and an initial index.
-
This stores the images we animate.
Declaration
Swift
private var _animationFrames: [UIImage]
-
This will be our animation timer.
Declaration
Swift
private var _timer: Timer!
-
This will contain our initial indexed image.
Declaration
Swift
private var _initialIndex: Int
-
Set to true when we are animating.
Declaration
Swift
var isAnimating: Bool
-
This returns the currently indexed image.
Declaration
Swift
private var _indexedImage: UIImage { get }
-
This increments the index, looping it, if necessary, then returns the image at the new index.
Declaration
Swift
private var _nextIndexedImage: UIImage { get }
-
This is the initial frame index, and increments to represent the current animation frame.
Declaration
Swift
@IBInspectable var currentFrameIndex: Int
-
This is a prefix for the image names. We will append a no-leading-zero integer to it (0 - 99)
Declaration
Swift
@IBInspectable var imageNamePrefix: String
-
Increment the current image.
Declaration
Swift
@objc private func _incrementImage()
-
Initial image load.
Declaration
Swift
private func _loadImages()
-
Start animating.
Declaration
Swift
func startAnimation()
-
Stop animating.
Declaration
Swift
func stopAnimation(endAnimation: Bool = true)
Parameters
endAnimation
if true, the the index resets to whatever the initial index was. Default is true.
-
Increment the current image.
Declaration
Swift
@objc func timerCallback(_ inTimer: Timer! = nil)
-
Load all the images.
Declaration
Swift
override func layoutSubviews()
-
Draw the current image.
Declaration
Swift
override func draw(_ rect: CGRect)
Parameters
rect
The rect, in local coordinates, to draw.


NHL Stat Tracker
Enter your credentials below
Invalid username and/or password.
Username
Password
Submit
Click here if you don't have an account already!
Back


Gecode::Int::Count Namespace Reference
Detailed Description
Counting propagators.
Classes | |
| class | BaseInt |
| Baseclass for count propagators (integer). More... | |
| class | EqInt |
| Propagator for counting views (equal integer to number of equal views) More... | |
| class | GqInt |
| Propagator for counting views (greater or equal integer to number of equal views) More... | |
| class | LqInt |
| Propagator for counting views (less or equal integer to number of equal views) More... | |
| class | NqInt |
| Propagator for counting views (not equal integer to number of equal views) More... | |
| class | BaseView |
| Base-class for count propagators (view). More... | |
| class | EqView |
| Propagator for counting views (equal to number of equal views) More... | |
| class | NqView |
| Propagator for counting views (different from number of equal views) More... | |
| class | LqView |
| Propagator for counting views (less or equal to number of equal views) More... | |
| class | GqView |
| Propagator for counting views (greater or equal to number of equal views) More... | |
| template<class VX> | |
| RelTest | holds (VX x, ConstIntView y) |
| Test whether x and y are equal. | |
| template<class VX> | |
| RelTest | holds (VX x, VX y) |
| Test whether x and y are equal. | |
| template<class VX> | |
| bool | post_true (Space *home, ViewArray< VX > &x, ConstIntView y) |
| Post that all views in x are equal to y. | |
| template<class VX> | |
| bool | post_false (Space *home, ViewArray< VX > &x, ConstIntView y) |
| Post that all views in x are not equal to y. | |
| template<class VX> | |
| bool | post_true (Space *home, ViewArray< VX > &x, VX y) |
| Post that all views in x are equal to y. | |
| template<class VX> | |
| bool | post_false (Space *home, ViewArray< VX > &x, VX y) |
| Post that all views in x are not equal to y. | |
Functions | |
| template<class VX> | |
| RelTest | holds (VX x, ZeroIntView) |
| template<class VX> | |
| bool | post_true (Space *home, VX x, ConstIntView y) |
| template<class VX> | |
| bool | post_true (Space *home, VX x, ZeroIntView) |
| template<class VX> | |
| bool | post_true (Space *home, ViewArray< VX > &x, ZeroIntView) |
| template<class VX> | |
| bool | post_false (Space *home, VX x, ConstIntView y) |
| template<class VX> | |
| bool | post_false (Space *home, VX x, ZeroIntView) |
| template<class VX> | |
| bool | post_false (Space *home, ViewArray< VX > &x, ZeroIntView) |
| template<class VX> | |
| bool | post_true (Space *home, VX x, VX y) |
| template<class VX> | |
| bool | post_false (Space *home, VX x, VX y) |
Function Documentation
template<class VX>
| RelTest Gecode::Int::Count::holds | ( | VX | x, | |
| ConstIntView | y | |||
| ) | [inline] |
template<class VX>
| RelTest Gecode::Int::Count::holds | ( | VX | x, | |
| ZeroIntView | ||||
| ) | [inline] |
template<class VX>
| RelTest Gecode::Int::Count::holds | ( | VX | x, | |
| VX | y | |||
| ) | [inline] |
template<class VX>
| bool Gecode::Int::Count::post_true | ( | Space * | home, | |
| VX | x, | |||
| ConstIntView | y | |||
| ) | [inline] |
template<class VX>
| bool Gecode::Int::Count::post_true | ( | Space * | home, | |
| VX | x, | |||
| ZeroIntView | ||||
| ) | [inline] |
template<class VX>
| bool Gecode::Int::Count::post_true | ( | Space * | home, | |
| ViewArray< VX > & | x, | |||
| ConstIntView | y | |||
| ) | [inline] |
template<class VX>
| bool Gecode::Int::Count::post_true | ( | Space * | home, | |
| ViewArray< VX > & | x, | |||
| ZeroIntView | ||||
| ) | [inline] |
template<class VX>
| bool Gecode::Int::Count::post_false | ( | Space * | home, | |
| VX | x, | |||
| ConstIntView | y | |||
| ) | [inline] |
template<class VX>
| bool Gecode::Int::Count::post_false | ( | Space * | home, | |
| VX | x, | |||
| ZeroIntView | ||||
| ) | [inline] |
template<class VX>
| bool Gecode::Int::Count::post_false | ( | Space * | home, | |
| ViewArray< VX > & | x, | |||
| ConstIntView | y | |||
| ) | [inline] |
template<class VX>
| bool Gecode::Int::Count::post_false | ( | Space * | home, | |
| ViewArray< VX > & | x, | |||
| ZeroIntView | ||||
| ) | [inline] |
template<class VX>
| bool Gecode::Int::Count::post_true | ( | Space * | home, | |
| ViewArray< VX > & | x, | |||
| VX | y | |||
| ) | [inline] |
template<class VX>
| bool Gecode::Int::Count::post_true | ( | Space * | home, | |
| VX | x, | |||
| VX | y | |||
| ) | [inline] |
template<class VX>
| bool Gecode::Int::Count::post_false | ( | Space * | home, | |
| ViewArray< VX > & | x, | |||
| VX | y | |||
| ) | [inline] |
template<class VX>
| bool Gecode::Int::Count::post_false | ( | Space * | home, | |
| VX | x, | |||
| VX | y | |||
| ) | [inline] |


vas - go, vie - life, chi - force
Go Life Force
Dedicated towards releasing life's true potential
By Restoring the focus of healthcare from chronic
To wellness preventative and curative care.
Giving Life Hope


CNS Analytics
from cns_analytics.timeseries import Spread spread = Spread('UNIUSDT', '1INCHUSDT') await spread.load() spread.plot()
from cns_analytics.timeseries import Timeseries ts = Timeseries('UNIUSDT', '1INCHUSDT', 'AAVAUSDT') await ts.load() print('Volatility for UNIUSDT', ts.get_volatility('UNIUSDT'))
| Package | backtest |
Undocumented |
| Module | cache |
Interface for caching |
| Module | database |
Undocumented |
| Module | entities |
Defines generic classes and enums |
| Package | forecast |
Undocumented |
| Package | market_data |
Undocumented |
| Package | statistics |
Undocumented |
| Package | timeseries |
Wraps financial time series for simplified analytics |
| Package | utils |
Undocumented |
| Package | visualization |
Provides plotting tools |


We Buy Bad Properties
Call Us Today
(508)-989-6139
Home
About Us
Contact Us
Contact Us!
Phone
508-989-6139
Fax
508-238-9191
Email
<EMAIL_ADDRESS>Address
365 Turnpike Street, South Easton, MA 02375


Simple Design & Installation
Shop Readymade Styles and Sizes
Choose from our readymade shades available in three standard window sizes for purchase at our etsy store
Custom Orders
Choose fabric and decorations, handmade for your window dimensions
Choose from our readymade shades available in three standard window sizes for purchase at our etsy store
Choose fabric and decorations, handmade for your window dimensions


Preparation time
less than 30 mins
Cooking time
30 mins to 1 hour
Serves
Serves 4
Preheat the oven to 200C/400F/Gas 6.
For the langoustine bisque, heat an ovenproof frying pan until hot, then add the butter and langoustine heads and fry for 2-3 minutes. Transfer to the oven to roast for 10-12 minutes. Remove from the oven and place back onto a medium heat.
Add the vegetables and herbs and sauté for 3-4 minutes.
Add the brandy and pastis and carefully flambé to burn off the alcohol. Once the flames have died down, cook for a further minute, then add the star anise and the stock. Bring to the boil, then reduce the heat and simmer for 30 minutes.
Strain the bisque into a fresh pan and season, to taste, with salt and freshly ground black pepper.
Add the cream and stir to combine.
For the sea trout, heat a frying pan until hot then add the butter. Once the butter has melted, add the trout and fry on both sides for 4-5 minutes, or until completely cooked through.
Remove the trout from the pan and sprinkle with the cumin seeds and chervil. Leave to rest in a warm place.
For the licorice carrots, heat a saucepan until hot and then add the butter and carrots. Fry together for 1-2 minutes, then add the stock and bring to the boil.
Reduce the heat and simmer until the carrots are tender and the stock has almost all evaporated.
Add the licorice and cook for a further 2-3 minutes, until the licorice has just softened.
For the Little Gem lettuce, heat a frying pan until hot and add the olive oil and Little Gem leaves. Sauté the leaves until just wilted down.
To serve, place a few Little Gem leaves onto the centre of each plate and spoon the carrots around the edge. Place the trout on top of the Little Gem and spoon the bisque around the carrots.


The lecturer taught us that there was two types of computer graphics, vector and raster. Raster images deals with pixels on the screen and is used for photographs and images while vector images uses mathematical functions and is characterized by clean lines. Raster images usually comes in .jpg and .png while vector images usually comes in .dxf and .svg.
The first task that was given to us was to create a raster image by removing the background of a selfie and replace it with a seaside scene. The result of it is this.
The second task was to make a vector image of an animal by tracing the outline of the image to form the vector art. This is the result of it. The image is not in .svg format as it messes with the layout of the page.
The lecturer then went on to teach us how to use Fusion360. However, I had not actually learnt much in this module as I already had prior experience on using Fusion 360.
In the first class we mainly focused on doing sketches in Fusion 360 and these are the 2 sketches that came out of the practice.
In the second lesson, we were taught how to make the sketches from 2D into 3D through the use of extrude, loft and shell. These are the 3 models that came out of the practice.
In the third lesson, we were taught the revolve and sculpting function and these are the 2 models that came out the practice.
In this lesson was also where we were assigned to make a chesspiece in Fusion360. We were instructed to go online to find an image of a knight chesspiece and trace over it in Fusion360 by inserting the image into the sketch. Later on, this would be 3D printed as part of a project. The link to the process is here. However, this is the result of the assignment.
Finally, we moved on to learning about Computer Controlled Cutting. This was where we learnt how to make a .dxf file used for laser cutting. In the class, we were also assigned to make a laptop stand and a music box, these are the results.
The box shown above will be lazer cutted later on and the link to the process is here.


--- layout: doco title: "MicroView Arduino Library - Main Page" category: API description: "MicroView Arduino Library Documentation" tags: [microview, library, functions, documentation] comments: true ---
Developed by Geek Ammo Pty Ltd based on Arduino and other Open Source libraries.
Arduino library for MicroView.
### Example 1 - Hello World!
#include <MicroView.h>
void setup() {
uView.begin();
}
void loop() {
uView.print("HelloWorld");
uView.display(); // display current page buffer
}
### Example 2 - Basic Drawing
#include <MicroView.h>
void setup() {
uView.begin();
uView.clear(PAGE); // clear the page buffer
}
void loop() {
uView.line(0,0,64,48);
uView.circle(32,24,10);
uView.rect(10,10,20,20);
uView.pixel(50,5);
uView.setCursor(0,40);
uView.print(" MicroView");
uView.display(); // display current page buffer
}
### Example 3 - Widgets
#include <MicroView.h>
MicroViewWidget *widget,*widget2;
void setup() {
uView.begin();
uView.clear(PAGE);
widget= new MicroViewGauge(32,30,0,100); // draw Gauge widget at x=32,y=30,min=0, max=100
widget2= new MicroViewSlider(0,0,0,100); // draw Slider widget at x=0,y=0,min=0, max=100
}
void loop() {
for(int i=0; i<=100;i++) {
widget->setValue(i); // give a value to widget
widget2->setValue(i);
uView.display(); // display current page buffer
}
}
### Example 4 - Communication
#include <MicroView.h>
void setup() {
uView.begin();
uView.clear(PAGE);
Serial.begin(115200); // user decide the baud rate
}
void loop() {
uView.checkComm();
}
v1.23b: 29th March 2015 by Scott Allen
v1.22b: 4th October 2014 by Scott Allen and Ben Lewis
v1.21b: 22nd September 2014 by Esmit Pérez and Scott Allen
v1.20b: 27th August 2014 by Scott Allen, Emil Ong
v1.19b: 19th August 2014 by Scott Allen
v1.18b: 5th August 2014 by Scott Allen
v1.17b: 4th August 2014 by JP Liew
v1.16b: 3rd August 2014 by czetie
v1.15b: 3rd August 2014 by Scott Allen
v1.14b: 26th July 2014 by JP Liew
v1.13b: 13th June 2014 by JP Liew
v1.12b: 11th June 2014 by JP Liew
v1.11b: 9th June 2014 by JP Liew
v1.10b: 22th April 2014 by JP Liew
v1.09b: 17th April 2014 by JP Liew
v1.08b: 18th February 2014 by JP Liew
v1.07b: 15th February 2014 by JP Liew
v1.06b: 9th February 2014 by JP Liew
v1.05b: 6th February 2014 by JP Liew
v1.04b: 3rd February 2014 by JP Liew
v1.03b: 1st February 2014 by JP Liew
v1.02b: 31th January 2014 by JP Liew
v1.01b: 30th January 2014 by JP Liew
v1.00b: 30th January 2014 by JP Liew
MicroView Arduino Library Copyright (C) 2014 GeekAmmo
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.


Toggle navigation
Keabook
Messages
Profile
Admin Panel
Logout
Keabook
Social network for social nerds
Login
Sign up
Login straight to the action!
Go!
Sign up and be awesome!
Go!


Input a text passage to get a total word count:
Optionally, enter a word to count the number of the times it occurs in the passage:
Total Word Count:
Selected Word Count:


Songs in {{ guild }}
Song
Tags
Edit
Edit
Delete
Edit song
Title
Tags
Edit
Cancel
Delete song
Are you sure you want to delete "
"?
Delete
Cancel


I analyzed my Kippo SSH honeypot logs (which reside on a broadband /32 in the US) and found some interesting tidbits. The data here comes from that personal server I'm running, and about ten months of data. Processing was done using some custom scripts I wrote, one of which is available (see below).
Kippo is a medium-interaction SSH honeypot. It provides a fake (simulated) Debian Linux system to attackers to let them poke around by presenting, via an emulated Bash shell, a filesystem and such. The goal is to learn about the hackesr, find their tools and see what they're up to. I have yet to find a true 0-day, but that would be one of the goals of this acivity. Typically I find standard SSH brute force botnets.
One of the key questions is how many attempts do we see on a daily basis? I decided a simple line graph showing connections, failed and successful, per day would be a good way to quickly judge. The Y axis is a log scale because otherwise it drowns out the successes. I see some people have tons of inbound successful connections and I wonder how? Do they use obvious passwords (see below)? Should I do that to get more data?
Anyhow, you can also see sporadic activity from this graph, and of course the time range I'm studying.
Obviously one of the types of analysis you would like to do is to look at where the clients are coming from. To produce the map below, Kippo logs were analyzed using the Team Cymru IP mapping service, a free service that can yield some basic information about IPs. Distinct IPs were mapped to counties and counts accumulated. Note that if an IP keeps on trying we count it as one distinct IP.
You can hover over individual countries to see the unique IP counts.
Origin ASNs are also interesting, they can help you spot "bad" or "unclean" ASNs pretty quickly. Some of the usual suspects are here. I expected this list to be dominated by residential and hosting farm ASNs.
You can see how dead simple some of the tools are, they keep trying stupidly simple passwords. It's tempting to put the most obvious password(s) in your Kippo pot, but I worry about being too obvious.
As part of my analysis I decided to perform some stochastic analysis on the commands people issue in the honeypot. Basically it works like this: for every command in a sequence, figure out the probability they'll issue some specific command next. You can imagine using it to build information about compromises (e.g. shell-based anomaly detection), reactions to intruders, or improving the honeypot (for example "why do people exit?"). I think this warrants some further study. The script is avalable if you wish to explore it.
Click image to magnify
This graphic needs to be cleaned up and rendered to convey more information. Any help appreciated.
One of my key metrics is how long I can entice an attacker to hang around the fake environment. My assumption is that a more convincing environment will keep them using it longer, which means I can get more information about them and their methods, tools, etc. By anayzing my logs, I can see that most of the sessions are very short duration, which makes me wonder: do they know it's a honeypot? Or will they come back later?