This document outlines the overall requirements for MyChat - a hypothetical chat/messaging system.
Introduction
This document outlines the functional and non-functional requirements for MyChat. The requirements follow the RFC 2119 standard using MUST, MUST NOT, SHOULD and SHOULD NOT.
An MVP of the MyChat service MUST include all MUST requirements.
Goals
To provide a simple yet comprehensive text-based messaging system.
Problems To Be Solved
- How do we differentiate MyChat from existing services?
- How do we scale to billions of users?
- How do we provide “realtime” messaging across multiple user devices?
- How do we secure messages at rest and inflight?
How Your Project Is Better Than Existing Solutions
- Simpler sign up process.
- Can suspend and resume messages.
- All messages are encrypted at rest and inflight and cannot be used for marketing purposes.
- Can set availability to all or a set of chat Spaces.
Vision
People can setup secure communication between trusted parties in a simple
Engineers will efficiently develop products that make the company money. Their day-to-day work environment will be consistent across engineering teams. The services deployed will be developed and tested in environments that are consistent with the production environment. They will focus on programming and not on the details of how their code gets packaged and deployed.
The developer experience will be “self-serve” and not require a cumbersome process to create new services and to acquire associated resources.
Personas
Name:
Kelly Tort
Role: End user
Age: 22
Gender: Female
Location: Provo, Utah
Education: BS - English
Preferences
- Uses mobile devices more than desktops
- Rarely uses email
- Likes to use emojis to “sprinkle” her messages
- Likes auto-completion of words when typing in a message
Objective(s): Kelly has family members and friends who she wants to keep in touch with. She wants to share what she is doing with others and to know what other people are doing. She wants a simple but secure messaging service to accomplish these objectives.
Name:
Acharya Chakrabarti
Role: End user
Age: 26
Gender: Male
Location: Walnut Creek, CA
Education: MS - Computer Science
Preferences
- Uses mobile and desktop devices.
- Uses email.
- Likes to customize his applications (e.g., dark mode, background images)
Objective(s): Acharya has family and friends all over the world he wants to stay in contact. He is concerned about security and wants a messaging service that “guarantees” privacy.
Stories
S.1 I want to choose one of my current social account identities (Facebook, Twitter, Instragram etc.) to sign up.
5.2 I want create multiple chat Spaces.
5.3 I want to invite people to join a chat Space.
5.4 I want to be invited to join a chat Space.
5.5 When I go to a new device I want my settings to be synced to the new device.
5.6 I want to be notified when I receive a new message.
5.7 I want to know which chat Space new messages are coming from.
5.8 I want to remove myself from a chat Space.
5.9 I want to remove people from my chat Space.
5.10 I want to suspend receiving messages from a specific chat Space.
5.11 I want to resume receiving messages and “catch up” with all of the messages I have not seen.
5.12 I want to know my messages are secure and not being used to track me for marketing purposes.
5.13 I want to copy messages from one chat Space to another.
5.14 I want to indicate to all or to a selective set of chat Spaces I am “away” and deliberately not responding to messages.
5.15 I want to know if someone is “typing” a message when I am in a chat Space.
5.16 I want to know when (date) a message was typed.
5.17 I want to turn off notifications of new messages.
5.18 I want to be able to search for words/phrases in messages.
5.19 I want to delete messages in a chat Space.
5.20 I want to edit a previous message.
5.21 I want to see a list of all of my chat Spaces.
5.22 I want to set my default chat Space so when I come into MyChat I am in that chat Space.
User Interface
U.1 Login/Sign up Screen (TO BE CREATED)
U.2 Create Chat Space (TO BE CREATED)
U.3 Notification of Messages (TO BE CREATED)
Functional Requirements
F.1 Must provide SSO from Google, Facebook and Instagram.
F.2 Must encrypt all messages inflight and at rest.
F.3 Must allow users to manage their own chat Spaces:
- Create, delete and suspend chat Spaces
- Allow certain people to invite others to a chat Space
- Remove people from chat Spaces
F.4 Must retain messages for a period of time (Freemium 6 months, Paid 2 years).
F.5. Must provide a way to retrieve all messages in a chat Space from given a date and time.
F.6 The latency for sending a message and receiving a message in a give chat space MUST be fewer than 200 ms.
Non-Functional Requirements
N.1 Must be cross-platform (Desktop - Mac/Windows/Linux, Mobile, Browser).
N.2 Must be “responsive” when hundreds of people are in a single chat Space.
N.3 Must provide a security audit of all components.
N.4 Must allow UTF8 characters in messages.
N.5 Must be cost effective.
N.6 Should scale to support billions of users.
Risks
- Not providing a better messaging service than is currently available.
- It is too difficult to learn and setup.
- Not scaling to initial demand.
Future Iterations
- Provide a “disconnected” mode that allows messages to be created and sent when reconnected.
- Support multiple languages (PFIGS).
- Allow users to send messages across chat Spaces.
Notes
- Need to setup a user experience exercise to evaluate UX.
- Do we need to allow users to “theme/skin” the chat Spaces they create?


Create
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nec euismod erat. Nam dictum leo a mauris tincidunt, at tristique arcu vehicula. Aliquam mattis blandit accumsan. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas ut ligula ex.
Start at the Top
Get something else here. Nullam id enim nec lacus elementum egestas id in mauris. Ut tincidunt vehicula est at fringilla.
 Walter, you can't do that. These guys're like me, they're pacifists. Smokey was a conscientious objector. You got the wrong guy. I'm the Dude, man. I'm not Mr. Lebowski; you're Mr. Lebowski. I'm the Dude. I got a nice quiet beach community here, and I aim to keep it nice and quiet. Vee belief in nossing. Okay.


$1.00 for each additional meat.
$1.00 for each additional veggie.
Select from choices below.
This is your receipt.


CCTextureAtlas Class Reference
| Inherits from | NSObject |
| Declared in | CCTextureAtlas.h |
Overview
A class that implements a Texture Atlas. Supported features: * The atlas file can be a PVRTC, PNG or any other fomrat supported by Texture2D * Quads can be udpated in runtime * Quads can be added in runtime * Quads can be removed in runtime * Quads can be re-ordered in runtime * The TextureAtlas capacity can be increased or decreased in runtime * OpenGL component: V3F, C4B, T2F. The quads are rendered using an OpenGL ES VBO. To render the quads using an interleaved vertex array list, you should modify the ccConfig.h file
Tasks
-
totalQuads
quantity of quads that are going to be drawn
property -
capacity
quantity of quads that can be stored with the current texture atlas size
property -
texture
Texture of the texture atlas
property -
quads
Quads that are going to be rendered
property -
+ textureAtlasWithFile:capacity:
creates a TextureAtlas with an filename and with an initial capacity for Quads. The TextureAtlas capacity can be increased in runtime.
-
– initWithFile:capacity:
initializes a TextureAtlas with a filename and with a certain capacity for Quads. The TextureAtlas capacity can be increased in runtime.
-
+ textureAtlasWithTexture:capacity:
creates a TextureAtlas with a previously initialized Texture2D object, and with an initial capacity for n Quads. The TextureAtlas capacity can be increased in runtime.
-
– initWithTexture:capacity:
initializes a TextureAtlas with a previously initialized Texture2D object, and with an initial capacity for Quads. The TextureAtlas capacity can be increased in runtime.
-
– updateQuad:atIndex:
updates a Quad (texture, vertex and color) at a certain index * index must be between 0 and the atlas capacity – 1
-
– insertQuad:atIndex:
Inserts a Quad (texture, vertex and color) at a certain index index must be between 0 and the atlas capacity – 1
-
– insertQuads:atIndex:amount:
Inserts a c array of quads at a given index index must be between 0 and the atlas capacity – 1 this method doesn’t enlarge the array when amount + index > totalQuads
-
– insertQuadFromIndex:atIndex:
Removes the quad that is located at a certain index and inserts it at a new index This operation is faster than removing and inserting in a quad in 2 different steps
-
– removeQuadAtIndex:
removes a quad at a given index number. The capacity remains the same, but the total number of quads to be drawn is reduced in 1
-
– removeQuadsAtIndex:amount:
removes a amount of quads starting from index
-
– removeAllQuads
removes all Quads. The TextureAtlas capacity remains untouched. No memory is freed. The total number of quads to be drawn will be 0
-
– resizeCapacity:
resize the capacity of the CCTextureAtlas. The new capacity can be lower or higher than the current one It returns YES if the resize was successful. If it fails to resize the capacity it will return NO with a new capacity of 0.
-
– increaseTotalQuadsWith:
Used internally by CCParticleBatchNode don’t use this unless you know what you’re doing
-
– moveQuadsFromIndex:amount:atIndex:
Moves an amount of quads from oldIndex at newIndex
-
– moveQuadsFromIndex:to:
Moves quads from index till totalQuads to the newIndex Used internally by CCParticleBatchNode This method doesn’t enlarge the array if newIndex + quads to be moved > capacity
-
– fillWithEmptyQuadsFromIndex:amount:
Ensures that after a realloc quads are still empty Used internally by CCParticleBatchNode
-
– drawNumberOfQuads:
draws n quads n can’t be greater than the capacity of the Atlas
-
– drawNumberOfQuads:fromIndex:
draws n quads from an index (offset). n + start can’t be greater than the capacity of the atlas
-
– drawQuads
draws all the Atlas’s Quads
Properties
quads
Quads that are going to be rendered
@property (nonatomic, readwrite) ccV3F_C4B_T2F_Quad *quads
Discussion
Quads that are going to be rendered
Declared In
CCTextureAtlas.h
Class Methods
textureAtlasWithFile:capacity:
creates a TextureAtlas with an filename and with an initial capacity for Quads. The TextureAtlas capacity can be increased in runtime.
+ (id)textureAtlasWithFile:(NSString *)file capacity:(NSUInteger)capacity
Discussion
creates a TextureAtlas with an filename and with an initial capacity for Quads. The TextureAtlas capacity can be increased in runtime.
Declared In
CCTextureAtlas.h
textureAtlasWithTexture:capacity:
creates a TextureAtlas with a previously initialized Texture2D object, and with an initial capacity for n Quads. The TextureAtlas capacity can be increased in runtime.
+ (id)textureAtlasWithTexture:(CCTexture2D *)tex capacity:(NSUInteger)capacity
Discussion
creates a TextureAtlas with a previously initialized Texture2D object, and with an initial capacity for n Quads. The TextureAtlas capacity can be increased in runtime.
Declared In
CCTextureAtlas.h
Instance Methods
drawNumberOfQuads:fromIndex:
- (void)drawNumberOfQuads:(NSUInteger)n fromIndex:(NSUInteger)start
Availability
v1.0
Discussion
draws n quads from an index (offset). n + start can’t be greater than the capacity of the atlas
Declared In
CCTextureAtlas.h
drawQuads
draws all the Atlas’s Quads
- (void)drawQuads
Discussion
draws all the Atlas’s Quads
Declared In
CCTextureAtlas.h
fillWithEmptyQuadsFromIndex:amount:
Ensures that after a realloc quads are still empty Used internally by CCParticleBatchNode
- (void)fillWithEmptyQuadsFromIndex:(NSUInteger)index amount:(NSUInteger)amount
Availability
1.1
Discussion
Ensures that after a realloc quads are still empty Used internally by CCParticleBatchNode
Declared In
CCTextureAtlas.h
increaseTotalQuadsWith:
Used internally by CCParticleBatchNode don’t use this unless you know what you’re doing
- (void)increaseTotalQuadsWith:(NSUInteger)amount
Availability
1.1
Discussion
Used internally by CCParticleBatchNode don’t use this unless you know what you’re doing
Declared In
CCTextureAtlas.h
initWithFile:capacity:
initializes a TextureAtlas with a filename and with a certain capacity for Quads. The TextureAtlas capacity can be increased in runtime.
- (id)initWithFile:(NSString *)file capacity:(NSUInteger)capacity
Discussion
initializes a TextureAtlas with a filename and with a certain capacity for Quads. The TextureAtlas capacity can be increased in runtime.
WARNING: Do not reinitialize the TextureAtlas because it will leak memory (issue #706)
Declared In
CCTextureAtlas.h
initWithTexture:capacity:
initializes a TextureAtlas with a previously initialized Texture2D object, and with an initial capacity for Quads. The TextureAtlas capacity can be increased in runtime.
- (id)initWithTexture:(CCTexture2D *)tex capacity:(NSUInteger)capacity
Discussion
initializes a TextureAtlas with a previously initialized Texture2D object, and with an initial capacity for Quads. The TextureAtlas capacity can be increased in runtime.
WARNING: Do not reinitialize the TextureAtlas because it will leak memory (issue #706)
Declared In
CCTextureAtlas.h
insertQuad:atIndex:
Inserts a Quad (texture, vertex and color) at a certain index index must be between 0 and the atlas capacity – 1
- (void)insertQuad:(ccV3F_C4B_T2F_Quad *)quad atIndex:(NSUInteger)index
Availability
v0.8
Discussion
Inserts a Quad (texture, vertex and color) at a certain index index must be between 0 and the atlas capacity – 1
Declared In
CCTextureAtlas.h
insertQuadFromIndex:atIndex:
Removes the quad that is located at a certain index and inserts it at a new index This operation is faster than removing and inserting in a quad in 2 different steps
- (void)insertQuadFromIndex:(NSUInteger)fromIndex atIndex:(NSUInteger)newIndex
Availability
v0.7.2
Discussion
Removes the quad that is located at a certain index and inserts it at a new index This operation is faster than removing and inserting in a quad in 2 different steps
Declared In
CCTextureAtlas.h
insertQuads:atIndex:amount:
Inserts a c array of quads at a given index index must be between 0 and the atlas capacity – 1 this method doesn’t enlarge the array when amount + index > totalQuads
- (void)insertQuads:(ccV3F_C4B_T2F_Quad *)quads atIndex:(NSUInteger)index amount:(NSUInteger)amount
Availability
v1.1
Discussion
Inserts a c array of quads at a given index index must be between 0 and the atlas capacity – 1 this method doesn’t enlarge the array when amount + index > totalQuads
Declared In
CCTextureAtlas.h
moveQuadsFromIndex:amount:atIndex:
Moves an amount of quads from oldIndex at newIndex
- (void)moveQuadsFromIndex:(NSUInteger)oldIndex amount:(NSUInteger)amount atIndex:(NSUInteger)newIndex
Availability
v1.1
Discussion
Moves an amount of quads from oldIndex at newIndex
Declared In
CCTextureAtlas.h
moveQuadsFromIndex:to:
Moves quads from index till totalQuads to the newIndex Used internally by CCParticleBatchNode This method doesn’t enlarge the array if newIndex + quads to be moved > capacity
- (void)moveQuadsFromIndex:(NSUInteger)index to:(NSUInteger)newIndex
Availability
1.1
Discussion
Moves quads from index till totalQuads to the newIndex Used internally by CCParticleBatchNode This method doesn’t enlarge the array if newIndex + quads to be moved > capacity
Declared In
CCTextureAtlas.h
removeAllQuads
removes all Quads. The TextureAtlas capacity remains untouched. No memory is freed. The total number of quads to be drawn will be 0
- (void)removeAllQuads
Availability
v0.7.2
Discussion
removes all Quads. The TextureAtlas capacity remains untouched. No memory is freed. The total number of quads to be drawn will be 0
Declared In
CCTextureAtlas.h
removeQuadAtIndex:
removes a quad at a given index number. The capacity remains the same, but the total number of quads to be drawn is reduced in 1
- (void)removeQuadAtIndex:(NSUInteger)index
Availability
v0.7.2
Discussion
removes a quad at a given index number. The capacity remains the same, but the total number of quads to be drawn is reduced in 1
Declared In
CCTextureAtlas.h
removeQuadsAtIndex:amount:
removes a amount of quads starting from index
- (void)removeQuadsAtIndex:(NSUInteger)index amount:(NSUInteger)amount
Availability
1.1
Discussion
removes a amount of quads starting from index
Declared In
CCTextureAtlas.h
resizeCapacity:
resize the capacity of the CCTextureAtlas. The new capacity can be lower or higher than the current one It returns YES if the resize was successful. If it fails to resize the capacity it will return NO with a new capacity of 0.
- (BOOL)resizeCapacity:(NSUInteger)n
Discussion
resize the capacity of the CCTextureAtlas. The new capacity can be lower or higher than the current one It returns YES if the resize was successful. If it fails to resize the capacity it will return NO with a new capacity of 0.
Declared In
CCTextureAtlas.h
updateQuad:atIndex:
updates a Quad (texture, vertex and color) at a certain index * index must be between 0 and the atlas capacity – 1
- (void)updateQuad:(ccV3F_C4B_T2F_Quad *)quad atIndex:(NSUInteger)index
Availability
v0.8
Discussion
updates a Quad (texture, vertex and color) at a certain index * index must be between 0 and the atlas capacity – 1
Declared In
CCTextureAtlas.h


Data Scout
￮ Implemented a landing page and navbar using Shakespearean Templating
￮ Created a logo and icon based on client communications
￮ Adapted quickly to new technologies
￮ Designed wireframes, high-fidelity mockups, and custom graphics using Sketch


An existence error occurs when a predicate attempts to access something that does not exist. For example, trying to compile a file that does not exist, erasing a database reference that has already been erased. A less obvious example: reading past the end of file marker in a stream is regarded as asking for an object (the next character) that does not exist.
The SICStus_Error term associated with an existence error is
existence_error(Goal, ArgNo, ObjectType, Culprit, Message)
0
or ''
, or
some additional information provided by the operating system or other
support system indicating why Culprit is thought not to exist.
For example, `see('../brother/niece')' might raise the exception
existence_error(see('../brother/niece'), 1, file, '/usr/stella/parent/brother/niece', errno(20))
where the Message encodes the system error ENOTDIR
(some component
of the path is not a directory).
As a general rule, if Culprit was provided in the goal as some sort of context-sensitive name, the Prolog system will try to resolve it to an absolute name, as shown here, so that you can see whether the problem is just that the name was resolved in the wrong context.


READY TO GO GALLIVANTING?
Gallivant is a comprehensive trip planner that provides you with
flights nearest to you, weather information for the day of travel,
the forecasted weather and points of interest for your destination
We compile optimal flight, weather, and popular points of interest
details all in one place for you to help you successfully plan for
adventures.


{% extends "base.html" %} {% block content %}
Note: you are already logged in as {{ user }}.
Don't have an account? Sign up!


--- layout: post _layout: post title: "Logical Expressions" date: 2017-12-27 14:40:29 +1300 group: Defunct categories: - defunct - posts - lc series: LC seriesindex: 2 description: "Boolean expressions and logical operators in Lambda Calculus."  We can even use them to simulate if and else statements.
{% unless site.GH_ENV %}Notwithstanding in thy days I will not do it for David thy father's sake: but I will rend it out of the hand of thy son. 1 Kings 11:12, KJV
God keeps his promises.
| Name | Lambda Calculus | Defunct |
|---|---|---|
| true |
T ≡ λyx.y
|
def true [y x.y]
|
| false |
F ≡ λyx.x
|
def false [y x.x]
|
True takes in two parameters and returns the first one.
False takes in two parameters and returns the second one.
<condition> <then> <else>
| Lambda Calculus | Defunct |
|---|---|
T(λa.a)(λb.b) |
true [a.a] [b.b] |
F(λa.a)(λb.b) |
false [a.a] [b.b] |


I revert when I'm dropped
I revert when I'm dropped
I revert when I'm dropped
I revert when I'm dropped
I revert when I'm dropped
I revert when I'm dropped
Drop me here


LOGO
home
about
contacts
our work
social-links team__social-links social-links__item social-links social-links__item
Click me
Attention!
Login


Visualize Redshift Query Plans
Add a new query plan
Paste the EXPLAIN
output from your query or
choose one of the examples.
Currently supported:
- Only non-verbose
EXPLAIN
output. - Most regular Redshift operators should be supported, please create an issue for missing ones.
- Redshift Spectrum operators are not yet implemented.
Visualization
A tree display of the plan will be generated. A few different modes to highlight query operators and data flows are supported.
Operator highlight modes:
- Alerts: simple rule-based heuristics, hover the node for some more information.
- Cost: estimated cost (time based) from the planner to return the last row.
- Blocker: estimated cost (time based) from the planner to return the first row.
Data highlight modes:
- Size: estimated data size from the planner (
# Rows × Width
). - Rows: estimated number of rows from the planner.
- Width: estimated size per row from the planner.


Spurs Transfer News: Seven In, Five Out?
by David KappelWith Jose Mourinho taking over at Tottenham Hotspur, the Portuguese tactician is expected shake things up in his new squad. Several players are now being linked with Spurs, while there are some who could be set to leave.
Click through the gallery above to see some players who are linked with moves to and from Spurs!
The 56-year-old has replaced Mauricio Pochettino following a string of poor results that saw the Argentine, who guided Spurs to the UEFA Champions League final last season, being relieved of his duties.
Mourinho is well known for splashing the cash in the transfer market, and is expected to make some changes to his new squad over the next two windows.
It remains to be seen whether or not he can convince chairman Daniel Levy, who is known for not spending too much, to open the cheque book for new players, but who are the stars on the club's radar at the moment?
Early reports suggest that Mourinho could attempt to improve in three areas, namely the right-back position, at centre-back and up front.
Choose the right winger for SA's Real Madrid Dream Team & win a replica shirt!
Kieran Tipper, who left for Atletico Madrid at the beginning of this season, has never been replaced on the right side of defence, and Mourinho could look to Youcef Atal as a perfect fit for his system. The OGC Nice and Algeria defender was one of the standout performers during his country's 2019 Africa Cup of Nations triumph, and has been making positive headlines in Ligue 1 too.
Further up front, Paulo Dybala could become the club's No. 1 priority after Spurs reportedly looked at him in the previous window, and the Argentine seemed open to the idea of leaving Juventus. Free agent Zlatan Ibrahimovic could also be a short-term solution as a back-up for Harry Kane, and add some much-needed experience to the young squad.
Read: The Highest-Paid EPL Managers After Mourinho Return
However, several Lilywhites stars will also fear for their futures under the new coach. Christian Eriksen is one of the players with expiring deals, and it remains to be seen whether or not Mourinho decides to convince him to stay or let him leave for free at the end of the campaign.
In addition, stars such as right-back Serge Aurier and winger Erik Lamela, who have blown hot and cold with their form, could also soon appear on the boss' axe list. You can see all players linked with moves to and from Spurs in the gallery above.


Tutorial¶
1. The Ubiquitous Wordcount¶
For starters, we’ll use a well-known map/reduce application: Wordcount. We’ll start simple and refine the example codes in several iterations to get acquainted with the most important groovy-hadoop features and command line options to end up with short and efficient code. Note that all following program versions are fully functional and that it’s merely a matter of taste and runtime efficiency which one to choose.
First attempt: Borrow the wordcount example code¶
For this example, we’ll cut the beef from the example (with small modifications) and forget all the boilerplate stuff. Create a file map.txt with the following content (The file creation part is only for a clear arrangement of the example. One could as well provide all the Java code inline at the command line):
String line = value.toString();
StringTokenizer tokenizer = new StringTokenizer(line);
Text word = new Text();
IntWritable one = new IntWritable(1);
while (tokenizer.hasMoreTokens()) {
word.set(tokenizer.nextToken());
context.write(word, one);
}
Additionally, create a file reduce.txt like:
int sum = 0;
for (IntWritable val : values) {
sum += val.get();
}
context.write(key, new IntWritable(sum));
Now, what are the differences between traditional hadoop jar and groovy-hadoop execution? To make the original Wordcount example run, one would have to
- compile all the beefy code together with the boilerplate stuff,
- package a Jar file (ideally executable) and
- run $ hadoop jar wordcount.jar <input path(s)> <output path>
In contrast, with groovy-hadoop all one would have to do is execute
$ hadoop jar groovy-hadoop-0.2.0.jar \
-outputKeyClass Text \
-outputValueClass IntWritable \
-map "`cat map.txt`" \
-reduce "`cat reduce.txt`" \
-input <input path(s) in HDFS> \
-output <output path in HDFS> \
No boilerplate code, no javac, and no jar!
Next step: Performance improvements¶
- Reuse output keys and values. To omit object creation and garbage collection overhead, a common technique is to use single instances for output keys and values in Mapper and Reducer implementations. For this purpose, groovy-hadoop injects the objects outKey and outValue into all map, reduce, and combine scripts.
- Use a Combiner Nothing new here. For applications suited for map-side reduce operations, there is a -combine command line parameter which works exactly as -reduce.
- Use CombineSplits A well-known way to deal with lots of small input files is to use the CombineFileInputFormat. Additionally, this hadoop InputFormat comes in very handy if the intention is to process more data at once in an InputSplit than the HDFS block size allows. groovy-hadoop uses a custom CombineFileInputFormat implementation by default if the specified InputFormat extends FileInputFormat. The default input split size is set to 512M. To disable this behavior, the command line option -combinesplits 0 has to be used.
- Reuse JVMs for maps and reduces. JVM startup and cleanup takes some time and the overall job performance can be significantly increased by simply reusing these instances. Therefore, groovy-hadoop‘s default behavior is to set the mapred.job.reuse.jvm.num.tasks parameter to -1. If this behavior is not desired, the command line option -jvmreuse <reuse value> has to be used.
 Use custom Writables¶
Integration of custom classes within the scripts is fairly straightforward:
- Add the corresponding Jar file to the classpath using hadoop’s -libjars option
- Refer to the class in the script via the fully qualified name
Note: outKey and outValue usage (see above) does also work for custom classes.
Example¶
Suppose, there is a custom Writable implementation like
package my.fancy;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.Writable;
public class CustomWritable implements Writable {
private String value;
public CustomWritable(String value) {
this.value = value;
}
@Override
public String toString() {
return this.value;
}
@Override
public void readFields(DataInput in) throws IOException {
this.value = Text.readString(in);
}
@Override
public void write(DataOutput out) throws IOException {
Text.writeString(out, this.value);
}
}
Furthermore, suppose that this CustomWritable is properly bundled within a Jar file called my-writable.jar. Then it is possible to access and use this class from the map and reduce scripts with a call like
$ hadoop jar groovy-hadoop-0.2.0.jar \
-libjars my-writable.jar \
-outputKeyClass my.fancy.CustomWritable \
-outputValueClass LongWritable \
-D mapred.reduce.tasks=0 \
-map 'context.write(new my.fancy.CustomWritable(value.toString()), key)' \
-input <input path(s) in HDFS> \
-output <output path in HDFS> \


A bumblebee is any member of the bee genus Bombus, in the family Apidae. There are over 250 known species, existing primarily in the Northern Hemisphere although they also occur in South America. They have been introduced to New Zealand and the Australian state of Tasmania.
Bumblebees are social insects that are characterised by black and yellow body hairs, often in bands. However, some species have orange or red on their bodies, or may be entirely black. Another obvious (but not unique) characteristic is the soft nature of the hair (long, branched set), called pile, that covers their entire body, making them appear and feel fuzzy. They are best distinguished from similarly large, fuzzy bees by the form of the female hind leg, which is modified to form a corbicula: a shiny concave surface that is bare, but surrounded by a fringe of hairs used to transport pollen (in similar bees, the hind leg is completely hairy, and pollen grains are wedged into the hairs for transport).


Sometimes the junction table contains extra columns
(assume that have people and companies, and those people can work at one or more companies. We want to know
when a person started working at a company and what his/her salary is). The best way to handle this case is to use
a master-detail interface. A detailed guide can be found in
this article.


Lewis Capaldi, Stormzy and Ed Sheeran take on Tones and I for Number 1
Plus new entries for Digdat x D-Block Europe and Partynextdoor, and climbs for Arizona Zervas, Jax Jones and Endor.
by Lauren KreislerCould Lewis Capaldi be within grasp of a second UK Number 1 single before the year is out?
The 2019 Scottish breakthrough star goes head-to-head with reigning chart topper Tones & I and her global chart smash Dance Monkey in this week’s Official Singles Chart race. Before You Go is up 17 places to Number 2 and trails by just 1000 chart sales after the first 48 hours, can the self-styled "America's Sweetheart" overtake Tones & I before Friday? It’s one of two Capaldi tracks heading for this week’s Top 5; Bruises (5) is up one place since last week.
Here's a little reminder of what happened the last time Lewis Capaldi sniffed chart-topping glory...
Stormzy and Ed Sheeran are just behind and look set to bag the week’s highest new entry – their collaboration with Burna Boy, Own It, taken from Stormzy’s forthcoming album, Heavy Is The Head (out December 13) enters at Number 3 on today’s First Look Top 20.
Elsewhere, newcomer Arizona Zervas is continuing his rise up the Official Chart and on course for a personal best this week. The Maryland US singer/rapper whose popularity has risen with the help of video sharing site Tik Tok, is up two places to Number 8.
Jax Jones and Ella Henderson could be looking at a new peak this week too – This Is Real is currently up 6 places to Number 14.
Lewisham rapper/songwriter Digdat may also enjoy a personal best on the Official Chart this week if new entry New Dior featuring D Block Europe (17) maintains its position through until Friday. See where Digdat's previous songs have charted.
A similar story for Partynextdoor – the Canadian writer/rapper/producer is on track for his first Top 20 as a lead artist, teaming up with Drake on new single Loyal, a new entry at 18.
And finally, the Defected-signed rising Brighton producer Endor looks set for yet another big climb - dance-floor anthem Pump It Up may break the Top 20 for the first time this week following a six-week unbroken ascent up the Official Chart, up 9 places to Number 20 after two days.
Tune in to BBC Radio 1's The Official Chart with Scott Mills this Friday from 4pm to hear the Top 40 countdown. The full Official Singles Chart Top 100 will be published here on OfficialCharts.com from 5.45pm.
The Official Chart First Look Top 20 - 24 November 2019
| LW POSITION | POSITION | TITLE | ARTIST |
| 1 | 1 | DANCE MONKEY | TONES & I |
| 19 | 2 | BEFORE YOU GO | LEWIS CAPALDI |
| NEW | 3 | OWN IT | STORMZY/ED SHEERAN/BURNA BOY |
| 2 | 4 | DON'T START NOW | DUA LIPA |
| 6 | 5 | BRUISES | LEWIS CAPALDI |
| 3 | 6 | EVERYTHING I WANTED | BILLIE EILISH |
| 5 | 7 | MEMORIES | MAROON 5 |
| 10 | 8 | ROXANNE | ARIZONA ZERVAS |
| 7 | 9 | SOUTH OF THE BORDER | ED SHEERAN/CABELLO/CARDI B |
| 8 | 10 | GOOD AS HELL | LIZZO |
| 12 | 11 | LOSE CONTROL | MEDUZA/BECKY HILL/GOODBOYS |
| 9 | 12 | LOSE YOU TO LOVE ME | SELENA GOMEZ |
| 14 | 13 | HOT GIRL BUMMER | BLACKBEAR |
| 20 | 14 | THIS IS REAL | JAX JONES FT ELLA HENDERSON |
| 16 | 15 | LIGHTS UP | HARRY STYLES |
| 15 | 16 | TURN ME ON | RITON & OLIVER HELDENS FT VULA |
| NEW | 17 | NEW DIOR | DIGDAT/D BLOCK EUROPE |
| NEW | 18 | LOYAL | PARTYNEXTDOOR |
| 13 | 19 | MUST BE | J HUS |
| 29 | 20 | PUMP IT UP | ENDOR |
(c) Official Charts Company 2019


Topicstarter
Hello dear community and BBlog team
Once a fat thank you for the great BBlog to the team.
I still have an idea if it has not already been discussed.
e.g.
A detailed description of the vehicle Unlogs as an exact time when the
Belt speed or the autoloader, how much faster standard
image
or
which has range and damage the TV missile
image
etc.
BrainFooLong
Administrator
We already internally plan and work on it but it takes some time.
Look forward for updates.
Topicstarter
great, Thank you for your work


You can add polylines in GMaps.js this way:
path = [[-12.044012922866312, -77.02470665341184], [-12.05449279282314, -77.03024273281858], [-12.055122327623378, -77.03039293652341], [-12.075917129727586, -77.02764635449216], [-12.07635776902266, -77.02792530422971], [-12.076819390363665, -77.02893381481931], [-12.088527520066453, -77.0241058385925], [-12.090814532191756, -77.02271108990476]]; map.drawPolyline({ path: path, strokeColor: '#131540', strokeOpacity: 0.6, strokeWeight: 6 });
The path of the polyline is defined by an array of array of two (latitude and longitude).


Alfresco Multi Folder Template Selection
01 Jun 2015If you look into the Email Form while setting an “Send Email” Action on a folder you would be wondering how we can add new email templates into the list of drop down “Use Template” as shown below -
The only option without any customization is to add your templates into the folder : Repository > Data Dictionary > Email Templates > Notify Email Templates
How does this work?
Look for the bean ‘ac-email-templates’ in alfresco/WEB-INF/classes/alfresco/action-services-context.xml which has the definition as below -
The property searchPath is what restricts it from fetching templates from a single folder.
What we need to change?
Let’s bring in our changes so that we can have multiple folders to select the templates from. For this we will be overriding the bean as below -
- The first change is converting the property searchPath from a String literal to a List.
- Then update the getAllowableValuesImpl() method so that it parses each folder path to search for what files to be included in the dropdown.
- I have also added an extra method sortByName so that the values in the dropdown are displayed in sorted order by their name.
Checkout the code for FolderContentsParameterConstraint for a better understanding of how it works.
I made this whole project as 2 step -
- First is bootstrapping a template under a specified path. v1.0
- Make the templates available for selection under Email Action. v2.0
The source code for this project lives here


$29 / mo ($290 / yr)
Up to 5 active job postings
$99 / mo ($990 / yr)
Up to 25 active job postings
$249 / mo ($2490 / yr)
Unlimited active job postings


Posted: 2016-06-29
, Modified: 2016-06-29
Tags: none
(from Jacob’s notes on Stanford quals)
Supervised learning [1]
CS229
- Perceptron, logistic regression, SVMs
- Kernel methods, Gaussian processes
- Boosting (AdaBoost)
- What is the convergence rate?
- \(\exp(-\sum_{t=1}^T \gamma_t^2)\)
- Key property: adaptive
- What problems can it be applied to?
- binary classification on fixed dataset
- notes
- Decision trees, random forests
- Bagging (given subset of size \(N\), create many versions of the dataset by subsampling \(N\) things with replacement repeatedly)
- For each of these versions, also subsample \(\sqrt{d})\) of the features to use for the decision tree
- Neural networks
- Linear regression
- Regularization: L1, L2 and their properties
Unsupervised learning [1]
CS229
- K-means
- Linear dimension reduction PCA, CCA, factor analysis, ICA
- What is PCA / what is it used for?
- Given input dataset, assuming it’s elliptical, finds the principle axes of the ellipse
- In more statistical language, this finds a low-dimensional representation that explains as much of the variance as possible
- Can be computed by just taking SVD of covariance matrix
- Typically we mean-center first
- Sometimes want to do other scalings but no clear consensus on the best one
- CCA What is CCA / what is it used for?
- Same intuition as PCA, but wants to find cross-correlations between two sets of variables (X and Y)
- Obtained by taking singular vectors of \(\Cov(X,X)^{\rc 2}\Cov(X,Y)Cov(Y,Y)^{-\rc2}\).
- ?Isn’t this used for semi-supervised learning?
- ?E.g. given two sets of features, use CCA as a regularizer.
- Factor analysis What is factor analysis / what is it used for?
- Basically, this is just matrix factorization
- Often allows more domain knowledge to be incorporated
- ICA What is ICA / what is it used for?
- Blind source separation
- Tries to break into independent signals
- Often done by maximizing non-gaussianity of signals
- EM
- What theoretical property does EM satisfy?
- Maximizes lower bound \(\log p(x) - KL(q(z|x) || p(z|x))\)
- What are the general updates?
- Compute expectation of log-likelihood under current model
- Minimize expectation
- Sort of like iteratively approximating setting the gradient to zero


Over the last 25 years, the internet has shown us that the mishandling and abuse of personal data by third-parties is the biggest cyber security threat there is and that not sharing your data in the first place is the only way to truly secure it. Everyday, data breaches and hacks occur which threaten the safety, funds, reputation and identities of millions of internet users across the world. It’s time for change!
At Particl, we’re building a brand new decentralized and democratic economy supported by the Particl blockchain; a very secure and privacy-focused network where applications of all sorts can be built and operated without any middleman. Particl aims at offering the same range of services currently available on the web but with security, privacy, and most importantly, near-zero fees in mind.


The page is missing or never was written. You can wait and see if it becomes available again, or you can restart your computer.
* You can go back to the homepage.
* Press CTRL+ALT+DEL to restart your computer. You will lose unsaved information in any programs that are running.


Wiredwiki
Link1
Link2
Hello World
Navbar in Bootstrap
Submit
Latest Arrivals
Young Adult Series
Book Signing Events
Like
0
Likes.... and counting!
name1
name2


Total Deaths (2019):
Total Deaths (2020) (incomplete):
Underlying COVID-19 Deaths (2020):
Source:
https://data.cdc.gov/NCHS/Weekly-Counts-of-Deaths-by-State-and-Select-Causes/muzy-jte6
Last updated 1/5/21


COVID - 19 Contact Tracing
Home
Overview
Add Visit
Report
Settings
Logout
Status
Click on the marker to see details about the infection.


Clean Blog is a stylish, responsive blog theme for Bootstrap created by Start Bootstrap. This theme features a blog homepage, about page, contact page, and an example post page along with a working PHP contact form.
To begin using this template, choose one of the following options to get started:
git clone
https://github.com/BlackrockDigital/startbootstrap-clean-blog.git
Have a bug or an issue with this template? Open a new issue here on GitHub or leave a comment on the template overview page at Start Bootstrap.
Start Bootstrap was created by and is maintained by David Miller, Owner of Blackrock Digital.
Start Bootstrap is based on the Bootstrap framework created by Mark Otto and Jacob Thorton.
Copyright 2013-2016 Blackrock Digital LLC. Code released under the MIT license.


Standard Alert
Pulls Content From DIV
What is Lorem Ipsum?
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
Why do we use it?
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
Where does it come from?
Contrary to popular belief, Lorem Ipsum is not simply random text.  Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.
The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.
Where can I get some?
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.
Auto Sized
Small (abbrev)
Small (full)
Blue
Dark Blue
White background
Blurry White background
Blur Background Elements
Image
Picture
iFrame w Set Height
iFrame No Height Defined
iFrame No Padding on Content
Youtube Video (embed URL)
Youtube Video (straight up URL)
Fullscreen iframe
Fullscreen iframe, no pad
Fullscreen iframe, no title, no pad
Fullscreen, no title, no pad, white btn
Click anywhere
Click ESC key
Hidden Close Button
Alt Close Button
Old Close Button (disable closeBtnRound)
Different showAnimation
Different hideAnimation
On Open (popup alert)
On Close (popup alert)
alert()
successAlert()
errorAlert()
infoAlert()
Open then close after 2 seconds
$.jAlert('current').closeAlert() after 2 seconds
buttons with callbacks
Auto Close on autoClose method


Coast Guard rescues 1 off Martha's Vineyard, searches for 3 others
by Clyde HughesNov. 25 (UPI) -- The U.S. Coast Guard said Sunday it rescued one man after a fishing boat sank some 24 nautical miles southwest of Martha's Vineyard and is continuing its search for three others.
The Coast Guard Northeast said rescue crews from Air Station Cape Cod found one boater after receiving a distress signal from a boat that capsized and sank. The fishing boat Leonardo out of New Bedford sank Sunday afternoon, sparking the distress call.
The Coast Guard said the Air Station Cape Cod, the CGC Cobia and CGC Escanaba will continue to search for the missing boaters. Petty Officer Ryan Noel said the three boaters remained missing as of 8 a.m. Monday.
Noel said none of the mariners was wearing a survival suit.
(0) Leave a comment
upi.com/6962387
Latest Headlines
U.S. News // 39 minutes ago
Ebay to sell StubHub to Viagogo for $4.05 billion
Nov. 25 (UPI) -- Ebay announced Monday it plans to sell the ticket marketplace StubHub to overseas ticket competitor Viagogo for $4.05 billion in cash.
U.S. News // 1 hour ago
Charles Schwab to buy TD Ameritrade in $26B deal
Nov. 25 (UPI) -- Charles Schwab announced plans Monday to buy TD Ameritrade in a $26 billion deal, which if approved by regulators would create a new giant in the discount stock brokerage market.
U.S. News // 9 hours ago
Vets: Dogs rescued from China could bring African swine fever to U.S.
EVANSVILLE, Ind., Nov. 25 (UPI) -- A growing number of livestock veterinarians are raising concerns that dogs rescued from Chinese meat markets could bring African swine fever virus to the United States.
U.S. News // 20 hours ago
Two boys shot, killed sitting in van outside California school
Nov. 24 (UPI) -- Two children were shot and killed in a Northern California elementary school parking lot early Saturday morning, police said.
U.S. News // 22 hours ago
Ruth Bader Ginsburg released from hospital
Nov. 24 (UPI) -- Supreme Court Justice Ruth Bader Ginsburg was released from the hospital after being admitted for chills and a fever, a representative announced Sunday.
U.S. News // 1 day ago
Michael Bloomberg officially enters race for president as Democrat
Nov. 24 (UPI) -- Michael Bloomberg, a self-made billionaire and former New York City mayor for 12 years, officially became a candidate Sunday for U.S. president, a little more than two months before Democratic caucuses and primaries take place.
U.S. News // 1 day ago
18-year-old suspect held in fatal shooting of Alabama sheriff
Nov. 24 (UPI) -- An 18-year-old suspect was apprehended about three hours after a sheriff in a central Alabama county was fatally shot while answering a call at a convenience store Saturday night.
U.S. News // 1 day ago
Storms to impact travel through Thanksgiving holiday week in U.S.
Nov. 24 (UPI) -- Multiple storm systems are slated to impact the United States through the Thanksgiving holiday week, bringing major travel headaches for millions of Americans.
U.S. News // 1 day ago
Ruth Bader Ginsburg hospitalized with chills and fever
Nov. 23 (UPI) -- Supreme Court Justice Ruth Bader Ginsburg was admitted to Johns Hopkins Hospital in Baltimore Saturday after experiencing chills and a fever, the Supreme Court has announced.
U.S. News // 1 day ago
N.J. woman convicted in pedestrian death after texting while driving
Nov. 23 (UPI) -- A New Jersey woman was convicted of vehicular homicide and sentenced to five to 10 years in prison Friday in the death of a pedestrian prosecutors said happened because the driver was texting.


Sample heading 1
All empires will contain their own laws, rules, decisions, and form of government. This constitution shall state the universal laws applying to all players and empires (INCLUDING THE CREATOR). The minimum shall be five meets for taxes and free supplies for survival or ten meets. Taxes are five meets per week and automatically paid to the Creator on Fridays. Taxes ᴅᴏ ɴᴏᴛ have to be paid if others/the empire is willing to pay it for you.
If you are in bankruptcy, you are forbidden to spend except for taxes although you may continue earning money. All official meetings are to be met in the New Anoscope Meeting Room and all official court cases are to be held in the Aerocity Court. Meets in item form shall be emeralds. Bankruptcy ᴡɪʟʟ ɴᴏᴛ prevent taxes from being paid. In the scenario that one wishes to take a leave, that person must declare to the owner of the server that they are taking a leave, communicated in real life.
Sample heading 2
During this period, the person will not earn or lose money including taxes. The leave must be for over 2 weeks and the person must declare when they come back before playing in real life. After this, you cannot leave for one month. The destruction of buildings is strictly prohibited unless confirmed by all builders of the building. If one finds their buildings destroyed, the have the right to sue players you suspect of griefing.
Heading 2 otra vez
If one wishes to file a lawsuit against another person, the person must declare the court case and the date of the case. If you can’t make it or are unsure, please declare of you will be fined 25 meets. The abbreviation for meets is “me.,” including a period.
- Trump
- Hillary
- both
Mice, mouse, sheep, happy shep.
- unu
- du
- tri
| One | sheep are better |
|---|---|
| giggles | two |


First look: One-Eight-One Hotel & Serviced Residences
by Michael AllenBackground
One-Eight-One Hotel & Serviced Residences, which is set to open around the end of 2019, is the first hotel wholly owned and managed by Lui Chong Hing Investment, a Hong Kong conglomerate.
Where is it?
In the historic yet fashionable Western District of Hong Kong Island, just a few minutes walk from the MTR HKU Station, airport bus and tram stops. The Hong Kong Macau Ferry Terminal is also only 20 minutes by public transport, a half-hour walk, or six to 12 minutes in a cab.
What's it like?
When I visited in mid-November 2019, the hotel was still in the pre-opening stage, with only family and friends of the owners staying for trial stays. While some areas of the hotel are not quite finished, I was able to have a tour of most of the property.
The hotel has two entrances: a main one on Des Voeux Road Central, a main road along which the Hong Kong Tramways tram also runs, and another on Connaught Road West (the latter pictured below).
The entrance on Connaught Road West, where I first entered the property, is much smaller than the main lobby. There are three sofas surrounding three coffee tables where guests and visitors can sit and wait, as well as a small reception desk.
You’ll also find some vending machines here where you can buy a range of snacks and drinks.
The main lobby is considerably larger and better appointed.
I was impressed by the seating area, where there are sofa seats…
…as well as airport lounge style private chairs that can rotate a full 360 degrees.
Two Macs are also available to use.
The rooms
One-Eight-One Hotel & Serviced Residences has five room types. Over 75 per cent of rooms have views of Victoria Harbour. The five room types are:
- Urban Room (31-33 sqm)
- Harbour Room (32-38 sqm)
- Upper Harbour Room (35 sqm)
- Luxe Harbour Room (35 sqm)
- Harbour Suite (70 sqm)
The hotel also offers Sky Residences, which come in sizes of 65 sqm or 100 sqm.
The first room I took a look at during my hotel tour was a 35-sqm Luxe Harbour Room.
The views from the room are great. You can look out at the Harbour and the ‘Instagram Pier’ (formally known as the Western District Public Cargo Working Area).
If you look down, you’ll see a large wholesale food market. In the distance is the Tsing Ma bridge.
If you look to the right, you can even see the International Commerce Centre, Hong Kong’s tallest building.
The bed is outfitted with a pillow-top mattress from Simmons.
To the right side of the bed (when you are facing it), there is a Sound Rise alarm clock from Soundfreaq, with two USB ports for charging your devices. There is also a box of tissues. Behind those items, on the wall, there are two additional USB ports, as well as a three-pin plug socket. The hotel provides an international adaptor inside a drawer on the other side of the room, so there is no need to worry if you’re arriving from a country that doesn’t use the same plug sockets as Hong Kong. In the middle of those USB ports and three-pin socket are switches, with labels in both English and traditional Chinese, controlling the lights and curtains.
I liked the design of the bedside lights, which seems to resemble bamboo canes.
Opposite the bed is a 49-inch television, as well as an armchair and footrest in the corner. To the left of the television is a small circular table with two chairs.
By the television area, there are plenty of sockets, including one mounted on the wall that has two three-pin sockets and two USB ports, as well as an ethernet port.
Also, if you flip up a panel underneath the television, you’ll find a further two three-pin sockets and two more USB sockets, as well as various ports for the television.
I can’t imagine a guest at this hotel running out of places to charge her devices.
To the left of that circular table there is a tea and coffee station, which includes a Nespresso machine (with coffee pods, creamer and sugar), kettle, and a basket of snacks.
Long-stay guests (those staying for 14 nights or more) benefit from getting a hot plate to cook on.
As well as utensils such as an oven mitt and spatulas.
There are also two drawers containing pots and pans, as well as bowls.
Another drawer is home to knives, forks and spoons, as well as Twinings tea bags, plates and a corkscrew.
In addition to the hot plate, there is also a microwave, toaster, and rice cooker, as well as cups and glasses.
In the wardrobe to the left of the kitchenette area there is a large in-room safe. In the bottom drawer is a reusable hotel-branded shopping bag. Guests also get slippers in two different sizes (one for men and one for women), as well as a shoe mitt and sewing kit. The hotel has chargeable laundry service and a laundry bag is provided alongside the aforementioned items.
Onto the bathroom, where you’ll find it stocked with Molton Brown amenities. Every room in the hotel is stocked with Molton Brown amenities, and you can even buy items from the brand in the hotel’s shop. The hotel provides shampoo, hair conditioner, body wash and body lotion from Molton Brown in each guest room upon arrival. Other amenities include hand soap, bath salt, shower cap, dental kit, shaving kit, comb, sanitary bag and vanity pack.
The bathtub is of a good size.
The sink is large with an attractive marbling pattern around it. Bar soap is provided, along with some Molton Brown lotion, a box of tissues and two cups.
The toilet is to the right of the sink and has a shelf on the side of the room.
There are additional Molton Brown toiletries in the shower, which includes a rainfall shower.
One final note about this room. I thought it was a nice touch that when you remove the door key card from the slot, the blinds will come down automatically.
The second room I had a look at was an Upper Harbour Room. The room is similar to the Luxe Harbour Room, though can be connected to another room with two twin beds, making it ideal for families with children.
One nice feature about the twin room is the presence of a window seat, where either the children could play, or a grown-up could sit and read a book.
The third room I looked at was one of the Harbour Suites. When you enter the suite, to your right is a closet…
…where you can hang your coat, as well as a shoe rack beneath it.
The suite I looked at had a city view. It’s rather different to the harbour view in the other rooms, but has charms of its own. You can admire the concrete jungle of Hong Kong while at the same time enjoying a mountain view.
Of course, being a suite, guests in this room type get a living room. The sofa can be converted into a sofa bed.
The living room area is tastefully decorated. For example, with these flowers.
A sense of connection with local culture is produced by this framed painting of a street scene on nearby Hollywood Road.
In between the living room and bedroom, and opposite the bathroom, is an area where you can store your luggage.
The bedroom is similar to that found in the Luxe Harbour room.
Guests get a 55-inch television (six inches bigger than in non-suite rooms), a round table with chairs, as well as a lounge chair with ottoman.
A highlight of the suite is that, in addition to the city and mountain view, you also get a stunning harbour view from the bedroom.
In the bathroom, there are two sinks, making it convenient for a couple who want to get ready together in the morning.
There is a good sized bathtub.
As well as a shower with rainfall shower head.
Here’s the toilet:
Food and beverage
The hotel has three dining outlets: The Tea Room (second floor), The Common Room (third floor) and The Light (a 31st floor rooftop bar). During my hotel tour, I was able to see the first two, though The Light wasn’t ready to view yet.
Let’s start with The Tea Room, which is inspired by Hong Kong’s distinctive “Bing Sutt” (冰室) dining culture.
This all-day diner serves authentic old Hong Kong favourites as well as “contemporary creations”.
I liked how the walls were lined with photographs depicting various classic Hong Kong scenes. A spokesperson for the hotel told me the hotel’s owner wanted to contribute something to the local community and so has kept prices relatively affordable at around HK$50-60 for lunch (US$6.4-7.7) in the hope that people from the local area will come and dine here.
Onward to The Common Room, which unlike the populist Tea Room, takes its inspiration from the elite institution that is Oxford University. The hotel’s director Chirstopher Liu holds a Master of Arts degree in jurisprudence from Oxford and was inspired by his time there to bring a flavour of the campus to Hong Kong.
“I still remember my good old university days at Oxford when we would spend hours at the JCR (Junior Common Room) just chilling and hanging out. What’s lacking in the JCR is we never had decent food there,” writes Liu in an introduction to The Common Room’s menu.
“At The Common Room, I hope to re-create the same casual and warm ambience but at the same time offering you a wide range of comfort food – covering meat, seafood and vegetarian dishes – that you would not mind having over and over again.”
References to Oxford are spread throughout the restaurant, whether it be on the placemats…
…or the pictures hanging on the wall…
There are also other, quirkier decorative items, such as this fun lamp.
The back room can be booked for private functions.
There is also a private dining area of around 37 sqm, which can be used either for private dinners or for other activities such as watching sports matches. The room can be divided into two sections, or used as one large section. Below is the first, smaller section.
And below is the larger section.
Leisure facilities
On the fifth floor is the 24-hour Health Club.
There is a good amount of equipment in the health club, from treadmills and striders…
…to weights. The gym is also well-lit with natural light coming in from the windows. The view isn’t as stunning from the rooms, however, since you are only on the fifth floor.
COOL Water branded bottled water is provided for Health Club users.
Towels and hand sanitiser are also provided.
Meeting space
The hotel has four meeting rooms:
- The Space I – 30 sqm
- The Space II – 33 sqm
- The Space III – 104 sqm
- The Space IV – 35 sqm
The Space I and The Space II can be combined into a larger event space, as you can see below.
I also had a look at The Space III on the fifth floor, though it was still partly being prepared for opening.
Verdict
A well-designed hotel that will be great for business or leisure stays. The property is well connected to the MTR, tram and Macau Ferry Terminal. If you have time and the weather is nice, it’s a pleasant walk along Hollywood Road to Central (this is how I got to the hotel as I had a meeting in Central beforehand). While I didn’t get to try any of the dining outlets yet, they showed great promise, and I found the Oxford University theme of The Common Room to be charming. The leisure facilities are also good for a property of this size and price point, while there are several good options for meetings if you need to hold one.


Filters
Projects
Countries
Regions
People
GCS
SE
GMD
ARD
Environment
WS
ENM
RE
CC
Management
FM
PSM
SP
AM
Reset Sliders
Filtered projects


Flight Surety Platform
Operational Status
Account List
List of available airlines
Registered Airlines
Flight list
Registered Flights
Flight Status
Passenger List


Unidentifiable Body:
You force the fingers open, and find a blood-stained necklace nestled within.
Turning it over, you find a simple "J" engraving on the reverse of the necklace.
J? Jacob? Is this him?
Take the necklace.


{% extends "base.html" %} {% block title %}Membership{% endblock %} {% block content %}
Bronze x-ISK/month
Bronze x-ISK/month
While EVEHUB is free to use for any user, it also offers extra features for corporations and alliances.
Adding these features for just a select of users can be really usefull, but also take huge amounts of extra work. Time we also could spend in EVE making isk. Blablabla bla. You make up something
To get a subscription you have to be the CEO of a corporation or alliance. Also you should have at least a limited API for your CEO character for validation. Every subscription owner has the ability to grant other users access to the leadership control pannel.
After filling out the form your application has to be manual processed by an admin. You will be contacted as soon as we can for further processing.
Note
If you are a corporation within Apocalypse Now, the corporation subscription can be acquired free of charge. No other subscriptions will be given while EVEHUD is in alfa state.


This is slide 1!
Next slide
This is slide 2!
Next slide
This is slide 3!
Next slide
This is slide 4!
Next slide
This is slide 5 (the last one)!
Back to the top


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 2
Manchego cheese and smoked bacon adds extra flavour to these simple stuffed mushrooms.
Preheat the oven to 180C/350F/Gas 4.
Finely chop one of the mushrooms and the stems of the other two, reserving the two remaining mushroom caps. In a frying pan, fry the onion in half a tablespoon of olive oil. Add the chopped mushrooms and thyme and continue to fry for five minutes. Add the lemon juice, remove from pan and set aside.
Wipe clean the pan and add the remaining olive oil.
Season the mushroom caps with salt and freshly ground black pepper and fry gently for five minutes. Turn over and cook for a further five minutes. Remove from the pan and set aside to drain on kitchen paper.
In a bowl, mix the garlic, parsley and breadcrumbs together with a teaspoon of olive oil, the lemon zest and freshly ground black pepper. Set aside.
On a baking sheet lined with parchment paper, place the two remaining large mushrooms caps topside down. Fill with the Manchego cheese, cooked bacon, onion and mushroom mix. Top with the breadcrumb mixture and bake in the oven for eight minutes.
Serve immediately.


---
layout: default
title: "Developer tools"
subtitle: "Do you ever wish that Global Forest Watch could be customized for your geography or a specific issue? Do you have a great idea for how GFW data could help solve a specific problem? Using GFW’s public Application Programming Interface (API) and open source code, anyone can build on GFW data and technology to create customized web-based or mobile applications. This section contains the tools and information you need to develop applications that harness Global Forest Watch data and technology."
linkUrl: "/"
linkLiteral: "Browse all Global Forest Watch apps here."
---
{{page.subtitle}}


mailx
Send and receive mail.
More information: home page
- Send mail (the content should be typed after the command, and ended with `Ctrl+D`):
mailx -s "subject" to_addr
- Send mail with content passed from another command:
echo "content" | mailx -s "subject" to_addr
- Send mail with content read from a file:
mailx -s "subject" to_addr < content.txt
- Send mail to a recipient and CC to another address:
mailx -s "subject" -c cc_addr to_addr
- Send mail specifying the sender address:
mailx -s "subject" -r from_addr to_addr
- Send mail with an attachment:
mailx -a path/to/file -s "subject" to_addr


Myfitscore is a fitness app that works by helping you eat better, exercise smarter and change your behaviour to leave you leaner, healthier and happier for life.
PROBLEM
WeTrack completed a system redesign in July 2017 which has dramatically improved user experience of the platform reducing the customer support time. However, they acquire all of their customers through word of mouth. The platform still lack an intuitive onboarding process to make it scalable.
MY TASKS
As part of the onboarding journey we decided to focus on the following tasks:
Redesigning the landing page: Design a customer centric responsive website that would also reflect WeTrack’s brand through appealing visuals, clear CTA’s, concise messaging and analytics to measure KPIs
Automating the onboarding process: Design a self-explanatory onboarding process that would allow the customers to set-up free trials and explore the product without sales support.
Managing different profiles with single login: If a user is part of different events, allow the user to access and manage different profiles.
DESIGN
The process included discovery workshop, talking to users, design workshop, designing, testing.
Discovery Workshop: I did a discovery workshop to understand more about their business, user and aspirations. Due to circumstances the workshop was conducted remotely. This made me explore new tools and ways to conduct the workshop. I wrote an article on how to do remote discovery sessions.
Understanding the business To understand the business I ran through some of the critical bits of the business model canvas (BMC). As someone with limited knowledge on the industry, this quickly provided me with the necessary understanding about the customer segment (primary and secondary customers), the value they provide, the revenue they get in return, the channels and customer relationship they maintain, and the Competitors Landscape. For this I used Google hangouts, with Google docs shared in a huge monitor.
Understanding the users We then created persona and empathy map for different customer segments to understand the users and build empathy towards them.
USER INTERVIEWS
Based on the personas, we mapped out different possible customer journeys. We did this in Trello.
WeTrack built a loyal customer base with their customer centric product who often gives feedback in their product roadmap. They pulled in some of the big names as listed previously such as Expo2020 Dubai, ICC Cricket World Cup 2019 etc.
I managed to interview few of their word of mouth users to understand how they generally add a new software to their workflow.
Findings from the interviews: Usually hear about a new software through Google (such as 10 best event management app articles); get a lot of recommendation from their network.
At the later stage, the user interactions helped me in creating the customer journey.
We did a detailed design session of each sketch of the customer journey such as landing page, sign ups, pricing etc. along with high-level contents.
After gathering all of this information, I created wireframes with touchpoints on various persona to see how each persona would interact with the journey. These wireframes were critically discussed with the team with quick iterations and then evaluated with users.
In the next step, I took time to know the WeTrack branding (Colours, Logo, Fonts, product screenshots etc. ) and tone of voice, I did mock-ups of the wireframes.
I did a user evaluation based on 3 tasks with their word of mouth users to test the mockup.
Finally I worked on hi-fidelity mockups (UI) including responsive design. Specifications for developers with proper asset and copy through invision, as well as SEO optimisation tips image size, keywords, content etc…
Arindra has been amazing to deal with, both as a mentor while WeTrack was on MassChallengeUK, and more recently during the redesign of our website.
He was thorough in his quest to really understand our product and users, was very open to and built upon our feedback throughout the design process, and went about the whole process in a holistic way, making sure that there was no aspect of the website or our potential users that we had not considered.
The finished product is better than we could have hoped for and we look forward continuing the journey with Arindra in the very near future!
- Charlie Vaughan-Fowler
Head of Product and Operations at WeTrack
March 23, 2018, Charlie was a client of Arindra’s


A holder for any AMQP value, simple or complex. More...
#include <value.hpp>
Public Member Functions | |
| value () | |
| Create a null value. | |
| template<class T > | |
| value (const T &x, typename assignable< T >::type *=0) | |
| Copy from any allowed type T. | |
| template<class T > | |
| assignable< T, value & >::type | operator= (const T &x) |
| Assign from any allowed type T. | |
| type_id | type () const |
| Get the type ID for the current value. | |
| bool | empty () const |
| True if the value is null. | |
| void | clear () |
| Reset the value to null/empty. | |
Copy a value | |
| value (const value &) | |
| value & | operator= (const value &) |
| value (value &&) | |
| value & | operator= (value &&) |
Friends | |
| void | swap (value &, value &) |
| swap values | |
| std::ostream & | operator<< (std::ostream &, const value &) |
| If contained value is a scalar type T, print using operator<<(T) More... | |
Comparison operators | |
| bool | operator== (const value &x, const value &y) |
| bool | operator< (const value &x, const value &y) |
Related Functions | |
(Note that these are not member functions.) | |
| template<class T > | |
| T | get (const value &v) |
| Get a contained value of type T. More... | |
| template<class T > | |
| void | get (const value &v, T &x) |
Like get(const value&) but extracts the value to a reference x instead of returning it. More... | |
| template<class T , class U > | |
| void | get (const U &u, T &x) |
| template<class T > | |
| T | coerce (const value &v) |
| Coerce the contained value to type T. More... | |
| template<class T > | |
| void | coerce (const value &v, T &x) |
| Like coerce(const value&) but assigns the value to a reference instead of returning it. More... | |
|
friend |
If contained value is a scalar type T, print using operator<<(T)
Complex types are printed in a non-standard human-readable format but that may change in future so should not be parsed.
|
related |
Get a contained value of type T.
For example:
uint64_t i = get<uint64_t>(x)
This will succeed if and only if x contains a uint64_t value.
| conversion_error | if contained value is not of type T. |
|
related |
Like get(const value&) but extracts the value to a reference x
instead of returning it.
May be more efficient for complex values (arrays, maps, etc.)
|
related |
Coerce the contained value to type T.
For example:
uint64_t i = coerce<uint64_t>(x)
This will succeed if x contains any numeric value, but may lose precision if it contains a float or double value.
| conversion_error | if the value cannot be converted to T according to std::is_convertible |
|
related |
Like coerce(const value&) but assigns the value to a reference instead of returning it.
May be more efficient for complex values (arrays, maps, etc.)


Interested in research and development of ideas. He loves hardcore coding and complex application architectures. Currently part of an Interactive team, main job is to plan scalable programes and applications for various clients, manage databases and servers, website/webapps performance and optimization, research on various APIs and new technologies.
A PHP and javascript nerd believe in web applications and open source goodness. Ex MS Windows user converted to *nix fanboy and love gadgets. Coding in python and maintaining servers became his passion. He is in love with server architectures, application performance, design patterns, SDLC (Agile FTW!)
next >Use arrow keys to navigate


Work Experience and Education
- Bachelor degree in civil engineering, the University of Jordan, Amman, Jordan, 2019
- High school-Tawjihi, Hai AlDobbatt Secondery school, Az Zarqa', Jordan, 2014
- I worked as a site engineer for 7 months at Bab Elamood for Engineering and Contracting, Amman.
Top Ten Favorite Series:
- The Good Doctor
- Dark
- Game of Throns
- La Casa De Papel
- The Black list
- Anne with an e
- Sherlock Holmes
- Grey's Anatomy
- Breaking Bad
- Suits


Spawn NPC / Mobb by ID:
[*]
Normal or Once
Id/Name|qty:
Spawn by Level:
[*]: Names are case insensitive, but you must use underscores instead of spaces.
You can leave qty field empty if you don't need more than one mob.


Exercise Name:
#EXERCISE_NAME#
Exercise Type:
#EXERCISE_TYPE#
Exercise Reps:
#EXERCISE_REPS#
Exercise Date:
#EXERCISE_DATE#
#ROW_HEADER# #ITEMS# #ROW_FOOTER#
Total: #TOTAL_AMOUNT#


The goal is to bring the Swiss Player Community together to play Dota in general and about playing in a semi-competitive team-based setting.
Playing Dota can only be improved by playing it with friends. The SDPL is a league intended to be a mix between serious competitive and more casual inhouse league. Players sign up for a month long season where they get drafted into a team, Captains try to draft the best possible team for themselves within their budget.


Our factories strive to achieve 100% consistent quality through an intricate network of quality control and assurance procedures.
We have a manager onsite at our factories and productions units whose responsibilities include ensuring Quality & Safety.
All our factories and production units have accredited processes and plans in place. Standard operating procedures are documented and our staff is highly trained.
Checks and processes are available for inspection at the units. We have our own, fully equipped, in-house testing lab and additionally we work with certified 3rd party laboratories that test our products in case external testing is required.


Plugin Logo
Beginning in version 2019.1, the IntelliJ Platform supports representing a plugin with a logo. A Plugin Logo is intended to be a unique representation of a plugin’s functionality, technology, or company. Previously this page referred to Plugin Logos as Plugin Icons.
Note: icons and images used within a plugin have different requirements. See Working with Icons and Images for more information.
Introduction
Plugin Logos are shown in the Plugins Repository, and in MarketPlace. They also appear in the Settings/Preferences Plugin Manager UI in IntelliJ Platform-based IDEs. Whether online or in the product UI, a Plugin Logo helps users to identify a plugin more quickly in a list, as shown below:
Plugin Logo Requirements
For a Plugin Logo to be displayed correctly within an IntelliJ Platform-based IDE, it must:
- Follow the best practices design guidelines,
- Be in the correct file format,
- Conform to file name conventions,
- Be in the
META-INF
folder of the plugin distribution file.
Plugin Logo Size
The Plugin Logo should be provided in one size: 40px by 40px. A Plugin Logo is displayed in two sizes, and scales automatically in each context:
- 40px by 40px in the plugins list in the Plugin Manager UI.
- 80px by 80px in the plugin details screen in the Plugin Manager UI, on the plugin’s page in the Plugins Repository, and on MarketPlace.
Verify that Plugin Logo designs are effective in both sizes and all display contexts.
Plugin Logo Shape
Plugin Logo designs should leave at least 2px transparent padding around the perimeter, as shown below:
Make sure Plugin Logos have the same visual weight as the logos in the examples below. The more filled a Plugin Logo design is, the less actual space it needs. See more examples of visual weight compensation in the IntelliJ Platform UI Guidelines for Icons.
For basic shapes, use the following sizes. Note the different areas of transparent padding used for each shape:
| Square logo 32px by 32px | Circular logo 36px in diameter |
| Horizontal rectangular logo 36px by 26px | Vertical rectangular logo 26px by 36px |
Plugin Logo Colors
If the plugin’s technology already has a logo, use its colors. Check the license terms before using the logo. If there is no existing logo, or its use is prohibited, create a custom logo based on the Action Colors Palette in the IntelliJ Platform UI Guidelines for Icons.
| The YouTrack Plugin Logo uses the YouTrack product logo |
The Keymap Plugin Logo uses a color from the Action Colors Palette |
Ensure a Plugin Logo is visible on both light and dark backgrounds. If one Plugin Logo design does not work on both light and dark backgrounds, then create separate light and dark versions of the Plugin Logo. The examples below illustrate how a Plugin Logo design may work well for a light background but not so well for a dark background. Consequently, a separate Plugin Logo for dark backgrounds is needed.
| The light Plugin Logo design works well on light UI Theme |
The light Plugin Logo design does not work well on a dark UI Theme |
A separate, dark Plugin Logo design works well on dark UI Theme |
Plugin Logo File Format
All Plugin Logo images must be SVG format. This vector image format is required because the Plugin Logo file must be small, and the image must scale without any loss of quality.
Plugin Logo File Naming Convention
Name the Plugin Logo files according to the following conventions:
pluginIcon.svg
is the default Plugin Logo. If a separate Logo file for dark UI Themes exists in the plugin, then this file is used solely for light UI Themes,pluginIcon_dark.svg
is an optional, alternative Plugin Logo for use solely with dark IDE UI Themes.
Adding Plugin Logo Files to a Plugin Project
The Plugin Logo files must be in the META-INF
folder of the plugin distribution file, i.e. the *.jar
or *.zip
file you upload to the plugin repository and install into a JetBrains IDE.
To include Plugin Logo files in your distribution file, place the Plugin Logo files into a plugin project’s resources/META-INF
folder.
Note that this requirement is the same regardless of using DevKit or Gradle for developing a plugin. For example:


|
HambaliWhat's the major difference between Osama bin Laden and Asian terror superstar Hambali? Hambali likes to think big.The most dangerous man you've never heard of, the chip on Hambali's shoulder makes bin Laden look like Jimmy Carter. Before his capture in August 2003, he was notably absent from the FBI's list of most wanted terrorists, by virtue of keeping his operations pretty much out of the United States... Well, OK, if you don't count September 11. Aside from that pesky 9/11 connection, the omission was particularly glaring in light of Hambali's James Bond supervillain-sized aspirations — the violent overthrow of all the nations of Southeast Asia, which would then be unified under a single militant Islamic government, creating a global superpower whose army and arsenal would rival the United States. The exact relationship between al Qaeda and Hambali's terrorist organization, Jemaah Islamiah (JI), has eluded Western intelligence agencies so far, at least as far as they're willing to tell us, the public. We know the two are connected, but it's not clear whether Hambali was a bin Laden lieutenant or a peer. Whoever was calling the shots, the two groups worked well together — before and since Hambali's capture. Hambali is an enigmatic figure; there is little biographical detail to be had. His real name is Riduan Ismuddin. He was born in Java, Indonesia, a reasonably wealthy regional agricultural center. As a teenager, Hambali got involved with JI, a conglomerate of various Islamic fundamentalist groups which co-existed somewhat uneasily with Indonesia's military regime until a crackdown during the mid-1980s. Like many disaffected Muslim fundamentalists at the time, Hambali traveled to Afghanistan to help fight the Soviet invasion. The mujahideen training camps were a fertile incubator for extremists, and Hambali took to the cause like a fish to water. By his own account, he fought the Soviets and met with Osama bin Laden during his three-year tour as a mujahideen. By the time Hambali returned to Malaysia at the beginning of the 1990s, he had been transformed from a fundamentalist into a militant extremist. He again connected with Jemaah Islamiah, teaming with its theological figurehead, a cleric and activist named Abu Bakar Bashir. Hambali was one of several charismatic leaders in the region with strong ties to Osama bin Laden and the incipient al Qaeda organization. Money flowed from bin Laden's coffers to fund the start-up of several terror groups in Southeast Asia, most infamously the Abu Sayyaf group in the Philippines. Unlike Abu Sayyaf, Jemaah Islamiah had a fairly lengthy history, but Hambali's arrival took the group in a new direction. Bashir had always been a fundamentalist, but he wasn't especially militant. While insinuating himself with Bashir, Hambali labored on a shoestring to provide for his family, until the mid-1990s, when a series of Arab visitors brought a sudden influx of cash, according to Time Magazine Asia. It didn't take long for Hambali to start putting his newfound wealth and influence to work. Hambali founded a shell company called Konsojaya in June 1994. Like many terrorist front operations, Konsojaya claimed to be an "import-export" company, with only a vague product mix. Its primary export was terrorism, and the company is thought to have provided material assistance to a number of ongoing regional plots. An al Qaeda AllyHambali's links to al Qaeda are clearly illustrated by one of the first plots that Konsojaya funded. One man serving on the company's board of directors was named Wali Khan Amin Shah, a figure with a critical link to al Qaeda's operations in the Philippines and the plot which would eventually become the September 11 attack.A veteran mujahideen, Wali Khan went to the Philippines in late 1994, where he joined a terrorist cell which nominally operated under the umbrella of the local Muslim separatist group, Abu Sayyaf. The launch of Abu Sayyaf was funded and largely directed by Osama bin Laden. The founder of the group was a mujahideen with close ties to bin Laden, and the money to get things rolling allegedly came to the Philippines via bin Laden's brother-in-law, Mohammed Jamal Khalifa, who set up his own "import-export" company (known as the Benevolence International Corp.) and several Islamic charities, from which funds were diverted for terrorist attacks. Under the close supervision of Khalifa, a team of expert Arab terrorists was sent to Manilla in 1994, under direct orders from Osama bin Laden to craft attacks on U.S. interests. Among the cell's members were uberterrorist Ramzi Yousef, al Qaeda's strategic mastermind Khalid Shaikh Mohammed and Wali Khan. Konsojaya provided funding and operational assistance to the Manila cell, according to Philippines investigators, various intelligence agencies and testimony presented at the U.S. trial of Wali Khan. The Manilla cell was charged with several tasks, among them the assassinations of President Bill Clinton and Pope John Paul II. The first was nixed by Yousef as too difficult; the second was prevented only by an accidental fire at the plotters' apartment, which exposed the cell to local police in January 1995. When police swarmed over the apartment, they discovered documents, supplies and computer files which outlined a massive terrorist attack on U.S. interests. The "Bojinka" plot would have detonated bombs on 11 U.S.-bound airliners virtually simultaneously, and it included a second phase in which a suicide pilot would hijack a commercial jet and crash it into the Pentagon. Sound familiar? Philippines authorities nabbed a couple of foot-soldiers, but let Yousef and Khalid Shaikh escape the country. Wali Khan was actually arrested by Philippines police but escaped in short order. He was arrested in Malaysia in December 1995, and extradited to the U.S., where he was sentenced to life in prison for the Bojinka plot, alongside Ramzi Yousef and another operative. Hambali's sponsorship somehow escaped notice at the time the plot was exposed, but the close call was enough to slow the JI leader's ambitions. He began consolidating his power base, focusing on preaching (his religious authority is largely self-appointed), fund-raising and recruiting. The Unwanted 9/11 PlotterHambali went completely underground in late 2000, when his now-consolidated organization began a series of dozens of church bombings across Indonesia, killing at least a score of people and injuring scores more. According to interviews conducted by Time Asia, Hambali took a "hands-on" approach to the project, arriving "with detailed plans, plenty of cash and two of his own bombmakers" and disappearing before the bombing spree began.While Hambali went underground, the spiritual leader of Jemaah Islamiah, Abu Bakr Bashir, remained in plain sight, preaching jihad and teaching at an Islamic school in Indonesia. Despite widespread accusations of his involvement in JI, Bashir steadfastly denied any connection to terror, and the Indonesian government declined to arrest him, citing "lack of evidence" but actually motivated by "fear of reprisals." After JI bombed a Bali nightclub in late 2002, killing nearly 200 people on the anniversary of al Qaeda's attack on the U.S.S. Cole, international pressure reached a fever pitch and the Indonesia authorities finally detained Bashir. In addition to the Bojinka link to 9/11, Hambali is known to have more direct links to the disastrous terrorist attack on America, which leads one to wonder why no one in the U.S. ever talks about him. In January 2000, a meeting between Hambali and two of the 9/11 hijackers was caught on videotape. Hambali is also considered to be a close associate of Khalid Shaikh Mohammed, the al Qaeda planner who masterminded the Sept. 11 attack and is believed to have planned JI's Bali nightclub bombing. Hambali also provided money and travel documents for alleged "20th hijacker" Zacarias Moussaoui. The exact nature of the relationship between al Qaeda and Hambali is unclear. Several media reports identify him either as being in charge of al Qaeda's operations in Southeast Asia. Others seem to indicate that JI is simply affiliated with Qaeda. Regardless of how the hierarchy is defined, Hambali's agenda differs from al Qaeda's formal mission statement, which is generally focused on expelling U.S. forces from the Persian Gulf by means of terrorist attacks on U.S. interests. Wrap Your Brain Around ThisHambali's vision was (and presumably remains) to unite Southeast Asia under an Islamic banner, by means of violent overthrow of the region's existing governments. Hambali's Islamic "super-state" would encompass Indonesia, Malaysia, Singapore, Brunei, the Philippines, Cambodia and Thailand.If you think 9/11 seemed like a "failure of imagination" on the part of U.S. intelligence agencies and policy makers, then the failure to focus on Hambali can only be due to an apocalyptic lack of imagination Although the odds are pretty daunting, Hambali's ambitious plan would, if successful, create a full-fledged superpower under the control of extremists just like bin Laden. According to the CIA world factbook, Hambali's super-state would have a population of nearly 420 million people (compared to the U.S. population of 280 million). The conscript base of men fit for military service would number well over 75 million, significantly higher than the U.S. The super-state would have a chokehold on shipping lanes in the South China Sea providing access from Asia proper to the Indian Ocean, enabling it to exert significant control over sea trade and airspace flowing to India, Africa and Australia. In addition to the traditional weapons of terrorism, Hambali's JI is armed with several logistical and political weapons. Malaysia and Indonesia are both already Islamic governments with a bad history of enforcement against terrorists in general and JI in particular. Both governments also opposed the U.S. invasion of Afghanistan and are generally anti-U.S. on both cultural and policy levels. Indonesia flatly denies the existence of any al Qaeda presence within its borders, which is blatantly ridiculous on the face of it. Even the U.S. can't make that claim. Additionally, the cell structure and membership of JI is still virtually unknown, in part due to the lack of cooperating governments in the region, as well as the lack of clarity about the depth and breadth of alliances among the various regional terrorist factions. And it's not just the active terrorist operatives who are a problem. Hambali is much more effective than bin Laden at playing the religious card. He has a receptive audience within the general population of Islamic fundamentalists who could be provoked to militancy by circumstance, rhetorical skill or in reaction to any one of dozens of U.S. foreign policy decisions (such as a war on Iraq, just to state the glaringly obvious). In addition to the documented ties between Qaeda and JI, bin Laden is known to be generally supportive of the plan to create a pan-Islamic state through violent revolution and al Qaeda has directed significant resources to the job. Right up until Hambali's arrest in Thailand in August 2003, JI has been stockpiling tons of ammonium nitrate, the volatile fertilizer used by Timothy McVeigh to destroy the Murrah Federal Building in Oklahoma City. Much of that material is still unaccounted for. As 2004 comes to a close, the U.S. appears to have largely given up on catching bin Laden and his top lieutenant Ayman Al-Zawahiri, who have been enthusiastically inflaming Muslims in Southeast Asia and elsewhere over the ongoing and barely successful occupation of Iraq, with the hopes of escalating it into a regional conflict, which would play into the movement and ideology successfully spread by Hambali, even though the man himself has been taken out of commission. If the "movement" catches on, the 9/11 "failure of imagination" may seem awfully small by comparison. Consider the consequences of a third global superpower, with Osama bin Laden as president. And then ask yourself why you never heard of that guy, Hambali. |


rexpokit: R Wrappers for EXPOKIT; Other Matrix Functions
Wraps some of the matrix exponentiation
utilities from EXPOKIT (<http://www.maths.uq.edu.au/expokit/>),
a FORTRAN library that is widely recommended for matrix
exponentiation (Sidje RB, 1998. "Expokit: A Software Package
for Computing Matrix Exponentials." ACM Trans. Math. Softw.
24(1): 130-156). EXPOKIT includes functions for
exponentiating both small, dense matrices, and large, sparse
matrices (in sparse matrices, most of the cells have value 0).
Rapid matrix exponentiation is useful in phylogenetics when we
have a large number of states (as we do when we are inferring
the history of transitions between the possible geographic
ranges of a species), but is probably useful in other ways as
well.
| Version: |
0.26.6 |
| Depends: |
R (≥ 3.0.2) |
| Imports: |
stats, Rcpp (≥ 0.11.0) |
| LinkingTo: |
Rcpp (≥ 0.11.0) |
| Published: |
2018-10-02 |
| Author: |
Nicholas J. Matzke [aut, cre, cph],
Roger B. Sidje [aut, cph],
Drew Schmidt [aut] |
| Maintainer: |
Nicholas J. Matzke <nickmatzke.ncse at gmail.com> |
| License: |
GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| Copyright: |
See rexpokit/inst/LAPACK_LICENSE.txt for src/lapack.f. |
| URL: |
http://phylo.wikidot.com/rexpokit |
| NeedsCompilation: |
yes |
| Citation: |
rexpokit citation info |
| Materials: |
README NEWS |
| CRAN checks: |
rexpokit results |
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=rexpokit
to link to this page.


npm audit [--json] [--production] [--audit-level=(low|moderate|high|critical)]
npm audit fix [--force|--package-lock-only|--dry-run|--production|--only=(dev|prod)]
common options: [--production] [--only=(dev|prod)]
The audit command submits a description of the dependencies configured in your project to your default registry
and asks for a report of known vulnerabilities. If any vulnerabilities are found, then the impact and
appropriate remediation will be calculated. If the fix
argument is provided, then remediations will
be applied to the package tree.
The command will exit with a 0 exit code if no vulnerabilities were found.
Note that some vulnerabilities cannot be fixed automatically and will require manual intervention or review. Also
note that since npm audit fix
runs a full-fledged npm install
under the hood, all
configs that apply to the installer will also apply to npm install
– so things like npm audit
fix --package-lock-only
will work as expected.
By default, the audit command will exit with a non-zero code if any vulnerability is found. It may be useful in
CI environments to include the --audit-level
parameter to specify the minimum vulnerability level
that will cause the command to fail. This option does not filter the report output, it simply changes the
command’s failure threshold.
There are two audit endpoints that npm may use to fetch vulnerability information: the Bulk Advisory
endpoint and the Quick Audit
endpoint.
As of version 7, npm uses the much faster Bulk Advisory
endpoint to optimize the speed of
calculating audit results.
npm will generate a JSON payload with the name and list of versions of each package in the tree, and POST it to
the default configured registry at the path /-/npm/v1/security/advisories/bulk
.
Any packages in the tree that do not have a version
field in their package.json file will be
ignored. If any --omit
options are specified (either via the --omit
config, or one of
the shorthands such as --production
, --only=dev
, and so on), then packages will be
omitted from the submitted payload as appropriate.
If the registry responds with an error, or with an invalid response, then npm will attempt to load advisory data
from the Quick Audit
endpoint.
The expected result will contain a set of advisory objects for each dependency that matches the advisory range.
Each advisory object contains a name
, url
, id
, severity
,
vulnerable_versions
, and title
.
npm then uses these advisory objects to calculate vulnerabilities and meta-vulnerabilities of the dependencies within the tree.
If the Bulk Advisory
endpoint returns an error, or invalid data, npm will attempt to load advisory
data from the Quick Audit
endpoint, which is considerably slower in most cases.
The full package tree as found in package-lock.json
is submitted, along with the following pieces of
additional metadata:
npm_version
node_version
platform
arch
node_env
All packages in the tree are submitted to the Quick Audit endpoint. Omitted dependency types are skipped when generating the report.
Out of an abundance of caution, npm versions 5 and 6 would "scrub" any packages from the submitted report if
their name contained a /
character, so as to avoid leaking the names of potentially private
packages or git URLs.
However, in practice, this resulted in audits often failing to properly detect meta-vulnerabilities, because the tree would appear to be invalid due to missing dependencies, and prevented the detection of vulnerabilities in package trees that used git dependencies or private modules.
This scrubbing has been removed from npm as of version 7.
npm uses the @npmcli/metavuln-calculator
module to turn a set of security advisories into a set of "vulnerability" objects. A "meta-vulnerability" is a
dependency that is vulnerable by virtue of dependence on vulnerable versions of a vulnerable package.
For example, if the package foo
is vulnerable in the range >=1.0.2 <2.0.0
, and
the package bar
depends on<EMAIL_ADDRESS>, then that version of bar
can only
be installed by installing a vulnerable version of foo
. In this case, bar
is a
"metavulnerability".
Once metavulnerabilities for a given package are calculated, they are cached in the ~/.npm
folder
and only re-evaluated if the advisory range changes, or a new version of the package is published (in which
case, the new version is checked for metavulnerable status as well).
If the chain of metavulnerabilities extends all the way to the root project, and it cannot be updated without
changing its dependency ranges, then npm audit fix
will require the --force
option to
apply the remediation. If remediations do not require changes to the dependency ranges, then all vulnerable
packages will be updated to a version that does not have an advisory or metavulnerability posted against it.
The npm audit
command will exit with a 0 exit code if no vulnerabilities were found. The npm
audit fix
command will exit with 0 exit code if no vulnerabilities are found or if the
remediation is able to successfully fix all vulnerabilities.
If vulnerabilities were found the exit code will depend on the audit-level
configuration setting.
Scan your project for vulnerabilities and automatically install any compatible updates to vulnerable dependencies:
Run audit fix
without modifying node_modules
, but still updating the pkglock:
Skip updating devDependencies
:
Have audit fix
install SemVer-major updates to toplevel dependencies, not just SemVer-compatible
ones:
Do a dry run to get an idea of what audit fix
will do, and also output install information
in JSON format:
Scan your project for vulnerabilities and just show the details, without fixing anything:
Get the detailed audit report in JSON format:
Fail an audit only if the results include a vulnerability with a level of moderate or higher: