Starting to learn photoshop pen tool with organized structures.
Photoshop provides multiple Pen tools. The standard Pen tool draws with the greatest precision; the Freeform Pen tool draws paths as if you were drawing with pencil on paper, and the magnetic pen option lets you draw a path that snaps to the edges of defined areas in your image.
Chose guides, guid & Slices..
Change Gridline Every : 20
Change Subdivisions : 1
Under View menu
Go Show > chose Grid
" Command + enter " is shortcut to make selection..
1. Use pen tool (shortcut: p) to select a shape on grid
2. Command + enter
3. Go Filter menu > Blur > Average (fill in an aberage color) (shortcut: command + f)
Then continue to repeat steps(1,2,3) again and again
You can check how image looks like when you turn off the grids
(View > Show > Grid)
All shortcuts in this video that you have to learn :
Command + J = copy layer
Command + enter = make selection
Command + f = Filter > Blur > Average
Command + d = cancal
Command + ' = turn on/off Grid


Press F12 on your keyboard to view the result in the console view.
Time the number of milliseconds it takes to perform a for-loop a hundred thousand times.
Note: the console.time() method starts the timer and the console.timeEnd() method ends the timer and writes the result in the console view.


research_package_model library
The domain model part of Research Package. Contains the "building blocks" for creating surveys and obtaining informed consents. Holds the different types of result classes. Also responsible for the streams and BLoC classes to provide communication channels between different parts of the package. (BlocQuestion, BlocTask) For the UI representations of the classes visit the research_package_ui library.
Classes
- BlocQuestion
- The BLoC file for the communication between the question container RPUIQuestionStep and the question body [...]
- BlocTask
- The BLoC file for the communication between the task RPUITask and its steps RPStep.
- CanSaveResult
- A protocol to mark the Widgets which are producing RPResult objects. They all need to implement the createAndSendResult method
- RPAnswerFormat
- A base (abstract) class for different Answer Formats. [...]
- RPBooleanAnswerFormat
- Class representing an Answer Format that lets participants choose between true or false (yes or no) options
- RPChoice
- The choice object which the participant can choose during a RPQuestionStep with RPChoiceAnswerFormat.
- RPChoiceAnswerFormat
- Class representing an Answer Format that lets participants choose from a fixed set of choices.
- RPCompletionStep
- A step which can be used as a "Thank you" or completion step in a task.
- RPConsentDocument
- Represents the content of an informed consent document. [...]
- RPConsentReviewStep
- The step for presenting the consent document for review and collecting the signature [...]
- RPConsentSection
- A content section in a RPConsentDocument. [...]
- RPConsentSignature
- Class representing a signature in a consent document [...]
- RPConsentSignatureResult
- Represents a signature applied to a given consent document. It indicates if a given consent document has been signed by a user.
- RPDateTimeAnswerFormat
- Class representing an Answer Format that lets participants choose from a fixed set of choices.
- The RPDirectStepNavigationRule class can be used to unconditionally jump to a destination step specified by its identifier or to finish the task early.
- RPFormAnswerFormat
- Class representing the Answer Format for Form Questions (Multiple questions at the same time on the same page)
- RPFormStep
- The RPFormStep class is a concrete subclass of RPQuestionStep, used for presenting multiple questions on a single scrollable page. [...]
- RPImageChoice
- The image choice object which the participants can choose from, during a RPQuestionStep with RPImageChoiceAnswerFormat
- RPImageChoiceAnswerFormat
- Class representing an Answer Format that lets participants choose an image from a set of images.
- RPInstructionStep
- A step which can be used to communicate instructions and other information to the participants. Usually it is used as the first step in a Task explaining the task.
- RPIntegerAnswerFormat
- Class representing an Answer Format that lets participants input a number (integer)
- The RPNavigableOrderedTask class adds conditional step navigation to the behavior inherited from the RPOrderedTask class. [...]
- RPOrderedTask
- A simple linear task which implement the RPTask protocol. It shows the steps one after another without the option of going back or branching. [...]
- A navigation rule which based on predicate(s)'s (RPResultPredicate) result(s). [...]
- RPQuestionStep
- The concrete subclass of RPStep that represents a step in which a single question is presented to the user. [...]
- RPResult
- The superclass for results. It defines the attributes which all the more specialized results classes should have.
- RPResultPredicate
- This class examines a prediction and communicates its result to an RPStepNavigationRule. [...]
- RPResultSelector
- This class identifies the needed test result for the RPResultPredicate
- RPSignatureResult
- The signature used in RPConsentSignatureResult [...]
- RPSliderAnswerFormat
- Class representing an Answer Format that lets participants use a slider to choose a value.
- RPStep
- The base class for steps which can compose a task. [...]
- Super class of the navigation rules (RPPredicateStepNavigationRule and RPDirectStepNavigationRule).
- RPStepResult
- The result object a Step creates
- RPTask
- The RPTask abstract class defines a task to be carried out by a participant in a research study. [...]
- RPTaskProgress
- Simple class for keeping track the progress of the task. It contains the number of the current step and the total number of steps. [...]
- RPTaskResult
- The result object a Task creates
- RPVisualConsentStep
- The step used for presenting the consent document to the participant [...]
Properties
- blocQuestion → BlocQuestion
-
The singleton object of the question BLoC class which can be accessed throughout Research Package.
final
- blocTask → BlocTask
-
The singleton object of the task BLoC class which can be accessed throughout Research Package
final
Enums
- ChoiceAnswerStyle
- Available types for RPChoiceAnswerFormat
- DateTimeAnswerStyle
- For choosing Date, Time or DateAndTime sub-answerformat
- QuestionType
- RPConsentSectionType
- Enum containing the available types for RPConsentSection. [...]
- StepStatus
- Status to be sent to the Bloc so the Task Widget is notified about the navigation


READ_CSV
Function
Reads a CSV file line-by-line and returns it in a table.
This table-valued function is used in the FROM
clause of a SELECT
statement and can
participate in joins as if it were a table. However, it cannot be used in a CREATE TRIGGER
statement.
Internally, the READ_CSV
function is translated into an IMPORT CSV
statement that runs
prior to the statement that contains the READ_CSV
call.
Syntax
READ_CSV(file-path,
[has-header-row]
, [skip-lines],
[file-encoding])
Parameters
- file-path: text
The absolute path to the CSV file to read.
-
has-header-row: integer (optional, 0-1, default: 1)
Indicates whether the CSV file begins with a column header line. If the file contains a column header but not on
the first line of the file, use the skip-lines parameter to indicate how
many lines to skip before the column header appears.
- 0 = No column header. The generic column names
column1
, column2
, etc. will be
used.
- 1 = A column header row exists.
- skip-lines: integer (optional, non-negative, default: 0)
Indicates how many initial lines should be skipped in the input file. This is used if the column header (or the
data if there is no column header) does not appear on the first line of the file.
-
file-encoding: integer (optional, 0-65535, default: 0)
Indicates the text encoding to use when reading the file. Specify 0 to detect the encoding automatically. Any
nonzero integer is treated as a Windows code page number. See Character Encodings in CSV and Text Files for a list of
these code page numbers.
Return Value
A table with columns defined by the input file.
Example
-- Returns a table containing the first 50 rows in
-- "file.csv", with column names taken from the first line.
SELECT * FROM READ_CSV('C:\file.csv') LIMIT 50;
-- Returns a table containing the contents of "ShiftJIS.csv",
-- which is read using the Japanese Shift-JIS encoding (code
-- page 932).
SELECT * FROM READ_CSV('C:\ShiftJIS.csv', 1, 0, 932);


XPath, the XML Path Language, is a query language for selecting nodes from an XML document. In addition, XPath may be used to compute values (e.g., strings, numbers, or Boolean values) from the content of an XML document. XPath was defined by the World Wide Web Consortium (W3C)
The XPath language is based on a tree representation of the XML document, and provides the ability to navigate around the tree, selecting nodes by a variety of criteria. In popular use (though not in the official specification), an XPath expression is often referred to simply as "an XPath".
The XPath for the following XML
We have the following XPath
/A/B/C


Username :
username


Home
WELCOME to Betdar
Teams
Selections
Results
Teams
Ajax Response
Selections
hello selections - constant
Teams
Selections
Results
Results
bound
Teams
Selections
Results


andreas johan virkus, 2019
What the Heck
partProgressive Web Apps use modern web capabilities to deliver an app-like user experience. They evolve from pages in browser tabs to immersive, top-level apps, maintaining the web's low friction at every moment.
- Google Developers
Service worker (SW) is a programmable network proxy, allowing you to control how network requests from your page are handled.
- HTML5 Rocks
.json
or .webmanifest
A stateless, event-driven API
This happens client-side:
And then our worker can hook into it:
Currently the spec is in design and opening a site to find content you hadn't seen before - without going to the network - is a user experience currently limited to native apps.
requestPermission()
Notification()
This happens client-side:
And then our worker can hook into it:


Welcome to AllenNLP! This tutorial will walk you through the basics of building and training an AllenNLP model.
{% include more-tutorials.html %}Before we get started, make sure you have a clean Python 3.6 or 3.7 virtual environment, and then run the following command to install the AllenNLP library:
{% highlight bash %} pip install allennlp {% endhighlight %}In this tutorial we'll implement a slightly enhanced version of the PyTorch LSTM for Part-of-Speech Tagging tutorial, adding some features that make it a slightly more realistic task (and that also showcase some of the benefits of AllenNLP):
(In addition to what's highlighted in this tutorial, AllenNLP provides many other "for free" features.)
Given a sentence (e.g. "The dog ate the apple"
) we want to predict part-of-speech tags for each word
(e.g ["DET", "NN", "V", "DET", "NN"]
).
As in the PyTorch tutorial, we'll embed each word in a low-dimensional space, pass them through an LSTM to get a sequence of encodings, and use a feedforward layer to transform those into a sequence of logits (corresponding to the possible part-of-speech tags).
Below is the annotated code for accomplishing this. You can start reading the annotations from the top, or just look through the code and look to the annotations when you need more explanation.
Instance
containing Field
s of various types. Here each example will have a TextField
containing the sentence, and a SequenceLabelField
containing the corresponding part-of-speech tags.Instance
s.cached_path
helper downloads such files, caches them locally, and returns the local path. It also accepts local file paths (which it just returns as-is).TokenIndexer
abstraction for this representation.TokenIndexer
represents a rule for how to turn a token into indices, a Vocabulary
contains the corresponding mappings from strings to integers. For example, your token indexer might specify to represent a token as a sequence of character ids, in which case the Vocabulary
would contain the mapping {character -> id}. In this particular example we use a SingleIdTokenIndexer
that assigns each token a unique id, and so the Vocabulary
will just contain a mapping {token -> id} (as well as the reverse mapping).DatasetReader
, the other class you'll typically need to implement is Model
, which is a PyTorch Module
that takes tensor inputs and produces a dict of tensor outputs (including the training loss
you want to optimize).DataIterator
s that can intelligently batch our data.Trainer
.DatasetReader
subclass.DatasetReader
needs is a dict of TokenIndexer
s that specify how to convert tokens into indices. By default we'll just generate a single index for each token (which we'll call "tokens") that's just a unique id for each distinct token. (This is just the standard "word to index" mapping you'd use NLP tasks.)DatasetReader.text_to_instance
takes the inputs corresponding to a training example (in this case the tokens of the sentence and the corresponding part-of-speech tags), instantiates the corresponding Field
s (in this case a TextField
for the sentence and a SequenceLabelField
for its tags), and returns the Instance
containing those fields. Notice that the tags are optional, since we'd like to be able to create instances from unlabeled data to make predictions on them._read
, which takes a filename and produces a stream of Instance
s. Most of the work has already been done in text_to_instance
.Model
, which is a subclass of torch.nn.Module
. How it works is largely up to you, it mostly just needs a forward
method that takes tensor inputs and produces a dict of tensor outputs that includes the loss you'll use to train the model. As mentioned above, our model will consist of an embedding layer, a sequence encoder, and a feedforward network.TextFieldEmbedder
which represents a general way of turning tokens into tensors. (Here we know that we want to represent each unique word with a learned tensor, but using the general class allows us to easily experiment with different types of embeddings, for example ELMo.)Seq2SeqEncoder
even though we know we want to use an LSTM. Again, this makes it easy to experiment with other sequence encoders, for example a Transformer.Vocabulary
, which contains the namespaced mappings of tokens to indices and labels to indices.CategoricalAccuracy
metric, which we'll use to track accuracy during each training and validation epoch.forward
, which is where the actual computation happens. Each Instance
in your dataset will get (batched with other instances and) fed into forward
. The forward
method expects dicts of tensors as input, and it expects their names to be the names of the fields in your Instance
. In this case we have a sentence field and (possibly) a labels field, so we'll construct our forward
accordingly:get_text_field_mask
, which returns a tensor of 0s and 1s corresponding to the padded and unpadded locations.sentence
tensor (each sentence a sequence of token ids) to the word_embeddings
module, which converts each sentence into a sequence of embedded tensors.get_metrics
method that pulls the data out of it. Behind the scenes, the CategoricalAccuracy
metric is storing the number of predictions and the number of correct predictions, updating those counts during each call to forward. Each call to get_metric returns the calculated accuracy and (optionally) resets the counts, which is what allows us to track accuracy anew for each epoch.DatasetReader
and Model
, we're ready to train. We first need an instance of our dataset reader.cached_path
to cache the files locally (and to hand reader.read
the path to the local cached version.)Vocabulary
(that is, the mapping[s] from tokens / labels to ids).BasicTextFieldEmbedder
which takes a mapping from index names to embeddings. If you go back to where we defined our DatasetReader
, the default parameters included a single index called "tokens", so our mapping just needs an embedding corresponding to that index. We use the Vocabulary
to find how many embeddings we need and our EMBEDDING_DIM
parameter to specify the output dimension. It's also possible to start with pre-trained embeddings (for example, GloVe vectors), but there's no need to do that on this tiny toy dataset.PytorchSeq2SeqWrapper
here is slightly unfortunate (and if you use configuration files you won't need to worry about it) but here it's required to add some extra functionality (and a cleaner interface) to the built-in PyTorch module. In AllenNLP we do everything batch first, so we specify that as well.DataIterator
that handles batching for our datasets. The BucketIterator
sorts instances by the specified fields in order to create batches with similar sequence lengths. Here we indicate that we want to sort the instances by the number of tokens in the sentence field.Trainer
and run it. Here we tell it to run for 1000 epochs and to stop training early if it ever spends 10 epochs without the validation metric improving. The default validation metric is loss (which improves by getting smaller), but it's also possible to specify a different metric and direction (e.g. accuracy should get bigger).Predictor
abstraction that takes inputs, converts them to instances, feeds them through your model, and returns JSON-serializable results. Often you'd need to implement your own Predictor, but AllenNLP already has a SentenceTaggerPredictor
that works perfectly here, so we can use it. It requires our model (for making predictions) and a dataset reader (for creating instances).predict
method that just needs a sentence and returns (a JSON-serializable version of) the output dict from forward. Here tag_logits
will be a (5, 3) array of logits, corresponding to the 3 possible tags for each of the 5 words.argmax
.


The 'context' that keeps on popping up (Request context, Snakelet context, Session context, Application context) is just a simple holder for any value you like. It is an 'empty' object that you can add your own attributes to, for instance:
self.getAppContext().userName = req.getParameter("userName")
And in your pages you can access them easily, for instance:

Hello, <%=ApplicationCtx.userName%>!

You have to use the ContextContainers to store information! It is not a good idea to store your data directly in the Snakelet, Webapp or whatever other objects!
TIP: to avoid AttributeError exceptions when you're accessing attributes that have not been defined in the context, you can use getattr with a default parameter:

Hello, <%=getattr(ApplicationCtx,"userName","unknown name")%>!

TIP: the Application context is perfectly suited to store stuff that you want to have access to (from your Ypages/snakelets) during the whole application, such as utility classes or persistent variables. You can do this in the __init__ method of one of your snakelets, for instance. The Session context is very important: you can store stuff here that is associated with the user session (it is unique per user, and is removed when the user is no longer on the site).
The Request context is volatile and only exists during the processing of a single request. You can put values here that need to be displayed on the target page.
The Snakelet context is not very useful (its inside a single snakelet, you could use regular class attributes for the same purpose).
The WebApp runs inside the server. You cannot access this server. This is due to security restrictions, and most interesting stuff is already accessible trough the other interfaces). Because of this, the 'largest' scope is the web app scope. You cannot exchange information with another web app by using context storage, for example. You can store things on the web app context and read them from other snakelets or Ypages, within the same webapp.
Snakelets manual - Back to index


{% include 'sitewide_head.html' %} {% comment %} //Let's parse the ID a bit. The ID will look like "id_Coconuts-0-amount" where Coconuts is the form prefix and amount is a field name. formset_name = $(this).attr('id').split("-")[0]; //This will get us "id_Coconuts" or the like. id = formset_name.split("-")[1]; //This will get us the 0 from above. {% endcomment %}
{% for item_form, model in item_forms %} {# This is a hidden form. It just hangs out here, waiting to be cloned. #} {# Here's the actual clone button. #} {% if not show_errors %} {# Remember, each element in item_form is a tuple with the form first, then the model. TODO: Examine using verbose name here. #} {% endif %} {% endfor %}


Police Attack MDC Supporters in Harare 21 Nov 2019, 06:05 Zimbabwean police on Wednesday attacked members of the opposition Movement for democratic Change outside Morgen Tsvangirai House where party leader Nelson Chamisa was presenting an outlook of the country's social, political and economic situation.


Street Sweeping for 1087 Wadsworth St
Circled dates indicate street sweeping will occur on that day.
H
indicates a city holiday. (Your street will not be swept until the next month.)


Implementations for thredds.inventory.MCollection ControllerOS - just a front for using OS file system services. ControllerCaching - cache file system info using ehcache. *Proto - experiment using protobuf as serialization.


NextMapElement()
语法
Result = NextMapElement(Map())概要
Moves from the current element to the next element in the specified map, or onto the first element if ResetMap() was previously called.
参数
Map() The map to use.
返回值
Returns nonzero if the next element was set and zero if there is no next element. The value returned is a pointer to the new element data.
示例
NewMap Country.s() Country("US") = "United States" Country("FR") = "France" Country("GE") = "Germany" ResetMap(Country()) While NextMapElement(Country()) Debug Country() Wend
参阅
ResetMap(), MapKey()
已支持操作系统
所有


 The other day I was at NewU stores and spotted this at the L’Oreal counter and then I had to get it. I got the Sensitive skin version, since I have Photo sensitive skin. I am using this cleanser twice a day with enough analysis, I have my conclusion about L'Oreal Go 360 Clean Deep Facial Cleanser. And Yes, I have bought this cleanser solely for the scrublet.
L'Oreal says: The Deep Cleanser is a deep-cleaning, high-foam gel, which unclogs pores as it removes oil, dirt and makeup. With notes of naranji, orange flower and mint for refreshing fragrance and feel on the skin, the gel formula helps reduce oily areas, dry patches and blemishes with its deep cleaning, pore-by-pore action. Oil free. Also try the Cleanser in Exfoliating scrub, Lotion or Cream formula.
Price: 399 INR for 178 ML Available variants are for Sensitive skin, Dry skin( Cream cleanser), Exfoliating Scrub and Oily skin.
My Experience with L'Oreal Go 360 Clean Deep Facial Cleanser: I was struggling a bit to conclude my opinion about this cleanser. Currently I have dry and patchy skin, so I was skeptic about this soap-free gel cleanser. But after using this twice I am amazed with the results. I have never had much hopes with the cleanser though, and was much keen on using the scrublet. The texture of the cleanser is gel like and semi-transparent white which does foam equally well like soapy cleansers. I certainly noticed minimized and refined pores with the use.
It does dry out my skin a bit after cleansing, so I am yet to conclude this as my holy-grail cleanser. About the scrublet, I am in love with it.  I get a soft facial massage twice a day, which does help in blood circulation. I use this scrublet to massage in some Cleansing milk, Aloe vera gel and other stuff too. It feels great not to touch your fingers every time you clean your face.
Cleaning scrublet: I once removed my makeup with the cleanser and all the foundation residue was stuck on the surface of the scrublet. So I make sure to clean the scrublet by soaking it in warm soapy water with antiseptic and brush off the residue with a toothbrush.
What I liked about L'Oreal Go 360 Clean Deep Facial Cleanser:
What I disliked about L'Oreal Go 360 Clean Deep Facial Cleanser:
Verdict: I am really loving this cleanser these days, with scrublet of course. The Cleanser does not hold much value without the scrublet. I am waiting for Summers and I know this will turn out great cleanser for Summer, since it does makes pores appear smaller. But extra brownie points for squeaky clean skin. This one works as good as Cetaphil, but with a more squeakier, cleaner feeling. And I will recommend this for Oily/ Combination-Sensitive skin.
Will I repurchase L'Oreal Go 360 Clean Deep Facial Cleanser: Yes, I want to try all the other versions available one by one.


Week 2 Web Basics Assignment
Question 1: Write a function that asks the user for two numbers and return the product of them. The challenge here is that you can't use the operator * (you can't make the product)
Question 2: Write a function that recieves a string as a parameter and evaluate each character of the string to determinate if the character is a vowel or a consonant. You have to store each character in separate arrays, one for vowels and the other one for consonants. After separating the characters concatenate both arrays. Ask the user if they want the vowels first or consonants first in the final array.
Question 3: Let's create a small game. The user should create a player (ask the user for a name).The player has 3 oportunities to guess a number. The number is a random number between 10 - 50. If the player doesn't guess the number, the program must display an alert and stop the game, but if the player guesses the number, then the program must show a congratulations message (alert) with the name of the player in upperCase letters and ends the game. You must store the player information in a 'player' object. Check the object specifications on index.js
Question 4: We are giving you an array of objects (check the index.js file) each one with the same properties. Give the user 3 different options to choose from which will sort the array from the highest to lowest. For properties that are strings, the criteria to sort is the length of the string. The first option of sorting the array is based on the title property. The second is sorting the array based on the author property, the third one is based on the library property. Finally, the return value has to be the string sorted by the property selected and separated with a semicolon. Example: if the user selects to sort the array by title the output should be:
Mockingjay: The Final Book of The Hunger Games; The Road Ahead; Walter Isaacson
Mockingjay: The Final Book of The Hunger Games; The Road Ahead; Walter Isaacson


|
Wayland Server API
1.16.0
|
Public Member Functions | |
| struct wl_client * | wl_client_create (struct wl_display *display, int fd) |
| Create a client for the given file descriptor. More... | |
| struct wl_display * | wl_display_create (void) |
| Create Wayland display object. More... | |
| void | wl_display_destroy (struct wl_display *display) |
| Destroy Wayland display object. More... | |
| void | wl_display_set_global_filter (struct wl_display *display, wl_display_global_filter_func_t filter, void *data) |
| Set a filter function for global objects. More... | |
| uint32_t | wl_display_get_serial (struct wl_display *display) |
| Get the current serial number. More... | |
| uint32_t | wl_display_next_serial (struct wl_display *display) |
| Get the next serial number. More... | |
| void | wl_display_destroy_clients (struct wl_display *display) |
| Destroy all clients connected to the display. More... | |
| int | wl_display_add_socket_fd (struct wl_display *display, int sock_fd) |
| Add a socket with an existing fd to Wayland display for the clients to connect. More... | |
| int | wl_display_add_socket (struct wl_display *display, const char *name) |
| Add a socket to Wayland display for the clients to connect. More... | |
| struct wl_protocol_logger * | wl_display_add_protocol_logger (struct wl_display *display, wl_protocol_logger_func_t func, void *user_data) |
| Adds a new protocol logger. More... | |
| uint32_t * | wl_display_add_shm_format (struct wl_display *display, uint32_t format) |
| Add support for a wl_shm pixel format. More... | |
| struct wl_list * | wl_display_get_client_list (struct wl_display *display) |
| Get the list of currently connected clients. More... | |
Data Fields | |
| struct wl_event_loop * | loop |
| int | run |
| uint32_t | id |
| uint32_t | serial |
| struct wl_list | registry_resource_list |
| struct wl_list | global_list |
| struct wl_list | socket_list |
| struct wl_list | client_list |
| struct wl_list | protocol_loggers |
| struct wl_priv_signal | destroy_signal |
| struct wl_priv_signal | create_client_signal |
| struct wl_array | additional_shm_formats |
| wl_display_global_filter_func_t | global_filter |
| void * | global_filter_data |
| struct wl_client * wl_client_create | ( | struct wl_display * | display, |
| int | fd | ||
| ) |
Create a client for the given file descriptor.
| display | The display object |
| fd | The file descriptor for the socket to the client |
Given a file descriptor corresponding to one end of a socket, this function will create a wl_client struct and add the new client to the compositors client list. At that point, the client is initialized and ready to run, as if the client had connected to the servers listening socket. When the client eventually sends requests to the compositor, the wl_client argument to the request handler will be the wl_client returned from this function.
The other end of the socket can be passed to wl_display_connect_to_fd() on the client side or used with the WAYLAND_SOCKET environment variable on the client side.
Listeners added with wl_display_add_client_created_listener() will be notified by this function after the client is fully constructed.
On failure this function sets errno accordingly and returns NULL.
| struct wl_protocol_logger * wl_display_add_protocol_logger | ( | struct wl_display * | display, |
| wl_protocol_logger_func_t | func, | ||
| void * | user_data | ||
| ) |
Adds a new protocol logger.
When a new protocol message arrives or is sent from the server all the protocol logger functions will be called, carrying the user_data pointer, the type of the message (request or event) and the actual message. The lifetime of the messages passed to the logger function ends when they return so the messages cannot be stored and accessed later.
errno is set on error.
| display | The display object |
| func | The function to call to log a new protocol message |
| user_data | The user data pointer to pass to func |
| uint32_t * wl_display_add_shm_format | ( | struct wl_display * | display, |
| uint32_t | format | ||
| ) |
Add support for a wl_shm pixel format.
| display | The display object |
| format | The wl_shm pixel format to advertise |
Add the specified wl_shm format to the list of formats the wl_shm object advertises when a client binds to it. Adding a format to the list means that clients will know that the compositor supports this format and may use it for creating wl_shm buffers. The compositor must be able to handle the pixel format when a client requests it.
The compositor by default supports WL_SHM_FORMAT_ARGB8888 and WL_SHM_FORMAT_XRGB8888.
| int wl_display_add_socket | ( | struct wl_display * | display, |
| const char * | name | ||
| ) |
Add a socket to Wayland display for the clients to connect.
| display | Wayland display to which the socket should be added. |
| name | Name of the Unix socket. |
This adds a Unix socket to Wayland display which can be used by clients to connect to Wayland display.
If NULL is passed as name, then it would look for WAYLAND_DISPLAY env variable for the socket name. If WAYLAND_DISPLAY is not set, then default wayland-0 is used.
The Unix socket will be created in the directory pointed to by environment variable XDG_RUNTIME_DIR. If XDG_RUNTIME_DIR is not set, then this function fails and returns -1.
The length of socket path, i.e., the path set in XDG_RUNTIME_DIR and the socket name, must not exceed the maximum length of a Unix socket path. The function also fails if the user do not have write permission in the XDG_RUNTIME_DIR path or if the socket name is already in use.
| int wl_display_add_socket_fd | ( | struct wl_display * | display, |
| int | sock_fd | ||
| ) |
Add a socket with an existing fd to Wayland display for the clients to connect.
| display | Wayland display to which the socket should be added. |
| sock_fd | The existing socket file descriptor to be used |
The existing socket fd must already be created, opened, and locked. The fd must be properly set to CLOEXEC and bound to a socket file with both bind() and listen() already called.
| struct wl_display * wl_display_create | ( | void | ) |
Create Wayland display object.
This creates the wl_display object.
| void wl_display_destroy | ( | struct wl_display * | display | ) |
Destroy Wayland display object.
| display | The Wayland display object which should be destroyed. |
This function emits the wl_display destroy signal, releases all the sockets added to this display, free's all the globals associated with this display, free's memory of additional shared memory formats and destroy the display object.
| void wl_display_destroy_clients | ( | struct wl_display * | display | ) |
Destroy all clients connected to the display.
| display | The display object |
This function should be called right before wl_display_destroy() to ensure all client resources are closed properly. Destroying a client from within wl_display_destroy_clients() is safe, but creating one will leak resources and raise a warning.
| struct wl_list * wl_display_get_client_list | ( | struct wl_display * | display | ) |
Get the list of currently connected clients.
| display | The display object |
This function returns a pointer to the list of clients currently connected to the display. You can iterate on the list by using the wl_client_for_each macro. The returned value is valid for the lifetime of the display. You must not modify the returned list, but only access it.
| uint32_t wl_display_get_serial | ( | struct wl_display * | display | ) |
Get the current serial number.
| display | The display object |
This function returns the most recent serial number, but does not increment it.
| uint32_t wl_display_next_serial | ( | struct wl_display * | display | ) |
Get the next serial number.
| display | The display object |
This function increments the display serial number and returns the new value.
| void wl_display_set_global_filter | ( | struct wl_display * | display, |
| wl_display_global_filter_func_t | filter, | ||
| void * | data | ||
| ) |
Set a filter function for global objects.
| display | The Wayland display object. |
| filter | The global filter funtion. |
| data | User data to be associated with the global filter. |
Set a filter for the wl_display to advertise or hide global objects to clients. The set filter will be used during wl_global advertisment to determine whether a global object should be advertised to a given client, and during wl_global binding to determine whether a given client should be allowed to bind to a global.
Clients that try to bind to a global that was filtered out will have an error raised.
Setting the filter NULL will result in all globals being advertised to all clients. The default is no filter.
| struct wl_array wl_display::additional_shm_formats |
| struct wl_list wl_display::client_list |
| struct wl_priv_signal wl_display::create_client_signal |
| struct wl_priv_signal wl_display::destroy_signal |
| wl_display_global_filter_func_t wl_display::global_filter |
| void* wl_display::global_filter_data |
| struct wl_list wl_display::global_list |
| uint32_t wl_display::id |
| struct wl_event_loop* wl_display::loop |
| struct wl_list wl_display::protocol_loggers |
| struct wl_list wl_display::registry_resource_list |
| int wl_display::run |
| uint32_t wl_display::serial |
| struct wl_list wl_display::socket_list |


Great Expectations - Chains of Love by Homer Yen (c) 1998
What do you suppose is the greatest form of energy? What can take a person further than one ever thought possible? The answer is: Desire. The desire that slowly brews within Finnegan [Finn] Bell (Ethan Hawke) is the central focus of this poetic drama.
When we first meet up with young Finn, we can see that he is a child who roams freely without the heavy-handed guidance of most children his age. He spends his time hanging out at the fishing pier, wades through the shallow waters of the Gulf, and scrawls his artwork into a keepsake book. As an incipient artist, he is truly gifted; like a fish, he is free to do what he pleases. But two acute episodes begin to shape his future.
One is a brief but traumatic encounter with an escaped convict (Robert DeNiro). The other happens when he meets Estella (Gwyneth Paltrow). The movie spends most of its time focusing on these two. Estella is the embodiment of a cold-hearted soul that flaunts her sexuality as a weapon of superiority and a catalyst of vengeance. And we learn that Estella's motivations are, in part, influenced by her eccentric mother, the multimillionaire Ms. Dinsmoor (Anne Bancroft). Ms. Dinsmoor was left standing at the alter many years ago and has been in a continuous state of jilted mourning ever since. Living alone in a mansion that is quickly deteriorating and overrun with creepers, she singles out Finn as the victim of her machinations. She hates men, and using Estella as the weapon, she will torment Finn as a means of retaliation. For starters, she teases Finn by telling him to not fall in love with Estella, for she will break his heart. But he does; he is smitten, and Finn's long journey and subsequent transformation thus begins.
For the most part, throughout his transformation process, I enjoyed the richness of the characters that Finn meets up with who subtly impact his growth. From the encounter with the convict to his laid-back uncle to his frenzied art pals, each one contributes in their own unique way. Estella's detachment was haunting yet bittersweet. Also, Ms. Dinsmoor exuded a delicious blend of insanity and wisdom who liked to listen to old records and end her sentences with the words "Chick-e-boom".
Yet, there seemed to be something at work here that undermined the allure set in the first half of the film. Perhaps it was the fact that we grew tired of watching Finn constantly adjust his lifestyle to win over Estella. Perhaps we were not convinced of Estella's attraction for Finn. Perhaps it was because we never really knew what Estella was thinking. Perhaps it was because the ending seemed incongruously happy. Moreover, as I was watched the film, the message of the movie seemed to get buried behind the luscious cinematography and beneath the bewitching musical score.
It certainly seemed to have the potential to deliver a strong film. But somewhere along the way, the story just ran out of steam. Poetic at some points and seemingly at a standstill at other points, I left the theatre with many more questions than answers in my mind. This is not necessarily a bad thing. In fact, this is the kind of film that leaves an impression in your mind as you walk out of the theatre. For me, however, I had higher expectations for this film, but what I got was nothing great.
Grade: C+
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


Thinkpad saves the day
02 Jan 2016The first laptop I bought, a Lenovo Y40, turned out to be horrible disappointment. From a keyboard that I didn’t like, a screen resolution that sucked and to top things off the battery died on me after 5 months of usage. It didn’t completely die on me, but the darn machine would not work unless it was plugged in. Rendering my laptop’s portability useless, as everytime I’d need ot use it, boot up was necessary. I sent in the laptop since it was still under warranty but I was still in need of a laptop for my coding needs as school was already in session.
I first resorted to borrowing a friend’s tiny notebook. It was a really tiny machine with Ubuntu on it, ultimately the laptop’s keyboard was too small and the fan noise was irritable enough to keep me from using it. But I’d found something cool, that Linux could run on machines with minimal specs!
I started looking around for cheap computer options, and eventually after much fishing, chose to buy a used ThinkPad T420. You can find these under 200 on ebay. I coughed up a tiny bit more to get one that wasn’t too beat up. The specs were decent, i5, 250GB storage and 4GB RAM, more than enough for any Linux OS. After receiving the computer, I instantly liked it a lot more than the being-repaired Y40. The screen was still mediocre but the keyboard made a world’s difference. One thing that I can’t stand is having a shortened right SHIFT key. Exactly what the Y40 had, and to add onto the bad design, the keys had the depth of about a nanometer. This ThinkPad had the old school IBM keyboards, it felt clicky, and the right SHIFT was not shortened. The only downside is that, it is literally a brick to carry around.
Soon after, a friend helped me install Linux on it, specifically Ubuntu-GNOME. It felt good to finally work in this OS after many failed attempts to get it on VirtualBox. Not that I failed, the VM’s ran so slow (2 - 3 second delays), that it was pretty unbearable so I gave up on it. Then I found about Vagrant + Cygwin, which initially cost me a lot of grief (it lost my VM at some point). But I did have Linux-y tools for a brief period of time (troubled times with symlinks and shared folders).
I really can’t emphasize how good it is once you make the switch to a Linux OS. I’m being biased here, as I’ve always wanted this environment where I can just do all my work in a terminal. But if you’re a developer or an aspiring programmer, definitely try it out this set up if you have 200 bucks to spare.
TL;DR Don’t be fooled by a laptop’s specs. If you just want to program, buy a cheap Thinkpad and throw Linux on it. Or get a Mac if you can afford it.


?I
-,
A.
-yas)
-
À>-e’’
L.
Catasœs
Diciembre
2003
TRACY
HERBARIUM.
TEXAS
A&M
UNIVERSITY
~y
Dichanthelium
aciculare
(Desv.
ex
Poir.)
Gould
&
Clark
Det.
by:
F.W.
Gould
&
C.A.
Clark
1977
PLANTS
OF
CUBA
No.
64444
R.A.Howard
Aug.
1941
Panicum
cTrrysopidifolium
Nash.
Savannah
near
Gavinas
Trinidad
Mountains.
San
Blas-Buenos
Aires
Collected
for
the
Atkins
Institution
of
the
Arnold
Arboretum
in
Santa
Clara
Province
1607624
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


Rules: At the Double, Forward to Victory, Inspiring Presence, Returning Slain Models - Nighthaunt
Selections: 3. Beacon of Nagashizzar, Chill Blade
Categories: DEATH, MALIGNANT, NIGHTHAUNT, HERO, WIZARD, GUARDIAN OF SOULS, Leader, Lantern, Artefact
Artefact: Beacon of Nagashizzar, Magic: Guardian of Souls, Spell: Arcane Bolt, Mystic Shield, Spectral Lure, Unit: Guardian of Souls, Unit Abilities: Ethereal, Fly, Nightmare Lantern, Weapon: Chill Blade
| Artefact | Artefact Details | Ref |
|---|---|---|
| Beacon of Nagashizzar | If the bearer successfully casts the Spectral Lure spell and it is not unbound, instead of the normal effects of the spell you an either heal D6+3 wounds that have been allocatged to the target unit or, if no wounds have been alloacated to that unit, you can return a number of slain models to it that have a combined Wounds characteristic equal to or less than D6+3. |
| Magic | Cast/Unbind | Spells Known | Ref |
|---|---|---|---|
| Guardian of Souls | 1/1 | Arcane Bolt, Mystic Shield, Spectral Lure |
| Spell | Casting Value | Description | Ref |
|---|---|---|---|
| Arcane Bolt | 5 | If successfully cast, pick an enemy unit within 18" of the caster that is visible to them. That unit suffers 1 mortal wound. If the casting roll was 10 or more, the unit suffers D3 mortal wounds instead. | |
| Mystic Shield | 6 | If successfully cast, pick a friendly unit within 18" of the caster that is visible to them. Re-roll save rolls of 1 for that unit until your next hero phase. | |
| Spectral Lure | 6 | If successfully cast, pick a friendly SUMMONABLE NIGHTHAUNT unit wholly within 24" of the caster. You can either heal D6 wounds that have been allocated to that unit or, if no wounds have been allocated to the unit, you can return a number of slain models to it that have a combined Wounds characteristic equal to or less than the roll of a D6. | Death Battletome: Nighthaunt p77 |
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Guardian of Souls | 6" | 5 | 10 | 4+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Fly | This unit can fly. | |
| Nightmare Lantern | Add 1 to wound rolls for attacks made with melee weapons used by friendly NIGHTHAUNT units that are wholly within 12" of this model. | Death Battletome: Nighthaunt p77 |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Chill Blade | Melee | 1" | 3 | 3+ | 3+ | -1 | 1 |
Categories: DEATH, HERO, MALIGNANT, NIGHTHAUNT, KNIGHT OF SHROUDS, Leader
Command Abilities: Lord of Gheists, Unit: Knight of Shrouds on Ethereal Steed, Unit Abilities: Ethereal, Fly, Stolen Hours, Weapon: Steed's Ghostly Hooves and Teeth, Sword of Stolen Hours
| Command Abilities | Command Ability Details | Ref |
|---|---|---|
| Lord of Gheists | You can use this command ability at the start of the combat phase. If you do so, pick a friendly Nighthaunt unit that is wholly within 18" of this model. Add 1 to the Attacks characteristic of that unit’s melee weapons in that combat phase. |
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Knight of Shrouds on Ethereal Steed | 12" | 6 | 10 | 4+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Fly | This unit can fly. | |
| Stolen Hours | Allocate wounds inflicted by this model’s Sword of Stolen Hours before allocating wounds inflicted by this model’s Ghostly Hooves and Teeth. Each time a wound inflicted by the Sword of Stolen Hours slays an enemy HERO, heal 1 wound that has been allocated to this model. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Steed's Ghostly Hooves and Teeth | Melee | 1" | 2 | 4+ | 5+ | - | 1 | |
| Sword of Stolen Hours | Melee | 1" | 4 | 3+ | 3+ | -1 | 2 |
Selections: 3. Lifestealer, General
Categories: DEATH, MALIGNANT, NIGHTHAUNT, HERO, WIZARD, MORTARCH, LADY OLYNDER, Leader, General
Command Abilities: No Rest for the Wicked, Magic: Lady Olynder, Mortarch of Grief, Spell: Arcane Bolt, Grief-stricken, Lifestealer, Mystic Shield, Unit: Lady Olynder, Mortarch of Grief, Unit Abilities: Ethereal, Fly, Grave-sands of Time, Lifting the Veil, Mortarch of Grief, Wail of the Damned, Weapon: Staff of Midnight
| Command Abilities | Command Ability Details | Ref |
|---|---|---|
| No Rest for the Wicked | You can use this command ability in your hero phase if this model is your general and is on the battlefield. If you do so, you can return 1 slain model to each friendly SUMMONABLE NIGHTHAUNT unit that is within 12" of a friendly model with this command ability. |
| Magic | Cast/Unbind | Spells Known | Ref |
|---|---|---|---|
| Lady Olynder, Mortarch of Grief | 2/2 | Arcane Bolt, Mystic Shield, Grief-stricken |
| Spell | Casting Value | Description | Ref |
|---|---|---|---|
| Arcane Bolt | 5 | If successfully cast, pick an enemy unit within 18" of the caster that is visible to them. That unit suffers 1 mortal wound. If the casting roll was 10 or more, the unit suffers D3 mortal wounds instead. | |
| Grief-stricken | 7 | If successfully cast, pick an enemy unit that is within 18" of the caster and visible to them. Until your next hero phase, subtract 1 from hit rolls for attacks made by that unit and add 1 to hit rolls for attacks made with melee weapons that target that unit. | |
| Lifestealer | 7 | If successfully cast, pick an enemy unit within 12" of the caster that is visible to them. That unit suffers D3 mortal wounds. Foe each mortal wound suffered by that enemy unit, you can heal 1 wound allocated to the caster. | |
| Mystic Shield | 6 | If successfully cast, pick a friendly unit within 18" of the caster that is visible to them. Re-roll save rolls of 1 for that unit until your next hero phase. |
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Lady Olynder, Mortarch of Grief | 6" | 7 | 10 | 4+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Fly | This unit can fly. | |
| Frightful Touch | If the unmodified roll for an attack made with the <Banshee Mandmaidens' Spectral Claws>, <Wraith Herald's Spectral Claws>, <Fellreaper>, <Reaper Scythe> <Chill Dagger> <Spectral Scythe> <Cairn Wraith's Reaper Scythe> <Spectral Claws and Daggers> <Spectral Host's Ethereal Weapons>, <Mourngul's Nightmarish Claws and Fangs> is 6, that attack inflicts <the weapon damage as a> mortal wound and the attack sequence ends (do not make a wound or save roll). | |
| Grave-sands of Time | Once per battle, in your pero phase, you can choose either to inflict D6 mortal sounds on an enemy HERO within 6" of this model, or heal D6 wounds that have been allocated to this model. | |
| Lifting the Veil | At the start of your hero phase, pick an enemy unit within 12" of this model and that is visible to her and roll a dice. On a 1, nothing happens. On a 2+ that unit suffers a number of mortal wounds equal to the roll. Inaddition, if any enemy models are slain by this ability, immediately heal D3 wounds that have been allocated to this model. | |
| Mortarch of Grief | Add 1 to the number of models that flee from enemy units that fail a battleshock test while they are within 12" of this model. | |
| Wail of the Damned | At the start of your shooting phase, roll 2D6 for each enemy unit within 10" of this model. If the roll for the unit is higher than its Bravery characteristic, it suffers D3 mortal wounds. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Banshee Handmaidens Spectral Claws | Melee | 1" | 6 | 4+ | 4+ | - | 1 | |
| Staff of Midnight | Melee | 2" | 3 | 3+ | 3+ | -2 | D3 |
Categories: DEATH, MALIGNANT, NIGHTHAUNT, HERO, LORD EXECUTIONER, Leader
Unit: Lord Executioner, Unit Abilities: Beheading Strike, Disembodied Skulls, Ethereal, Fly, Staring Death in the Face, Weapon: Decapitating Greataxe
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Lord Executioner | 6" | 5 | 10 | 4+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Beheading Strike | If a wound roll for a Decapitating Greataxe is 6+, add 2 to the Damage characteristic of the weapon for that attack. | |
| Disembodied Skulls | Roll a D6 each time this models suffers a mortal wound. on a 5+, the wound is negated. | |
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Fly | This unit can fly. | |
| Staring Death in the Face | At the start of the combat phase, you can pick an enemy HERO within 3" of this model. Subtract 1 from hit rolls for attacks made by that HERO in that combat phase. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Decapitating Greataxe | Melee | 2" | 3 | 3+ | 3+ | -2 | 1 |
Categories: DEATH, MALIGNANT, NIGHTHAUNT, HERO, WIZARD, REIKENOR THE GRIMHAILER, Leader
Magic: Reikenor the Grimhailer, Spell: Arcane Bolt, Mystic Shield, Wraithstorm, Unit: Reiknor the Grimhailer, Unit Abilities: Corpse Candles, Ethereal, Fly, Frightful Touch, Reaped Like Corn, Weapon: Fellreaper
| Magic | Cast/Unbind | Spells Known | Ref |
|---|---|---|---|
| Reikenor the Grimhailer | 1/1 | Arcane Bolt, Mystic Shield, Wraithstorm |
| Spell | Casting Value | Description | Ref |
|---|---|---|---|
| Arcane Bolt | 5 | If successfully cast, pick an enemy unit within 18" of the caster that is visible to them. That unit suffers 1 mortal wound. If the casting roll was 10 or more, the unit suffers D3 mortal wounds instead. | |
| Mystic Shield | 6 | If successfully cast, pick a friendly unit within 18" of the caster that is visible to them. Re-roll save rolls of 1 for that unit until your next hero phase. | |
| Wraithstorm | 7 | If successfully cast, pick an enemy unit whtin 12" of the caster that is visible to them. That unit suffers D3 mortal wounds. If any models in that unit are slain as a result of this spell, that unit immediately suffers an additional D3 mortal wounds. |
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Reiknor the Grimhailer | 14" | 7 | 10 | 4+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Corpse Candles | In your hero phase, before this model attempts to cast a spell, you can say that it will sunff out a corpse candle. If you do so, pick either this model or an enemy model within 12" of this model. That model suffers 1 mortal wound. If the mortal wound was suffered by an enemy model, add 1 to the casting roll; if the mortal wound was suffered by this model, add 3 to the casting roll. | |
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Fly | This unit can fly. | |
| Frightful Touch | If the unmodified roll for an attack made with the <Banshee Mandmaidens' Spectral Claws>, <Wraith Herald's Spectral Claws>, <Fellreaper>, <Reaper Scythe> <Chill Dagger> <Spectral Scythe> <Cairn Wraith's Reaper Scythe> <Spectral Claws and Daggers> <Spectral Host's Ethereal Weapons>, <Mourngul's Nightmarish Claws and Fangs> is 6, that attack inflicts <the weapon damage as a> mortal wound and the attack sequence ends (do not make a wound or save roll). | |
| Reaped Like Corn | You can re-roll failed hit rolls for attacks made with <Fellreaper> or <Reaper Scythe> or <Cairn Wraith's Reaper Scythe> or <Slasher Scythes> if the target unit has 5 or more models. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Fellreaper | Melee | 2" | 4 | 4+ | 3+ | -1 | 2 | |
| Ghostly Hooves and Teeth | Melee | 1" | 3 | 4+ | 4+ | - | 1 |
Categories: DEATH, MALIGNANT, NIGHTHAUNT, HERO, SPIRIT TORMENT, Leader
Unit: Spirit Torment, Unit Abilities: Captured Soul Energy, Ethereal, Fly, Nagash's Bidding, Weapon: Shacklegheist Chains
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Spirit Torment | 6" | 6 | 10 | 4+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Captured Soul Energy | At the start of the battleshock phase, if 3 or more enemy models were slain that turn, pick a friendly NIGHTHAUNT unit within 6" of this model and heal D3 wounds that have been allocated to that unit. If 3 or more enemy STORMCAST ETERNAL models were slain that turn, heal 3 wounds instead of D3 wounds. Alternatively, instead of healing the unit you picked, if models from that unit have been slain, you can return them to the unit. Roll a D3; you can return any slain models to that unit that have a combined Wounds characteristic of less than or equal to the number you rolled. If your army includes more than one SPIRIT TORMENT, at least 3 enemy models must have been slain during the turn for each SPIRIT TORMENT that uses this ability, and no SPIRIT TORMENT can use this ability more than once in the same battleshock phase. | |
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Fly | This unit can fly. | |
| Nagash's Bidding | Re-roll hit rolls of 1 for friendly NIGHTHAUNT units while they are wholly within 12" of any friendly Spirit Torments. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Shacklegheist Chains | Melee | 2" | 3 | 4+ | 3+ | -2 | D3 |
Selections: 2x 10 Chainrasps [160pts]
Categories: DEATH, MALIGNANT, NIGHTHAUNT, SUMMONABLE, CHAINRASP HORDE, Battleline
Unit: Chainrasp, Unit Abilities: Chilling Horde, Dreadwarden, Ethereal, Fly, Weapon: Malignant Weapon
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Chainrasp | 6" | 1 | 6 | 5+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Chilling Horde | Re-roll wound rolls of 1 for this unit while it has more than 10 models. | |
| Dreadwarden | The leader of this unit is a Dreadwarden. Add 1 to the Attacks characteristic of a Dreadwarden's Malignant Weapon. In addition, a Chainrasp Horde has a Bravery characteristic of 10 instead of 6 while it includes a Dreadwarden. | |
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Fly | This unit can fly. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Malignant Weapon | Melee | 1" | 2 | 4+ | 4+ | - | 1 |
Selections: 10 Grimghast Reapers [160pts]
Categories: DEATH, MALIGNANT, NIGHTHAUNT, SUMMONABLE, GRIMGHAST REAPERS, Other, Battleline
Unit: Grimghast Reapers, Unit Abilities: Ethereal, Fly, Reaped Like Corn, Weapon: Slasher's Scythe
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Grimghast Reapers | 8" | 1 | 10 | 4+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Extoller of Shyish | The leader of this unit is an Extoller of Shyish. The Extoller of Shyish is armed with a Death Knell instead of a Slasher Scythe. | |
| Fly | This unit can fly. | |
| For Whom the Bell Tolls | Allocate wounds inflicted by this unit’s Death Knell after allocating wounds inflicted by this unit’s Slasher Scythes. For each enemy model that is slain by wounds inflicted by a Death Knell, you can inflict 1 mortal wound on an enemy unit within 3" of the model carrying the Death Knell. | |
| Reaped Like Corn | You can re-roll failed hit rolls for attacks made with <Fellreaper> or <Reaper Scythe> or <Cairn Wraith's Reaper Scythe> or <Slasher Scythes> if the target unit has 5 or more models. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Death Knell | Melee | 2" | 1 | 3+ | 3+ | -1 | 2 | |
| Slasher's Scythe | Melee | 2" | 2 | 4+ | 3+ | -1 | 1 |
Selections: 5 Hexwraiths [140pts]
Categories: DEATH, HEXWRAITHS, MALIGNANT, NIGHTHAUNT, SUMMONABLE, Other, Battleline
Unit: Hexwraith, Unit Abilities: Ethereal, Fly, Frightful Touch, Hellwraith, Spectral Hunters, Weapon: Spectral Scythe
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Hexwraith | 12" | 2 | 10 | 4+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Fly | This unit can fly. | |
| Frightful Touch | If the unmodified roll for an attack made with the <Banshee Mandmaidens' Spectral Claws>, <Wraith Herald's Spectral Claws>, <Fellreaper>, <Reaper Scythe> <Chill Dagger> <Spectral Scythe> <Cairn Wraith's Reaper Scythe> <Spectral Claws and Daggers> <Spectral Host's Ethereal Weapons>, <Mourngul's Nightmarish Claws and Fangs> is 6, that attack inflicts <the weapon damage as a> mortal wound and the attack sequence ends (do not make a wound or save roll). | |
| Hellwraith | The leader of this unit is a Hellwraith. Add 1 to the Attacks characteristic of a Hellwraith’s Spectral Scythe. | |
| Spectral Hunters | In your movement phase, immediately after this unit has moved, you can pick an enemy unit that has any models that a model from this unit passed across. If you do so, roll a dice for each model from this unit that passed across the enemy unit. For each roll of 5+, that enemy unit suffers 1 mortal wound. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Hooves and Teeth | Melee | 1" | 2 | 4+ | 5+ | - | 1 | |
| Spectral Scythe | Melee | 1" | 2 | 4+ | 3+ | -1 | 1 |
Selections: 3 Spirit Hosts [120pts]
Categories: DEATH, MALIGNANT, NIGHTHAUNT, SUMMONABLE, SPIRIT HOSTS, Other, Battleline
Unit: Spirit Hosts, Unit Abilities: Ethereal, Fly, Frightful Touch, Weapon: Spectral Claws and Daggers
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Spirit Hosts | 6" | 3 | 10 | 4+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Fly | This unit can fly. | |
| Frightful Touch | If the unmodified roll for an attack made with the <Banshee Mandmaidens' Spectral Claws>, <Wraith Herald's Spectral Claws>, <Fellreaper>, <Reaper Scythe> <Chill Dagger> <Spectral Scythe> <Cairn Wraith's Reaper Scythe> <Spectral Claws and Daggers> <Spectral Host's Ethereal Weapons>, <Mourngul's Nightmarish Claws and Fangs> is 6, that attack inflicts <the weapon damage as a> mortal wound and the attack sequence ends (do not make a wound or save roll). |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Spectral Claws and Daggers | Melee | 1" | 6 | 5+ | 4+ | - | 1 |
Selections: 2x 5 Bladegheist Revenants [180pts]
Categories: DEATH, MALIGNANT, NIGHTHAUNT, SUMMONABLE, BLADEGHEIST REVENANTS, Other
Unit: Bladegheist Revenant, Unit Abilities: Ethereal, Fearful Frenzy, Fly, Whirling Death, Weapon: Tomb Greatblade
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Bladegheist Revenant | 8" | 1 | 10 | 4+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Fearful Frenzy | You can re-roll failed hit rolls for attacks made by this unit if it is wholly within 12" of any friendly SPIRIT TORMENTS or CHAINGHASTS | |
| Fly | This unit can fly. | |
| Whirling Death | This unit can retreat and charge in the same turn. In addition, add 1 to the Attacks characteristic of this unit's Tomb Greatblades if it made a charge move in the same turn. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Tomb Greatblade | Melee | 1" | 2 | 3+ | 3+ | -1 | 1 |
Selections: 2 Chainghasts [70pts]
Categories: DEATH, MALIGNANT, NIGHTHAUNT, SUMMONABLE, CHAINGHASTS, Other
Unit: Chainghast, Unit Abilities: Another Link in the Chain, Ethereal, Sweeping Blows, Weapon: Ghastflails (Melee), Ghastflails (Missile)
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Chainghast | 6" | 2 | 10 | 4+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Another Link in the Chain | While this unit is wholly within 12" of a friendly Spirit Torment, you can re-roll hit rolls of 1 for friendly Nighthaunt units while they are wholly within 12" of this unit. | |
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Sweeping Blows | The Attacks characteristic of the Ghastflails melee weapon is equal to the number of enemy models within 2" of the attacking model when the number of attacks made with the weapon is determined. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Ghastflails (Melee) | Melee | 2" | See Sweeping Blow | 4+ | 3+ | -1 | 1 | |
| Ghastflails (Missile) | Missile | 15" | D3 | 4+ | 3+ | -2 | 1 |
Selections: 2x 4 Glaivewraith Stalkers [120pts]
Categories: DEATH, MALIGNANT, NIGHTHAUNT, SUMMONABLE, GLAIVEWRAITH STALKERS, Other
Unit: Glaivewraith Stalker, Unit Abilities: Ethereal, Fly, The Point of Death, Weapon: Hunter's Glaive
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Glaivewraith Stalker | 6" | 1 | 10 | 4+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Fly | This unit can fly. | |
| The Point of Death | You can re-roll failed hit rolls for attacks made with this unit’s Hunter’s Glaives if this unit or the target unit made a charge move in the same turn. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Hunter's Glaive | Melee | 2" | 2 | 4+ | 3+ | - | 1 |
Selections: 2x 4 Myrmourn Banshees [140pts]
Categories: DEATH, MALIGNANT, NIGHTHAUNT, SUMMONABLE, MYRNMOURN BANSHEES, Other
Unit: Myrmourn Banshees, Unit Abilities: Ethereal, Fly, Spell-eaters, Weapon: Chill Dagger
| Unit | Move | Wounds | Bravery | Save | Ref |
|---|---|---|---|---|---|
| Myrmourn Banshees | 8" | 1 | 10 | 4+ |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Ethereal | Ignore modifiers (positive or negative) when making save rolls for this unit. | |
| Fly | This unit can fly. | |
| Spell-eaters | Once in each enemy hero phase, if this unit is within 18" of an enemy WIZARD that successfully casts a spell, this unit can attempt to unbind the spell in the same manner as a Wizard. If it does so, add 1 to the unbinding roll for every 4 models in this unit. In addition, if this unit unbinds an enemy spell, add 1 to the Attacks characteristic of this unit’s Chill Daggers until the next enemy hero phase. Once in each of your hero phases, if this unit is within 6" of an ENDLESS SPELL, this unit can attempt to dispel the endless spell in the same manner as a WIZARD. If this unit dispels an endless spell, it suffers D3 mortal wounds, but add 1 to the Attacks characteristic of this unit’s Chill Daggers until your next hero phase. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage | Ref |
|---|---|---|---|---|---|---|---|---|
| Chill Dagger | Melee | 1" | 1 | 4+ | 3+ | -2 | D3 |
Selections: Allegiance: Nighthaunt
Categories: Allegiance
Battle Trait: Aura of Dread, Deathless Spirits, Feed on Terror, From the Underworlds They Come, Wave of Terror, Command Abilities: Spectral Summons
| Battle Trait | Battle Trait Details | Ref |
|---|---|---|
| Aura of Dread | Subtract 1 from the Bravery characteristic of enemy units while they are within 6" of any friendly NIGHTHAUNT units. | |
| Deathless Spirits | Roll a dice for each wound or mortal wound inflicted on a friendly NIGHTHAUNT unit wholly within 12" of your general or a friendly NIGHTHAUNT HERO from your army. On a 6+ the wound is negated. | |
| Feed on Terror | Each time an enemy unit fails a battleshock test, pick one friendly NIGHTHAUNT HERO within 6" of that enemy unit. Heal 1 wound that has been allocated to that HERO. | |
| From the Underworlds They Come | Instead of setting up a NIGHTHAUNT unit on the battlefield, you can place it to one side and say that it is in the underworlds as a reserve unit. You can set up one unit in the underworlds for each unkit you set up on the batlefield. At the end of your movement phase you can set up any of these models ore than 9" from any enemy models. This counts as thei move for that turn. Any units which are not set up on the battlefield before the start of the fourth battle round are slain. | Battletome: Nighthaunt |
| Wave of Terror | If you make an unmodified charge roll of 10+ for a friendly NIGHTHAUNT unit, it can fight immediately after you complete the charge move. This does not stop the unit from being picked to fight in the combat phase of the same turn. |
| Command Abilities | Command Ability Details | Ref |
|---|---|---|
| Spectral Summons | You can use this command ability at the start of your movement phase. If you do so, pick a friendly NIGHTHAUNT unit that is on the battlefield. Remove that unit from the battlefield, and then set it up wholly within 12' of your general and more than 9" from any enemy models. This counts as their move for that movement phase. |
Selections: 2000 Points - Battlehost
Categories: Game Options, Battlehost
Categories: DEATH, MORTALIS TERMINEXUS, ENDLESS SPELL, Malign Sorcery
Spell: Summon Mortalis Terminexus, Unit Abilities: Empowered by Shyish, Fly, Keeper of Mortality, Predatory
| Spell | Casting Value | Description | Ref |
|---|---|---|---|
| Summon Mortalis Terminexus | 6 | Only Nagash, Supreme Lord of the Undead and Nighthaunt Wizards can attempt to cast Summon Mortalis Terminexus. If successfully cast, set up a Mortalis Terminexus model wholly within 18" of the caster. |
| Unit Abilities | Ability Details | Ref |
|---|---|---|
| Empowered by Shyish | If your battle is being fought in the Realm of Shyish, the range of this model’s Keeper of Mortality ability – whether the controlling player chose to reverse or hasten time – is 12" instead of 6". | |
| Fly | This unit can fly. | |
| Keeper of Mortality | After this model is set up or has moved, the controlling player must decide whether the Mortalis Terminexus will reverse or hasten time. If they choose to reverse time, heal D3 wounds allocated to each unit within 6" of this model. If they choose to hasten time, each unit within 6" of this model suffers D3 mortal wounds. | |
| Predatory | Mortalis Terminexus is a predatory endless spell. It can move 8" and can fly. |
At the Double: You can use this command ability after you make a run roll for a friendly unit that is within 6" of a friendly HERO, or 12" of a friendly HERO that is a general.  (Core Rules p3)
Forward to Victory: You can use this command ability after you make a charge roll for a friendly unit that is within 6" of a friendly HERO, or 12" of a friendly HERO that is a general. If you do so, re-roll the charge roll. (Core Rules p3)
Inspiring Presence: You can use this command ability at the start of the battleshock phase. If you do so, pick a friendly unit that is within 6" of friendly HERO, or 12" of a friendly HERO that is a general. That unit does not have to take battleshock tests in that phase. (Core Rules p3)
Returning Slain Models - Nighthaunt:
Several Nighthaunt abilities allow you to return slain models to a unit. When you do so, set up the models one at a time within 1" of a model from the unit they are returning to (this can be a model you returned to the unit earlier in the same phase).
The slain models you return to a unit can only be set up withi 3" of an enemy unit if one or more models from the unit they are returning to are already within 3" of an enemy unit.
(Battletome: Nighthaunt)
Created with BattleScribe


{#block}
Block ID: {blockId}
Block Pool ID: {blockPoolId}
Generation Stamp: {generationStamp}
Size: {numBytes}
Availability:


{% extends "eats/edit/base.html" %} {% block eats_title %}{{ block.super }}Delete {{ object_type }} {{ object_value }}{% endblock eats_title %} {% block eats_content %}
Are you sure you wish to delete the {{ object_type }} “{{ object_value }}”?
{% endblock eats_content %}


innosilicon VS z9 mini in italy, my experience
price of z9 mini now is ~1024$ (psu included + shipping + duty tax of 22%) for 15K/h and for 300 watt
price for innosilicon is ~4504$ (psu included + shipping + duty tax of 22% ) for 52K/h and 700 watt
4 x z9 mini = 4096$ - 95$ for 1 psu because 1 psu is for 2 z9mini =~4000$ for 60/khs and 1200watt
so 4 x z9mini are better than a 1 innosilicon with +500$ less than innosilicon, +10 k/h that is +576,22€
(1 K/s = 4000/60 = 66$ x 10K/h = 660$ => 576,22€ )
electricity in italy is about 0,30 cent so 500 watt a day is about 3,6€
436,53€ + 576,22 = 1012,75 / 3.6€ day = € 281days
after 281 days innosilicon is better than z9 mini


DTXProfilingConfiguration
/DTXMutableProfilingConfiguration
Profiling configuration object for the Profiler.
@interface DTXProfilingConfiguration : NSObject <NSCopying, NSMutableCopying, NSSecureCoding>
@interface DTXMutableProfilingConfiguration : DTXProfilingConfiguration
open class DTXProfilingConfiguration : NSObject, NSCopying, NSMutableCopying, NSSecureCoding
open class DTXMutableProfilingConfiguration : DTXProfilingConfiguration
defaultProfilingConfiguration
/default
A newly created default profiling configuration object.
samplingInterval
The sampling interval of the Profiler.
The default value is 1.0
.
numberOfSamplesBeforeFlushToDisk
The minimum number of samples to keep in memory before flushing to disk.
Larger number of samples in memory will improve performance at the cost of memory use.
The default value is 200
.
recordThreadInformation
Record thread information during profiling.
The default value is true
.
collectStackTraces
Symbolicate stack traces at runtime.
Symbolicating stack traces may introduce some performance hit.
The default value is false
.
symbolicateStackTraces
Symbolicate stack traces at runtime.
Symbolicating stack traces may introduce some performance hit.
The default value is false
.
collectOpenFileNames
Collect the names of open files for each sample.
The default value is false
.
recordNetwork
Record network requests during profiling.
The default value is true
.
recordLocalhostNetwork
Record localhost network requests during profiling.
Only relevant if recordNetwork
is set to true
.
The default value is false
.
disableNetworkCache
Disables cache for network requests.
The default value is false.
ignoredEventCategories
A set of categories to ignore when profiling. Use this property to prevent clutter in the Events instrument. The default value is an empty set.
recordLogOutput
Record log output during profiling.
The default value is true
.
profileReactNative
Profile React Native application.
Currently, only one active React Native bridge is supported.
The default value is true
.
recordReactNativeBridgeData
Record React Native bridge data during profiling.
The default value is false
.
recordReactNativeTimersAsEvents
Record React Native timers (created using setTimeout()
in JavaScript) as events.
The default value is false
.
recordingFileURL
The recording file URL to save to.
If this URL is a directory URL, a new recording will be created in that directory with the date and time of the recording.
If the URL is a file URL, a new recording will be created with that name.
The extension of the recording package is always .dtxprof
.
If set to nil
, the URL will reset to the default value.
The default value is a file name with the date and time of the recording, in the documents folder of the profiled app.


Welcome to Panucci's Pizza!
Select your crust:
Thin Crust
Hand Tossed
Deep Dish
Select your first topping:
-None-
Pepperoni
Chicken
Sausage
Select your second topping:
-None-
Olives
Onions
Peppers
Select your third topping:
-None-
Pineapples
Strawberries
Extra Cheese
Place your order!
Your order is placed!
Your total is
$
.00


Please open Developer Tools->Console and click around below to begin
Init Methods
Init with test PAM-enabled domain and default keys:
Output
Successful Response
You'll find your JSON output here!
Error Response
You'll find your default error callback output here!
Operations
Subscribe:
Publish:
History:
Here Now:
Unsubscribe:
Time:
Set UUID:
Set auth key:
PAM Grant:
PAM Revoke:
PAM Audit:


| | |
- Temperature
class Temperature |
| |
Synopsis:
Model class for the temperature, humidity, date, time
Details:
Class for temperature modelling and other stats needed to be
inserted into database. This includes celsisus and Fahrenheit temperatures,
time and date stamps, and the UUID, used for identifying hardware. |
| |
Methods defined here:
- __init__(self, temp_celsius, temp_fahrenheit)
- Synopsis:
Constructor method
Details:
Instantiates two temperatures, time, date, and UUID attributes
- current_date(self)
- Synopsis:
Current date method
Details:
Get the current date; for debugging only
- current_reading(self)
- Synopsis:
Current reading method
Details:
Get the current temperature, humidity, time in Epoch, and date; for debugging only.
Developers can get individual statisics as well, labeled below.
- get_temp_celsius(self)
- Synopsis:
Current celsius temperature
Details:
Get the current temperature in celsius; for debugging only
- get_temp_fahrenheit(self)
- Synopsis:
Current Fahrenheit temperature method
Details:
Get the current temperature in fahrenheit; for debugging only
- get_uuid(self)
- Synopsis:
Obtain UUID method
Details:
Obtain UUID from text file already generated.
| |


Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications.
It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community.
Planet Scale
Designed on the same principles that allows Google to run billions of containers a week, Kubernetes can scale without increasing your ops team.
Never Outgrow
Whether testing locally or running a global enterprise, Kubernetes flexibility grows with you to deliver your applications consistently and easily no matter how complex your need is.
Run Anywhere
Kubernetes is open source giving you the freedom to take advantage of on-premises, hybrid, or public cloud infrastructure, letting you effortlessly move workloads to where it matters to you.
The Challenges of Migrating 150+ Microservices to Kubernetes
By Sarah Wells, Technical Director for Operations and Reliability, Financial Times
Attend KubeCon in San Diego on Nov. 18-21, 2019
Attend KubeCon in Amsterdam on Mar. 30-Apr. 2, 2020
Kubernetes Features
Service discovery and load balancing
No need to modify your application to use an unfamiliar service discovery mechanism. Kubernetes gives Pods their own IP addresses and a single DNS name for a set of Pods, and can load-balance across them.Automatic bin packing
Automatically places containers based on their resource requirements and other constraints, while not sacrificing availability. Mix critical and best-effort workloads in order to drive up utilization and save even more resources.Storage orchestration
Automatically mount the storage system of your choice, whether from local storage, a public cloud provider such as GCP or AWS, or a network storage system such as NFS, iSCSI, Gluster, Ceph, Cinder, or Flocker.Self-healing
Restarts containers that fail, replaces and reschedules containers when nodes die, kills containers that don’t respond to your user-defined health check, and doesn’t advertise them to clients until they are ready to serve.Automated rollouts and rollbacks
Kubernetes progressively rolls out changes to your application or its configuration, while monitoring application health to ensure it doesn’t kill all your instances at the same time. If something goes wrong, Kubernetes will rollback the change for you. Take advantage of a growing ecosystem of deployment solutions.Secret and configuration management
Deploy and update secrets and application configuration without rebuilding your image and without exposing secrets in your stack configuration.Batch execution
In addition to services, Kubernetes can manage your batch and CI workloads, replacing containers that fail, if desired.Horizontal scaling
Scale your application up and down with a simple command, with a UI, or automatically based on CPU usage.Case Studies
"Kubernetes has improved our experience using cloud infrastructure. There is currently no alternative …"
Read more"We saw the amazing community that’s grown up around Kubernetes, and we wanted to be part of that. We …"
Read more"The community is absolutely vital: being able to pass ideas around, talk about a lot of the similar …"
Read more"We made the right decisions at the right time. Kubernetes and the cloud native technologies are now …"
Read moreCase Studies
We are a CNCF graduated project


Thomas R. Kern<EMAIL_ADDRESS>Mathematical History:
Independent Educational Video Development (2022-present)
- I am currently focusing on developing lecture videos for Youtube. This process involves literature research, independent mathematical research, learning video editing techniques, and creating visualizations. Highlights include:
Assistant Professor, Landmark College (2019-2022)
- Taught:
- College Algebra
- Calc 1
- Introduction to Calculus
- Calc 3
- Computer Graphics
Independent Educational Software Development (2018-2019)
- I spent a year focusing on developing educational interactives to supplement various mathematics courses and communicate mathematical ideas that are important to me. All my interactives are accessible from https://trkern.github.io/. Highlights include:
- Velocity Meant to guide students towards stumbling across the limit definition of a derivative on their own.
- Electronic Polynomial Educational Experience A demo of a long term project to produce a computation assistant, allowing students to focus on which rules to apply when without worrying about applying them correctly.
- Transforming Functions Allows students to visualize how changing a function transforms its graph.
- Linear Transformations Visualize the effects and properties of 2x2 matrixes.
- Ehrenfeucht-Fraïssé Game Explore the first order logic of graphs through this common model-theoretic tool.
Visiting Assistant Professor, SUNY Oswego (2017-2018)
- Taught:
- College Algebra
- Introductory Statistics A
- Matrix Algebra
Visiting Assistant Professor, Cornell University (2016-2017)
- Taught:
- Calculus I
- Multivariable Calculus
Ph.D. in Math, M.S. in Computer Science, Cornell University (2009-2016)
- My dissertation was on Nonstandard Models of the Weak Second Order Theory of One Successor, under Anil Nerode
- Automata Theory
- Model Theory
- Assisted Maria Terrell in the development of Calculus with Applications
- Taught:
- Led Recitations:
- Linear Algebra
- Multivariable Calculus for Engineers
- Theoretical Linear Algebra and Calculus
- Honors Calculus II
- Multivariable Calculus
- Calculus for Engineers
- Served as organizer for the Cornell Math Department Teaching Seminar
- Also Studied:
B.A. in Math, Dartmouth College (2005-2009)
- Mathematical Research:
- Models of Failures of the Axiom of Choice
- Model Theory of Linear Orderings
- Symmetric Chromatic Polynomials on Graphs


SWEPT FROM THE SEA (TriStar - 1997) Starring Vincent Perez, Rachel Weisz, Ian McKellen, Joss Ackland, Kathy Bates Screenplay by Tim Willocks, inspired by the short story "Amy Foster" by Joseph Conrad Produced by Polly Tapson, Charles Steel, Beeban Kidron Directed by Beeban Kidron Running time: 115 minutes
** (out of four stars) Alternate Rating: C
Note: Some may consider portions of the following text to be spoilers. Be forewarned.
-------------------------------------------------------------
Joseph Conrad's greatest contribution to cinema will undoubtedly be his novel "Heart Of Darkness", crafted by Francis Ford Coppola into the visionary landmark masterpiece APOCALYPSE NOW. At long last, his works are currently undergoing a mild cinematic revival -- last year saw his novel "The Secret Agent", filmed earlier by Alfred Hitchcock as SABOTAGE, make a return to the screen as Christopher Hampton's sophomore directorial effort, and 1997 brings about a big-budget adaptation of his novella "Amy Foster" to the silver screen, retitled as SWEPT FROM THE SEA and helmed by Beeban Kidron.
It's understandable that the filmmakers chose to go with the title of SWEPT BY THE SEA for their period romance over the film's original shooting title, which retained the title of the original source -- not only is it a literal description of the early pivotal moment which sets the film in motion, but it's inherently more cinematic and has a greater echo of lush romanticism than the rather staid and mannered tone implied by "Amy Foster". The film is in any case more intently focused upon Yanko Gooral (Vincent Perez), the solitary survivor of a Ukrainian shipwreck who washes ashore by the rural Cornish village of Colebrook, than it is interested in Amy Foster (Rachel Weisz), whose premarital conception has rendered her an outcast in said village, and whose use of silence as a defense mechanism is perceived by townsfolk as evidence of simplemindedness. It's a good thing that Yanko is the central character of the film, for in SWEPT BY THE SEA, Amy Foster is a dullard -- bland and uninteresting.
It doesn't help matters that Ms. Weisz is astonishingly flat and lifeless in the female lead role. Amy Foster is a character who shields her passions behind a wall of cold remoteness, but Ms. Weisz's performance in the majority of the film is simply expressionless, with a mild hint of irritability; there is no indication of any sort of restraint on the part of her character or any sense of inner turmoil, while her handful of emotionally volatile scenes are ineffective and lack credibility.
Ms. Weisz's performance is *so* awkward that it saps the life out of the standard-issue romance between Yanko and Amy, and actually begins to get in the way of the more interesting and better-developed relationship between Yanko and Dr. Kennedy (Ian McKellen), the kindly gentleman who first recognizes Yanko's intelligence and becomes his mentor. Given that SWEPT FROM THE SEA is positioned as a romantic epic, this is near-disasterous -- one would like to hope that the romantic relationship might be the interesting one in the film, rather than a cumbersome nuisance.
The friendship between Dr. Kennedy and Yanko, though a familiar retread, is nicely portrayed with a sense of warmth and compassion. Mr. McKellen is typically strong, subtly introducing some conflict and complexity into an otherwise saintly character, while Mr. Perez turns in a capable performance as the ridiculously good-natured outsider with only modest aspirations who is nonetheless subjected to relentless xenophobic malevolence by the villagers. SWEPT FROM THE SEA clearly attempts to address the theme of persecution -- both of the leads are outcasts, brought together by small acts of kindness and compassion rarely found elsewhere in their daily existence -- but it's handled rather heavy-handedly, and the film starts to become increasingly absurd with Yanko's continued attempts to integrate himself into the Cornish society by coming across as innocuous, gamely putting forth a brave face and flashing a goofy, bizarrely sheepish grin in the face of such loathing and hatred.
Tim Willocks' screenplay draws out the characters in SWEPT FROM THE SEA in extremely broad strokes, with none of the characters remotely enigmatic in their intentions or disposition. As in most unabashedly romantic and gushingly melodramatic films, the shallowly-depicted characters neatly fall into one of two camps: heroic and sympathetic, or eminently hissable, and while easily identifiable heroes and villains are a staple for the genre, there is little excuse for Mr. Willocks' lame, uneven plotting. The film completely lacks the cathartic dramatic punch with Amy's redeeming acts during the climactic third act that is sorely needed -- granted, Ms. Weisz's unempathic performance doesn't help either -- and employs devices throughout the film which are clearly intended to be cute or magical, such as the scenes of Dr. Kennedy's introduction to Yanko's chess-playing abilities and Amy's secret hideaway, but merely come off as silly or goofy. An early scene in SWEPT BY THE SEA is particularly ineffective; while intended as a tender moment between Amy and Yanko as the outsiders first meet, neither of the characters have been sufficiently drawn out at this point for the audience to have any vested interest in their fates, and consequently the sequence loses its power and appears excessively cliched and melodramatic.
Technically, SWEPT FROM THE SEA is a handsome film. The sound work by George Richards is superb, particularly in the shipwreck sequence and the storm sequence, while Dick Pope's cinematography is crisp, sharp, and striking. However, John Barry's bleating score becomes rather tiresome and doesn't meld well with the film.
What is perhaps most striking about SWEPT FROM THE SEA is its utter conviction in its material; the film is terribly earnest, and plays with complete sincerity. While the plot of the film is familiar and the romance is squandered, resulting in a historical saga which is at best mediocre, it is the film's complete faith in the ardour and fascination of its story which succeeds in sustaining viewer interest.
- Alex Fung email<EMAIL_ADDRESS>web : http://www.ncf.carleton.ca/~aw220/
-- Alex Fung<EMAIL_ADDRESS>| http://www.ncf.carleton.ca/~aw220/ "Man, that was a big spider. It was so big I thought I saw a small dog caught in its web. We are talking big.  - Hope Davis, THE MYTH OF FINGERPRINTS
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


import java.util.concurrent.TimeUnit;
@Target({METHOD, TYPE})
@Retention(RUNTIME)
public @interface AccessTimeout {
long value();
TimeUnit unit() default TimeUnit.MILLISECONDS;
}
@AccessTimeout Annotation
Before taking a look at @AccessTimeout
, it might help to see when a caller might have to "wait"
Waiting
Stateful Bean
| By default, clients are allowed to make concurrent calls to a stateful session object and the container is required to serialize such concurrent requests. The container never permits multi-threaded access to the stateful session bean instance. For this reason, Read/Write method locking metadata, as well as the bean-managed concurrency mode, are not applicable to stateful session beans and must not be used. |
This means that when a method foo()
of a stateful bean instance is being executed and a second request comes in for that method or another method, EJB container would serialize the second request. It would not let the method be executed concurrently but wait until the first request is processed.
The client would wait also when @Stateful
bean is in a transaction and the client is invoking it from outside that transaction.
Stateless Bean
If there are 20 instances of a bean in the pool and all of them are busy. When the next request comes in, the processing might wait for a bean to be available in the pool. (Note: Pooling sematics, if any, are not covered by the spec. The vendor’s pooling semantics might or might not involve a wait condition)
Singleton Bean
The container enforces a single-threaded access by default to singleton beans. That’s the equivalent of annotating with @Lock(Write)
. So when a @Lock(Write)
method is executing, all other @Lock(READ)
and @Lock(WRITE)
method invocations would have to wait.
Summary
-
@Singleton
- an@Lock(WRITE)
method is being invoked and container-managed concurrency is being used. All methods are@Lock(WRITE)
by default. -
@Stateful
- any method of the instance is being invoked and a second invocation occurs. OR the@Stateful
bean is in a transaction and the caller is invoking it from outside that transaction. -
@Stateless
- no instances are available in the pool. As noted, however, pooling sematics, if any, are not covered by the spec. If the vendor’s pooling semantics do involve a wait condition, the @AccessTimeout should apply.
@AccessTimeout
The @AccessTimeout
is simply a convenience wrapper around the long
and TimeUnit
tuples commonly used in the java.util.concurrent
API.
Usage
A method or class can be annotated with @AccessTimeout
to specify the maximum time a call might wait for access to the bean should a wait condition occur.
The semantics of the value element are as follows:
-
A
value
> 0 indicates a timeout value in the units specified by theunit
element. -
A
value
of 0 means concurrent access is not permitted. -
A
value
of -1 indicates that the client request will block indefinitely until forward progress can proceed.
Just as simple as that !
| What exception would the client receive, with a timeout ? Quoting from the spec, "if a client-invoked business method is in progress on an instance when another client-invoked call, from the same or different client, arrives at the same instance of a stateful session bean, if the second client is a client of the bean’s business interface or no-interface view, the concurrent invocation must result in the second client receiving a javax.ejb.ConcurrentAccessException[15]. If the EJB 2.1 client view is used, the container must throw a java.rmi.RemoteException if the second client is a remote client, or a javax.ejb.EJBException if the second client is a local client" |
No standard default
Note that the value
attribute has no default. This was intentional and intended to communicate that if @AccessTimeout
is not explicitly used, the behavior you get is vendor-specific.
Some vendors will wait for a preconfigured time and throw javax.ejb.ConcurrentAccessException
, some vendors will throw it immediately.
Example
Here we have a simple @Singleton bean that has three synchronous methods and one @Asynchronous
method. The bean itself is annotated @Lock(WRITE)
so that only one thread may access the @Singleton
at a time. This is the default behavior of an @Singleton
bean, so explicit usage of @Lock(WRITE)
is not needed but is rather nice for clarity as the single-threaded nature of the bean is important to the example.
@Singleton
@Lock(WRITE)
public class BusyBee {
@Asynchronous
public Future stayBusy(CountDownLatch ready) {
ready.countDown();
try {
new CountDownLatch(1).await();
} catch (InterruptedException e) {
Thread.interrupted();
}
return null;
}
@AccessTimeout(0)
public void doItNow() {
// do something
}
@AccessTimeout(value = 5, unit = TimeUnit.SECONDS)
public void doItSoon() {
// do something
}
@AccessTimeout(-1)
public void justDoIt() {
// do something
}
}
The @Asynchronous
method is not a critical part of @AccessTimeout
, but serves as a simple way to "lock" the bean for testing purposes. It allows us to easily test the concurrent behavior of the bean.
public class BusyBeeTest extends TestCase {
public void test() throws Exception {
final Context context = EJBContainer.createEJBContainer().getContext();
final CountDownLatch ready = new CountDownLatch(1);
final BusyBee busyBee = (BusyBee) context.lookup("java:global/access-timeout/BusyBee");
// This asynchronous method will never exit
busyBee.stayBusy(ready);
// Are you working yet little bee?
ready.await();
// OK, Bee is busy
{ // Timeout Immediately
final long start = System.nanoTime();
try {
busyBee.doItNow();
fail("The bee should be busy");
} catch (Exception e) {
// the bee is still too busy as expected
}
assertEquals(0, seconds(start));
}
{ // Timeout in 5 seconds
final long start = System.nanoTime();
try {
busyBee.doItSoon();
fail("The bee should be busy");
} catch (Exception e) {
// the bee is still too busy as expected
}
assertEquals(5, seconds(start));
}
// This will wait forever, give it a try if you have that long
//busyBee.justDoIt();
}
private long seconds(long start) {
return TimeUnit.NANOSECONDS.toSeconds(System.nanoTime() - start);
}
}
Running
mvn clean test
Output
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.superbiz.accesstimeout.BusyBeeTest
Apache OpenEJB 4.0.0-beta-1 build: 20111002-04:06
http://tomee.apache.org/
INFO - openejb.home = /Users/dblevins/examples/access-timeout
INFO - openejb.base = /Users/dblevins/examples/access-timeout
INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
INFO - Found EjbModule in classpath: /Users/dblevins/examples/access-timeout/target/classes
INFO - Beginning load: /Users/dblevins/examples/access-timeout/target/classes
INFO - Configuring enterprise application: /Users/dblevins/examples/access-timeout
INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
INFO - Auto-creating a container for bean BusyBee: Container(type=SINGLETON, id=Default Singleton Container)
INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
INFO - Auto-creating a container for bean org.superbiz.accesstimeout.BusyBeeTest: Container(type=MANAGED, id=Default Managed Container)
INFO - Enterprise application "/Users/dblevins/examples/access-timeout" loaded.
INFO - Assembling app: /Users/dblevins/examples/access-timeout
INFO - Jndi(name="java:global/access-timeout/BusyBee!org.superbiz.accesstimeout.BusyBee")
INFO - Jndi(name="java:global/access-timeout/BusyBee")
INFO - Jndi(name="java:global/EjbModule748454644/org.superbiz.accesstimeout.BusyBeeTest!org.superbiz.accesstimeout.BusyBeeTest")
INFO - Jndi(name="java:global/EjbModule748454644/org.superbiz.accesstimeout.BusyBeeTest")
INFO - Created Ejb(deployment-id=org.superbiz.accesstimeout.BusyBeeTest, ejb-name=org.superbiz.accesstimeout.BusyBeeTest, container=Default Managed Container)
INFO - Created Ejb(deployment-id=BusyBee, ejb-name=BusyBee, container=Default Singleton Container)
INFO - Started Ejb(deployment-id=org.superbiz.accesstimeout.BusyBeeTest, ejb-name=org.superbiz.accesstimeout.BusyBeeTest, container=Default Managed Container)
INFO - Started Ejb(deployment-id=BusyBee, ejb-name=BusyBee, container=Default Singleton Container)
INFO - Deployed Application(path=/Users/dblevins/examples/access-timeout)
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.071 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0