Class representing a UDP socket. More...
#include <cl_UDPSocket.h>
Public Member Functions | |
| UDPSocket () | |
| Generate an inactive UDP socket object. More... | |
| UDPSocket (const UDPSocket &)=delete | |
| Copying is prohibited, as sockets are unique resources. More... | |
| UDPSocket & | operator= (const UDPSocket &)=delete |
| Copying is prohibited, as sockets are unique resources. More... | |
| UDPSocket (UDPSocket &&moveFrom) | |
| Move constructor to transfer ownership to a new UDPSocket. More... | |
| void | operator= (UDPSocket &&moveFrom) |
| Move-assign operator to transfer ownership to a new UDPSocket. More... | |
| ~UDPSocket () | |
| Destructor. More... | |
| void | open (uint16_t port=0, bool forceBind=false, const std::string &localHostAddr="<IP_ADDRESS>") |
| Ready the socket for use. More... | |
| bool | isOpen () const |
| Indicates whether the socket is active and may be used to send and recieve. More... | |
| void | close () |
| Close and restore socket to initial state. More... | |
| size_t | sendTo (const HostAddress &host, const char *data, size_t len) |
| Attempt to send data to the indicated host. More... | |
| size_t | sendTo (const HostAddress &host, const std::string &data) |
| Attempt to send data to the indicated host. More... | |
| size_t | sendTo (const HostAddress &host, const std::vector< char > &data) |
| Attempt to send data to the indicated host. More... | |
| std::pair< std::vector< char >, HostAddress > | recvFrom () |
| Attempt to read an incoming datagram. More... | |
| void | connect (const HostAddress &host) |
| Associate the socket with specific host. More... | |
| bool | isConnected () const |
| Check whether or not a specific host is associated. More... | |
| void | disconnect () |
| Remove association with a specific host. More... | |
| int | send (const std::string &data) |
| Send data to the associated host. More... | |
| int | send (const std::vector< char > &data) |
| Send data to the associated host. More... | |
| int | send (const void *data, size_t len) |
| Send data to the associated host. More... | |
| std::vector< char > | recv () |
| Recieve a datagram from the associated host. More... | |
| bool | isBlocking () const |
| Indicates whether or not the socket is in blocking mode. More... | |
| void | setBlocking (bool block) |
| Set whether or not the socket is in blocking mode. More... | |
Friends | |
| template<class T > | |
| std::vector< T * > | select (const std::vector< T *> &sockets, float timeoutSeconds) |
Class representing a UDP socket.
| SSocks::UDPSocket::UDPSocket | ( | ) |
Generate an inactive UDP socket object.
|
delete |
Copying is prohibited, as sockets are unique resources.
| SSocks::UDPSocket::UDPSocket | ( | UDPSocket && | moveFrom | ) |
Move constructor to transfer ownership to a new UDPSocket.
| moveFrom | The object to transfer the resource from. |
| SSocks::UDPSocket::~UDPSocket | ( | ) |
Destructor.
| void SSocks::UDPSocket::close | ( | ) |
Close and restore socket to initial state.
Socket will revert to blocking, disconnected state.
| void SSocks::UDPSocket::connect | ( | const HostAddress & | host | ) |
Associate the socket with specific host.
UDP sockets do not 'connect' in the sense that TCP sockets do, but a UDP socket can be associated with a particular remote address such that it will ignore traffic from other addresses and can send to that address without specifying a recipient.
| host | Host/port to associate with. |
| void SSocks::UDPSocket::disconnect | ( | ) |
Remove association with a specific host.
| bool SSocks::UDPSocket::isBlocking | ( | ) | const |
Indicates whether or not the socket is in blocking mode.
| bool SSocks::UDPSocket::isConnected | ( | ) | const |
Check whether or not a specific host is associated.
| bool SSocks::UDPSocket::isOpen | ( | ) | const |
Indicates whether the socket is active and may be used to send and recieve.
| void SSocks::UDPSocket::open | ( | uint16_t | port = 0 , |
| bool | forceBind = false , |
||
| const std::string & | localHostAddr = "<IP_ADDRESS>" |
||
| ) |
Ready the socket for use.
| port | The port to bind the socket to. Port 0 requests an 'ephemeral' port; that is, the port number will be assigned by the system when the first operation requiring it takes place. If you plan to act as a listener then you should bind a specific port. If you intend to start out by sending then binding an ephemeral port is fine. Note that after sending to a remote host that host will have the port number you are bound to and can thus respond, even if you yourself don't know what port you are on. |
| forceBind | Whether to force the bind even if the indicated port appears to be in use. This option is present because a bound port takes a certain amount of time to become free again after being released. In general it should not be necessary to use it. |
| localHostAddr | Address of local interface to listen on. This must be an IPv4 address in dot-quad notation, such as "<IP_ADDRESS>". The default address of "<IP_ADDRESS>" will listen on all available interfaces. |
Copying is prohibited, as sockets are unique resources.
| void SSocks::UDPSocket::operator= | ( | UDPSocket && | moveFrom | ) |
Move-assign operator to transfer ownership to a new UDPSocket.
| moveFrom | The object to transfer the resource from. |
| std::vector<char> SSocks::UDPSocket::recv | ( | ) |
Recieve a datagram from the associated host.
UDPSocket::recv() will throw an exception if the socket is not connected to a specific host.
| std::pair<std::vector<char>, HostAddress> SSocks::UDPSocket::recvFrom | ( | ) |
Attempt to read an incoming datagram.
| int SSocks::UDPSocket::send | ( | const std::string & | data | ) |
Send data to the associated host.
UDPSocket::send() will throw an exception if the socket is not connected to a specific host.
| data | The data to send, note that std::string is not null-terminated. |
| int SSocks::UDPSocket::send | ( | const std::vector< char > & | data | ) |
Send data to the associated host.
UDPSocket::send() will throw an exception if the socket is not connected to a specific host.
| data | The data to send. |
| int SSocks::UDPSocket::send | ( | const void * | data, |
| size_t | len | ||
| ) |
Send data to the associated host.
UDPSocket::send() will throw an exception if the socket is not connected to a specific host.
| data | The data to send. |
| len | The length in bytes of the data to send. |
| size_t SSocks::UDPSocket::sendTo | ( | const HostAddress & | host, |
| const char * | data, | ||
| size_t | len | ||
| ) |
Attempt to send data to the indicated host.
UDP is a 'fire-and-forget' protocol. Data sent is not guaranteed to arrive. The remote host may not even exist, and no error will be indicated. UDP is a datagram-oriented protocol. The data sent should be short. The maximum length of a datagram is 65535 bytes, but this is drastically reduced by the internet. You should probably try to send less than 1024 bytes per datagram.
| host | The host/port to send to. |
| data | A pointer to the data to send. |
| len | The number of bytes to send. |
| size_t SSocks::UDPSocket::sendTo | ( | const HostAddress & | host, |
| const std::string & | data | ||
| ) |
Attempt to send data to the indicated host.
UDP is a 'fire-and-forget' protocol. Data sent is not guaranteed to arrive. The remote host may not even exist, and no error will be indicated. UDP is a datagram-oriented protocol. The data sent should be short. The maximum length of a datagram is 65535 bytes, but this is drastically reduced by the internet. You should probably try to send less than 1024 bytes per datagram.
| host | The host/port to send to. |
| data | The data to send. Note that std::string is not null terminated. |
| size_t SSocks::UDPSocket::sendTo | ( | const HostAddress & | host, |
| const std::vector< char > & | data | ||
| ) |
Attempt to send data to the indicated host.
UDP is a 'fire-and-forget' protocol. Data sent is not guaranteed to arrive. The remote host may not even exist, and no error will be indicated. UDP is a datagram-oriented protocol. The data sent should be short. The maximum length of a datagram is 65535 bytes, but this is drastically reduced by the internet. You should probably try to send less than 1024 bytes per datagram.
| host | The host/port to send to. |
| data | The data to send. |
| void SSocks::UDPSocket::setBlocking | ( | bool | block | ) |
Set whether or not the socket is in blocking mode.
A blocking socket will pause its thread on send/recv until it can complete its task. That is, a blocking recvFrom() will wait until it recieves a datagram before returning. A non-blocking socket will return immediately from send/recv, even if it was unable to actually send or recieve any data. All sockets default to blocking.
| block | Set true to allow the socket to block; false for non-blocking mode |
|
friend |


How toxic is your code ?
Source code at https://github.com/AdamNowotny/toxicity-charts
Sample metrics (.zip):


This app demonstrates basic Cordova functionality. For the app to work, you need to run it in the Evothings Client App, or build a native Cordova app yourself.
[Waiting for compass]


Doug Barrett
As a CoLab Project Manager, Doug works with organizations, firms, and individuals to create beautifully elegant technology and design solutions. Doug does this while attending to the individual needs of each client alongside the production schedules of CoLab’s collaborators.
Suffering from multiple professional personas, Doug is an accomplished artist, writer, and musician and came to CoLab after years of work for New York City tech startups. He became involved in the tech industry after developing a Python application in grad school that composes music by automatically transcribing recordings.
Doug grew up in Augusta, Georgia, birthplace of renowned opera singer Jessye Norman, celebrated painter Jasper Johns, and James Brown. He attended a magnet school for the arts and eventually completed a PhD, which altogether took him from Boston to LA to Buffalo to Berlin.
Doug is an avid supporter of social justice movements and loves CoLab’s commitment to its range of causes. In addition to collaborating with groups like ACT UP and Strike Debt, Doug has written extensively on socially engaged art and music practices in his latest book After Sound>.


public interface CacheAwareContextLoaderDelegate
CacheAwareContextLoaderDelegate
is responsible for loading and closing application
contexts, interacting transparently with a
ContextCache
behind the scenes.
Note: CacheAwareContextLoaderDelegate
does not extend the
ContextLoader
or SmartContextLoader
interface.
| 限定符和类型 | 方法和说明 |
|---|---|
void |
closeContext(MergedContextConfiguration mergedContextConfiguration,
DirtiesContext.HierarchyMode hierarchyMode)
Remove the application context for the
supplied
MergedContextConfiguration from the ContextCache
and close it if it is
an instance of ConfigurableApplicationContext . |
org.springframework.context.ApplicationContext |
loadContext(MergedContextConfiguration mergedContextConfiguration)
Load the application context for the supplied
MergedContextConfiguration by delegating to the ContextLoader
configured in the given MergedContextConfiguration . |
org.springframework.context.ApplicationContext loadContext(MergedContextConfiguration mergedContextConfiguration)
MergedContextConfiguration
by delegating to the ContextLoader
configured in the given MergedContextConfiguration
.
If the context is present in the ContextCache
it will simply
be returned; otherwise, it will be loaded, stored in the cache, and returned.
The cache statistics should be logged by invoking
ContextCache.logStatistics()
.
mergedContextConfiguration
- the merged context configuration to use
to load the application context; never null
java.lang.IllegalStateException
- if an error occurs while retrieving or loading
the application contextvoid closeContext(MergedContextConfiguration mergedContextConfiguration, @Nullable DirtiesContext.HierarchyMode hierarchyMode)
MergedContextConfiguration
from the ContextCache
and close it if it is
an instance of ConfigurableApplicationContext
.
The semantics of the supplied HierarchyMode
must be honored when
removing the context from the cache. See the Javadoc for DirtiesContext.HierarchyMode
for details.
Generally speaking, this method should only be called if the state of a singleton bean has been changed (potentially affecting future interaction with the context) or if the context needs to be prematurely removed from the cache.
mergedContextConfiguration
- the merged context configuration for the
application context to close; never null
hierarchyMode
- the hierarchy mode; may be null
if the context
is not part of a hierarchy


Battle
Attacker
Select the attacker
You must select one of the logged-in users that owns a ship
You must select one of the logged-in users that owns a ship
One
Defender
Select the defender
You must select one of the ships that is owned by another user
You must select one of the ships that is owned by another user
One
FIRE !!!
The All Ships And Their Status
Name -- Health -- Power
| Name | Health | Power |


Setting the Body Background
How to set the background image to be tiled on all pages of this site. Where a background has been set in the skin it will override this setting.
- Navigate to Admin > Site Settings.
- Optional. Click on the country flag icon associated with the culture (language) to be updated. This field only displays when multiple languages are enabled. See "Viewing a Site in a Secondary Language"
- Select the Basic Settings tab.
- Expand the Appearance section.
- At Body Background, select from these options:
- To select an existing file:
- At Folder, select the folder where the file is located.
- Selecting the required file from the File drop down list. A small image of the selected file is now displayed at this field.
- Upload a new file:
- Clicking the Upload File link
- Clicking the Browse... button.
- Selecting the file from your computer.
- Clicking the Save File link. The uploaded file is automatically selected and a small image of the selected file is now displayed at this field.
-
Click the Update button.


Data-parallel arithmetic type with user-defined number of elements.
| T | The type of the vector's elements. The supported types currently are limited to the types supported by Vc::Vector<T>. |
| N | The number of elements to store and process concurrently. You can choose an arbitrary number, though not every number is a good idea. Generally, a power of two value or the sum of two power of two values might work efficiently, though this depends a lot on the target system. |
| V | Don't change the default value unless you really know what you are doing. This type is set to the underlying native Vc::Vector type used in the implementation of the type. Having it as part of the type name guards against some cases of ODR violations (i.e. linking incompatible translation units / libraries). |
| Wt | Don't ever change the default value. This parameter is an unfortunate implementation detail shining through. |
N
too large (what “too large” means depends on the target) will result in excessive compilation times and high (or too high) register pressure, thus potentially negating the improvement from concurrent execution. As a rule of thumb, keep N
less or equal to 2 * float_v::size()
.T
=
(u)short require an N
either less than short_v::size() or a multiple of short_v::size(). Definition at line 616 of file simdarray.h.
#include <Vc/SimdArray>
Public Types | |
| using | value_type = T |
The type of the elements (i.e. T ) | |
| using | mask_type = fixed_size_simd_mask< T, N > |
| The type of the mask used for masked operations and returned from comparisons. | |
| using | index_type = fixed_size_simd< int, N > |
| The type of the vector used for indexes in gather and scatter operations. | |
| using | Mask = mask_type |
| The type of the mask used for masked operations and returned from comparisons. More... | |
| using | MaskType = Mask |
| The type of the mask used for masked operations and returned from comparisons. More... | |
| using | EntryType = value_type |
The type of the elements (i.e. T ) More... | |
| using | IndexType = index_type |
| The type of the vector used for indexes in gather and scatter operations. More... | |
Public Member Functions | |
| fixed_size_simd< T, N > | operator+ () const |
| Returns a copy of itself. | |
| Common::WriteMaskedVector< SimdArray, mask_type > | operator() (const mask_type &mask) |
| Writemask the vector before an assignment. More... | |
| value_type | min () const |
| Returns the smallest entry in the vector. | |
| value_type | min (const mask_type &mask) const |
| Returns the smallest entry in the vector. | |
| value_type | max () const |
| Returns the largest entry in the vector. | |
| value_type | max (const mask_type &mask) const |
| Returns the largest entry in the vector. | |
| value_type | product () const |
| Returns the product of all entries in the vector. | |
| value_type | product (const mask_type &mask) const |
| Returns the product of all entries in the vector. | |
| value_type | sum () const |
| Returns the sum of all entries in the vector. | |
| value_type | sum (const mask_type &mask) const |
| Returns the sum of all entries in the vector. | |
| fixed_size_simd< T, N > | partialSum () const |
| Returns a vector containing the sum of all entries with smaller index. | |
| template<typename F > | |
| fixed_size_simd< T, N > | apply (F &&f) const |
Call f on every entry of the vector and return the results as a new vector. | |
| template<typename F > | |
| fixed_size_simd< T, N > | apply (F &&f, const mask_type &k) const |
As above, but skip the entries where mask is not set. | |
| fixed_size_simd< T, N > | shifted (int amount) const |
Shift vector entries to the left by amount ; shifting in zeros. | |
| fixed_size_simd< T, N > | rotated (int amount) const |
Rotate vector entries to the left by amount . | |
| fixed_size_simd< T, N > | reversed () const |
| Returns a vector with all components reversed. | |
| fixed_size_simd< T, N > | sorted () const |
| Return a sorted copy of the vector. More... | |
Compile-Time Constant Initialization | |
| SimdArray ()=default | |
| Construct a zero-initialized vector object. More... | |
Conversion/Broadcast Constructors | |
| SimdArray (value_type a) | |
| Broadcast Constructor. More... | |
| template<typename U , typename = enable_if<std::is_same<U, int>::value && !std::is_same<int, value_type>::value>> | |
| SimdArray (U a) | |
new/delete overloads for correct alignment | |
| void * | operator new (size_t size) |
| Allocates correctly aligned memory. | |
| void * | operator new (size_t, void *p) |
Returns p . | |
| void * | operator new[] (size_t size) |
| Allocates correctly aligned memory. | |
| void * | operator new[] (size_t, void *p) |
Returns p . | |
| void | operator delete (void *ptr, size_t) |
| Frees aligned memory. | |
| void | operator delete (void *, void *) |
| Does nothing. | |
| void | operator delete[] (void *ptr, size_t) |
| Frees aligned memory. | |
| void | operator delete[] (void *, void *) |
| Does nothing. | |
Static Public Member Functions | |
| static constexpr std::size_t | size () |
Returns N , the number of scalar components in an object of this type. More... | |
Static Public Attributes | |
| static constexpr std::size_t | MemoryAlignment |
| Specifies the alignment requirement for aligned load and store calls for objects of this vector type. More... | |
Deprecated Members | |
| static constexpr std::size_t | Size = size() |
Returns N , the number of scalar components in an object of this type. More... | |
| fixed_size_simd< T, N > | exponent () const |
| Returns the exponents of the floating-point values in the vector. More... | |
| MaskType | isNegative () const |
| Returns whether a value is negative. More... | |
| fixed_size_simd< T, N > | copySign (const SimdArray &x) const |
Copies the signs of the components of reference to the components of the current vector, returning the result. More... | |
Scalar Subscript Operators | |
| reference | operator[] (size_t i) noexcept |
| This operator can be used to modify scalar entries of the vector. More... | |
| value_type | operator[] (size_t index) const noexcept |
| This operator can be used to read scalar entries of the vector. More... | |
Generators | |
| static fixed_size_simd< T, N > | Zero () |
| Returns a vector with the entries initialized to zero. | |
| static fixed_size_simd< T, N > | One () |
| Returns a vector with the entries initialized to one. | |
| static fixed_size_simd< T, N > | IndexesFromZero () |
| Returns a vector with the entries initialized to 0, 1, 2, 3, 4, 5, ... | |
| static fixed_size_simd< T, N > | Random () |
| Returns a vector with pseudo-random entries. More... | |
| template<typename G > | |
| static fixed_size_simd< T, N > | generate (const G &gen) |
Generate a vector object from return values of gen (static variant of fill). | |
| template<class G , class = decltype(std::declval<G>()(std::size_t())), class = enable_if<!Traits::is_simd_vector<G>::value>> | |
| SimdArray (const G &gen) | |
The type of the mask used for masked operations and returned from comparisons.
Definition at line 678 of file simdarray.h.
The type of the mask used for masked operations and returned from comparisons.
Definition at line 680 of file simdarray.h.
| using EntryType = value_type |
The type of the elements (i.e. T
)
Definition at line 684 of file simdarray.h.
| using IndexType = index_type |
The type of the vector used for indexes in gather and scatter operations.
Definition at line 686 of file simdarray.h.
|
default |
Construct a zero-initialized vector object.
This constructor follows the behavior of the underlying arithmetic type T
in that the expression T()
zero-initializes the object. On the other hand the variable x
in T x;
is uninitialized. Since, for class types, both expressions call the default constructor Vector<T> x
must zero-initialize x
as well.
|
inline |
Broadcast Constructor.
Constructs a vector with all entries of the vector filled with the given value.
| a | The scalar value to broadcast to all entries of the constructed vector. |
Definition at line 755 of file simdarray.h.
|
inlinestaticconstexpr |
Returns N
, the number of scalar components in an object of this type.
The size of the SimdArray, i.e. the number of scalar elements in the vector. In contrast to Vector::size() you have control over this value via the N
template parameter of the SimdArray class template.
Definition at line 675 of file simdarray.h.
|
inlinestatic |
Returns a vector with pseudo-random entries.
Currently the state of the random number generator cannot be modified and starts off with the same state. Thus you will get the same sequence of numbers for the same sequence of calls.
Definition at line 719 of file simdarray.h.
|
inlinenoexcept |
This operator can be used to modify scalar entries of the vector.
| index | A value between 0 and Size. This value is not checked internally so you must make/be sure it is in range. |
index
.Definition at line 1035 of file simdarray.h.
|
inlinenoexcept |
This operator can be used to read scalar entries of the vector.
| index | A value between 0 and Size. This value is not checked internally so you must make/be sure it is in range. |
index
. Definition at line 1042 of file simdarray.h.
Writemask the vector before an assignment.
| mask | The writemask to be used. |
The returned object is only to be used for assignments and should not be assigned to a variable.
Examples:
Definition at line 1050 of file simdarray.h.
|
inline |
Return a sorted copy of the vector.
v[0] <= v[1] <= v[2] <= v[3] ...
Example:
With SSE the output would be:
[1513634383, -963914658,<PHONE_NUMBER>, -1285037745] [-1285037745, -963914658,<PHONE_NUMBER>,<PHONE_NUMBER>]
With the Scalar implementation:
[1513634383] [1513634383]
Definition at line 1361 of file simdarray.h.


Vancouver house prices rebounding
by Unconventional EconomistThe Teranet-National Bank House Price Index for October has been released, which shows that Canadian house prices fell by 0.1% across the 11 major markets, with annual growth improving to 1.0%:
However, prices in Vancouver rebounded, rising by 0.2% in October to be down 6.2% since peaking in July 2018.
There are 819 words left in this subscriber-only article.


{{no footnotes|date=March 2013}} {{Infobox prepared food | name = Bara brith | image = | caption = | alternate_name = Speckled bread | country = Wales | region = | creator = | course = | type = Sweet bread | served = | main_ingredient = Yeast, raisins, currants and candied peel | variations = | calories = | other = }}
Bara brith, sometimes known as "speckled bread" (the literal meaning of the original Welsh-language name), can be either a yeast bread enriched with dried fruit (similar to the Irish barmbrack) or something more like a fruitcake made with self-raising flour (no yeast). It is traditionally made with raisins, currants and candied peel.
There are many different recipes for this bread, which is baked and sold commercially in many parts of Wales. The yeast version of bara brith has a limited shelf life and is best eaten as soon as possible. The version made with self-raising flour can be kept for a long time. Welsh recipes favour soaking the dried fruit in tea overnight before the baking.
In Argentina, bara brith is also known as torta negra ("black cake"). One of the most traditional foods coming out of the Chubut valleys, it was brought by the Welsh settlers who started arriving in the country in 1865.
<references/>
{{Wikibooks|Cookbook:Bara brith}}
{{British bread}}


{{ partial "header.html" . }}
MicroMDM is an experimental project to build a Mobile Device Management server for Apple devices. Our goal is to create a performant and extensible device management solution for enterprise and education environments.
The community around open source MDM is small but growing. If you’re interested in the project and looking to chat with other MDM developers(and users), the best place to start is the MacAdmins Slack Team. Some of the channels you can join are #micromdm
, #dep
and #mdm
.


health countries epidemics public disease African Health epidemic data emergencies []. â€" Ebola IHR infectious {border-style Accessed px;} #ffffff;} Africa disasters epidemics, emergency potential response International events period Disease frequency preparedness Diseases Haemorrhagic number reported security virus Viral global information risk Global West country financing systems Democratic Public Republic Research analysis cross Feb Virus diseases event humanitarian international outbreaks pox px; region showing sources surveillance {font-family â€". .World Cholera Congo Data Emergency Epidemiology Fever, Office Programme based border cases caused distribution font-size human need region, temporal (%) Centre Disaster Fig. GIDEON Nigeria United World available case collaboration detection double; economic evaluation events, implementation led mechanisms national occurred occurrence outbreak recorded report social used website year (United .WHO. Africa, Control Dec Disease, Emerging Fever However, Malaria Marburg Monitoring Region Regional Regulations Tier USD Wellcome accessed bold border-color border-width compared countries, creating database development end evidence funding generated identified including: major solid; spread stacked support technical trends {font-style {font-weight (). Cholera, Database Disasters EVD Epidemic Finally, Further, Infect Infectious JEE Mar Monkey Organisation ProMED Report Trust [â€"]. address affected analysis, approximately areas capacities capacity change changes climate compiled continue courier; crisis early em; epidemic, established high impact improved inadequate including increased index investing joint limited livelihoods maps monitoring monkey political population preparedness. priority provide pt;} published regional review spatial specific strengthening threat time various were:


Micro Projects and Wave Buttons
It’s been quite a while since I posted an update. Crazy year so far. One of the things that I wanted to do despite the craziness of this year is to code for myself. I feel as though it is important, in a way to take ownership of my own skills and to achieve a side vision of financial freedom/independence. That all starts with some small steps. Hence, how I thought about doing micro projects. To me these aren’t full websites or complicated ideas. They’re simple things I can do almost daily with the dual task of helping me become more familiar with technologies I’ve felt I didn’t have the time to learn as well as allowing me to brush up skills that I may not use everyday for work but am still interesting in digging into. The first microproject I thought of was button animations. I believe it was Google’s material design that popularized the “ripple” effect when buttons are clicked.
I wanted to play around with something similar while using to technologies I wasn’t familiar with: css variables and keyframes. I ended created a simple hover animation that infinite loops through changing background, text, and border colors.
One of the stipulations of this experiment with micro projects is that I’m only allowed to spend two hours on it. I think constraints help with creativity. We’ll have to wait and see how it pans out in the long run.


"SEA OF GLASS "a figurative expression used in Revelation 4:6 and 15:2. According to the interpretation of some, “this calm, glass-like sea, which is never in storm, but only interfused with flame, represents the counsels of God, those purposes of righteousness and love which are often fathomless but never obscure, always the same, though sometimes glowing with holy anger.” (Comp. Psalm 36:6; 77:19; Romans 11:33-36.)
"SEA OF GLASS "a figurative expression used in Revelation 4:6 and 15:2.
According to the interpretation of some, “this calm, glass-like sea, which is never in storm, but only interfused with flame, represents the counsels of God, those purposes of righteousness and love which are often fathomless but never obscure, always the same, though sometimes glowing with holy anger.” (Comp. Psalm 36:6; 77:19; Romans 11:33-36.)


Does anyone out there know of a high Damage monk build that has a good Attack Bonus and yet retains decent Armor Class for survivability? I am starting on a new server and looks to be very hard to level. Prestige classes are by acceptance only and there is no swapping of equipment from char to char. So I am looking for something with a good playability all the way up. No alignment switches or anything please.
Also, what’s the best way to get around Monster Damage Reduction?
Well, you can try my Temple Guardian build (str-based Monk/Fighter/CoT). Click Here Can go unarmed or use kamas. Naked AB of 41, plenty of damage output, can get Dev Crit if you want it.
If you like sneaky types, you can try Felonius Monk (dex-based Rogue/Monk/Fighter). Click Here Gets very high AC, Epic Dodge, naked AB is 42, normal damage is lowish but he has a lot of sneak damage.
For getting around DR of the 20/+X type, use a kama or gloves of +X or higher.
For getting around DR of 20/-, you just have to do more damage. Go Str-based, buff your str, do lots of sneak damage, or get lots of elemental damage on your weapon/gloves.
TM
Would it be possible to make the temple guardian build with a base race of half orc instead of dwarf or would that effect the integrity of the build?
Well, it will cost you 2 Int and 2 Con, so you'll have 40 fewer HP, and 40 fewer skillpoints (you will also talk funny, if RP matters to you). You will pick up 1 AB and 1 damage. If you want the AB and damage without losing the skillpoints, you could drop Wis or Con by 2 to bump Int back up to 10, sacrificing either another 40 HP or 1 AC to retain the skillpoints and not talk funny.
Personally, I prefer the dwarf build, but it will still work as a half-orc.
 _________________ Where I'm playing now: World of Greyhawk.
Ouch! Well that won’t work then. I am just having a hard time coming up with a story describing why a dwarf would give up his race’s mastery over weapons and armor to run around half naked flailing left and right with punches and kicks. Not to mention explaining his COT levels.
Change the CoT lvls in CoM lvls as in Champion of Moradin.
Cheers, Kail _________________ To hear the sound of Freedom, many gave their lives They fought for you and me Those memories will always live inside us, and now it's our time to be free
As Kail noted, you can roleplay it as Champion of Moradin. I fail to see why classes such as CoT and RDD can't be roleplayed as a different god/dragon (hopefully they aren't completely literal on these where you play).
As for a Dwarf Monk - I don't see the issue. Remember Grimgnaw from the OC/HotU? _________________ Where I'm playing now: World of Greyhawk.
Good idea! Guess I was being close minded lol. I still find it really hard to imagine a dwarf that doesn’t wear heavy armor and wield a massive warhammer. Although he could be a Champion of Tavern Brawls hehe!


To streamline initial EJ analysis efforts over multiple locations of interest, the EJSCREENbatch R package was developed to leverage the national demographic and environmental datasets made available through the U.S. Environmental Protection Agency.
This package offers canned functions to extract and process Census block group EJSCREEN data for buffered areas surrounding user-provided sf geographies. Users can request different buffer distances or GIS inclusion methods. Moreover, buffers can be distance-based over land (i.e. drawing circles around lat/longs) or water (leveraging the NHDPlus network to measure up/downstream).
A number of standardized, secondary data visualization functions are also available: correlation plots, heat tables, ranking tables, and maps are among current offerings.
You can install the development version of EJSCREENbatch from GitHub with the following:
# requires devtools to install
install.packages('devtools')
library(devtools)
# install from repository
install_github('USEPA/EJSCREENbatch')
library(EJSCREENbatch)
To install from GitHub with package vignettes:
library(devtools)
install_github('USEPA/EJSCREENbatch', build_vignettes=TRUE)
library(EJSCREENbatch)
An overview of the package, example use of its functions, and additional documentation are available in the vignette directory.
The United States Environmental Protection Agency (EPA) GitHub project code is provided on an “as is” basis and the user assumes responsibility for its use. EPA has relinquished control of the information and no longer has responsibility to protect the integrity , confidentiality, or availability of the information. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by EPA. The EPA seal and logo shall not be used in any manner to imply endorsement of any commercial product or activity by EPA or the United States Government.


| About Dailyrotten |
|
Feedback
If you like this page, hate it, or would like to suggest changes,
<EMAIL_ADDRESS>is listening. This page
is experimental and somewhat different from what we usually offer, so please
do send your feedback.
Adding Stories
If you are a rotten newshound and you would like to suggest a story,
visit our submit page to
send us the URL. Stories that are accepted will have your name credited.
Posting Comments
In order to post comments to stories, you will have to
create an account.
Accounts will generally be validated within 24 hours, and of
course will be disabled if there is abuse.
Viewership
On the first full day this page went live, 100,000 people visited this Rotten
News page. Of course that was the day after the WTC attacks, so that number is
somewhat distorted. Right now this page gets between 50,000 and 75,000 people
every day.
Linking
We encourage everyone to link to this page; if you like it, others probably
will as well.
Other Rotten
Rotten
Gaping Maw
Celebrity Morgue
Mugshots
Rotten Store
Rate My Poo
Rate My Kitten
Rate My Finger
Penny Postcards
Phallic
Boners
Home
Make Dailyrotten your start page
|
|
|
August 13, 2002
Aristotle's Law proposed in Berkeley
EVB | Submitted by: Soylent
"In a philosophical effort to come up with a city law that no one could ever
break, conceptual artist Jonathon Keats wants Berkeley to legally acknowledge
Aristotle's law, commonly expressed as A=A... His six-hour effort netted 65
signatures, 42 of which belonged to actual Berkeley residents."
|
|
Read article...
|
|
Geeks in government
c|Net | Submitted by: Soylent
"By participating in the lobby process, you're effectively giving money to
the political system," Back says. "It's effectively a favor-trading system
where the politician wins and the geek loses...You're better of spending time
writing code and influencing Internet protocols to work towards making the
politicians irrelevant in the future."
|
|
Read article...
|
|
Unidentified object scare continues
Kathmandu Post | Submitted by: Spookbabe
"Even the object continues to attack villagers for the last couple of days
and more and more people are attacked, authorities from both Nepal and India
have failed to identify the object, which is said to be active at night and
disappears instantly after the attack."
|
|
Read article...
|
|
Hollywood's private war for social control
The Register | Submitted by: Spookbabe
No, it seems that one of the highest priorities for the Justice
Department - behind that simple task of securing America's
Homeland - should be copyright enforcement... at least in the
eyes of the Recording Industry Association of America.
|
|
Read article...
|
|
Elephants amok on Acid
Guardian | Submitted by: nick thompson
"Thomas volunteered the services of Tusko, a 3,200kg, 14-year-old male
elephant. They were all set to establish what an elephant on acid would get
up to.  Research had established that lower animals are less
susceptible to the mind-altering effects of LSD than humans. It would be a
waste to have an elephant ready to go and then miss out on the unique
opportunity by giving it an insufficient dose."
|
|
Read article...
|
|
Doctors give living corpse cold reception
Tiscali World Online | Submitted by: Deadman
Okay, so he's alive - but only just. A 68-year-old man who "died" of cancer
last week is in intensive care in a French hospital after an undertaker's
assistant noticed that he was still breathing. Doctors are reulcant to
declare him undead just yet.
|
|
Read article...
|
|
Asian Brown Cloud could kill millions
CNN | Submitted by: ian m.
A dense blanket of pollution, dubbed the "Asian Brown Cloud," is hovering
over South Asia, with scientists warning it could kill millions of people in
the region, and pose a global threat. In the biggest-ever study of the
phenomenon, 200 scientists warned that the cloud, estimated to be two miles (three kilometers) thick, is responsible for hundreds of thousands of deaths a year from respiratory disease."

St.  "He paid me $40,000 to teach you a lesson." ...
Six hours later, a truck driver found the woman stumbling along a Tennessee road. She was wearing only a bra and was wrapped in shrink wrap."
|
|
Read article...
|
|
York officials find children huffing coolant
Wire Services | Submitted by: optional
"Police have come across what they and health officials say is a dangerous
activity among some local preteen children: sniffing fumes from air
conditioning units... they do want to warn parents to keep an eye out for signs
of huffing in children. Those signs can include red eyes, missing cleaning
supplies and breath that smells of chemicals."
|
|
Read article...
|
|
Fungus-based Quorn-meat for sale
CNN | Submitted by: D. Rango
In the fine tradition of cafeteria "mystery meat" comes a new and improved
substance masquerading as food. "A health advocacy group accused the government
Monday of allowing fake meat made from fungus to be sold even though it makes
people sick and demanded the product, known as Quorn, be recalled." A report
says 33 people suffered vomiting, diarrhea and other ailments after eating
Quorn.
|
|
Read article...
|
|
A rotten job in Shanghai
New York Times | Submitted by: Son of Benway
"Ma Yilai sat down with a sigh and apologized for his ash-permeated clothes.
The pores of his fingers were impregnated with ash, and his fingernails were
black with it. Ash is one of the many minor occupational hazards of working on
the bluntly named "burn team" here at what may be the world's largest
crematory."
|
|
Read article...
|
|
Explosive science
Associated Press | Submitted by: Son of Benway
"An explosives experiment blew up at an institute that does much research
for the military, critically injuring two researchers with burns and shrapnel
wounds, authorities said... "These are very experienced guys with this sort
of thing, and we do this type of research all of the time..."
|
|
Read article...
|
|
Peg leg banned from school pool
AZ Central | Submitted by: Ann Onymous
"The parents of other children claim the leg gave Hunter an unfair advantage.
Last month, the DeKalb Atlanta Swim and Diving league banned him from
competitions. Hunter was born with a birth defect that kept his left leg from
growing past the knee. His parents said the plastic leg, designed to be fitted
with a flipper, only helped his balance. They threatened to sue the swim board."
|
|
Read article...
|
|
Corpse-art body donors tell all
BBC | Submitted by: Ann Onymous
"The first people from the UK to donate their bodies to a controversial art
exhibition have said they are doing it to help educate the public... "I feel
that by doing this I will be helping to advance medical research and enlighten
people about the human body," said Eulinda Clarke-Akalanne, 60, from
Westonzoyland, Somerset."
|
|
Read article...
|
|
Man on motocycle killed leading funeral procession
KING-TV 5 Seattle | Submitted by: BigBongToker
"An off-duty firefighter riding a motorcycle in a funeral procession was
struck by a car Friday and died at Harborview Medical Center Friday
afternoon. "He was attempting to catch up with the other escort vehicles. He
had cleared the last intersection and he had gone what appears into the
oncoming lane to pass other traffic."
|
|
Read article...
|
|
Cigs and geezers
Belleville News-Democrat | Submitted by: Gutter Juice
"Nursing home residents who receive Medicare or Medicaid benefits are allowed
to keep only $30 a month of their Social Security benefits for incidentals such
cigarettes, clothing and haircuts, Illinois Department of Public Aid spokesman
Ellen Feldhausen said. Jamie Ziegler, administrator of River Bluffs Rehab and
Nursing Centers in Cahokia, said her staff tried to help residents stretch
their money by picking up cigarettes for them in Missouri, where the tax is
only 17 cents a pack, with a savings of $8.10 a carton."
|
|
Read article...
|
|
Dad names baby after favorite race horse
South Florida Sun-Sentinel | Submitted by: Spookbabe
"An outraged Italian mother has gone to court after her husband furtively
named their newborn son after a prize-winning horse."  It recovered 825 ounces,
about 51.5 pounds, of marijuana, 7,294 doses of LSD, 8.8 grams of liquid LSD,
10 pounds of hallucinogenic mushrooms, 9 grams of heroin, 82 grams of
hashish, 6.3 grams of cocaine and a tank of nitrous oxide, according
to the department."
|
|
Read article...
|
|
Boy dies in dumb weinermobile accident
Baltimore Sun | Submitted by: Scott Huffines, Atomic Books
"A 12-year-old Crofton, Maryland boy was killed in a bizarre accident when his
toy cart, "The Oscar Mayer Weinermobile," being towed by his brother in a
pickup truck, struck a curb at 30 mph, sending the boy head-first into a tree."
|
|
Read article...
|
|
Baby born without butthole
Ekstrabladet | Submitted by: Jan V.
"The parents were complaining to the nurses at the hospital that baby's faeces
was black and green and appeared to come out of the vagina. The nurses told the
parents to calm down and said that everything was normal. Later they realized
that the baby didn't have an anus and made her a colostomy."
Cute picture, she doesn't look constipated at all.
|
|
Read article...
|
|
The Seven Horrors of Britain
Guardian | Submitted by: Ann Onymous
No surprises here: "A phone-in poll among listeners to BBC Radio's Today
programme yesterday voted the M25 ring route around London top in a survey
of 'seven horrors of Britain'. The Millennium Dome was rated the second worst
place to visit. Blackpool promenade was third, followed by Heathrow airport in
fourth place, and New Street railway station in Birmingham at five. The north
west provided the Arndale shopping centre in Manchester, with its yellow
lavatory tiles, at number six, and Sellafield nuclear reprocessing plant in
Cumbria was seventh."
M25, incidentally, was hailed as a "magnificent achievement" by Maggie
Thatcher, so there can't be any doubt as to how bad it is.
|
|
Read article...
|
|
Judge orders drugs planted on annoyance
Washington Post | Submitted by: pan
"And then the judge signed off on a plan, beautifully simple, that
inscribes a new chapter in the annals of Louisiana sleaze, according to
a federal indictment: plant illegal drugs in the man's pickup truck,
then have him arrested."
|
|
Read article...
|
|
Unique weapons used in fatal beating
Syracuse Post-Standard | Submitted by: Mr. Ramon
In the course of killing his Internet girlfriend, 17 year old high school
dropout Spencer Lee King used the following weapons: a 10in carving knife,
a TV set, a fan, a kitchen chair, a leg broken off a stool, and an envelope
which he ignited with a stove and used to light the girl's blanket covered
body and burn her house down.
|
|
Read article...
|
|
Palestinian killed soldier after losing cardgame
Tiscali World Online | Submitted by: Ann
Death comes to an Israeli soldier because of the trifling matter of a bet lost.
A Palestinian militia leader who lost a card game with fellow gunmen struck a
deal to pay off his "debt": he killed an Israeli soldier.
|
|
Read article...
|
|
Police nab suspects in salmon heist
Anchorage Daily News | Submitted by: Jesse S.E. Fogleboch
"Sitka Police say they've traced the final hours of the giant king salmon
stolen from a processor and know what happened to the heisted fish: It went
to a party. The male red king salmon, one of the largest ever caught in
Southeast waters, weighed 82 pounds."
|
|
Read article...
|
|
|
|
|


Publishing Artifacts
A JVM library owner/maintainer can publish versioned JARs and other artifacts that other repos can fetch and import as third-party dependencies.
A java_library
target can have a provides
parameter of type
artifact
. The artifact
specifies the published artifact's
coordinates, except that it does not specify a version; that changes each time you publish.
For an example, see
examples/src/java/org/pantsbuild/example/hello/greet/BUILD:
java_library(name = 'greet', dependencies = [], # A more realistic example would depend on other libs, # but this "hello world" is pretty simple. sources = globs('*.java'), provides = artifact(org='org.pantsbuild.example', name='hello-greet', repo=public,), )
(That repo=
parameter assumes someone has set up your Pants configuration to know about that
artifact repository. If that assumption is false, keep reading to find out how to set this up.)
Pants' publish
goal builds the library, bumps the library's version
number, and uploads the library to its repository.
The publishing mechanism uses Semantic Versioning ("semver") for versioning. Versions are dotted number triples (e.g., 2.5.6); when Pants bumps a version, it specifically bumps the patch number part. Thus, if the current version is 2.5.6, Pants bumps to 2.5.7. To publish a minor or major version instead of a patch, you override the version number on the command line.
The pushdb: To "remember" version numbers, Pants uses the pushdb. The pushdb is a text file under source control. It lists artifacts with their current version numbers and SHAs. When you publish artifacts, pants edits this file and pushes it to the origin.
Enabling Pants Publish
Tell Pants about your Artifact Repository
To tell Pants which artifact repository to publish to, Create a plugin if you haven't already. Register it with Pants.
In the plugin, define and register at least one Repository
object in a BUILD
file alias as
shown in
src/python/internal_backend/repositories/register.py
.
BUILD
targets can use this Repository's alias as the repo
parameter to an artifact
. For example,
examples/src/java/org/pantsbuild/example/hello/greet/BUILD
refers to the public
repository defined above. (Notice it's a Python object, not a string.)
java_library(name = 'greet', dependencies = [], # A more realistic example would depend on other libs, # but this "hello world" is pretty simple. sources = globs('*.java'), provides = artifact(org='org.pantsbuild.example', name='hello-greet', repo=public,), )
If you get an error that the repo name (here, public
) isn't defined, your plugin didn't register
with Pants successfully. Make sure you bootstrap Pants in a way that loads your register.py
.
In your pants.ini
file, set up a [publish.jar]
section. In that section,
create a dict
called repos
. It should contain a section for each Repository
object that you
defined in your plugin:
[publish.jar] repos: { 'public': { # must match the name of the `Repository` object that you defined in your plugin. 'resolver': 'maven.example.com', # must match hostname in ~/.netrc and the <url> parameter # in your custom ivysettings.xml. 'auth': 'build-support:netrc', # Pants spec to a 'credentials()' or # 'netrc_credentials()' object. 'help': 'Configure your ~/.netrc for maven.example.com access.' }, 'testing': { 'resolver': 'artifactory.example.com', 'auth': 'build-support:netrc', 'help': 'Configure your ~/.netrc for artifactory.example.com access.' }, }
If your repository requires authentication, add a ~/.netrc
file. Here is a sample file, that
matches the repos
specified above:
machine maven.example.com login someuser password password123 machine artifactory.example.com login someuser password someotherpassword123
And place the following in a BUILD
file somewhere in your repository (build-support/BUILD
is a
good place, and is used in the example above):
netrc_credentials(name = 'netrc')
Next, tell Ivy how to publish to your repository. Add a new ivysettings.xml
file to your repo
with the additional information needed to publish artifacts. Here is an example to get you started:
<?xml version="1.0"?> <ivysettings> <settings defaultResolver="chain-repos"/> <!-- The ${login} and ${password} values come from a netrc_credentials() object in a BUILD file, which is fed by '~/.netrc'. There must be a '~/.netrc' machine entry which matches a resolver in the "repos" object in 'pants.ini', which also matches the 'host' in this XML block. machine <hostname> login <login> password <password> The realm must match the kind of repository you are publishing to. For Sonotype Nexus, use: realm="Sonatype Nexus Repository Manager" --> <credentials host="artifactory.example.com" realm="Artifactory Realm" username="${login}" passwd="${password}"/> <resolvers> <chain name="chain-repos" returnFirst="true"> <ibiblio name="artifactory.example.com" m2compatible="true" usepoms="true" root="https://artifactory.example.com/content/groups/public/"/> </chain> <url name="artifactory.example.com" m2compatible="true"> <artifact pattern="https://artifactory.example.com/libs-releases-local/[organization]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]"/> </url> </resolvers> </ivysettings>
With this file in place, add a [publish.jar]
section to pants.ini
, and tell pants to use
the custom Ivy settings when publishing:
[publish.jar] ivy_settings: %(pants_supportdir)s/ivy/ivysettings_for_publishing.xml
Restricting Publish to "Release Branch"
Your organization might have a notion of a special "release branch": you want publishing
to happen on this source control branch, which you maintain extra-carefully.
You can set this branch using the restrict_push_branches
option in the
[publish.jar]
section of your pants.ini
file.
Task to Publish "Extra" Artifacts
Pants supports "publish plugins", which allow end-users to add additional, arbitrary files to be published along with the primary artifact. For example, let's say that along with publishing your jar full of class files, you would also like to publish a companion file that contains some metadata -- code coverage info, source git repository, java version that created the jar, etc. By developing a task in a plugin, you give Pants a new ability. Develop a Task to Publish "Extra" Artifacts to find out how to develop a special Task to include "extra" data with published artifacts.
Life of a Publish
To publish a library's artifact, Pants bumps the version number and uploads the artifact to a repository. When things go smoothly, that's all you need to know. When things go wrong, it's good to know details.
-
Pants decides the version number to use based on pushdb's state.
You can override the version number[s] to use via a command-line flag. Pants does some sanity-checking: If you specify an override version less than or equal to the last-published version (as noted in the pushdb), Pants balks.
-
For each artifact to be published, it prompts you for confirmation. (This is a chance for you to notice that you want to, e.g., bump an artifact's minor revision instead of patch revision.)
-
Invokes a tool to upload the artifact to a repository. (For JVM artifacts, this tool is Ivy.)
-
Commits pushdb.
Things can go wrong; you can recover:
- Uploading the artifact can fail for reasons you might expect for an upload: authentication problems, transient connection problems, etc.
-
Uploading the artifact can fail for another reason: that artifact+version already exists on the server. In theory, this shouldn't happen: Pants bumps the version it found in the pushdb. But in practice, this can happen.
Exception in thread "main" java.io.IOException: destination file exists and overwrite == false ... FAILURE: java -jar .../ivy/lib/ivy-2.2.0.jar ... exited non-zero (1) 'failed to push com.twitter#archimedes_common;0.0.42'
This is usually a sign that something strange happened in a previous publish. Perhaps someone published an artifact "by hand" instead of using Pants. Perhaps someone used Pants to publish an artifact but it failed to update the pushdb in source control. E.g., merge conflicts can happen, and folks don't always recover from them correctly.
In this situation, you probably want to pass
publish --overrride=<version>
to specify a version to use instead of the automatically-computed already-existing version. Choose a version that's not already on the server. Pants records this version in the pushdb, so hopefully the next publisher won't have the same problem.Perhaps you are "racing" a colleague and just lost the race: they published an artifact with that name+version.
In this situation, you probably want to refresh your source tree (
git pull
or equivalent) to get the latest version of the pushdb and try again. -
Pushing the pushdb to origin can fail, even though artifact-uploading succeeded. Perhaps you were publishing at about the same time someone else was; you might get a merge conflict when trying to push.
(There's a temptation to ignore this error: the artifact uploaded OK; nobody expects a git merge conflict when publishing. Alas, ignoring the error now means that your next publish will probably fail, since Pants has lost track of the current version number.)
How To
- Does your organization enforce a special branch for publishing?
(E.g., perhaps publishing is only allowed on the
master
branch.) If so, be on that branch with no changes. - Consider trying a local publish first. This lets you test the to-be-published artifact. See Test with a Fake Local "Publish".
- Start the publish:
./pants publish.jar --no-dryrun [target]
Don't wander off; Pants will ask for confirmation as it goes (making sure you aren't publishing artifact[s] you didn't mean to).
Restricting to "Release Branch"
Your organization might have a notion of a special "release branch": you
want all publishing to happen on this source control branch, which you
maintain extra-carefully. You can
configure your repo so that the
publish
goal only allows publish
-ing from this special branch.
Authenticating to the Artifact Repository
Your artifact repository probably doesn't accept anonymous uploads; you probably need to authenticate to it (prove that you are really you). Depending on how the artifact repository is configured, Pants might need to interact with an authentication system. (Or it might not. E.g., if your system uses Kerberos, when Pants invokes artifact-upload commands, Kerberos tickets should work automatically).
Your Pants administrator will handle configuring Pants to submit credentials to the artifact
repository. As a user, if Pants needs to provide your username and password, you can enable this
via Pants' .netrc
support. Pants can parse .netrc
files to get your
username and password to an artifact repository server. Here is an example file:
machine maven.example.com login sandy password myamazingpa$sword
Check with your Pants administrator for the proper hostname to use for the "machine" entry.
Troubleshooting
Sometimes publishing doesn't do what you want. The fix usually involves publishing again, perhaps
passing --override
(override the version number to use), --force
, and/or --restart-at
. The
following are some usual symptoms/questions:
Versioned Artifact Already Exists
Pants attempted to compute the new version number to use based on the contents of the pushdb; but apparently, someone previously published that version of the artifact without updating the pushdb.
Examine the publish repo to find out what version number you actually want to use. E.g., if you notice that versions up to 2.5.7 exist and you want to bump the patch version, you want to override the default version number and use 2.5.8 instead.
Try publishing again, but pass --override
to specify the version number to use instead of
incrementing the version number from the pushdb. Be sure to use a version number that has not
already been published this time. For example, to override the default publish version number for
the org.archie
buoyancy artifact, you might pass
publish --override=org.archie#buoyancy=2.5.8
.
Failed to Push to Origin
You might successfully publish your artifact but then fail to push your pushdb change to origin:
To https://git.archimedes.org/owls ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'https://git.archimedes.org/owls' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Merge the remote changes (e.g. 'git pull') hint: before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
For some reason, git couldn't merge your branch (with the pushdb change) to the branch on origin. This might happen, for example, if you were "racing" someone else; they perhaps pushed their change to master's pushdb before you could. But it can also happen for other reasons; any local change that can't be merged to the branch on origin.
You are now in a bad state: you've pushed some artifacts, but the pushdb doesn't "remember" them.
- Look at the pushdb's source control history to if someone made a conflicting publish. If so, contact them. (You're about to try to fix the problem; if they also encountered problems, they are probably also about to fix the problem. You might want to coordinate and take turns.)
Resetting to try again
In git, this might mean:
git reset origin/master # (if ``master`` is your release branch) git pull origin master ./pants publish.jar <your previous args>
Since you uploaded new versioned artifacts but the reset pushdb doesn't "remember" that, you might
get "Versioned Artifact Already Exists" errors: see the section above and use --override
to
set version numbers to avoid these.
Does not provide an artifact
A published artifact lives at a set of coordinates. For Pants to publish
an artifact, it needs to know the artifact's coordinates. Pants gets the
coordinates from the target's provides
parameter. Thus, if you try to
publish a target that depends on a target that has no provides
, Pants
doesn't know what to do. It stops:
FAILURE: The following errors must be resolved to publish. Cannot publish BuildFileAddress(/Users/archie/workspace/buoyancy/client/src/main/scala/com/bu oyancy/client/BUILD, client) due to: BuildFileAddress(/Users/archie/workspace/buoyancy/client/src/main/scala/com/buoyancy/client /model/BUILD, model) - Does not provide an artifact.
The solution is to add a provides
to the target that lacks one.
Remember, to publish a target, the target's dependencies must also be
published. If any of those dependencies have changed since their last
publish, Pants tries to publish them before publishing the target you
specify. Thus, you might need to add a provides
to one or more of
these.
Silently does not publish
A published artifact lives at a set of coordinates. For Pants to publish
an artifact, it needs to know the artifact's coordinates. Pants gets the
coordinates from the target's provides
parameter. Thus, if you try to
publish a target that has no provides
, Pants doesn't try. If the
target depends on other targets that do provide artifacts, Pants
might publish those. This is a case of
goal-target mismatch
To fix this, set provides
correctly.
Want to Publish Something? Publish Many Things
If you publish a library that depends on others, you want to publish
them together. Conversely, if you publish a low-level library that other
libraries depend upon, you want to publish those together, too. Thus, if
you want to publish one thing, you may find you should publish many
things. Pants eases part of this: if you publish a library, it
automatically prompts you to also publish depended-upon libraries whose
source code changed. However, Pants does not automatically publish
dependees of a depended-upon library. If you know you're about to
publish a low-level library (perhaps via a "dry run" publish), you can
use Pants' dependees
to find other things to publish.
For example, suppose your new library high-level
depends on another
library, util
. If you tested high-level
with util
version 1.2, you
want util
1.2 published and available to high-level
consumers. Once
you publish util
version 1.2, people might use it. If you previously
published your another-high-level
library library depending on util
version 1.1, another-high-level
consumers (who might also consume
high-level
) might pick up version 1.2 and be sad to find out that
other-high-level
doesn't work with the new util
.
In this example, when you publish high-level
, Pants knows to also
publish util
. If Pants publishes util
, it does not automatically
try to publish high-level
or other-high-level
.
Test with a Fake Local "Publish"
The whole reason you publish an artifact so that other codebases can use it.
For example, your other codebase might use Maven to build, perhaps with
Maven configured to use ~/.m2/repository
as a local repo. You can make
pants publish to that local repo with:
./pants publish.jar --no-dryrun --local=~/.m2/repository
In the other codebase, change the dependencies to pull in the new artifact.
If your other codebase also uses Pants build, you can depend on the
locally-published artifact. If the artifact is a jar, then in the
3rdparty
jar
target, set mutable=True
and change the
version number.


Form used for field value extraction, stringification
textarea
Unselected
Selected
Unselected
Selected
Selected also
content; no value
content and value
content; no value
content and value


Counterfeit £50 notes used in Shrewsbury
by Aimee JonesPolice are urging businesses to be on their guard after a number of forged £50 notes were used in Shrewsbury.
Staff at a supermarket in the town identified the counterfeit notes and contacted West Mercia Police.
Officers are now working to identify the source of the fake money, but are urging traders and shoppers to be vigilant.
People are asked to check notes before they accept them and if they believe they have been passed a fake note, keep hold of it and contact the police.
Bank of England notes include the watermark, metallic thread, raising printing and a holographic foil image.
Anyone with information should contact police on 101.
Alternatively, contact Crimestoppers on 0800 555111 or crimestoppers-uk.org


| camera name | camera location | |
|---|---|---|
| {{camera.cameraName}} | {{camera.location.lat}} x {{camera.location.lon}} |
| username | can setup | can upload | can categorize | can report | ||
|---|---|---|---|---|---|---|
| {{userproject.username}} | {{userproject.userEmail}} | {{userproject.canAdmin}} | {{userproject.canUpload}} | {{userproject.canCategorize}} | {{userproject.canReport}} |
| when | can setup | can upload | can categorize | can report | ||
|---|---|---|---|---|---|---|
| {{invite.email}} | {{invite.inviteCodeSentDate}} | {{invite.canAdmin}} | {{invite.canUpload}} | {{invite.canCategorize}} | {{invite.canReport}} |
|


Auth package
The Auth package provides a standardized interface for authentication in Fuel. This allows our users to write their own drivers and easily integrate a new driver to work with old code by keeping the basic methods consistent.
Introduction
Creating an Auth package that will suit everyone or every implementation is impossible. As a framework we don't want to force how you do Auth, but we do want to facilitate you creating your own or using the work of others. This is where the Auth package comes in, which of course includes a simple implementation to get you going.
The interface contains 3 types of drivers (which can be extended to more types): login, groups & ACL.
The login drivers handle a user login and can handle multiple login drivers at the same time. For example
one could make it possible for users to login through Twitter and their own native users at the same time
using 2 login drivers.
As a next step you could group those 2 types of logins using a group driver that doesn't care about the
type of login you're using. And last but not least you can use an Acl driver to give specific rights to
those groups.
The above is just an example of how you might use it, not how you have to use it. Read on in the next section to understand which methods are part of the generic interface and which will be driver specific: Basic Usage
Installation
The Auth package is included in the Fuel download. All you need to do is enable it in your config.
'packages' => array(
'auth',
),
Configuration
Auth can be configured in a config/auth.php file and takes the following keys:
| Param | Type | Default | Description |
|---|---|---|---|
| driver | string|array |
|
Login drivers to load, the first will also be the default returned by Auth::instance(). |
| verify_multiple_logins | bool |
|
Whether checking for login continues after one driver has validated a login successfully, this makes it possible to login in multiple ways at the same time. |
| salt | string |
|
The salt used for password hashing. |
Your auth config file should look like this:
<?php
return array(
// The drivers
'driver' => array('SimpleAuth'),
// Set to true to allow multiple logins
'verify_multiple_logins' => true,
// Use your own salt for security reasons
'salt' => 'Th1s=mY0Wn_$@|+',
);
/* End of file auth.php */


W3Schools contains free tutorials and references.
Note: IE8 supports the content property only if a !DOCTYPE is specified.


Built-in Algorithms
Prerequisite:
This example goes through an algorithm from the list of builtin algorithms that can be applied to a dataset. For simplicity the dataset used for this is MNIST, since it is commonly known and explored.
If one wants to skip the explanation then the full script is available at the bottom of this page.
Step 1: Get Dataset
SystemDS provides builtin for downloading and setup of the MNIST dataset. To setup this simply use
from systemds.context import SystemDSContext
from systemds.examples.tutorials.mnist import DataManager
from systemds.operator.algorithm import multiLogReg, multiLogRegPredict
d = DataManager()
X = d.get_train_data().reshape((60000, 28*28))
Y = d.get_train_labels()
Here the DataManager contains the code for downloading and setting up numpy arrays containing the data.
Step 2: Reshape & Format
Usually data does not come in formats that perfectly fits the algorithms, to make this tutorial more realistic some data preprocessing is required to change the input to fit.
First the training data, X, has multiple dimensions resulting in a shape (60000, 28, 28). The dimensions correspond to first the number of images 60000, then the number of row pixels, 28, and finally the column pixels, 28.
To use this data for logistic regression we have to reduce the dimensions. The input X is the training data. It require the data to have two dimensions, the first resemble the number of inputs, and the other the number of features.
Therefore to make the data fit the algorithm we reshape the X dataset, like so
X = X.reshape((60000, 28*28))
This takes each row of pixels and append to each other making a single feature vector per image.
The Y dataset also does not perfectly fit the logistic regression algorithm, this is because the labels for this dataset is values ranging from 0, to 9, each label correspond to the integer shown in the image. unfortunately the algorithm require the labels to be distinct integers from 1 and upwards.
Therefore we add 1 to each label such that the labels go from 1 to 10, like this
Y = Y + 1
With these steps we are now ready to train a simple model.
Step 3: Training
To start with, we setup a SystemDS context and setup the data:
Yt = d.get_test_labels()
with SystemDSContext() as sds:
# Train Data
to reduce the training time and verify everything works, it is usually good to reduce the amount of data, to train on a smaller sample to start with
sample_size = 1000
X_ds = sds.from_numpy(X[:sample_size])
Y_ds = sds.from_numpy(Y[:sample_size])
And now everything is ready for our algorithm
from systemds.operator.algorithm import multiLogReg
bias = multiLogReg(X_ds, Y_ds)
Note that nothing has been calculated yet, in SystemDS, since it only happens when you call compute
bias_r = bias.compute()
bias is a matrix, that if matrix multiplied with an instance returns a value distribution where, the highest value is the predicted type. This is the matrix that could be saved and used for predicting labels later.
Step 3: Validate
To see what accuracy the model achieves, we have to load in the test dataset as well.
this can also be extracted from our builtin MNIST loader, to keep the tutorial short the operations are combined
Xt = sds.from_numpy(d.get_test_data().reshape((10000, 28*28)))
Yt = sds.from_numpy(d.get_test_labels()) + 1
The above loads the test data, and reshapes the X data the same way the training data was reshaped.
Finally we verify the accuracy by calling
from systemds.operator.algorithm import multiLogRegPredict
[m, y_pred, acc] = multiLogRegPredict(Xt, bias, Yt).compute()
print(acc)
There are three outputs from the multiLogRegPredict call.
m, is the mean probability of correctly classifying each label.
y_pred, is the predictions made using the model, bias, trained.
acc, is the accuracy achieved by the model.
If the subset of the training data is used then you could expect an accuracy of 85% in this example using 1000 pictures of the training data.
Step 4: Tuning
Now that we have a working baseline we can start tuning parameters.
But first it is valuable to know how much of a difference in performance there is on the training data, vs the test data. This gives an indication of if we have exhausted the learning potential of the training data.
To see how our accuracy is on the training data we use the Predict function again, but with our training data
[m, y_pred, acc] = multiLogRegPredict(X_ds, bias, Y_ds).compute()
print(acc)
In this specific case we achieve 100% accuracy on the training data, indicating that we have fit the training data, and have nothing more to learn from the data as it is now.
To improve further we have to increase the training data, here for example we increase it from our sample of 1k to the full training dataset of 60k, in this example the maxi is set to reduce the number of iterations the algorithm takes, to again reduce training time
Yt = d.get_test_labels()
with SystemDSContext() as sds:
# Train Data
X_ds = sds.from_numpy(X)
Y_ds = sds.from_numpy(Y) + 1.0
bias = multiLogReg(X_ds, Y_ds, maxi=30, verbose=False)
# Test data
Xt_ds = sds.from_numpy(Xt)
Yt_ds = sds.from_numpy(Yt) + 1.0
[m, y_pred, acc] = multiLogRegPredict(Xt_ds, bias, Yt_ds, verbose=False).compute()
With this change the accuracy achieved changes from the previous value to 92%. But this is a basic implementation that can be replaced by a variety of algorithms and techniques.
Full Script
The full script, some steps are combined to reduce the overall script. One noteworthy change is the + 1 is done on the matrix ready for SystemDS, this makes SystemDS responsible for adding the 1 to each value.
import logging
from systemds.context import SystemDSContext
from systemds.examples.tutorials.mnist import DataManager
from systemds.operator.algorithm import multiLogReg, multiLogRegPredict
d = DataManager()
X = d.get_train_data().reshape((60000, 28*28))
Y = d.get_train_labels()
Xt = d.get_test_data().reshape((10000, 28*28))
Yt = d.get_test_labels()
with SystemDSContext() as sds:
# Train Data
X_ds = sds.from_numpy(X)
Y_ds = sds.from_numpy(Y) + 1.0
bias = multiLogReg(X_ds, Y_ds, maxi=30, verbose=False)
# Test data
Xt_ds = sds.from_numpy(Xt)
Yt_ds = sds.from_numpy(Yt) + 1.0
[m, y_pred, acc] = multiLogRegPredict(Xt_ds, bias, Yt_ds, verbose=False).compute()
logging.info(acc)


|
The MWAIT instruction is designed to operate with the MONITOR instruction. The two instructions allow the definition of an address at which to 'wait' (MONITOR) and an instruction that causes a predefined 'implementation-dependent-optimized operation' to commence at the 'wait' address (MWAIT). The execution of MWAIT is a hint to the processor that it can enter an implementation-dependent-optimized state while waiting for an event or a store operation to the address range armed by the preceding MONITOR instruction in program flow.
EAX and ECX is used to communicate other information to the MWAIT instruction, such as the kind of optimized state the processor should enter. ECX specifies optional extensions for the MWAIT instruction. EAX may contain hints such as the preferred optimized state the processor should enter. For Pentium 4 processors with CPUID signature family = 15 and model = 3, all non-zero values for EAX and ECX are reserved. The processor will raise a general protection fault on the execution of MWAIT with reserved values in ECX, whereas it ignores the setting of reserved bits in EAX.
A store to the address range armed by the MONITOR instruction, an interrupt, an NMI or SMI, a debug exception, a machine check exception, the BINIT# signal, the INIT# signal, or the RESET# signal will exit the implementation-dependent-optimized state. Note that an interrupt will cause the processor to exit only if the state was entered with interrupts enabled.
If a store to the address range causes the processor to exit, execution will resume at the instruction following the MWAIT instruction. If an interrupt (including NMI) caused the processor to exit the implementation-dependent-optimized state, the processor will exit the state and handle the interrupt. If an SMI caused the processor to exit the implementation-dependent-optimized state, execution will resume at the instruction following MWAIT after handling of the SMI.
Unlike the HLT instruction, the MWAIT instruction does not support a restart at the MWAIT instruction. There may also be other implementation-dependent events or time-outs that may take the processor out of the implementation-dependent-optimized state and resume execution at the instruction following the MWAIT.
If the preceding MONITOR instruction did not successfully arm an address range or if the MONITOR instruction has not been executed prior to executing MWAIT, then the processor will not enter the implementation-dependent-optimized state. Execution will resume at the instruction following the MWAIT.
The MWAIT instruction can be executed at any privilege level. The MONITOR CPUID feature flag (ECX[bit 3] when CPUID is executed with EAX = 1) indicates the availability of the MONITOR and MWAIT instruction in a processor. When set, the unconditional execution of MWAIT is supported at privilege level 0 and conditional execution is supported at privilege levels 1 through 3 (software should test for the appropriate support of these instructions before unconditional use).
The operating system or system BIOS may disable this instruction using the IA32_MISC_ENABLES MSR; disabling the instruction clears the CPUID feature flag and causes execution of the MWAIT instruction to generate an illegal opcode exception.
|


Partake on a plethora of beach luxury activities Sahana. Explore the beauty of Pondicherry, grab a bite of the sumptuous seafood, put on your adventure vests and dive into the crystal clear aqua for some deep sea flora-fauna, or just sunbathe on the beach without a care. Check out all the activities available with us here.


Select First Band
black
brown
red
orange
yellow
green
blue
violet
grey
white
Select Second Band
black
brown
red
orange
yellow
green
blue
violet
grey
white
Select Third Band
black
brown
red
orange
yellow
green
blue
violet
grey
white
Select Fourth Band
gold
silver
live site
GitHub


Inputs an array of Grids (and Xforms) and merges all of the coordinates into one composite grid object. This allows multiple probes (glyphs) to be merged and used as a single input to modules such as streamlines and advect.
module MultiProbeMerge <src_file="mprobe.cxx"> { Grid+Xform &in <NEportLevels={2,0}>[]; int ngrids => array_size( in ); Mesh out <NEportLevels={0,2}> { nspace = 3; ncell_sets = 1; Cell_Set+Point cell_set[ncell_sets] { ncells => <-.nnodes; node_connect_list => init_array( ncells, 0, (ncells-1)); }; }; cxxmethod+notify_inst+req update ( in+read+notify+req, ngrids+read+req, out+write ); };
Inputs an array of Grids (and Xforms) and merges all of the coordinates into one composite grid object. This allows multiple probes (glyphs) to be merged and used as a single input to modules such as streamlines and advect.
For each grid in the input array of grids, each transformation matrix is applied to the corresponding set of coordinates, to map all the coordinates into a unified coordinate space.
The output is a grid containing all of the input coordinates, and a Point mesh, so that the positions of each coordinate can be viewed. Connectivity of coordinates is not copied across to the output.
The multi_probe data object has its transformation mode set to Parent, so that the coordinates cannot diverge from the original probe positions. Turn this back to Normal to move the multi-probe as a whole.
&in
Input array of Grids (coordinates) and a corresponding Xform.
out
Output field containing all the coordinates and a Point Mesh.
The MultiProbeMerge low-level module is used within the User Macro multi_probe.
An example application MultiProbeEg is provided, which shows a Sphere and a Box glyph combined to form a single probe into the Bluntfin example dataset, to generate streamlines. The white objects show the original input glyphs, which may be picked and transformed, and the red points show the combined coordinates of the multi_probe object.
xp_comm_proj/mprobe/mprbmods.v contains the MultiProbeMerge module V definition.
The low-level MultiProbeMods library containing the module MultiProbeMerge does not specify a process. By default the express process will be used.
Paul G. Lever International AVS Centre
multi_probe.


Hi, I'm Nagashree, I live in Seattle and love the Pacific Northwest. I'm creating this website for my Introduction to Web Development Course. I love cooking and I'll share some of my favorite dishes here. Be sure to check them out.
My favourite dishes are below:
| Title | Image | Description | Link |
|---|---|---|---|
| Payasam | Traditional Indian dessert | Learn More | |
| Suji Halwa | Traditional Indian dessert | Learn More | |
| Gulab Jamun | Traditional Indian dessert | Learn More | |
| Samosa | Traditional Indian Snack | Learn More |
Recent positions:
- Chef
- Preparational cook


PAGE NOT FOUND
Sorry, this page doesn't exist. Head back to the home page or stay and check out this awesome fun update of the classic Oregon Trail game from
Sorry, this page doesn't exist. Head back to the home page or stay and check out this awesome fun update of the classic Oregon Trail game from


CrimPapers
Articles published on 19 April 2019
On 19 April 2019, 10 new articles were published in 7 journals.
Physical Security and Correctional Disorder: A Quantitative Test by Thomas L. Scott
Religion and International Security by Rabea M. Khan
The Prosecution of “Others”: Presidential Rhetoric and the Interrelation of Framing, Legal Prosecutions, and the Global War on Terror by Athena Chapekis, Sarah M. Moore
Opening Up By Writing It Down, Third Edition: How Expressive Writing Improves Health and Eases Emotional Pain by Ashley Chambers
Social Cognition As Mediator of Romantic Breakup Adjustment in Young Adults Who Experienced Childhood Maltreatment. by Audrey Francoeur, Tania Lecomte, Isabelle Daigneault, Audrey Brassard, Véronique Lecours, Catherine Hache-Labelle
Gender-Based Violence in Senegal: Its Catalysts and Connections From A Community Perspective
Bullying Victimization, Negative Emotionality, and Suicidal Ideation in Korean Youth: Assessing Latent Class Analysis Using the Manual 3-Step Approach by Sujung Cho
Customer Is King: Promoting Port Policing, Supporting Hypercommercialism by Yarin Eski
Encouraging Public Reporting of Suspicious Behaviour on Rail Networks by Julia M. Pearce, David Parker, Lasse Lindekilde, Noemie Bouhana, M. Brooke Rogers
Trauma, Power, and Intimate Relationships Among Women in Prison by Heather L. McCauley, Fallon Richie, Sara Hughes, Jennifer E. Johnson, Caron Zlotnick, Rochelle K. Rosen, Wendee M. Wechsberg, Caroline C. Kuo