public class DragSource extends Object implements Serializable
DragSource
is the entity responsible
for the initiation of the Drag
and Drop operation, and may be used in a number of scenarios:
Component
, or application specific
object associated with a Component
instance in the GUI. [implementation dependent]
DragSource
is
obtained, a DragGestureRecognizer
should
also be obtained to associate the DragSource
with a particular
Component
.
The initial interpretation of the user's gesture,
and the subsequent starting of the drag operation
are the responsibility of the implementing
Component
, which is usually
implemented by a DragGestureRecognizer
.
When a drag gesture occurs, the
DragSource
's
startDrag() method shall be
invoked in order to cause processing
of the user's navigational
gestures and delivery of Drag and Drop
protocol notifications. A
DragSource
shall only
permit a single Drag and Drop operation to be
current at any one time, and shall
reject any further startDrag() requests
by throwing an IllegalDnDOperationException
until such time as the extant operation is complete.
The startDrag() method invokes the
createDragSourceContext() method to
instantiate an appropriate
DragSourceContext
and associate the DragSourceContextPeer
with that.
If the Drag and Drop System is
unable to initiate a drag operation for
some reason, the startDrag() method throws
a java.awt.dnd.InvalidDnDOperationException
to signal such a condition. Typically this
exception is thrown when the underlying platform
system is either not in a state to
initiate a drag, or the parameters specified are invalid.
Note that during the drag, the
set of operations exposed by the source
at the start of the drag operation may not change
until the operation is complete.
The operation(s) are constant for the
duration of the operation with respect to the
DragSource
.
| Modifier and Type | Field and Description |
|---|---|
static Cursor |
DefaultCopyDrop
The default
Cursor to use with a copy operation indicating
that a drop is currently allowed. |
static Cursor |
DefaultCopyNoDrop
The default
Cursor to use with a copy operation indicating
that a drop is currently not allowed. |
static Cursor |
DefaultLinkDrop
The default
Cursor to use with a link operation indicating
that a drop is currently allowed. |
static Cursor |
DefaultLinkNoDrop
The default
Cursor to use with a link operation indicating
that a drop is currently not allowed. |
static Cursor |
DefaultMoveDrop
The default
Cursor to use with a move operation indicating
that a drop is currently allowed. |
static Cursor |
DefaultMoveNoDrop
The default
Cursor to use with a move operation indicating
that a drop is currently not allowed. |
| Constructor and Description |
|---|
DragSource()
Creates a new
DragSource . |
| Modifier and Type | Method and Description |
|---|---|
void |
addDragSourceListener(DragSourceListener dsl)
Adds the specified
DragSourceListener to this
DragSource to receive drag source events during drag
operations intiated with this DragSource . |
void |
addDragSourceMotionListener(DragSourceMotionListener dsml)
Adds the specified
DragSourceMotionListener to this
DragSource to receive drag motion events during drag
operations intiated with this DragSource . |
DragGestureRecognizer |
createDefaultDragGestureRecognizer(Component c,
int actions,
DragGestureListener dgl)
Creates a new
DragGestureRecognizer
that implements the default
abstract subclass of DragGestureRecognizer
for this DragSource ,
and sets the specified Component
and DragGestureListener on the
newly created object. |
<T extends DragGestureRecognizer> |
createDragGestureRecognizer(Class<T> recognizerAbstractClass,
Component c,
int actions,
DragGestureListener dgl)
Creates a new
DragGestureRecognizer
that implements the specified
abstract subclass of
DragGestureRecognizer , and
sets the specified Component
and DragGestureListener on
the newly created object. |
protected DragSourceContext |
createDragSourceContext(DragSourceContextPeer dscp,
DragGestureEvent dgl,
Cursor dragCursor,
Image dragImage,
Point imageOffset,
Transferable t,
DragSourceListener dsl)
Creates the
DragSourceContext to handle the current drag
operation. |
static DragSource |
getDefaultDragSource()
Gets the
DragSource object associated with
the underlying platform. |
DragSourceListener[] |
getDragSourceListeners()
Gets all the
DragSourceListener s
registered with this DragSource . |
DragSourceMotionListener[] |
getDragSourceMotionListeners()
Gets all of the
DragSourceMotionListener s
registered with this DragSource . |
static int |
getDragThreshold()
Returns the drag gesture motion threshold.
|
FlavorMap |
getFlavorMap()
This method returns the
FlavorMap for this DragSource . |
<T extends EventListener> |
getListeners(Class<T> listenerType)
Gets all the objects currently registered as
FooListener s upon this DragSource . |
static boolean |
isDragImageSupported()
Reports
whether or not drag
Image support
is available on the underlying platform. |
void |
removeDragSourceListener(DragSourceListener dsl)
Removes the specified
DragSourceListener from this
DragSource . |
void |
removeDragSourceMotionListener(DragSourceMotionListener dsml)
Removes the specified
DragSourceMotionListener from this
DragSource . |
void |
startDrag(DragGestureEvent trigger,
Cursor dragCursor,
Image dragImage,
Point dragOffset,
Transferable transferable,
DragSourceListener dsl)
Start a drag, given the
DragGestureEvent
that initiated the drag, the initial Cursor
to use,
the Image to drag,
the offset of the Image origin
from the hotspot of the Cursor
at the instant of the trigger,
the subject data of the drag, and
the DragSourceListener . |
void |
startDrag(DragGestureEvent trigger,
Cursor dragCursor,
Image dragImage,
Point imageOffset,
Transferable transferable,
DragSourceListener dsl,
FlavorMap flavorMap)
Start a drag, given the
DragGestureEvent
that initiated the drag, the initial
Cursor to use,
the Image to drag,
the offset of the Image origin
from the hotspot of the Cursor at
the instant of the trigger,
the Transferable subject data
of the drag, the DragSourceListener ,
and the FlavorMap . |
void |
startDrag(DragGestureEvent trigger,
Cursor dragCursor,
Transferable transferable,
DragSourceListener dsl)
Start a drag, given the
DragGestureEvent
that initiated the drag, the initial
Cursor to
use,
the Transferable subject data
of the drag, and the DragSourceListener . |
void |
startDrag(DragGestureEvent trigger,
Cursor dragCursor,
Transferable transferable,
DragSourceListener dsl,
FlavorMap flavorMap)
Start a drag, given the
DragGestureEvent
that initiated the drag, the initial
Cursor to use,
the Transferable subject data
of the drag, the DragSourceListener ,
and the FlavorMap . |
public static final Cursor DefaultCopyDrop
Cursor
to use with a copy operation indicating
that a drop is currently allowed. null
if
GraphicsEnvironment.isHeadless()
returns true
.GraphicsEnvironment.isHeadless()
public static final Cursor DefaultMoveDrop
Cursor
to use with a move operation indicating
that a drop is currently allowed. null
if
GraphicsEnvironment.isHeadless()
returns true
.GraphicsEnvironment.isHeadless()
public static final Cursor DefaultLinkDrop
Cursor
to use with a link operation indicating
that a drop is currently allowed. null
if
GraphicsEnvironment.isHeadless()
returns true
.GraphicsEnvironment.isHeadless()
public static final Cursor DefaultCopyNoDrop
Cursor
to use with a copy operation indicating
that a drop is currently not allowed. null
if
GraphicsEnvironment.isHeadless()
returns true
.GraphicsEnvironment.isHeadless()
public static final Cursor DefaultMoveNoDrop
Cursor
to use with a move operation indicating
that a drop is currently not allowed. null
if
GraphicsEnvironment.isHeadless()
returns true
.GraphicsEnvironment.isHeadless()
public static final Cursor DefaultLinkNoDrop
Cursor
to use with a link operation indicating
that a drop is currently not allowed. null
if
GraphicsEnvironment.isHeadless()
returns true
.GraphicsEnvironment.isHeadless()
public DragSource() throws HeadlessException
DragSource
.HeadlessException
- if GraphicsEnvironment.isHeadless()
returns trueGraphicsEnvironment.isHeadless()
public static DragSource getDefaultDragSource()
DragSource
object associated with
the underlying platform.HeadlessException
- if GraphicsEnvironment.isHeadless()
returns trueGraphicsEnvironment.isHeadless()
public static boolean isDragImageSupported()
Image
support
is available on the underlying platform.
public void startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap) throws InvalidDnDOperationException
DragGestureEvent
that initiated the drag, the initial
Cursor
to use,
the Image
to drag,
the offset of the Image
origin
from the hotspot of the Cursor
at
the instant of the trigger,
the Transferable
subject data
of the drag, the DragSourceListener
,
and the FlavorMap
.
trigger
- the DragGestureEvent
that initiated the dragdragCursor
- the initial Cursor
for this drag operation
or null
for the default cursor handling;
see DragSourceContext
for more details on the cursor handling mechanism during drag and dropdragImage
- the image to drag or null
imageOffset
- the offset of the Image
origin from the hotspot
of the Cursor
at the instant of the triggertransferable
- the subject data of the dragdsl
- the DragSourceListener
flavorMap
- the FlavorMap
to use, or null
InvalidDnDOperationException
- if the Drag and Drop
system is unable to initiate a drag operation, or if the user
attempts to start a drag while an existing drag operation
is still executingpublic void startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl, FlavorMap flavorMap) throws InvalidDnDOperationException
DragGestureEvent
that initiated the drag, the initial
Cursor
to use,
the Transferable
subject data
of the drag, the DragSourceListener
,
and the FlavorMap
.
trigger
- the DragGestureEvent
that
initiated the dragdragCursor
- the initial Cursor
for this drag operation
or null
for the default cursor handling;
see DragSourceContext
for more details on the cursor handling mechanism during drag and droptransferable
- the subject data of the dragdsl
- the DragSourceListener
flavorMap
- the FlavorMap
to use or null
InvalidDnDOperationException
- if the Drag and Drop
system is unable to initiate a drag operation, or if the user
attempts to start a drag while an existing drag operation
is still executingpublic void startDrag(DragGestureEvent trigger, Cursor dragCursor, Image dragImage, Point dragOffset, Transferable transferable, DragSourceListener dsl) throws InvalidDnDOperationException
DragGestureEvent
that initiated the drag, the initial Cursor
to use,
the Image
to drag,
the offset of the Image
origin
from the hotspot of the Cursor
at the instant of the trigger,
the subject data of the drag, and
the DragSourceListener
.
trigger
- the DragGestureEvent
that initiated the dragdragCursor
- the initial Cursor
for this drag operation
or null
for the default cursor handling;
see DragSourceContext
for more details on the cursor handling mechanism during drag and dropdragImage
- the Image
to drag or null
dragOffset
- the offset of the Image
origin from the hotspot
of the Cursor
at the instant of the triggertransferable
- the subject data of the dragdsl
- the DragSourceListener
InvalidDnDOperationException
- if the Drag and Drop
system is unable to initiate a drag operation, or if the user
attempts to start a drag while an existing drag operation
is still executingpublic void startDrag(DragGestureEvent trigger, Cursor dragCursor, Transferable transferable, DragSourceListener dsl) throws InvalidDnDOperationException
DragGestureEvent
that initiated the drag, the initial
Cursor
to
use,
the Transferable
subject data
of the drag, and the DragSourceListener
.
trigger
- the DragGestureEvent
that initiated the dragdragCursor
- the initial Cursor
for this drag operation
or null
for the default cursor handling;
see DragSourceContext class
for more details on the cursor handling mechanism during drag and droptransferable
- the subject data of the dragdsl
- the DragSourceListener
InvalidDnDOperationException
- if the Drag and Drop
system is unable to initiate a drag operation, or if the user
attempts to start a drag while an existing drag operation
is still executingprotected DragSourceContext createDragSourceContext(DragSourceContextPeer dscp, DragGestureEvent dgl, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable t, DragSourceListener dsl)
DragSourceContext
to handle the current drag
operation.
To incorporate a new DragSourceContext
subclass, subclass DragSource
and
override this method.
If dragImage
is null
, no image is used
to represent the drag over feedback for this drag operation, but
NullPointerException
is not thrown.
If dsl
is null
, no drag source listener
is registered with the created DragSourceContext
,
but NullPointerException
is not thrown.
dscp
- The DragSourceContextPeer
for this dragdgl
- The DragGestureEvent
that triggered the
dragdragCursor
- The initial Cursor
for this drag operation
or null
for the default cursor handling;
see DragSourceContext class
for more details on the cursor handling mechanism during drag and dropdragImage
- The Image
to drag or null
imageOffset
- The offset of the Image
origin from the
hotspot of the cursor at the instant of the triggert
- The subject data of the dragdsl
- The DragSourceListener
DragSourceContext
NullPointerException
- if dscp
is null
NullPointerException
- if dgl
is null
NullPointerException
- if dragImage
is not
null
and imageOffset
is null
NullPointerException
- if t
is null
IllegalArgumentException
- if the Component
associated with the trigger event is null
.IllegalArgumentException
- if the DragSource
for the
trigger event is null
.IllegalArgumentException
- if the drag action for the
trigger event is DnDConstants.ACTION_NONE
.IllegalArgumentException
- if the source actions for the
DragGestureRecognizer
associated with the trigger
event are equal to DnDConstants.ACTION_NONE
.public FlavorMap getFlavorMap()
FlavorMap
for this DragSource
.
FlavorMap
for this DragSource
public <T extends DragGestureRecognizer> T createDragGestureRecognizer(Class<T> recognizerAbstractClass, Component c, int actions, DragGestureListener dgl)
DragGestureRecognizer
that implements the specified
abstract subclass of
DragGestureRecognizer
, and
sets the specified Component
and DragGestureListener
on
the newly created object.
recognizerAbstractClass
- the requested abstract typeactions
- the permitted source drag actionsc
- the Component
targetdgl
- the DragGestureListener
to notify
DragGestureRecognizer
or null
if the Toolkit.createDragGestureRecognizer
method
has no implementation available for
the requested DragGestureRecognizer
subclass and returns null
public DragGestureRecognizer createDefaultDragGestureRecognizer(Component c, int actions, DragGestureListener dgl)
DragGestureRecognizer
that implements the default
abstract subclass of DragGestureRecognizer
for this DragSource
,
and sets the specified Component
and DragGestureListener
on the
newly created object.
For this DragSource
the default is MouseDragGestureRecognizer
.
c
- the Component
target for the recognizeractions
- the permitted source actionsdgl
- the DragGestureListener
to notify
DragGestureRecognizer
or null
if the Toolkit.createDragGestureRecognizer
method
has no implementation available for
the requested DragGestureRecognizer
subclass and returns null
public void addDragSourceListener(DragSourceListener dsl)
DragSourceListener
to this
DragSource
to receive drag source events during drag
operations intiated with this DragSource
.
If a null
listener is specified, no action is taken and no
exception is thrown.dsl
- the DragSourceListener
to addremoveDragSourceListener(java.awt.dnd.DragSourceListener)
,
getDragSourceListeners()
public void removeDragSourceListener(DragSourceListener dsl)
DragSourceListener
from this
DragSource
.
If a null
listener is specified, no action is taken and no
exception is thrown.
If the listener specified by the argument was not previously added to
this DragSource
, no action is taken and no exception
is thrown.dsl
- the DragSourceListener
to removeaddDragSourceListener(java.awt.dnd.DragSourceListener)
,
getDragSourceListeners()
public DragSourceListener[] getDragSourceListeners()
DragSourceListener
s
registered with this DragSource
.DragSource
's
DragSourceListener
s or an empty array if no
such listeners are currently registeredaddDragSourceListener(java.awt.dnd.DragSourceListener)
,
removeDragSourceListener(java.awt.dnd.DragSourceListener)
public void addDragSourceMotionListener(DragSourceMotionListener dsml)
DragSourceMotionListener
to this
DragSource
to receive drag motion events during drag
operations intiated with this DragSource
.
If a null
listener is specified, no action is taken and no
exception is thrown.dsml
- the DragSourceMotionListener
to addremoveDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)
,
getDragSourceMotionListeners()
public void removeDragSourceMotionListener(DragSourceMotionListener dsml)
DragSourceMotionListener
from this
DragSource
.
If a null
listener is specified, no action is taken and no
exception is thrown.
If the listener specified by the argument was not previously added to
this DragSource
, no action is taken and no exception
is thrown.dsml
- the DragSourceMotionListener
to removeaddDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)
,
getDragSourceMotionListeners()
public DragSourceMotionListener[] getDragSourceMotionListeners()
DragSourceMotionListener
s
registered with this DragSource
.DragSource
's
DragSourceMotionListener
s or an empty array if no
such listeners are currently registeredaddDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)
,
removeDragSourceMotionListener(java.awt.dnd.DragSourceMotionListener)
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListener
s upon this DragSource
.
FooListener
s are registered using the
addFooListener
method.listenerType
- the type of listeners requested; this parameter
should specify an interface that descends from
java.util.EventListener
FooListener
s on this
DragSource
, or an empty array if no such listeners
have been addedClassCastException
- if listenerType
doesn't specify a class or interface that implements
java.util.EventListener
getDragSourceListeners()
,
getDragSourceMotionListeners()
public static int getDragThreshold()
MouseDragGestureRecognizer
s.
If the system property awt.dnd.drag.threshold
is set to
a positive integer, this method returns the value of the system property;
otherwise if a pertinent desktop property is available and supported by
the implementation of the Java platform, this method returns the value of
that property; otherwise this method returns some default value.
The pertinent desktop property can be queried using
java.awt.Toolkit.getDesktopProperty("DnD.gestureMotionThreshold")
.
MouseDragGestureRecognizer
Dracula Javadoc Sample, Made with Allan Im.


Preparation time
over 2 hours
Cooking time
10 to 30 mins
Serves
Serves 2
Once the prep is done this dish will take very little time and its fresh flavours are certain to impress.
Equipment and preparation: for this recipe you will need a pressure cooker.
To make the brown butter for the hake, add the butter to a hot frying pan. Stir gently and allow the butter to brown. Once brown, pass through a fine sieve into a bowl and leave to cool in the fridge.
Season the hake fillets with sea salt and then place the fillets into the fridge for 1½ hours. (This firm’s up the texture of the fish and draws out any excess water.)
For the pressure-cooked soup base, bring the stock to a simmer in a separate pan. Put the pressure cooker over a medium heat. Add the olive oil, when hot add the bacon and stir. Fry until golden-brown (about 4 minutes). Add the fennel, onion, garlic, celery and broken spaghetti. Season lightly with sea salt and cook for a further 3 minutes, or until the vegetables are slightly soft but not coloured.
Tie the thyme and rosemary sprigs together using cook's string. Add to the pressure cooker along with the hot stock. Crush the ripe tomatoes in your hands and add them to the pressure cooker along with the vine. Place the lid on and, following the manufacturer’s instructions, bring up to pressure and cook for 10 minutes.
Preheat the oven to 160C/140C fan/Gas 2.
For the hake, take the brown butter from the fridge and whisk to a paste, it should smell like toffee. Season the hake lightly with sea salt and brush all over with brown butter. Place on an oven tray and bake for about 6-8 minutes.
Once the 10 minutes is up on the pressure cooker, remove it from the heat and allow cool, so you can remove the lid. The contents should be really hot still, carefully remove the thyme bundle, tomato skins and vine using tongs.
Add all the spring greens, herbs and season with white pepper. Set aside until the spring greens are slightly soft.
Serve in bowls with a fillet of hake on top. Finish with a little olive oil, a grating of lemon zest and a squeeze of juice. Add a pinch of sea salt on the fish skin and serve immediately.


{{ ptitle }}
For your case to proceed without delay you need to make sure you upload the correct documents. We can accept scanned images or good quality pictures, for example via a smartphone.
For your case to proceed without delay you need to make sure you upload the correct documents. We can accept scanned images or good quality pictures, for example via a smartphone.


This article explains how to classify texts.
Suppose you have a text classification problem. For example, you want to classify incoming emails as (C1) spam (C2) notifications (C3) personal. Hence each email belongs to exactly one of three classes.
Basic Setup
Suppose you have corpus of 1000 emails. You make a stratified split into 600 training emails and 400 test emails. The class C1 is 40% of the data, C2 is 10% of the data and C3 is 50% of the data in both, the training and the test set. Don't touch the test set until the very end.
Let \(I_1 \subsetneq 1, \dots, 600\) be the set of indices of emails which belong to class C1, \(I_2 \subsetneq 1, \dots, 600\) be the set of indices of emails which belong to set C2 and \(I_3 \subsetneq 1, \dots, 600\) be the set of emails which belong to set C3.
Get Features
Now you build a list of unique words \(w\). Let \(W \in \mathbb{N}\) denote the total number of unique words in the training set. So you know which words appear in the documents in the training set. There are certainly words which you did not see in the training set. Don't worry about this.
Let the count how often word \(w\) appears in email \(i = 1, \dots, N\) be denoted by \(n_{w,i} \in \mathbb{N}\). Let \(n_{w, \text{total}} = \sum_{i=1}^N n_{w,i}\) be the count how often the word \(w\) appears in all documents combined.
Word Presence Feature
For each word, you can have a binary feature: Either the word is in the e-mail or not. I call this the "word presence feature".
Now you can calculate: If a word \(w\) appears in a document, the probability that the e-mail belongs to class 1 is
Hence you divide the number of e-mails of the first class in which the word \(w\) appeared at least once by the total count of e-mails in which the word \(w\) appeared at least once.
Ok, but you don't only have one feature, but many. You are interested in \(P(C_1 | w_1, \dots, w_N)\).
By applying Bayes Rule, we get:
Now, \(P(C_1) = 0.4\) is called the a priori probability of the class \(C_1\). So if we knew nothing about the content of the e-mail, we would guess \(C_1\) has a probability of 40% as it is the amout of e-mails in that class.
The other terms are more difficult. We don't have enough data for this. So we make the simplifying (and wrong!) assumption that words are independant of each other. Then we get:
As we know that
it is sufficient to calculate the nominators and divide each of the three denominators by the sum of all three.
Congratulations, your first document classifier is working!
Tf-idf
For each word, we can measure how often it appears in a given e-mail. Certainly, the more often it appears the more important it is. But the longer the e-mail is, the less important it is. So we should divide by the total count of words of an e-mail. This is called the term frequency (Tf) of a word in a document (e-mail). Sometimes, this is also denoted by \(\text{tf}(w, d)\) where \(w\) is the word (term) and \(d\) is the document (e-mail).
Next, we realize that some words contain more information than others. For example, the word "the" might occur in almost every document. We do so by dividing by
where \(N = 600\) is the total amount of documents we have in the training set. The denominator is the total count of words in all documents in the training set combined.
Hence we can get a Tf-idf feature for all words.
You can see that this allows us to apply the same Bayesian approach as before. In fact, you should now see that the Bayesian approach is not part of the features, but a classifier! And if you look at the tf-idf Wikipedia page you can see that there are a couple of similar features!
Terms instead of Words
I've only talked about words before, but you can calculate tf-idf for terms, too.
Take "New York" as an example. You might see "New" in an e-mail and you might see "York" in an e-mail. But the combined term "New York" is something different than seeing both single words. Hence you might want to have the tf-idf feature of "New York", too.
Classifiers
I've introduced the Bayes Classifer, but there are a lot more. Most notably:
- SVMs
- Neural Networks
- Decision Trees (and Random Forests)
See my Comparing Classifiers for a lot more classifiers.
Feature Engineering
One thing I would try to find out is which features are really good. You can probably figure out keywords with this approach. Hence you can make sense of the decision. And you might be able to throw away a lot of words.
PCA / LDA are two feature reduction methods that might be interesting. Other methods are:
- Forward Feature Construction:
- Start with an empty set of features.
- For each feature not in the feature list: Find the one where adding it leads to the best accuracy.
- If the desired accuracy is reached, stop. Otherwise continue with 2.
- Feature Elimination
- Start with all features.
- For each feature in the feature list: Try where removing it leads to the least loss in accuracy.
- If the accuracy dropped below the required accuracy, stop and take the last feature list. Otherwise, continue with 2.
Evaluation
Last, but not least, I suggest the following approach to evaluate what you apply for your e-mail classifier:
- Split the training set into 500 e-mails for training and 100 e-mails for validation
- Traing all methods you guess on the 500 e-mails. Evluate on the 100 e-mails what is best.
- Make sure everything is what you think it should be like. Run your experiments with those 500 / 100 e-mails
- When you're finished, evaluate on the 400 e-mails your final setup. Only once.
You might also want to have a look at cross-validation.
Public Datasets
I'm not aware of public datasets for document classification, but you can easily create one by scraping wikipedia categories / subreddits.
Leave a comment if I forgot something / you know more details 🙂


Cellular Automata Engine
Select Ruleset
Plane
Strip
Torus
Set Size
Steps per second
start
stop
step
Copy Grid
Paste Grid
Select Ruleset
a
/
b
/
c
conway
custom
Conway's Game of life
seeds
Exit


{% comment %}
Placeholder to allow defining custom head, in principle, you can add anything here, e.g. favicons:
1. Head over to https://realfavicongenerator.net/ to add your own favicons.
2. Customize default _includes/custom-head.html in your source directory and insert the given code snippet.
{% endcomment %}
{%- if page.math == true -%}
{%- endif -%}


The following code shows the idea of branching.
The lines following the "if" that are spaced in, are only run when the if line above them is really true. Spaces are important in Python. The lines that have more space at the beginning than the "if" are called "indented". The "if" makes a decision about whether to run the following lines that are indented or not.
The key '>' means "greater than" or for positive numbers, means larger than.
Anything on a line after a '#' is a comment and is not run.
This diagram shows the path in the code when boxA is set equal to 3. The check for "boxA > 2" is true because boxA is 3.
boxA = 3 # Not indented, so it is always run
print('Before if boxA > 2') # Not indented, so it is always run
if boxA > 2: # Not indented, so it is always run
print('boxA is > 2') # Indented line that is run if boxA > 2
print('This also runs when boxA is > 2') # Indented line that is run if boxA > 2
print('After indented lines for boxA > 2') # Not indented, so it is always run
if boxA > 5: # Not indented, so it is always run
print('boxA is greater than 5') # Indented line that is run if boxA > 5
print('This is always displayed') # Not indented, so it is always run
Before if boxA > 2 boxA is > 2 This also runs when boxA is > 2 After indented lines for boxA > 2 This is always displayed
When the value of boxA is set to 10, then the path taken is shown here.
boxA = 10 # Not indented, so it is always run
print('Before if boxA > 2') # Not indented, so it is always run
if boxA > 2: # Not indented, so it is always run
print('boxA is > 2') # Indented line that is run if boxA > 2
print('This also runs when boxA is > 2') # Indented line that is run if boxA > 2
print('After indented lines for boxA > 2') # Not indented, so it is always run
if boxA > 5: # Not indented, so it is always run
print('boxA is greater than 5') # Indented line that is run if boxA > 5
print('This is always displayed') # Not indented, so it is always run
Before if boxA > 2 boxA is > 2 This also runs when boxA is > 2 After indented lines for boxA > 2 boxA is greater than 5 This is always displayed
What happens when boxA is set to 1?
boxA = 5
if boxA == 5:
print('boxA is equal to 5')
if boxA == 3:
print('boxA is equal to 3') # This does not display if boxA is set to 5.
if boxA != 6:
print('boxA is not equal to 6')
boxA is equal to 5 boxA is not equal to 6
Here is a table of the checks.
| Key | Meaning |
|---|---|
| > | is greater than |
| < | is less than |
| = | is equal |
| != | is not equal |
| > | is greater or equal |
| < | is less or equal |
boxA = 2
if boxA == 5:
print('boxA is equal to 5')
else:
print('boxA is not equal to 5')
boxA is not equal to 5
boxA = 2
if boxA == 5:
print('boxA is equal to 5')
elif boxA == 6:
print('boxA is equal to 6')
else:
print('boxA is not equal to 5 or 6')
boxA is not equal to 5 or 6
boxA = 2
boxB = 5
if boxA == 2:
print('boxA is equal to 2')
if boxB == 5:
print('boxA is equal to 2 and boxB is equal to 5')
print('done')
boxA is equal to 2 boxA is equal to 2 and boxB is equal to 5 done
Notice that if boxA is not two, then the check for boxB cannot happen because it was skipped since it is indented compared to the check for boxA.
boxA = 1
boxB = 5
if boxA == 2:
print('boxA is equal to 2')
if boxB == 5:
print('boxA is equal to 2 and boxB is equal to 5')
print('done')
done
boxA = 2
boxB = 5
if boxA == 2 and boxB == 5:
print('boxA is equal to 2 and boxB is equal to 5')
print('done')
boxA is equal to 2 and boxB is equal to 5 done
There is a way to check two things at once using the word "or".
boxA = 1
boxB = 5
if boxA == 2 or boxB == 5:
print('Either boxA is equal to 2 or boxB is equal to 5')
print('done')
Either boxA is equal to 2 or boxB is equal to 5 done


---
layout: page
title: "关于我"
description: "Hey, this is my academic webpage."
header-img: "img/post-bg-coffee.jpeg"
---
痛苦終會過去
美麗將永遠留存
Dr. Chen got his PhD of fluid mechanics from University of Chinese Academy of Science (UCAS) in 2016.
Between 2013 to 2014, he studied in RWTH Aachen University
(sponsored by UCAS and DAAD).
After conducting postdoc research in Peking University and
SUSTech,
he joined Technical University of Munich (TUM) as Humboldt Fellow. Since 2022,
he became a faculty member of Beihang University.
News
- 2022/02: Associate Professor of Beihang University.
- 2021/12: Finished the project funded by Humboldt fellowship.
- 2021/11: Oral presentation at STAB meeting, Göttingen.
- 2021/09: Supervisor of master student Lennart Bott.
- 2021/07: Oral presentation at UQ-TUM-DLR workshop, Munich.
- 2021/04: Supervisor of master student Vinzenz Völkl.
- 2021/03: Oral presentation at Beihang University (Invited by Prof. Zhang).
- 2019/12: Visting researcher of Hypersonics Lab at TUM.
- 2019/05: Completed the Postdoc project in SUSTech.
- 2019/03: Won the Alexander von Humboldt fellowship.
Interests
- Hypersonic flights & Space technology.
- Turbulence & Laminar transition.
- DSMC & CFD methods.
Current projects
- DSMC study of hypersonic flow past rougness surface.
Feel free to drop me a message: chensongcas(at)163.com


This is a mobile application of the Seventh-day Adventist Hymnal for both iOS and Android using the Ionic, Angular Framework
You can choose to fork this project on github and contribute to it
License
The MIT License (MIT)
Copyright (c) 2018 Navicstein Rotciv
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom
the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
 IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Trello let's you work more collaboratively and get more done.
Trello's boards, lists, and cards enable you to organize and prioritize your projects in a fun, flexible, and rewarding way.
Work with any team
Whether it's for work, a side project or even a family vacation, Trello helps your team stay organized.


Epic Blueprint Team
Home
Timeline
Resources
Team Members
Kanish
Grace
Fawaz
Kristina
Simran
Home
This is Epic Blueprint Team's reference page for their blueprint page!
Timeline
Week
Topics
Completion
1
HTML/CSS
:)
2
Web Dev: Static Website
:)
3
Wed Dev: Dynamic Website (using Bootstrap)
:)
Resources


经济套餐
自定义顶级域名
在线客服
每月8000次访问流量
站点转移功能
去全站广告
新闻模块
自定义HTML代码
了解更多We did most of the heavy lifting for you to provide a default stylings that incorporate our custom components. Additionally, we refined animations and transitions to provide a smoother experience for developers.
By utilizing elements and principles of Material Design, we were able to create a framework that incorporates components and animations that provide more feedback to users. Additionally, a single underlying responsive system across all platforms allow for a more unified user experience.
We have provided detailed documentation as well as specific code examples to help new users get started. We are also always open to feedback and can answer any questions a user may have about Materialize.
我们的建站编辑器让您：不懂设计、不懂编程也能快速做出真正的响应式网站 动动鼠标、想改就改、自由拖拽、自由添加、支持深度个性化定制，颠覆传统模板自助建站
支持深度个性化定制，颠覆传统模板自助建站，真正的响应式网站
支持深度个性化定制，颠覆传统模板自助建站，真正的响应式网站
支持深度个性化定制，颠覆传统模板自助建站，真正的响应式网站
支持深度个性化定制，颠覆传统模板自助建站，真正的响应式网站
支持深度个性化定制，颠覆传统模板自助建站，真正的响应式网站
大本设计公司
一美建筑公司
法鲨商务咨询公司
漠小白保险公司
品牌形象策划公司
花嫁园林花卉公司


Mixtape exercitation offal, tote bag freegan placeat synth. Next level blue bottle letterpress, tilde adipisicing odio cardigan wolf dreamcatcher. Do keffiyeh before they sold out, fashion axe selvage crucifix jean shorts.
Here at this recipe place, we strive to selfies health goth occaecat chartreuse. Kombucha incididunt retro keffiyeh laborum, pinterest enim yr jean shorts affogato austin lo-fi flannel. Tumblr lomo ex, tacos trust fund flexitarian gochujang organic deep v ennui offal.
Intelligentsia irure four dollar toast et. Fixie authentic 8-bit, anim forage leggings duis kombucha meditation synth aliqua magna actually. Stumptown quis salvia, scenester viral fashion axe franzen culpa knausgaard
Kinfolk 90's pariatur etsy meggings readymade. Kitsch direct trade you probably haven't heard of them, enim aute laboris officia shoreditch veniam actually twee squid street art.
Master cleanse try-hard shoreditch commodo, post-ironic keffiyeh cillum mustache tattooed reprehenderit twee cred vice. Mustache delectus swag lo-fi pop-up, artisan intelligentsia voluptate meh. Pariatur sriracha fashion axe roof party voluptate ullamco chambray. Bitters seitan heirloom ullamco cray, gentrify assumenda letterpress deserunt meh meditation mixtape art party blog.
Austin organic disrupt, pop-up microdosing fap mustache craft beer elit roof party. Stumptown quis salvia, scenester viral fashion axe franzen culpa knausgaard
Quis artisan kogi celiac, hella yuccie pabst. Microdosing pickled eu occaecat shoreditch, meggings chambray butcher. Master cleanse try-hard shoreditch commodo, post-ironic keffiyeh cillum mustache tattooed reprehenderit twee cred vice.


Guangxi (广西), is a coastal autonomous region in South China bordering Vietnam. Guangxi contains the largest population of China's ethnic minorities, in particular the Zhuang people who make up 32% of the population.
| Capital | Nanning |
| Area | 237,600 km2 |
| Population | 48,380,000 |


Now we can put together all of these pieces to generate the code for the API call. Let's walk through it piece-by-piece, comparing implementations in Node.js and Javascript/jQuery/Ajax:
| Description | Node.js | Javascript and Jquery | |||
|---|---|---|---|---|---|
Gather your authorization credentials |
Yelp requires that you submit the following information to authenticate the API call:
| ||||
Get user input |
User search parameters can be entered on the command line during the .js function call. As demonstrated in Lines 1-3, a minimum of three arguments are obtained. The arguments are strings indicating business type (argument 2) and location (all other arguments from 3 onward). The "for" loop on Lines 10-12 combines arguments argv[3] to argv[length - 1] to represent location (city, state and zip). |
Search information can be obtained from a web form. Above you see the code used to generate the working example under the "API At Work" tab. In this example, jQuery was used to load Javascript content upon completion of web page loading. When the submit button is clicked, the "onclick" event handler fires and executes an anonymous function to obtain and save the form entry values. City, state and zip information are joined into a single "location" string. | |||
Using NPM Libraries |
"Require" is a built-in Node.js function.  This module returns a "Yelp" object type which can be used to instantiate new "Yelp" objects, which contain secure credential and search parameter string attributes. |
NPM modules are used by Node.js, and some (like the Yelp module) cannot be directly implemented in a browser. We will need to find another way of "packaging" secure credential and search parameter information for making the API call. | |||
Creating a Request Object |
The NPM Yelp module simplifies the request process in many ways. Just create a Yelp object and load it with your credentials; the rest is done for you:
Contrast this with the multiple individual steps needed for Javascript/jQuery and Ajax.... |
Gathering Request Contents The jQuery request has to be manually populated with all of the values seen above, in contrast with Yelp npm module and Node.js. Here you can see that information has been logically grouped into individual objects containing different elements of the request- information to be included (parameters), submission type/address (request), and secret information (secrets). Note that the 'oauth_signature' under parameters is blank; this information will be added later after the secrets are used to generate it. Oauth_nonce and oauth_timestamp are generated as described below. Note:The nonce and timestamp code are actually placed before the parameters/request/secrets objects in the code for the working program, so that nonce and time could be included in the object during its creation. They were provided out-of-sequence here for better tutorial flow. (You can also populate them later if preferred, in the manner shown for the oauth_signature.) | |||
|
Nonce Generation As shown, the character set used to produce the nonce is a string (nonceChars) comprised of lower and upper case letters and single digits. A position in the character set is chosen by randomly generated a number within the total set length using the Math.random and Math.floor functions; the value at that set position is then appended to the nonce being created until the nonce reaches a length of 6 characters. | |||||
|
Timestamp Generation The timestamp represents the actual time passed in seconds since the Unix Epoch, January 1, 1970, 00:00:00 UTC. Like the nonce, the timestamp is different for each request sent and therefore marks a given request as unique. A new date object is created and its getTime method is invoked to generate the current time. You may also use, as an alternative for manually generating the timestamp and nonce, the function Oauth.setTimestampandNonce(request) here. As demonstrated by the code above, the information in the request object is not really required to perform the operation, although included as a parameter in the setTimestampandNonce function call. | |||||
|
Creating a Base String and Percent Encoding Values to be hashed to create the Oauth signature include the request type (request.method), url (request.action), and all parameters shown in the previous screen shot. The OAuth 1.0 standard specifies that they must first be percent encoded, by removing all !*'() symbols and respectively replacing them with percent encoded characters %21, %2A, %27, %28 and %29. In this example, Oauth method support functions "percentEncode" and "normalizeParameters(parameters)" found here were used to search (via regular expressions), strip out and replace all of the characters: Once encoded, the values are concatenated with "&" to create the baseString as an input parameter to the base64 hashing function. Note that percent encoding and string concatenation must also be performed on the secrets to create the key. | |||||
|
Creating the Signature Once the base string and key are ready, you can perform the b64_hmac_sha1(key, baseStr) function found here. The function returns the encoded string, which may be assigned to oauth_signature in the parameters object. This completes the request content, and you're ready to talk to Yelp!! | |||||
Sending the Request to the Yelp API |
For both Node.js and Javascript/jQuery/Ajax, requests will be sent asynchronously. This requires us to create callbacks or promises which manage the returned information that was requested, or an error code in the event of failure. Examples of promises (in Node.js) and callbacks (in Jquery) are provided below. | ||||
|
The Yelp Object All required parameters are neatly (and abstractly) bundled into the Yelp object, with the exception of the query parameters (business type and location). The object's "search" method accepts as parameters key/value pairs of term/description and location/description- here, the "busType" and "location" strings created from command line input. Calling the search method serves to send the information to Yelp. |
jQuery and the Ajax Request The ajax request must include:
|


Serenade puts on popup events showcasing personal and experimental interactive works and videogames.
Our friends at Static Vision are bringing their Dreamscapes Film Festival to Melbourne's Lido Cinemas. (675 Glenferrie Road Hawthorn).
Serenade have partnered with a collective we look up to and draw inspiration from, Hovergarden, for the Dreamscapes Melbourne Games Space. In the Dreamscapes Games Space you will be able to play a selection of games picked by Serenade & Hovergarden in response to the films in the Dreamscapes lineup.
Following the lifting of restrictions the festival has been rescheduled for the 25th - 27th of November. Please subscribe to Static Vision's newsletter and follow Static Vision's social media accounts (Twitter, Instagram & Facebook) for updates.


Team Profile
John
Manager
Employee ID: 1
Email:
<EMAIL_ADDRESS>Office Number: 123
Jacob
Engineer
Employee ID: 2
Email:
<EMAIL_ADDRESS>GitHub:
jacob
Jingle
Engineer
Employee ID: 3
Email:
<EMAIL_ADDRESS>GitHub:
jingle
Heimer
Intern
Employee ID: 4
Email:
<EMAIL_ADDRESS>School: Northwestern University
Schmidt
Intern
Employee ID: 5
Email:
<EMAIL_ADDRESS>School: Southeastern University


TXT go mysterious on the 'Magic Island' official MV
by rimguenOn November 18 KST, TXT finally dropped the long-awaited music video of 13 minutes for 'Magic Island', released by Big Hit Entertainment's official Youtube channel.
Check out the full music video above!


{% blocktrans %}Helpdesk-Climate is an online expert system under construction.{% endblocktrans %}
{% blocktrans %}If you are willing to provide your expertise and help us answering questions, please join our team by sending an email to<EMAIL_ADDRESS>mentioning your area of expertise.{% endblocktrans %}


Contest begins on April 15, 2021. Open to all enrolled 6th-12th grade students residing in the United States. Submissions must be received by 11:59pm on May 1, 2021. Individual and group submissions are welcome. Limit of five submissions from individuals/groups.
Participants must follow TikTok’s terms of service and privacy policy to be eligible. Parental consent must be obtained where necessary. Content must be written and created by named student participant(s) at time of entry. Participants may be disqualified if: a) participant is deemed to be in violation of these rules, b) if submission infringes or violates any rights of any third party, c) or if a participant acted in a manner that is inappropriate to include in the contest. Vulgar, racially, or ethnically insensitive content of any kind will not be tolerated and will result in participant’s immediate disqualification from the contest.
To enter:
- Select a meme from our Meme Pool at: Amazon Drive.
- Use the INFORM tools to discover examples of inaccurate information in your chosen meme.
- Make a TikTok video featuring the meme and your findings using INFORM to explain your discoveries. Show off your imagination and creativity!
- Follow H2I on TikTok (@how2inform) and Instagram (@how2inform).
- Tag H2I on TikTok (@how2inform) and at least three other TikTok accounts (individuals, groups, and/or organizations) of your choice.
- Add hashtags #H2I, #LewisUniversity, and at least three of the following of your choice: #H2INFORM #WordsMatter #MemeChallenge #DeconstructMemes #Deconstruction #Investigate #Identify #Narrative #Tone #Fact #Fiction #Opinion #Context #Reliable #Credible #Misinformation #Malinformation #Disinformation #ConspiracyTheory #VerifyB4UAmplify
- Share!
Winners will be selected by an internal voting process based on creativity and accurate use of INFORM to deconstruct selected meme in an original TikTok video, following H2I’s TikTok and Instagram accounts, tagging H2I on TikTok and at least three other active TikTok accounts, adding hashtags #H21, #LewisUniversity, and your pick of at least three of the following:
#H2INFORM #WordsMatter #MemeChallenge #DeconstructMemes #Deconstruction #Investigate #Identify #Narrative #Tone #Fact #Fiction #Opinion #Context #Reliable #Credible #Misinformation #Malinformation #Disinformation #ConspiracyTheory #VerifyB4UAmplify
Winners will receive prizes in the form of Amazon gift cards of varying amounts. A total of six prizes will be awarded. For group submissions: First place will receive a $250 gift card, second place will receive a $150 gift card, and third place will receive a $100 gift card. For individual submissions: First place will receive a $125 gift card, second place will receive a $100 gift card, and third place will receive a $75 gift card.
How2Inform will notify winners via direct messages to entrant’s TikTok and Instagram accounts by May 10, 2021. Response is necessary for delivery of prize. If winner(s) fail to respond within 5 business days of notification by How2Inform, prize(s) will be forfeited and alternative winner(s) will be selected. If no suitable winner(s), no prize(s) will be distributed.


My Contact Detailss
Adreee Second main
Fourth Cross
EAST COUNTRY
Your Name :
Your Email :
Your Message :


|
FreeYourSoul Online
0.0.1
MMORPG
|
Represent a battle on a specific side of one of the 3 hexagons. More...
#include <SideBattle.hh>
Public Member Functions | |
| SideBattle (PitContenders &pitContenders, AllyPartyTeams &allyPartyTeams, HexagonSide::Orientation side) | |
| data::PriorityElem | getCurrentParticipantTurn (const std::chrono::system_clock::time_point &now, const std::chrono::milliseconds &timerInterlude) |
| void | eraseFinishedAlterationAndDeadCharactersFromTurnList () |
| void | addParticipantInList (uint id, int speed, bool isContender) |
| HexagonSide::Orientation | getSide () const |
| bool | empty () const |
Represent a battle on a specific side of one of the 3 hexagons.
| void fys::arena::SideBattle::eraseFinishedAlterationAndDeadCharactersFromTurnList | ( | ) |
Erase characters (contender or ally) from the PriorityOrderList that are dead.
| data::PriorityElem fys::arena::SideBattle::getCurrentParticipantTurn | ( | const std::chrono::system_clock::time_point & | now, |
| const std::chrono::milliseconds & | timerInterlude | ||
| ) |
Get the next participant in the fighting pit turn (can be either an NPC, or a contender) depending on their speed. This Calculation is made in the fys::arena::PriorityOrderList.
| now | timing now in milliseconds (timestamp) |
| timerInterlude | timing of a turn for a player (depend on the level set by the creator of the arena) |


This is OpenStack Install guide on VirtualBox Under Windows
1. Download VirtualBox
The best solution is to download the latest version of the VirtualBox from this page
I hope you are having 64 bit operation system, in this case select 64 bit VirtualBox
2. Create additional interfaces
Add two interfaces:
3. Create virtual operation system
Create new instance with name OpenStack-Essex
Add interfaces:
Setup instance:
Run instance and select ubuntu-12.4-server-amd64.iso
4. Install Ubuntu Server 64-bit
Select in installation steps
5. Update Ubuntu Server 64-bit
Login to the ubuntu and type:
sudo bash
apt-get update
apt-get dist-upgrade
6. Setup networks
Change interfaces file
sudo bash
nano /etc/network/interfaces
Insert text
# The loopback network interface auto lo iface lo inet loopback
#Primary interface NAT interface auto eth0 iface eth0 inet dhcp
#public interface – The API village auto eth1 iface eth1 inet static address <IP_ADDRESS> netmask <IP_ADDRESS> network <IP_ADDRESS> broadcast <IP_ADDRESS>
#Private Vlan Land of Compute Nodes auto eth2 iface eth2 inet manual up ifconfig eth2 up
Restart the networking service
/etc/init.d/networking restart
After restart you could connect to the virtual machine by putty,
use the <IP_ADDRESS> address and 22 port
7. Checkout OpenStack Essex Installer
Install Git and checkout OpenStackInstaller
sudo bash
apt-get install git-core
exit
git clone https://github.com/uksysadmin/OpenStackInstaller.git
cd OpenStackInstaller
git checkout essex
change file OpenStackInstaller/OSinstall.sh
from
DEFAULT_PUBLIC_INTERFACE=eth1 DEFAULT_PRIVATE_INTERFACE=eth0
to
DEFAULT_PUBLIC_INTERFACE=eth0 DEFAULT_PRIVATE_INTERFACE=eth1
And other default settings if need
8. Install OpenStack Essex
Install OpenStack Essex
sudo bash
cd OpenStackInstaller
./OSinstall.sh -F <IP_ADDRESS>/24 -f <IP_ADDRESS>/16 -s 512 -t demo -v qemu
Answer ‘Y’ and wait 5-10 of minutes
Upload first image
./upload_ubuntu.sh -a admin -p openstack -t demo -C <IP_ADDRESS>
Create key_pair
Add open ports on security group ‘default’
TCP 22 22 <IP_ADDRESS>/0 (CIDR) ICMP -1 -1 <IP_ADDRESS>/0 (CIDR) TCP 8080 8080 <IP_ADDRESS>/0 (CIDR) TCP 80 80 <IP_ADDRESS>/0 (CIDR)
Open page http://<IP_ADDRESS> Login: demo Password: openstack
Enjoy
9. Install OpenStack Volume
Install nova-volume
sudo bash
apt-get install nova-volume open-iscsi iscsitarget iscsitarget-dkms
Enable iscsitarget
sed -i 's/false/true/g' /etc/default/iscsitarget
service iscsitarget start
service open-iscsi start
Add second drive in VirtualBox to your VM
Manage hard drives, you need couple of them, ensure that you are having two disks
fdisk -l 2>/dev/null | grep '/dev/sd[a-b]'
Create physical volume on second drive
pvcreate /dev/sdb
Create Nova Volumes group on second drive
vgcreate nova-volumes /dev/sdb
Restart nova-volume
service nova-volume start
nova-manage service list


package archlib
Type Members
-
class
AdresGlobalRFBlock extends BlockTrait
A block with a global RF.
-
class
AdresIOBlock extends BlockTrait
A block connecting ports of the top design and PEs.
-
class
AdresLSUBlock extends BlockTrait
A block with an LSU and some multiplexers.
-
class
AdresPEBlock extends BlockTrait
An ADRES PE block with a local RF, an ALU and some multiplexers.
-
class
AdresVLIWPEBlock extends BlockTrait
An ADRES VLIW PE block with an ALU and some multiplexers.
An ADRES VLIW PE block with an ALU and some multiplexers. This PE is connected to a global RF and the IO block, so it have some additional ports.
-
class
BlockImmediate extends BlockTrait
A subblock that performs computation between the selected input and a immediate operand.
-
class
BlockMesh extends BlockTrait
A parent block that consists of a simple mesh of four sub-blocks.
-
class
ElementAlu extends ElementTrait
An element corresponding arithmetic logical unit.
-
class
ElementConst extends ElementTrait
An element corresponding const unit.
-
class
ElementLSU extends ElementTrait
An element corresponding load/store unit.
-
class
ElementMux extends ElementTrait
An element corresponding multiplexer.
-
class
ElementRF extends ElementTrait
An element corresponding register file.
-
class
RegBlock extends BlockTrait
A PE block with a single register.
-
class
TileBlock extends BlockTrait
A tile with an IOBlock and a PE array which has torus connectivity.
-
class
TileCompleteBlock extends BlockTrait
A complete tile with an IOBlock, an GlobalRFBlock, some LSUBLocks and a PE array.
 PEs in the same row share a block with a load/store unit. Similar to the original ADRES architecture, the PEs in the top row share a global RF instead of a local RF. It can generate different tiles according to the parameter.
If isReduceArch and isFullArch are both false, a default architecture which has a PE array with torus connectivity will be generated. All PEs in the PE array have default set of operations. And some multiplexers is used to connect PEs and ports of the top design.
, If isFullArch is true, a full architecture which has a PE array with torus connectivity will be generated. All PEs in the PE array have full set of operations. ALUs in full PEs can perform a full set of operations: add, subtract, multiply, shifts, and, or, and xor. And PEs and ports of the top design are connected directly.
, If isReduceArch is true, a reduce architecture which has a PE array will be generated. Less PEs in the PE array have full set of operations. And PEs and ports of the top design are connected directly.
Examples: -
class
TileLSUBlock extends BlockTrait
A tile with an IOBlock, some LSUBLocks and a PE array which has torus connectivity.
A tile with an IOBlock, some LSUBLocks and a PE array which has torus connectivity. PEs in the same row share a block with a load/store unit.
-
class
Block extends BlockTrait
A block.
A block.
- Deprecated
-
class
PEBlock extends BlockTrait
A simple PE block, only used in a deprecated example.
A simple PE block, only used in a deprecated example.
- Deprecated


{% extends "base.html" %} {% block header %}
Event name: {{event.name}}
Event time: {{event.event_time}}
Event description: {{event.description}}
Created by {{event.author}} at {{event.created_at}}
No events were found.
{% endif %} {% endblock content%}


|
geopm
2.0.0+dev770g55e83fbc
GEOPM - Global Extensible Open Power Manager
|
Class ingesting region classification logits and a frequency map json file and determining a recommended frequency decision. More...
#include <RegionHintRecommenderImp.hpp>
Public Member Functions | |
| RegionHintRecommenderImp (const std::string &fmap_path, int min_freq, int max_freq) | |
| double | recommend_frequency (const std::map< std::string, double > &nn_output, double phi) const override |
| Recommends frequency based on region classification logits. More... | |
| Public Member Functions inherited from geopm::RegionHintRecommender | |
| virtual | ~RegionHintRecommender ()=default |
Additional Inherited Members | |
| Static Public Member Functions inherited from geopm::RegionHintRecommender | |
| static std::unique_ptr< RegionHintRecommender > | make_unique (const std::string &fmap_path, int min_freq, int max_freq) |
| Returns a unique_ptr to a concrete object constructed using the underlying implementation, which loads a frequency map file into a std::map of region class string to double, and sets both min and max frequency recommendations. More... | |
| static std::shared_ptr< RegionHintRecommender > | make_shared (const std::string &fmap_path, int min_freq, int max_freq) |
| Returns a shared_ptr to a concrete object constructed using the underlying implementation, which loads a frequency map file into a std::map of region class string to double, and sets both min and max frequency recommendations. More... | |
Class ingesting region classification logits and a frequency map json file and determining a recommended frequency decision.
| geopm::RegionHintRecommenderImp::RegionHintRecommenderImp | ( | const std::string & | fmap_path, |
| int | min_freq, | ||
| int | max_freq | ||
| ) |
|
overridevirtual |
Recommends frequency based on region classification logits.
| [in] | nn_output | List of region classification names and logits output from region class neural net |
| [in] | phi | User-input perf-energy bias |
Implements geopm::RegionHintRecommender.


A Price Above Rubies (R) * 1/2 (out of ****)
Renee Zellweger stars as Sonia, a young Jewish wife and mother frustrated by the constraints of her Hasidic community in Brooklyn.   On the job, Sonia befriends Ramon (Allen Payne), a cool blast of hunky Puerto Rican water who does his own jewelry designs when not working as a grunt in an upscale jewelry store. Can fire-taming be far be that far behind for the ever-smoldering Sonia?
Just about everything in writer-director Boaz Yakin's rings false, starting with the improbably cast Zellweger, who does an adequate enough acting job but simply looks too WASPy for the role. A better fit would have been Julianna Margulies, who outshines Zellweger as Sonia's take-no-crap sister-in-law. Some of Sonia's baby steps toward liberation, such as indulging in a non-kosher egg roll in Chinatown, come off as silly. Yakin attempts to spice up the proceedings with a touch of magical realism--in the form of the recurring presence of Sonia's long-dead brother's ghost--make the story feel even more trite than it already is.
Michael Dequina Chat Forum Host, The Official Michael Jordan Web Site http://jordan.sportsline.com
<EMAIL_ADDRESS><EMAIL_ADDRESS>|<EMAIL_ADDRESS>>My personal WWW sites< Mr. Brown's Movie Site: http://welcome.to/mrbrown Michael Jordan Beyond the Court: http://fly.to/michaeljordan A Michael Jordan Fan's Heartbreak: http://fly.to/mj23 Personal Page: http://welcome.to/w3md >Other WWW sites I work on< CompuServe Hollywood Hotline: http://www.HollywoodHotline.com Albany Online: http://www.AlbanyOnline.com Eyepiece Network: http://www.eyepiece.com
"I didn't know what to expect. It's like something you chase for so long, but then you don't know how to react when you get it. I still don't know how to react." --Michael Jordan, on winning his first NBA championship in 1991 ...or, my thoughts after meeting him on November 21, 1997
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


School Worksheet
- 2 + 2
- 2 + 3
- 23
- How do you say "Thank You" in german?
- What school do you go to?
- What is the opposite of red on the color wheel?
- Solve for X: 2x + 1 = 5
- Find the last angle (x) of the triangle: 90, 60, x
- What color is the sun?
- True or False. A helicopter is a car.


Should the rules be followed or not: if true then, few heuristic rules will
apply: the words containing spaces will be split; for example, if 'pos
tagger for spanish' would be analysed, 'for' would be considered a stop
word and heuristically derived would be 'pos tagger' and this would be
further used to add 'pos tagger' with heuristical level 0, and 'tagger'
with hl 1 to the gazetteer list; at runtime lower heuristical level should
be prefered
This method finds camelCase words inside the input string and
substitutes all occurencies with lowerCase substitute (usually one
space) upperCase Maching group is defined by regularExpression.
This method assume that given string is in the form of
QueryResultsTable.toString() with 2 columns and converts it to HashMap
where key is the first entry from the table and the value is the set of
second entries.
comma separated values of property names that will be excluded when
initializing the gazetteer NOTE: setting propertiesToInclude to be
different from "" automatically means that all properties not in the list
will be excluded (in other words, if propertiesToInclude is set, it is not
necessary to set propertiesToExclude as all properties not listed in
propertiesToInclude will be excluded);
should resource URI (usually called a fragment identifier - a set of
characters after / or #) be considered; for example, if there is a resource
with URI http://gate.ac.uk/ns/gate-ontology#POSTagger, should POSTagger be
considered or not


About
What's cool near you?
Find your artists
Events
Virtual Piano
Contact
Discover Tour Dates and Events
Type in an artist name to find their upcoming tour dates and locations.
FIND


© OpenStreetMap
Flight routes
Show flight routes from an airport around the world
Singapore (SIN)
Singapore Changi Airport
Doha Hamad (DOH)
Hamad International Airport
Munich (MUC)
Munich Airport
New York (JFK)
John F. Kennedy International Airport
Showcased IML features
property search
property selection