This file lists major changes which accompany each new release. Version 1.6.1: This is primarily a minor bug-fix release. One added feature is the ability to call gl_normal_io() from callbacks registered by gl_watch_fd() and gl_inactivity_timeout(). This allows these callbacks to cleanly suspend line editing before either reading from the terminal, or writing to the terminal; and then subsequently causes the input line to be automatically redisplayed, and line-editing to be resumed by gl_get_line(), as soon as the callback returns. Another minor change is that if the terminal type specified in the TERM environment variable is set to "dumb", gl_get_line() now treats the terminal as though it were a non-interactive stream, rather than treating it as a VT100-compatible terminal. This means that it doesn't either prompt for input, or perform any command-line editing, even when it really is interacting with a terminal. This is aimed at the rare situation where a third-pary program that connects to libtecla through an embedded pseudo-terminal, needs to be forced to behave as though it weren't talking to a terminal, in order that it be useable in non-interactive scripts. Note that in the previous release, the optional configuration function, gl_tty_signals(), was incorrectly swapping the suspend and terminal signal handlers before installing them. A configuration problem that prevented select() from being used under MacOS X, has been fixed. Although not documented in the man page, it was meant to be possible to take the input line that one call to gl_get_line() returned, and ask the next call to gl_get_line() to present it back to the user for re-editing, simply by passing the pointer returned by one call to gl_get_line() as the start_line argument of the next call to gl_get_line(). This feature unfortunately stopped working in 1.6.0, so this release restores it, and officially documents it in the man page documentation of gl_get_line(). In the previous version of the library, calling gl_terminal_size() on a system without SIGWINCH support, would crash the application. This has been fixed. Libtecla now apparently compiles cleanly under IRIX. Version 1.6.0: This release is primarily a bug-fix release. However there are also four new functions, so the minor version number has been incremented to reflect this. Two of the new functions are gl_automatic_history() and gl_append_history(). The former of these functions allows the application to tell gl_get_line() not to automatically archive entered lines in the history list. The second of these functions allows the application to explicitly append a line to the history list. Thus together, these two functions allow the calling application to take over control of what is placed in the history list. The third new function is gl_query_char(), which prompts the user for a single character reply, which the user can then type without having to hit return to enter it. Unless echoing is disabled, the character that is entered is then displayed after the prompt, and a newline is started. Finally, the 4th new function is gl_read_char(), which also reads a single character from the user, but doesn't prompt the user, write anything to the terminal, or disturb any partially entered input line. It is thus safe to call this function not only from between calls to gl_get_line(), but also from application callback functions, even if gl_normal_io() hasn't been called. When using the history-search-backwards or history-search-forwards actions, if the search prefix that the user typed, contains any of the *,? or [ globbing characters, it is now treated as a glob pattern to be matched against historical lines, instead of a simple prefix. I have added a --without-file-system option to the configure script. This is intended for use in embedded systems that either don't have filesystems, or where the file-system code in libtecla is seen as unwanted bloat. See the INSTALL document for details. Similarly, I also added a --without-file-actions option to the configure script. This allows the application author/installer to prevent users of gl_get_line() from accessing the filesystem with the builtin actions of gl_get_line(). It does this by removing a number of action functions, such as expand-filename, and list-glob, and by changing the default behavior of other actions, such as complete-word and list-or-eof, to show no completions. Now to the bugs that have been fixed. Version 1.5.0 had a lot of big internal changes, so there are a number of bugs that needed to be fixed. There was a bug which caused a crash if gl_load_history() was called multiple times. There was another bug which caused a prompt not to be displayed on the next line after switching from reading input from a file to reading from the terminal. Also, in tecla configuration files, backslash escaped characters within key-binding key-sequences weren't being escaped. Thus ^\\ got interpretted as a control-\ followed by a \ character instead of as a control-\. There was a bug in the history recall mechanism which caused the search prefix to be forgotten in certain complicated usage scenarios. There was a minor memory leak in the gl_configure_getline() function. Finally, if gl_get_line() was aborted by a signal, or any other abnormal event, the value of errno which originally indicated what had happened, got zeroed by the code that restored the terminal to a usable state. Thus the application couldn't figure out what had caused the error, apart from by looking at gl_return_status(). All of these bugs have been fixed. In the Makefile, there were a number of places where install-sh was invoked without a path prefix. This has now been remedied. A fully functional workaround for a bug in Solaris' terminal I/O code has also been implemented. This bug, which only manifested itself in libtecla's uncommonly used non-blocking server I/O mode, caused characters entered while in normal I/O mode, between calls to gl_get_line() to be invisible to the next call to gl_get_line(), until the user typed at least one more key after raw terminal mode was restored. The Gnu autoconf config.guess and config.sub scripts have been updated to their latest versions. Apparently the old versions that I was previously using were too old to know about certain BSD ports. Version 1.5.0: This release includes several major new features for those using gl_get_line(), shared library support in Darwin, better cross compilation support, and various minor bug fixes. The biggest new feature is the option of a non-blocking I/O mode, in which gl_get_line() can safely be called from an application's external event-loop to incrementally read input lines from the user. This feature is documented in the gl_io_mode(3) man page. In addition, there is now support for the definition of additional word-completion action functions, which can then be bound to different keys. See the documentation of the gl_completion_action() function in the gl_get_line(3) man page. Externally defined action functions can also be defined, although presently they don't have write access to the input line, so they are restricted to operations that display information text to the terminal, or modify the environment of the calling application in some way. See the documentation of the gl_register_action() function in the gl_get_line(3) man page. Some of the non-blocking I/O support functions can also be used for improved signal handling in the normal blocking mode. In particular, the gl_list_signals() and gl_catch_blocked() functions make it easier to write reliable signal handling around gl_get_line(). The new "RELIABLE SIGNAL HANDLING" section of the gl_get_line(3) man page is intended as an introduction to this subject. Programs can now clear the terminal between calls to gl_get_line(), by calling the new gl_erase_terminal() function. The gl_display_text() function, now used in the demos to display introductory banners, is provided for formatting text according to the width of the terminal. It is now possible to install inactivity timeout callbacks in gl_get_line(), using the new gl_inactivity_timeout() function. The new gl_set_term_size() function allows the application to explicitly set the terminal size, for cases, such as when one is using a terminal at the end of a serial lineq, where the terminal driver doesn't send the process a SIGWINCH when the terminal size changes. The new gl_bind_keyseq() function provides a convenient alternative to gl_configure_getline(), for binding or unbinding one key-sequence at a time. gl_get_line()s signal handling, file-descriptor event-handling, inactivity-timeout handling and server-mode non-blocking I/O features now not only work when input is coming from a terminal, but now also work when input is coming from non-interactive streams, such as files and pipes. The history implementation has been re-written to make it more efficient and easier to modify. The biggest user-level change is that when recalling history lines using a search prefix, the same line is no longer returned more than once in a row. Previously this duplicate elimination only worked when one was recalling a line without specifying a search prefix, and this was naively performed by preventing neighboring duplicates from existing in the history list, rather than by skipping duplicates at search time. In previous versions of the library, when gl_get_line() and its associated public functions detected invalid arguments, or couldn't allocate memory, etc, error messages were written to stderr. This isn't appropriate for library functions, so instead of writing such messages to stderr, these messages are now recorded in buffers within the affected GetLine object. The latest error message can then subsequently be queried by calling gl_error_message(). The use of errno has also been expanded, and a new function called gl_return_status() has been provided to expand on the cause of the last return from gl_get_line(). User level usage and configuration information has now been split out of the gl_get_line(3) man page into a separate tecla(7) man page. The enhance(3) man page has also been renamed to enhance(1). When expanding "~/", gl_get_line() now checks for, and returns the value of the HOME environment variable, if it exists, in preference to looking up the directory of the current user in the password file. When the terminal was resized to a narrower width, previous versions of gl_get_line() would redraw the line higher up the terminal. This bug has been fixed. A bug in history recall has also been fixed, in which an error message was being generated if one attempted to recall a line while the cursor was at the end of the longest possible input line. A more serious bug, in which callbacks registered by gl_watch_fd() weren't being called for write-events, has also been fixed. Finally, a few minor fixes have been made to improve support under QNX and Mac OS X. Beware that in this release, much of the underlying code has undergone some radical re-work, so although backwards compatibility of all documented features has been preserved, there may be some lingering bugs that could break existing programs. So, if you plan to use this version in production code, please test it as far as possible within your application before releasing it to your clients, and as always, please report any unexpected behavior. Version 1.4.1: This is a maintenance release. It includes minor changes to support Mac OS X (Darwin), the QNX real-time operating system, and Cygwin under Windows. It also fixes an oversight that was preventing the tab key from inserting tab characters when users unbound the complete-word action from it. Version 1.4.0: The contents of the history list can now be saved and restored with the new gl_save_history() and gl_load_history() functions. Event handlers can now be registered to watch for and respond to I/O on arbitrary file descriptors while gl_get_line() is waiting for terminal input from the user. See the gl_get_line(3) man page for details on gl_watch_fd(). As an optional alternative to getting configuration information only from ~/.teclarc, the new gl_configure_getline() function allows configuration commands to be taken from any of, a string, a specified application-specific file, and/or a specified user-specific file. See the gl_get_line(3) man page for details. The version number of the library can now be queried using the libtecla_version() function. See the libtecla(3) man page. The new gl_group_history() function allows applications to group different types of input line in the history buffer, and arrange for only members of the appropriate group to be recalled on a given call to gl_get_line(). See the gl_get_line(3) man page. The new gl_show_history() function displays the current history list to a given stdio output stream. See the gl_get_line(3) man page. new_GetLine() now allows you to specify a history buffer size of zero, thus requesting that no history buffer be allocated. You can subsequently resize or delete the history buffer at any time, by calling gl_resize_history(), limit the number of lines that are allowed in the buffer by calling gl_limit_history(), clear either all history lines from the history list, or just the history lines that are associated with the current history group, by calling gl_clear_history, and toggle the history mechanism on and off by calling gl_toggle_history(). The new gl_terminal_size() function can be used to query the current terminal size. It can also be used to supply a default terminal size on systems where no mechanism is available for looking up the size. The contents and configuration of the history list can now be obtained by the calling application, by calling the new gl_lookup_history(), gl_state_of_history(), gl_range_of_history() and gl_size_of_history() functions. See the gl_get_line(3) man page. Echoing of the input line as it is typed, can now be turned on and off via the new gl_echo_mode() function. While echoing is disabled, newly entered input lines are omitted from the history list. See the gl_get_line(3) man page. While the default remains to display the prompt string literally, the new gl_prompt_style() function can be used to enable text attribute formatting directives in prompt strings, such as underlining, bold font, and highlighting directives. Signal handling in gl_get_line() is now customizable. The default signal handling behavior remains essentially the same, except that the SIGTSTP, SIGTTIN and SIGTTOU are now forwarded to the corresponding signal handler of the calling program, instead of causing a SIGSTOP to be sent to the application. It is now possible to remove signals from the list that are trapped by gl_get_line(), as well as add new signals to this list. The signal and terminal environments in which the signal handler of the calling program is invoked, and what gl_get_line() does after the signal handler returns, is now customizable on a per signal basis. You can now also query the last signal that was caught by gl_get_line(). This is useful when gl_get_line() aborts with errno=EINTR, and you need to know which signal caused it to abort. Key-sequences bound to action functions can now start with printable characters. Previously only keysequences starting with control or meta characters were permitted. gl_get_line() is now 8-bit clean. If the calling program has correctly called setlocale(LC_CTYPE,""), then the user can select an alternate locale by setting the standard LC_CTYPE, LC_ALL, or LANG environment variables, and international characters can then be entered directly, either by using a non-US keyboard, or by using a compose key on a standard US keyboard. Note that in locales in which meta characters become printable, meta characters no longer match M-c bindings, which then have to be entered using their escape-c equivalents. Fortunately most modern terminal emulators either output the escape-c version by default when the meta key is used, or can be configured to do so (see the gl_get_line(3) man page), so in most cases you can continue to use the meta key. Completion callback functions can now tell gl_get_line() to return the input line immediately after a successful tab completion, simply by setting the last character of the optional continuation suffix to a newline character (ie. in the call to cpl_add_completion()). It is now safe to create and use multiple GetLine objects, albeit still only from a single thread. In conjunction with the new gl_configure_getline() function, this optionally allows multiple GetLine objects with different bindings to be used to implement different input modes. The edit-mode configuration command now accepts the argument, none. This tells gl_get_line() to revert to using just the native line editing facilities provided by the terminal driver. This could be used if the termcap or terminfo entry of the host terminal were badly corrupted. Application callback functions invoked by gl_get_line() can now change the displayed prompt using the gl_replace_prompt() function. Their is now an optional program distributed with the library. This is a beta release of a program which adds tecla command-line editing to virtually any third party application without the application needing to be linked to the library. See the enhance(3) man page for further details. Although built and installed by default, the INSTALL document explains how to prevent this. The INSTALL document now explains how you can stop the demo programs from being built and installed. NetBSD/termcap fixes. Mike MacFaden reported two problems that he saw when compiling libtecla under NetBSD. Both cases were related to the use of termcap. Most systems use terminfo, so this problem has gone unnoticed until now, and won't have affected the grand majority of users. The configure script had a bug which prevented the check for CPP working properly, and getline.c wouldn't compile due to an undeclared variable when USE_TERMCAP was defined. Both problems have now been fixed. Note that if you successfully compiled version 1.3.3, this problem didn't affect you. An unfortunate and undocumented binding of the key-sequence M-O was shadowing the arrow-key bindings on systems that use ^[OA etc. I have removed this binding (the documented lower case M-o binding remains bound). Under the KDE konsole terminal this was causing the arrow keys to do something other than expected. There was a bug in the history list code which could result in strange entries appearing at the start of the history list once enough history lines had been added to the list to cause the circular history buffer to wrap. This is now fixed. Version 1.3.3: Signal handling has been re-written, and documentation of its behaviour has been added to the gl_get_line(3) man page. In addition to eliminating race conditions, and appropriately setting errno for those signals that abort gl_get_line(), many more signals are now intercepted, making it less likely that the terminal will be left in raw mode by a signal that isn't trapped by gl_get_line(). A bug was also fixed that was leaving the terminal in raw mode if the editing mode was changed interactively between vi and emacs. This was only noticeable when running programs from old shells that don't reset terminal modes. Version 1.3.2: Tim Eliseo contributed a number of improvements to vi mode, including a fuller set of vi key-bindings, implementation of the vi constraint that the cursor can't backup past the point at which input mode was entered, and restoration of overwritten characters when backspacing in overwrite mode. There are also now new bindings to allow users to toggle between vi and emacs modes interactively. The terminal bell is now used in some circumstances, such as when an unrecognized key sequence is entered. This can be turned off by the new nobeep option in the tecla configuration file. Unrelated to the above, a problem under Linux which prevented ^Q from being used to resume terminal output after the user had pressed ^S, has been fixed. Version 1.3.1: In vi mode a bug was preventing the history-search-backward and history-search-forward actions from doing anything when invoked on empty lines. On empty lines they now act like up-history and down-history respectively, as in emacs mode. When creating shared libraries under Linux, the -soname directive was being used incorrectly. The result is that Linux binaries linked with the 1.2.3, 1.2.4 and 1.3.0 versions of the tecla shared libraries, will refuse to see other versions of the shared library until relinked with version 1.3.1 or higher. The configure script can now handle the fact that under Solaris-2.6 and earlier, the only curses library is a static one that hides in /usr/ccs/lib. Under Linux it now also caters for old versions of GNU ld which don't accept version scripts. The demos are now linked against the shared version of the library if possible. Previously they were always linked with the static version. Version 1.3.0: The major change in this release is the addition of an optional vi command-line editing mode in gl_get_line(), along with lots of new action functions to support its bindings. To enable this, first create a ~/.teclarc file if you don't already have one, then add the following line to it. edit-mode vi The default vi bindings, which are designed to mimic those of the vi editor as closely as possible, are described in the gl_get_line(3) man page. A new convenience function called ef_list_expansions() has been added for listing filename expansions. See the ef_list_expansions(3) man page for details. This is used in a new list-glob binding, bound to ^Xg in emacs mode, and ^G in vi input mode. A bug has been fixed in the key-binding table expansion code. This bug would have caused problems to anybody who defined more than about 18 personalized key-bindings in their ~/.teclarc file. Version 1.2.4: Buffered I/O is now used for writing to terminals, and where supported, cursor motion is done with move-n-positions terminfo capabilities instead of doing lots of move-1-position requests. This greatly improves how the library feels over slow links. You can now optionally compile different architectures in different directories, without having to make multiple copies of the distribution. This is documented in the INSTALL file. The ksh ~+ directive is now supported. Thanks to Markus Gyger for the above improvements. Documentation has been added to the INSTALL file describing features designed to facilitate configuration and installation of the library as part of larger packages. These features are intended to remove the need to modify the tecla distribution's configuration and build procedures when embedding the libtecla distribution in other package distributions. A previous fix to stop the cursor from warping when the last character of the input line was in the last column of the terminal, was only being used for the first terminal line of the input line. It is now used for all subsequent lines as well, as originally intended. Version 1.2.3: The installation procedure has been better automated with the addition of an autoconf configure script. This means that installers can now compile and install the library by typing: ./configure make make install On all systems this makes at least the normal static version of the tecla library. It also makes the reentrant version if reentrant POSIX functions are detected. Under Solaris, Linux and HP-UX the configuration script arranges for shared libraries to be compiled in addition to the static libraries. It is hoped that installers will return information about how to compile shared libraries on other systems, for inclusion in future releases, and to this end, a new PORTING guide has been provided. The versioning number scheme has been changed. This release would have been 1.2c, but instead will be refered to as 1.2.3. The versioning scheme, based on conventions used by Sun Microsystems, is described in configure.in. The library was also tested under HP-UX, and this revealed two serious bugs, both of which have now been fixed. The first bug prevented the library from writing control codes to terminals on big-endian machines, with the exception of those running under Solaris. This was due to an int variable being used where a char was needed. The second bug had the symptom that on systems that don't use the newline character as the control code for moving the cursor down a line, a newline wasn't started when the user hit enter. Version 1.2b: Two more minor bug fixes: Many terminals don't wrap the cursor to the next line when a character is written to the rightmost terminal column. Instead, they delay starting a new line until one more character is written, at which point they move the cursor two positions. gl_get_line() wasn't aware of this, so cursor repositionings just after writing the last character of a column, caused it to erroneously go up a line. This has now been remedied, using a method that should work regardless of whether a terminal exhibits this behavior or not. Some systems dynamically record the current terminal dimensions in environment variables called LINES and COLUMNS. On such systems, during the initial terminal setup, these values should override the static values read from the terminal information databases, and now do. Previously they were only used if the dimensions returned by terminfo/termcap looked bogus. Version 1.2a: This minor release fixes the following two bugs: The initial terminal size and subsequent changes thereto, weren't being noticed by gl_get_line(). This was because the test for the existence of TIOCWINSZ was erroneously placed before the inclusion of termios.h. One of the results was that on input lines that spanned more than one terminal line, the cursor occasionally jumped unexpectedly to the previous terminal line. On entering a line that wrapped over multiple terminal lines, gl_get_line() simply output a carriage-return line-feed at the point at which the user pressed return. Thus if one typed in such a line, then moved back onto one of the earlier terminal lines before hitting return, the cursor was left on a line containing part of the line that had just been entered. This didn't do any harm, but it looked a mess. Version 1.2: A new facility for looking up and completing filenames in UNIX-style paths has now been added (eg. you can search for, or complete commands using the UNIX PATH environment variable). See the pca_lookup_file(3) man page. The already existing filename completion callback can now be made selective in what types of files it lists. See the cpl_complete_word(3) man page. Due to its potential to break applications when changed, the use of the publically defined CplFileArgs structure to configure the cpl_file_completions() callback is now deprecated. The definition of this structure has been frozen, and its documentation has been removed from the man pages. It will remain supported, but if you have used it, you are recommended to switch to the new method, which involves a new opaque configuration object, allocated via a provided constructor function, configured via accessor functions, and eventually deleted with a provided destructor function. The cpl_file_completions() callback distinguishes which structure type it has been sent by virtue of a code placed at the start of the new structure by the constructor. It is assumed that no existing applications set the boolean 'escaped' member of the CplFileArgs structure to 4568. The new method is documented in the cpl_complete_word(3) man page. Version 1.1j This was the initial public release on freshmeat.org.


China’s Enterovirus 71 Vaccine Reported Very Protective Against Hand-Foot-and-Mouth Disease
KMB-17 Cell vaccine has successfully finished phase I, II and III clinical trials
by Don Ward HackettUpdated
November 21st, 2019
A recent phase 4b clinical study in Hubei Province, China, reported very positive results regarding an existing vaccine against Enterovirus A71 (EV-A71).
This is important news since EV-A71 has emerged as a major concern among pediatric infectious diseases during the past 20 years.
EV-A71 is a major pathogen causing hand-foot-and-mouth disease (HFMD), particularly in the Asia-Pacific region. As an example, an EV-A71 epidemic occurred in Taiwan in 1998, which caused 405 severe cases and 78 fatalities.
The target population for the EV71-infected HFMD cases in this study was children between the ages of 6 to 71 months.
Given this younger population, it is necessary to conduct a postmarketing phase 4b trial for long-term observation to evaluate the KMB-17 vaccine’s distinctive effectiveness and to identify potential safety issues.
This open-label and controlled post-marketing study’s results were published in Clinical Infectious Diseases on November 11, 2019.
This study found the inactivated KMB-17 vaccine was shown to have an overall vaccine effectiveness of 89.7 percent effective against HFMD, from 40,724 children evaluated.
And, the KMB-17 vaccine produced a 4.58 percent adverse event rate, with the passive surveillance showed a 0.31 percent rate of common minor reactions.
This is reassuring news since EV71 is a major pathogen causing hand-foot-and-mouth disease. An infection that occasionally leads to severe diseases, with central nervous system (CNS) damage.
A stage-based management approach was developed for the treatment of EV-A71 infection in 2000, and it lowered the case-fatality rate of severe EV-A71 cases, but long-term sequelae are very concerning, especially in young children, reported an August 2019 study.
Neurodevelopment and cognitive function may be affected by viral encephalitis or by bacterial meningitis. The fact that the survival rate of children with EV-A71 CNS infections has improved after stage-based management, shows that it is important to monitor neurological and functional outcomes.
Regarding hand, foot, and mouth disease, it is a contagious illness caused by different viruses. HFMD is usually not serious, and most people recover in 7 to 10 days, without medical treatment, says the US Centers for Disease Control and Prevention (CDC).
Rarely, an infected person can develop viral meningitis and may need to be hospitalized for a few days. Other even more rare complications can include paralysis or encephalitis, which can be fatal.
In the United States it is more common for people to get HFMD during summer and fall, says the CDC.
There is no specific treatment for HFMD, and it is important for people with HFMD to drink enough fluids to prevent dehydration.
HFMD is often confused with foot-and-mouth disease (also called hoof-and-mouth disease), which affects cattle, sheep, and swine. Humans do not get the animal disease, and animals do not get the human disease, said the CDC during July 2019.
The KMB-17 vaccine previously completed phase I, II and III clinical trials and was licensed in China in December 2015.
This vaccine is currently not licensed in the USA.
This phase 4b study sponsors and collaborators were the Chinese Academy of Medical Sciences and the Hubei Provincial Center for Disease Control and Prevention (HPCDC). The Principal Investigator was Xuhua Guan, M.S., with HPCDC.
Hand-Foot-and-Mouth vaccine news published by Precision Vaccinations
|
|
Fact checked by Robert Carlson, MD |
References:
- Effectiveness and safety of an inactivated enterovirus 71 vaccine in children aged 6-71 months in a phase IV study
- Enterovirus A71 neurologic complications and long-term sequelae
- CDC: Hand, Foot, and Mouth Disease
- The Phase IVb of Inactivated Enterovirus 71 Vaccine (Human Diploid Cell, KMB-17) in Chinese Children
- A Protected Study of Inactivated EV71 Vaccine (Human Diploid Cell, KMB-17) in Chinese Infants and Children


Ride For Life Aims to provide expecting mothers in Uganda a way to safely travel to medical facilities that are beyond their reach. Our motorcycle ambulances will be alerted and will respond within seconds to a request being made by a mother or a caregiver. Availability of health facilities are a huge obstacle that pregnant women face here in Uganda. Ride For Life operates within all regions of Uganda. If you are an expecting mother/caregiver or a driver who is willing to help secure a future for Uganda's children; We encourage you to Sign up now!
Ride For Life is a service that aims to provide expecting mothers a way to travel to medical facilities quickly and safely
If you or someone you care for is expecting a child or if you are a driver looking for work; we encourage you to sign up now!


Context information about the execution environment.
More...
#include <base.h>
Context information about the execution environment.
Type of device.
| Enumerator |
|---|
| kCPU |
|
| kGPU |
|
| kCPUPinned |
|
| kCPUShared |
|
| mxnet::Context::Context |
( |
| ) |
|
|
inline |
| static Context mxnet::Context::CPU |
( |
int32_t |
dev_id = 0 | ) |
|
|
inlinestatic |
| static Context mxnet::Context::CPUPinned |
( |
int32_t |
dev_id = -1 | ) |
|
|
inlinestatic |
Create a pinned CPU context.
- Parameters
-
| dev_id | the device id for corresponding GPU. |
- Returns
- Pinned CPU context. -1 for current GPU.
| static Context mxnet::Context::CPUShared |
( |
int32_t |
dev_id = 0 | ) |
|
|
inlinestatic |
Create a CPU shared memory context.
- Parameters
-
- Returns
- CPU shared memory context.
Create a new context.
- Parameters
-
| dev_type | device type. |
| dev_id | device id. -1 for current device. |
Get corresponding device mask.
- Returns
- cpu::kDevMask or gpu::kDevMask
| static Context mxnet::Context::FromString |
( |
const std::string & |
str | ) |
|
|
inlinestatic |
Create a context from string of the format [cpu|gpu|cpu_pinned](n)
- Parameters
-
- Returns
- Context
| static int32_t mxnet::Context::GetGPUCount |
( |
| ) |
|
|
inlinestatic |
Get the number of GPUs available.
- Returns
- The number of GPUs that are available.
| static void mxnet::Context::GetGPUMemoryInformation |
( |
int |
dev, |
|
|
uint64_t * |
free, |
|
|
uint64_t * |
total |
|
) |
| |
|
inlinestatic |
get the free and total available memory on a GPU
- Parameters
-
| dev | the GPU number to query |
| free_mem | pointer to the uint64_t holding free GPU memory |
| total_mem | pointer to the uint64_t holding total GPU memory |
- Returns
- No return value
| static int32_t mxnet::Context::GetGPUStreamsPerWorker |
( |
| ) |
|
|
inlinestatic |
Get the number of streams that a GPU Worker has available to operations.
- Returns
- The number of streams that are available.
| static Context mxnet::Context::GPU |
( |
int32_t |
dev_id = -1 | ) |
|
|
inlinestatic |
Create a GPU context.
- Parameters
-
- Returns
- GPU Context. -1 for current GPU.
| bool mxnet::Context::Load |
( |
dmlc::Stream * |
strm | ) |
|
|
inline |
load the content from binary stream
- Parameters
-
- Returns
- whether the load is successful
| bool mxnet::Context::operator!= |
( |
const Context & |
b | ) |
const |
|
inline |
check if current context not equals another one
- Parameters
-
| b | another context to compare |
- Returns
- whether they are not the same
| bool mxnet::Context::operator< |
( |
const Context & |
b | ) |
const |
|
inline |
Comparator, used to enable Context as std::map key.
- Parameters
-
| b | another context to compare |
- Returns
- compared result
| bool mxnet::Context::operator== |
( |
const Context & |
b | ) |
const |
|
inline |
check if current context equals another one
- Parameters
-
| b | another context to compare |
- Returns
- whether dev mask and id are same
| int mxnet::Context::real_dev_id |
( |
| ) |
const |
|
inline |
Returns dev_id for kGPU and kCPUPinned, 0 otherwise.
| void mxnet::Context::Save |
( |
dmlc::Stream * |
strm | ) |
const |
|
inline |
save the content into binary stream
- Parameters
-
| int32_t mxnet::Context::dev_id |
device id we are going to run it on
the device type we run the op on
| const int32_t mxnet::Context::kMaxDevID = 16 |
|
static |
| const int32_t mxnet::Context::kMaxDevType = 6 |
|
static |
The documentation for this struct was generated from the following file:


9 Further resources
Alexander, Michael, Richard Kusleika, and John Walkenbach. “Excel 2019 Bible”. John Wiley & Sons, 2018. Available online through the University of Bristol students here.
Alexander, Michael, Richard Kusleika, and John Walkenbach. “Excel 2019 Bible”. John Wiley & Sons, 2018. Available online through the University of Bristol students here.


Collision Detection Aim: To detect a collision between 2 objects
|
|
In this example I shall be using 2 ready-made entity objects, a Sphere and a Box.
Hopefully The program will display a message once the sphere comes into contact with the box. Run the program first to fully understand what is happening before delving into the sourcecode below.
| Graphics3D 800,600 Const CUBE_COL=1 Const SPHERE_COL=2 SetBuffer BackBuffer() camera=CreateCamera() CameraViewport camera,0,0,800,600 PositionEntity camera,0,0,-5 light=CreatLight() cube=CreateCube() PositionEntity cube,-5,0,5 EntityColor cube,70,80,190 EntityType cube,CUBE_COL sphere=CreateSphere(12) PositionEntity sphere,5,0,5 EntityColor sphere,170,80,90 EntityType sphere,SPHERE_COL Collisions SPHERE_COL,CUBE_COL,3,1 While Not KeyHit(1) MoveEntity sphere,-0.02,0,0 UpdateWorld RenderWorld If EntityCollided(sphere,CUBE_COL) Then Text 370,80,"Collided !!!" EndIf Text 335,500,"Collision Detection" Flip Wend End |
Being able to check for collisions is perhaps the most major part of any game. After all, without collision detection what's to stop Mario falling through the floor, or the bullets from Max Payne's gun doing its damage. We need it - whether we want it or not !.
If you look carefully through the above example you will notice quite a few new commands. Let's briefly run through the entire program before we look at these.
Firstly we create 2 objects - a Cube and a Sphere.., then we setup the collision so that B3D will check these objects every time the UPDATEWORLD instruction is called.
Slowly we move the Sphere towards the Cube, until they collide.. after that, we print up the collision message on the screen to signal that we have collided.
So what do these new instructions do:
|
Const CUBE_COL=1 Const SPHERE_COL=2 |
Ok, its not an instruction, but just something I've strung together for this example. When programming always try and make things as easy as possible - It will certainly help when it comes to debugging. (working out any problems)
The Collision instructions we have to setup rely on variables, but rather than just using numbers - I'll use the CONSTANT variables I've setup to represent them.
So in the above two lines, I can use the variable names CUBE_COL every time I want to use a 1 - and SPHERE_COL instead of 2. Although of course I could just use the numbers with the instructions, as you'll see it will help us out.
| EntityType cube,CUBE_COL |
After we've setup the basic entity object, we need to setup a collision variable for it. We do this by assigning a number to the entity, As you can see to do this we use the ENTITYTYPE command. Here I've set the entity cube to have a value of 1. (remember the CONST variable is set to 1)
| EntityType sphere,SPHERE_COL |
As before, we setup the sphere collision variable to have a value of 2.
AN IMPORTANT NOTE TO REMEMBER !
Every entity DOES NOT have to have a separate collision variable
number. For example say we created a 3d maze game, that had 10 objects for the
sides of the maze. We would want to check if we have collided with a wall, it wouldn't
matter which wall.. just a wall. So every wall object(entity) would have the
same collision variable.
I would use the code:
Const WALL=1
EntityType wall1,WALL
EntityType wall2,WALL... etc
Later on when we check for a collision we would just say, is there a collision with the wall ?. Nice and Easy isnt it ?
| Collisions SPHERE_COL,CUBE_COL,3,1 |
Now the fun begins, this is the main instruction that informs B3D which objects to check for collisions and what action it should take.
The first part of the line "Collisions SPHERE_COL,CUBE_COL,3,1", is saying that we want a check to take place between the collision markers 1 and 2. (Remember the Sphere is 1 and the Cube is 2)
If we had more entities with the same collision marker value, then of course these too would be included.
"Collisions SPHERE_COL,CUBE_COL,3,1" - The first value (3
), represents the type of collision that we want B3D to perform, in this case we are using mode '3' - which is a Sphere-to-Box collision.B3D has 3 different types of collisions we can perform, these are:
|
1 = Sphere-to-Sphere 2 = Sphere-to-Polygon 3 = Sphere-to-Box |
Now we come to the last value, "Collisions SPHERE_COL,CUBE_COL,3,1". This is the response value, it signals what B3D should do when a collision has taken place. I used the value 1 which is used for a dead stop. (when it collides with something, don't let it move any closer to it)
As before there are 3 mode types we can use:
|
1 = Stop 2 = Slide1 - Full sliding collision 3 = Slide2 - Takes into consideration the angle of slopes |
Even though in my program I am moving the sphere into the box with the MOVEENTITY command, when it collides (because I've used the STOP mode).. the entity will NOT move through it.
We have one more command to look at, that's the collision check instruction itself "EntityCollided"
.|
If
EntityCollided(sphere,CUBE_COL) then Text 370,80,"Collided !!!" EndIf |
As you can can probably guess, this instruction (imbedded in an IF statement) - is checking the entity SPHERE for a collision with the collision marker 1 (the cube).
If it has collided then print the message to signal a collision !.
Ok, we have now run through the entire program - but did it make much sense to you ?, To begin with I couldn't grasp it at all !. The best way to understand the various collision instructions is to experiment yourself with the different mode settings. Eventually (if you haven't understood fully by now).. you will realize just how easy and powerful they can be.
Tutorial 8 - Vertexes


Katherine Johnson
Pioneering NASA mathematician
Katherine Johnson stands on the right along with her colleagues from NASA Langley Research Center.
Here is a time line of Katherine Johnson's life:
DATE
" - FACT"
DATE
" - FACT"
DATE
" - FACT"
DATE
" - FACT"
DATE
" - FACT"
DATE
" - FACT"
" " " "
-- QUOTE AUTHOR
" If you have time, you should read more about this incredible human being on her "
Wikipedia/Nasa Entry
"."
Learn more about this amazing pioneer from NASA here.


Website Uptime Monitoring
Website List
Up
0
Down
0
Create a Watch
Website URL
Name
Poll Interval
Email-ID
Phone Number
Mobile Provider
Submit
Reset


For open discussion about the challenges, or finding collaboration partners to join a team, you can join our Mattermost discussion group using this signup link: https://mattermost.cbrc.kaust.edu.sa/signup_user_complete/?id=5e5s8uos7pyr8fq7u8muisfaxr
If you find any issues on the challenge website, please use the issue tracker at https://github.com/bio-ontology-research-group/biochallenge
For any other comments and questions, please contact one of the organizers:


Safely predict from a model object
safe_predict(object, new_data, type = NULL, ..., level = 0.95, std_error = FALSE)
| object | An object or model you would like to get predictions from. |
|---|---|
| new_data | Required. Data in the same format as required for
the
|
| type | A character vector indicating what kind of predictions you would like. Options are:
In most cases, only a subset of these options are available. |
| ... | Unused. |
| level | A number strictly between |
| std_error | Logical indicating whether or not calculate standard
errors for the fit at each point. Not available for all models, and can
be computationally expensive to compute. The standard error is always
the standard error for the mean, and never the standard error for
predictions. Standard errors are returned in a column called |
A tibble::tibble()
with one row for each row of new_data
.
Predictions for observations with missing data will be NA
. Returned
tibble has different columns depending on type
:
"response"
:
univariate outcome: .pred
(numeric)
multivariate outcomes: .pred_{outcome name}
(numeric) for each
outcome
"class"
: .pred_class
(factor)
"prob"
: .pred_{level}
columns (numerics between 0 and 1)
"link"
: .pred
(numeric)
"conf_int"
: .pred
, .pred_lower
, .pred_upper
(all numeric)
"pred_int"
: .pred
, .pred_lower
, .pred_upper
(all numeric)
If you request standard errors with std_error = TRUE
, an additional
column .std_error
.
For interval predictions, the tibble has additional attributes level
and interval
. The level
is the same as the level
argument and is
between 0 and 1. interval
is either "confidence"
or "prediction"
.
Some models may also set a method
attribute to detail the method
used to calculate the intervals.
For details on the difference between confidence and prediction intervals, see the online documentation. This is also available as a vignette that you can access with:
vignette("intervals", package = "safepredict")
We recommend using recipes::recipe()
s to consistently handle categorical
(factor) predictors. For details see:
vignette("novel-factor-levels", package = "safepredict")
Currently we do not have a robust way to check for novel factor levels
from within safepredict
. In practice this would require storing
information about predictors in the model object at fitting time,
and safepredict
is largely at the mercy of package writers in
that regard. Using recipes
to preprocess your data should take care
of the issue.
The goal of safepredict
is to make prediction as painless and consistent
as possible across a wide variety of model objects. In some cases, the
existing intrafrastructure is insufficient to provide a consistent and
feature-rich prediction interface. As a result, we support a number of
model objects that we do not actually recommend using. In these cases,
we try to link to better and more feature-rich implementations.


Execute a groovy script. The script should return boolean value. The job will not run if script evaluation
returned false. The script is always run on the master, but solution to run closure on slave node is provided.
Pre-imported packages:
jenkins.model.*, hudson.model.*,
hudson.util.*, hudson.remoting.*,
groovyx.net.http.*, net.sf.json.*
Predefined variables:
build The current MultiJob build.
listener A BuildListener.
out A PrintStream (listener.getLogger()).
Also, environment variables of build are injected.
Predefined methods:
net.sf.json.JSON getJson(String url) //get JSON for specified URL. If case of non OK response code or parse
exception empty JSON will be returned.
runScriptOnNode(String node, String script //run groovy script on the specified node (by node name).
Packages and variables aren't imported but can be constants can be injected to the script source.
runScriptOnCurrentNode(String script) //run script on the current node.


{% extends 'base.html' %} {% load bootstrap3 %} {% block content %}
{{ speaker_proposal.name }} will receive an email when the proposal is approved or rejected. It is possible to include an extra message in the form below explaining why the proposal was accepted or rejected. If the field is left blank a standard email is sent.


This Website
This page was originally built in january 2018. The purpose of the page is to help students make sure they are really ready for the third quarter of freshman chemistry for science majors. Arlene had occasionally expressed frustration with underprepared students, so she wrote the questions for a quiz and Brent built a tool to make students aware of their own readiness -- and if they have weaknesses, where those weaknesses lie. At the moment, the quiz is entirely private and no information leaves your computer when you take the quiz -- this is for you, the student, to be self aware.
This page is written entirely in vanilla javascript from scratch.
The Creators
Arlene is a chemistry professor whose graduate work was in organometallic chemistry. Lately she has been focused on chemsitry education. She wrote the questions for this quiz. She has also declined to provide a photo.
Brent loves chess, math, fantasy novels and the French Revolution. He was the developer for this project.


With the introducing of BBLog 2.0.0 we integrated the plugin system.
This give you the ability to modify the whole Battlelog. You can do everything that BBLog can do - But you need something about JavaScript and how BBLog works. Therefore I give some basic information that helps you with first steps in plugin creation.
At first some helpful links
* Battlelog use the JavaScript Library "jQuery". Simple the best JS Framework.
http://api.jquery.com/
* JavaScript Tutorial from w3schools -
http://www.w3schools.com/js/default.asp
Some example scripts that are ready to use
*
http://getbblog.com/plugins/example.js
Other helpful things
* Use chrome for JS development, fastest way to develop with the integrated tools (Press F12) - Well, firefox have good tools too but chrome is faster and better designed for this case.
* For fast development you should use a own webserver where you can fast edit your files - Or - Even better - Use a local webserver and
http://localhost
- It's the really fastest way. Link to a easy to use webserver -
http://www.apachefriends.org/en/xampp.html
* Make sure that your script work in both browser. Nothing bothering more than a script only for one exclusive browser.
* For security reasons BBLog and the Plugins only loaded when the user ALREADY logged in. On the login mask no BBLog or Plugin scripts running.
Topicstarter
BrainFooLong
Administrator
I am working on BBLog v3.0 and for that reason the whole Plugin Engine will be changed.
Featured Plugins will be removed, no featured plugins until yet added.
HotFix Plugin will automatically be in BBLog v3.0.
The plugin engine is pretty much finished so i give all of you the new required plugin format.
BBLog v3.0 will come soon, so you have some time to modify your plugins that they will work when the release is comming out.
 November 2012 we release BBLog v3 with a new plugin structure.
Make sure that all your plugins be ported to be working fine.
http://getbblog.com/plugins/example.js
digitalcassette
the link to the example javascript isn't working :(
Topicstarter
BrainFooLong
Administrator
digitalcassette wrote:
the link to the example javascript isn't working :(


Added WALLHACK bonus to spec, more problems added 2021-07-11 00:00:00+00:00
We added a new type of bonus to the specification. We've also added new problems and added new bonuses to the existing problems.


Girder
Field Guide
Using Girder CSSHere's a quick reference for using the Sass features of Girder and some examples for using it with plain ol' CSS.
Quick Setup
Copy the Scss folder and files directly into your project's path. Get them from Github or from the downloaded examples.
With Bower just use: "bower install girder --save" and add a reference to either scss/_girder.scss or girder.css inside the components folder.
Using Scss
@import the _girder.scss partial which should reside next to its modules in your project.
Standard CSS
Simply include girder.css in your document along with the site's styles. (Like in this page).
Quick Reference
- Layout units
- With CSS
- With Scss
- Half (50%)
- class="unit half"
- @include unit(half);
- Third (33.333%)
- class="unit third"
- @include unit(third);
- Fourth (25%)
- class="unit fourth"
- @include unit(fourth);
- Fifth (20%)
- class="unit fifth"
- @include unit(fifth);
- Sixth (16.6666%)
- class="unit sixth"
- @include unit(sixth);
- Two-Thirds
- class="unit two-thirds"
- @include unit(two-thirds);
- Three-Fourths
- class="unit three-fourths"
- @include unit(three-fourths);
- Three-Fifths
- class="unit three-fifths"
- @include unit(three-fifths);
- Four-Fifths
- class="unit four-fifths"
- @include unit(four-fifths);
- Five-Sixths
- class="unit five-sixths"
- @include unit(five-sixths);
- Golden Ratio Small (38.2716%)
- class="unit golden-small"
- @include unit(golden-small);
- Golden Ratio Large (61.7283%)
- class="unit golden-large"
- @include unit(golden-large);
- Whole (100%)
- class="row"
- @include unit();
The .row class is useful for containing and clearing Girder units. Its very rare to use 'whole' in Sass but it is possible (ie. in media queries).
- Helpers
- With CSS
- With Scss
- Media Queries
- Standard syntax.
- @include media-query($medium-screens){}
- Variable Gutters
- unavailable
- $gutters or $gutters /2
- No-Gutters
- class="no-gutters"
- @include unit(third, false);
- Rows
- class="row"
- Optional & configurable @extend %row;
- Equal Units
- class="equal-units"
- Optional: @extend %equal-units;
- Responsive Units
- Manual Media Queries.
- @include responsive-unit(third, true);
- Baseline Grid Display
- Not applicable.
- main {@include baseline-grid();}
- CSS Prefixes
- Not applicable.
- @include prefix(border-radius, 3px);
- Flexbox
- Not applicable.
- @include flexbox; or @include flex(2, 1);
- em and rem Calculators
- Unavailable
- emCalc(20px);
remCalc(15px);
Simple min-width media queries within selectors. You can also pass 'max-width' as the second value or two numbers for min-max.
Useful in Sass for re-using gutter values and matching spacing between elements.
Adding this class to a row removes gutters for all containing units. In Sass you can pass "false" to the unit mixin to remove gutters for specific elements.
This applies equal spacing for all units within a given .row. It adds left and right padding but makes them more symmetrical.
Define (or re-shape) units within media queries. This mixin excludes $gutter padding by default, override this by specifying 'true'.
More info coming soon.
Generate browser prefixes for simple properties. For a more robust solution I'd recommend auto-prefixing during builds.
More info coming soon...
Pass a pixel value and get the em / rem equivalent, simple as that. You can use this anywhere in your styles like: margin: $gutters emCalc(24px);


Passwords must match!
Username or password cannot be blank!
Error registering!
Name:
Show name:
Username (plz no spaces):
Password:
Repeat password:
Email:
Show email:
Birthday:
Show birthday:
Register
Privacy policy


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes
Hierarchy For Package gameplay
Package Hierarchies:
All Packages
Class Hierarchy
java.lang.Object
gameplay.
Bullet
java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
java.awt.Container
javax.swing.JComponent (implements java.io.Serializable)
javax.swing.JPanel (implements javax.accessibility.Accessible)
gameplay.
Gameplay
(implements java.awt.event.ActionListener, java.lang.Runnable)
gameplay.
Creature
gameplay.
Hero
gameplay.
Monster
gameplay.
Fase
gameplay.
Item
java.awt.event.KeyAdapter (implements java.awt.event.KeyListener)
gameplay.
Gameplay.TAdapter
gameplay.
Player
gameplay.
Strike
gameplay.
Torch
gameplay.
Wall
Enum Hierarchy
java.lang.Object
java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
gameplay.
MonsterType
gameplay.
monsterDirection
gameplay.
HeroClass
gameplay.
Direction
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes


Linux Club focuses on topics such as
Linux Club also seeks to fuel and facilitate events such as talks and long-term development projects.
The BGSU Linux Club seeks out both hobbyists and CS enthusiasts to provide a platform for discussion and an opportunity to work on group projects.


About
Home
Graph
login
Compare Your Plan to Current Rates
Select your carrier, number of lines, monthly payment here.
We will compare with latest plan from your carrier.
Carrier:
AT&T
Verizon
T-Mobile
Sprint
Number of line:
1 line
2 lines
3 lines
4 lines
5 lines
Monthly Payment($):


Experimenting with PageSpeed
Experimental Framework
The Run Experiment module allows you to gather data on what filters perform best for your site using A/B testing. It reports to your Google Analytics account, storing data in a custom variable. It often makes sense to first experiment manually using the per-request configuration described below to get an idea of which filters might help your site, and then run a controlled experiment to test whether these filters actually speed it up in practice.
Per-request configuration
Query parameters, request headers, and response headers can be used to disable PageSpeed, specify the set of filters applied to an HTML page, and control some inlining limits.
Query parameters take the form of name=value
and parameters are separated by an ampersand (&). For example:
http://modpagespeed.com/rewrite_css.html?PageSpeed=on&PageSpeedFilters=rewrite_css
Request and response headers take the form of name: value
and each header is on its own line. For example:
GET /rewrite_css.html HTTP/1.1 Host: modpagespeed.com PageSpeed: on PageSpeedFilters: rewrite_css
For backwards compatibility, these can start with ModPagespeed
instead of PageSpeed
, but this usage is deprecated.
Query parameters can be added to the URL of the page or resource being fetched, request headers can be set in the request for pages and resources, and response headers can be set in the response of HTML pages (but not resources). These settings affect only the given request. If all three (query parameters and both headers) are used in the same request the query parameters will be applied first, followed by the request headers, followed by the response headers. Later settings override earlier settings but a filter disable in any location always overrides subsequent enables.
There are two supported methods of adding response headers that PageSpeed will be able to observe and process. The first is to add response headers with a content handler such as PHP or Perl. The second is to add response headers at an origin server and run PageSpeed as a proxy in front of it. The use of mod_headers (Apache) or add_header (Nginx) on the same webserver as PageSpeed will not work because headers will be inserted after PageSpeed has already processed the page.
Sticky Query Parameters
Query parameters can be set to be "sticky" and persist across requests using cookies. Sticky query parameters can be set by providing the sticky query parameter option in a request, and the server will respond with a cookie, valid for the duration specified in the PageSpeed configuration.
To prevent abuse, a "secret token" must be provided in the initial request to enable setting cookies.
- Apache:
-
ModPagespeedStickyQueryParameters example_token
- Nginx:
-
pagespeed StickyQueryParameters example_token
The duration, in milliseconds, for which the cookie will be valid can be set in the PageSpeed configuration.
- Apache:
-
ModPagespeedOptionCookiesDurationMs 12345
- Nginx:
-
pagespeed OptionCookiesDurationMs 12345
The request must specify the token in a query parameter, for example:
http://modpagespeed.com/rewrite_css.html?PageSpeedStickyQueryParameters=example_token&PageSpeedFilters=+remove_comments
A request with the proper sticky query parameter token will cause the server to
respond with a Set-Cookie
in the response.
Any request not containing the correct token will not receive the
Set-Cookie
response. Future responses with the received cookie will
also enable the options set in the query parameter with the sticky query
parameter. In this case, the remove-comments
filter would be
enabled.
Enabling and disabling PageSpeed
Query parameters:
PageSpeed=off PageSpeed=on
Request & Response headers:
PageSpeed: off PageSpeed: on
The first line disables PageSpeed rewriting, the second line enables it.
Specifying the filters applied
Query parameters:
PageSpeedFilters=comma-separated list of names
Request & Response headers:
PageSpeedFilters: comma-separated list of names
This specifies the set of filters to apply to the page. The list of settings includes all filter names and a few shortcut names:
core
sets the rewrite level (perRewriteLevel
) toCoreFilters
. This enables the core set of filters.testing
enables all filters that are in theTestingCoreFilters
level but are not in theCoreFilters
level - this is not the same as setting the level toTestingCoreFilters
because that includes all core filters, but the same effect can be achieved by specifying both:core,testing
.rewrite_images
enables the following filters:inline_images
,recompress_images
, andresize_images
.extend_cache
enables the following filters:extend_cache_css
,extend_cache_images
, andextend_cache_scripts
.rewrite_javascript
enables the following filters:rewrite_javascript_external
andrewrite_javascript_inline
.
When any filter is specified without a "+
" or
"-
", any filters not explicitly enabled are
disabled. Filters and shortcuts can be explicitly disabled by
preceding the name by a minus sign ('-'), which is useful
after using a shortcut. For example,
"core,-combine_css
" enables all the core
filters
except combine_css
.
If all names are prefixed with "+
" or "-
" then the
filter set is incrementally adjusted from the current system settings based on
the configuration files. For example, in a server
with RewriteLevel
set to CoreFilters
, the query-string
?PageSpeedFilters=+lazyload_images,-inline_images
will leave all the core filters enabled, but will add lazyload_images and disable inline images.
Controlling inlining limits
Query parameters:
PageSpeedCssFlattenMaxBytes=value PageSpeedCssImageInlineMaxBytes=value PageSpeedCssInlineMaxBytes=value PageSpeedImageInlineMaxBytes=value PageSpeedJsInlineMaxBytes=value
Request & Response headers:
PageSpeedCssFlattenMaxBytes: value PageSpeedCssImageInlineMaxBytes: value PageSpeedCssInlineMaxBytes: value PageSpeedImageInlineMaxBytes: value PageSpeedJsInlineMaxBytes: value
These specify the limits for the following inlining options:
PageSpeedCssFlattenMaxBytes
sets the maximum size of CSS files that will be flattened.PageSpeedCssImageInlineMaxBytes
sets the maximum size of images inside CSS. For inline CSS in HTML files, the value used is the smaller of this value orPageSpeedImageInlineMaxBytes
.PageSpeedCssInlineMaxBytes
sets the maximum size of CSS files that will be inlined.PageSpeedImageInlineMaxBytes
sets the maximum size of image files that will be inlined.PageSpeedJsInlineMaxBytes
sets the maximum size of JavaScript files that will be inlined.
Here is an example that combines many of the above query parameters to enable all the core filters except the cache extension filters, and sets the JavaScript inlining limit to a high value so that most JavaScript files will be inlined:
http://..../index.html?PageSpeedFilters=core,-extend_cache&PageSpeedJsInlineMaxBytes=102400
Client options in queries and headers
This is an experimental option, its name and values are subject to change. This option allows the client to customize the optimizations applied to a request and can be used in a header or query parameter.
As a query parameter:
X-PSA-Client-Options=client-options
As a Request or Response header:
X-PSA-Client-Options: client-options
The format of client-options is
name1=value1,name2=value2, ...
The order of the name-value pairs does not matter. The supported options are:
v=1
Version of the header. '1' is the only supported version for now.
m=integer-value
Mode. Valid values are
-
0
, the client prefers that the server operates in its default mode. -
1
, the client prefers that no image is transformed. -
2
, the client prefers that no resource is transformed. This is equivalent to "?PageSpeedFilters=" in the request URL
iqp=integer-value
Image quality preference. Valid values are
-
0
, the client prefers that the server uses its own default image quality. -
1
, the client prefers low image quality. -
2
, the client prefers medium image quality. -
3
, the client prefers high image quality.
Restrict per-request configuration
Note: New feature as of <IP_ADDRESS>
Interpretation of PageSpeed query parameters and headers can be restricted to requests specifying a request option override token. The token is specified in the server configuration file and disallows request option overriding when the request does not specify the correct token. This option can be used to reduce the attack surface of denial of service attacks.
- Apache:
-
ModPagespeedRequestOptionOverride example_token
- Nginx:
-
pagespeed RequestOptionOverride example_token
This feature provides a mechanism to restrict the ability for filters and
options to be specified in query parameters and request headers.
To enable it, an override token must be specified in the configuration file,
and requests must specify the same token for filters and options to be
applied.
Query parameters, except for PageSpeed=on
,
PageSpeed=off
, or PageSpeed=noscript
will then only
be interpreted when accompanied by the correct
RequestOptionOverride
token. For example, the rewrite_css filter
would be used in this example.
The request must specify the token in a query parameter or header, for example:
http://modpagespeed.com/rewrite_css.html?PageSpeed=on&PageSpeedFilters=rewrite_css&PageSpeedRequestOptionOverride=example_token
Any request not containing the correct RequestOptionOverride
token or not containing a RequestOptionOverride
token will ignore
all other PageSpeed filters and options specified.
Note: even if applied, PageSpeed=on/off/noscript still takes effect.
Noop query-parameter
Note: New feature as of <IP_ADDRESS>
To help bust browser caches, especially with experiments, any
PageSpeed URL can accept the
PageSpeedNoop
query-paramter with an integer value. This
query-parameter will be ignored by PageSpeed and stripped from the
URL early in the processing flow. The origin will not see the Noop
parameter, and PageSpeed's server-caches will not be affected. However, it
will prevent your browser from using a cached value.
Examples:
http://images.example.com/foo.png?PageSpeedNoop=571 http://www.example.com/index.html?q=foo&PageSpeedNoop=99438
Configuring mod_pagespeed_examples
Note: Apache-only
mod_pagespeed ships with a directory of sample HTML, JavaScript, Image, and CSS files to demonstrate the rewrite passes that it executes. These also form the basis of an installation smoke-test to ensure that the configured system is operating correctly. Assuming the files are installed in /var/www/mod_pagespeed_example, the following configuration file fragment will enable them to be served using reasonable caching headers.
# These caching headers are set up for the mod_pagespeed example, and # also serve as a demonstration of good values to set for the entire # site, if it is to be optimized by mod_pagespeed. <Directory /var/www/mod_pagespeed_example> # To enable to show that mod_pagespeed to rewrites web pages, we must # turn off Etags for HTML files and eliminate caching altogether. # mod_pagespeed should rewrite HTML files each time they are served. # The first time mod_pagespeed sees an HTML file, it may not optimize # it fully. It will optimize better after the second view. Caching # defeats this behavior. <FilesMatch "\.(html|htm)$"> Header unset Etag Header set Cache-control "max-age=0, no-cache" </FilesMatch> # Images, styles, and JavaScript are all cache-extended for # a year by rewriting URLs to include a content hash.. mod_pagespeed, # can only do this if the resources are cacheable in the first place. # The origin caching policy, set here to 10 minutes, dictates how # frequently mod_pagespeed must re-read the content files and recompute # the content-hash. As long as the content doesn't actually change, # the content-hash will remain the same, and the resources stored # in browser caches will stay relevant. <FilesMatch "\.(jpg|jpeg|gif|png|js|css)$"> Header unset Etag Header set Cache-control "public, max-age=600" </FilesMatch> </Directory>


Start your free 30-day trial.
Fully functional. No credit card required.
5 Reasons You’ll Love Harvest
- Fast to set up and easy to use
- Look professional with style
- Your data stays safe and secure
- Track and grow your business
- Real people to answer your questions
By creating an account you agree to the
Terms of Service
and
Privacy Policy


Please enter your card details
Payment
Name on Card
Card Number
Expiration Date
Month
Jan (01)
Feb (02)
Mar (03)
Apr (04)
May (05)
June (06)
July (07)
Aug (08)
Sep (09)
Oct (10)
Nov (11)
Dec (12)
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
Pay Now
Please enter your bank details
Payment
BSB
Account Number
Account Name
Pay Now


Frequency
Sonogram
3D Sonogram
Waveform
SINE
SQUARE
SAWTOOTH
TRIANGLE
SINE
SQUARE
SAWTOOTH
TRIANGLE
SINE
SQUARE
SAWTOOTH
TRIANGLE


Serious injury avoided after GO Train strikes car in Mississauga
by News StaffNo one was seriously injured after a GO Train struck a car in Mississauga between Port Credit and Clarkson stations on Friday night.
According to Peel Regional Police, a car became stuck on the train tracks east of Clarkson around 5:30 p.m. after making a wrong turn while following GPS directions.
A Metrolinx employee who happened to be on the scene at the time tells 680 NEWS the gates were coming down at the crossing when he noticed another vehicle had pulled into the railway corridor, possibly thinking it was a road.
He approached the driver as he was getting out of his stranded vehicle and both managed to get out of the way of the oncoming train, which then struck the first car and sent it into the second car.
The car was eventually removed from the tracks and just before 8 p.m., GO Transit said service had been restored to all three tracks in the area but that there would continue to be delays and cancellations as they attempt to restore full service.


In this article I’m going to cover a few steps in getting started with VMware and Docker instead of the default VirtualBox and Docker. The basic prerequisites for this are:
VMware Fusion >= v8.x
Docker Toolbox w/ Docker
shell-script$ docker --version Docker version 1.9.0, build 76d6bc9
To start with, one of the things I didn’t find super intuitive was finding out where boot2docker’s URL is. I then attempted to create the virtual machine several times with what I thought it would be and then realized, to my dismay, that it defaulted to what it generally would need to be. A serious case of RTFM.
Once the prereqs are met, just run the following command.
docker-machine create nameOfTheVirtualMachine --driver vmwarefusion
You’ll see the creation results display to the terminal then. They should look something like this.
Running pre-create checks...
Creating machine...
(fusion-fire) Creating SSH key...
(fusion-fire) Creating VM...
(fusion-fire) Starting fusion-fire...
(fusion-fire) Waiting for VM to come online...
Waiting for machine to be running, this may take a few minutes...
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect Docker to this machine, run: docker-machine env fusion-fire
After that, just run that last command from the creation results.
docker-machine env fusion-fire
Then again you’ll get another results as shown below with another command.
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://<IP_ADDRESS>:2376"
export DOCKER_CERT_PATH="/Users/adron/.docker/machine/machines/fusion-fire"
export DOCKER_MACHINE_NAME="fusion-fire"
# Run this command to configure your shell:
# eval "$(docker-machine env fusion-fire)"
Execute the command.
shell-scripteval "$(docker-machine env fusion-fire)"
If you take a look at the Virtual Machine Library on VMware now you should see your machine, and pop the actual VM open and you should see that standard boot2docker screen with wide open root access to that virtual machine.
At this point I wanted to take the virtual machine for a little spin. I issued the following commands to pull an elasticsearch container, run it, and then get the bash prompt of that running container.
docker pull elasticsearch
docker run -it elasticsearch
At this point I saw the log displaying so I killed the run with Ctrl+C, got a list of the just exited container so I could get the Container ID to restart it.
docker ps -a
Then with everything in place I started it and logged into the container instance.
docker exec -it 257e98847bbb bash
Which then shows…
root@257e98847bbb:/#
I’m in. At this point I could work with the container however I’d need to.


Schrader's Pizza Shop
Guest Name
Cheese
None
Cheese
Pepperoni
None
Pepperoni
Pizza Size
Medium
Large
Make my pizza!


Presenting 4 ideas of actionable improvements that can be made to the site.
← Go backThe huge amount of information on the internet is overwhelming, people want better information, not more information. The first thing they ask when buying an experience goes on the lines of: What's the best hotel I can find to have a memorable experience with my wife and two kids for this holiday at Punta Cana? To navigate the ocean of hotels available to get that answer is a hard task.
Every hotel at Punta Cana will tell you that you will have a wonderful time with your family there, but that's not true and the consumer knows it.
So, how could we help consumers book that experience faster, not having to spend that much time comparing too many sites and too many options?
Bookings can increase from the search results page if we use data from other travelers reviews to help consumers to discern what hotels are best for the experience they want to have.
Booking.com current state This is the current design on booking.com
On the Search results, I propose to try presenting tags travelers usually use to define what's this hotel better for.
Another iteration we can try if the hypothesis is not validated or the results are uncertain
If the hypothesis is validated, Continue "milking the cows", go to next item and improve another part of the website.
If the hypothesis is not validated, iterate or pivot. Reshape ideas. Try iterating to the 2nd option I propose.
If the results of test are uncertain, iterate. Reshape ideas


--- title : Longitude layout : default blurb : Check out where I have been (as documented on Crowdmap). keywords : crowdmap, ushahidi date : Nov 21, 2013 ---


|
|
|
| We commend the Loveland school board, superintendent
and principals for creating an environment where an organization such as
ours could evolve. Their willingness to expand educational opportunities
outside of the four walls of the traditional classroom make it possible
to offer a unique learning opportunity to our students. |
|


--- layout: post status: publish published: true title: Android Development on the Mac - Using ADB to Install Apps author: Arthur Rosa author_login: arthurlockman author_email<EMAIL_ADDRESS>author_url: https://b.rthr.me wordpress_id: 200 wordpress_url: http://b.rthr.me/?p=200 date: '2010-08-14 13:34:22 -0400' date_gmt: '2010-08-14 13:34:22 -0400' ---
In this short video, i show you how to install an application onto the device emulator that we set up in my last video.


1 April, 2013, Tel Aviv, Israel: Due to the spectacular commercial success of Freecell Solver Enterprises™’s Enterprise Edition and its Webscale™ edition, we have amassed quite a bit of cash in the bank, so we decided to make a small but important strategical acquisition. As a result, Freecell Solver Enterprises™ is proud to announce its upcoming acquisition of Google Inc., which will result in an exciting synergetic merger.
Some of the upcoming changes would be replacing Google’s tech support (which is notoriously bad) by Freecell Solver Enterprises™’s world-famous and superb tech support (as detailed in the essay “Seven steps to remarkable customer service” by Joel on Software), as well as integrating Google search into Freecell Solver™ for an enhanced experience in solving Freecell. We are also planning on creating a separate YouTube top-level category for card Solitaire-related videos (including screencasts and presentations).
We are sure that the upcoming acquisition is going to allow Freecell Solver Enterprises™ to further its competitive edge, and allow us to have even more significant growth, which will in turn allow us to make even more significant acquisitions. As our CTO, Shlomi Fish, notes: “good times are coming.”.
Soon, people will say “Let’s Freecell Solver Enterprises™ Superheroic Web Search™ it!” instead of “Let’s Google it!”, for an exciting Web 3.141592™ experience.


THE THREE MUSKETEERS A film review by James Berardinelli Copyright 1993 James Berardinelli
Rating (Linear 0 to 10): 4.1
Date Released: 11/12/93 Running Length: 1:49 Rated: PG (Violence, sexual innuendo)
Starring: Chris O'Donnell, Charlie Sheen, Kiefer Sutherland, Oliver Platt, Tim Curry, Rebecca De Mornay, Gabrielle Anwar Director: Stephen Herek Producers: Joe Roth and Roger Birnbaum Screenplay: David Loughery based (very loosely) on the novel by Alexandre Dumas Music: Michael Kamen Released by Walt Disney Pictures
Upon seeing the print ads and commercials for this movie, it might occur to you that this story has been done before--and you would be absolutely correct. However, never before has David Loughery (the man co-responsible with William Shatner for the execrable STAR TREK V: THE FINAL FRONTIER, a film that many fans of the series disavow) gotten his hands on the material. And after seeing THE THREE MUSKETEERS, it becomes clear why someone should have continued to keep him away. Those who have seen Richard Lester's '70s tongue-in-cheek version of the adventure should avoid this one, lest you feel compelled to hurl popcorn and invectives at the screen.
Young D'Artagnan (Chris O'Donnell) has decided to join the Musketeers, the elite corps of guards charged with the French king's safety. Unfortunately, they have been disbanded by Cardinal Richelieu (Tim Curry) and the best D'Artagnan can manage is helping out a trio of outlawed Musketeers: Aramis (Charlie Sheen), Athos (Kiefer Sutherland), and Porthos (Oliver Platt). Despite Richelieu's decree, they continue to honor their vows to protect King Louis XIII (Hugh O'Connor) and his Austrian queen, Anne (Gabrielle Anwar). When they discover that the Cardinal is plotting against their liege, it's up to them to capture his spy (Rebecca De Mornay) and foil his assassination attempt.
The first indication of trouble with this movie is in the casting. It's not a stroke of brilliance to choose Sheen, Sutherland, and Curry as the triumphant trio (although, to his credit, Sutherland does a credible job as a moody Athos). It's an even worse choice to pick Chris O'Donnell as D'Artagnan, since he seems more concerned about not messing up his perm than in giving a decent accounting of himself. Tim Curry is entirely too feeble to make a credible villain, and Hugh O'Connor's version of King Louis looks like something out of BILL AND TED'S EXCELLENT ADVENTURE.
Two performers are effective, but they're mostly smothered by all the ineptitude around them. Michael Wincott does a marvellous job as the villainous ex-Musketeer Rocheford (and yes, there is a cheesy joke about the name). Gabrielle Anwar, who looked decidedly uncomfortable in FOR LOVE OR MONEY, is more at home in these surroundings. Her role is small, but she's pretty good.
Which is more than can be said about numerous contrived circumstances and lines of dialogue. Is Loughery serious when he expects us to believe that a Musketeer would actually ask, "You got a name, boy?" And how is Richelieu allowed to enter the queen's boudoir unchallenged? Something's rotten in the country of France, and if this script is anything to judge by, perhaps William Shatner is shouldering entirely too much of the blame for the failure of the fifth STAR TREK feature.
THE THREE MUSKETEERS is supposed to be high adventure and, while there are a few nice swordfights, most of the action isn't likely to provoke more than a "ho-hum" reaction. Director Stephen Herek should go back to BILL AND TED'S EXCELLENT ADVENTURE. He obviously doesn't have what it takes here. Of course, it doesn't help that his actors are having a hard time summoning up enthusiasm for their parts.
In much the same way that Kevin Costner's lifeless ROBIN HOOD: PRINCE OF THIEVES butchered the legends of Sherwood Forest, so this film singlehandedly bludgeons THE THREE MUSKETEERS. In this case, it's even worse, though. There, we had Alan Rickman doing a delightful job of chewing on the scenery. Here, Tim Curry manages the dubious distinction of seeming restrained when going over-the-top.
There have been other, better versions of this story. Likewise, all of the principal performers have appeared in projects that put their abilities to better use. If there is a reason to see this movie, it's for the five-minute extended preview of Disney's upcoming THE LION KING (what we see is actually the opening musical number), but such quick satisfaction is hardly value for the dollar.
"All for one, and one for all" may be the motto of the Musketeers, but this latest filmed version of their exploits is all for naught.
- James Berardinelli<EMAIL_ADDRESS>.
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


Setting Survey Closing Date
How to set the closing date for survey responses. Once the close date is reached, the Submit Survey link is hidden. Survey results are displayed to users who are authorized to view results.
-
- Select the Survey Settings tab.
- At Survey Closing Date, click the Calendar link and select the final date that a response can be submitted.
-
Click the Update button.
Related Topics:
-
"Working with the Calendar"


Here at Kickstart we are dedicated to serving as a guide to those both interested and willing to learn computer literacy, especially those without the resources to do so.
What is Kickstart?
Kickstart is an organization in which students with different backgrounds are brought together under the collective goal of learning the basics of Computer Science. We are striving to find students that are unable to learn coding at their schools and/or would like to further their education in Computer Science.
What is our goal?
Kickstart as an organization strives to achieve equity in Computer Science education. Our blend of in-person sessions and online courses fuse together to create a curriculum specially designed to aid those who wish to pursue a future in Computer Science. We aim to give students an opportunity to major in Computer Science in college or have a prosperous career in Computer Science.


| label = any valid exisiting label |
|
This branches the flow of the program to a designated label, with the understanding that there will be a Return later on in the called code to resume execution of the program where the Gosub was called. With the use of Functions inside of Blitz, it isn't very practical to use Gosubs, but you may still find it useful. If you do not require the need to return execution back to the Gosub statement, you may use Goto instead. See the example.
See also: Return, Goto, Function. |
|
Print "The program starts ..."
Gosub label1 Print "The Program ends ..." ; wait for ESC key before ending While Not KeyHit(1) Wend End .label1 Print "We could do all sorts of things in this part of the program..." Print "But, we'll just go back to the original code, instead ..." Return |


ADV3LITE VERSION 1.6.1
Thank you for your interest in adv3Lite, an alternative library for use with the TADS 3 Interactive Fiction authoring system.
The documentation may be found in the Adv3Lite Bookshelf.
For information about the TADS 3 language, intrinsic classes and other system features, please consult the TADS 3 System Manual. (By default this link will take you to the on-line version of the TADS 3 documentation on www.tads.org; if you'd prefer to use your local copy of the System Manual you can do so by editing the file sysman.htm in the docs directory)


{%- from "macros/speakers.html" import render_speaker_social -%} {%- from "macros/translation.html" import transbag -%} {% macro render_team_member(member, index=1, details=True, alt="en") %} {%- set complete_name = member.name + " " + member.last_name -%}
{% endmacro %}


--- layout: post current: post cover: assets/images/locked.jpg navigation: True title: Making your site private date: 2017-07-27 06:00:00 tags: [Getting started] class: post-template subclass: 'post tag-getting-started' author: ghost ---
Sometimes you might want to put your site behind closed doors
If you've got a publication that you don't want the world to see yet because it's not ready to launch, you can hide your Ghost site behind a simple shared pass-phrase.
You can toggle this preference on at the bottom of Ghost's General Settings
Ghost will give you a short, randomly generated pass-phrase which you can share with anyone who needs access to the site while you're working on it. While this setting is enabled, all search engine optimisation features will be switched off to help keep the site off the radar.
Do remember though, this is not secure authentication. You shouldn't rely on this feature for protecting important private data. It's just a simple, shared pass-phrase for very basic privacy.


[gecode-users] Reification of the extensional constraint
Amina Kemmar
kemmar.amina at gmail.com
Fri Jun 20 10:09:17 CEST 2014
Hi everybody,
Thanks for the explanation. I need just a half reification of the
extensional constraint. For that, i implement a class named "reg"
allowing to specify a control variable "b" as follow:
template <class View>
class reg : public Propagator{
protected:
ViewArray<View> x;
DFA dfa;
Int::BoolView b;
/// Constructor for posting
reg(Space& home, ViewArray<View>& x0, Int::BoolView b0);
/// Constructor for cloning \a p
reg(Space& home, bool share, reg& p);
public:
/// Copy propagator during cloning
virtual Actor* copy(Space& home, bool share);
/// Perform propagation
virtual ExecStatus propagate(Space& home, const ModEventDelta& med);
virtual size_t dispose(Space& home);
/// Post propagator for view array \a x
static ExecStatus post(Space& home, const IntVarArgs& x0, const
DFA& dfa, Int::BoolView b0);
};
the constructor:
template <class View>
forceinline
reg<View>::reg(Space& home, ViewArray<View>& x0, Int::BoolView b0)
: Propagator(home), x(x0), b(b0) {
x.subscribe(home,*this,PC_INT_VAL);
b.subscribe(home,*this,PC_BOOL_VAL);
}
The post function:
template <class View>
ExecStatus
reg<View>::post_amina(Space& home, const IntVarArgs& x0, const DFA&
dfa, Int::BoolView b){
ViewArray<IntView> xv(home,x0);
*(void) new (home) reg<View>(home,xv,b);*
return ES_OK;
}
After compilation, I obtained the following error:
regular.hpp:115:5: error: cannot allocate an object of abstract type
'myprop::reg<Gecode::Int::IntView>'
regular.hpp:41:9: note: because the following virtual functions are
pure within 'myprop::reg<Gecode::Int::IntView>':
/usr/local/include/gecode/kernel/core.hpp:811:22: note: virtual
Gecode::PropCost Gecode::Propagator::cost(const Gecode::Space&, const
ModEventDelta&) const
1. This error is due to the line : *(void) new (home)
reg<View>(home,xv,b); *if anyone have any idea about this, it will
be very helpful for me.
2. In the propagate function I call
Gecode::Int::Extensional::post_lgp(home,x,dfa); x is of type
IntVarArgs and not ViewArray, I want to know if it is the right way
to to this?
Thanks.
---
Amina
On 06/15/2014 04:05 AM, Guido Tack wrote:
> Hi,
>
> you're right that you'd have to implement your own propagator for
> that. Before you do that you should check if you actually need full
> reification (i.e. b <-> c) or if an implication would be enough (b ->
> c). In the latter case, you don't need to implement the negation of c
> (where c is your extensional constraint).
>
> If you implement the full version, negating a DFA is (in principle)
> easy, just make all accepting states rejecting and all rejecting
> states accepting. In the Gecode representation the rejecting states
> aren't represented directly so you'll have to work around that a bit.
>
> Cheers,
> Guido
>
> --
> Guido Tack
> http://www.csse.monash.edu/~guidot/
> <http://www.csse.monash.edu/%7Eguidot/>
>
>
>
> On 14 Jun 2014, at 8:35 pm, Amina Kemmar <kemmar.amina at gmail.com
> <mailto:kemmar.amina at gmail.com>> wrote:
>
>> Hi all,
>>
>> I want to use a reification version of the extensional constraint,
>> but I think that it is not implemented in Gecode.
>> The chapter 24 explains how to implement a reification version of a
>> constraint, I understand that we need the negation of the automata
>> DFA. So, I want to know if there is an easy way to do this with
>> extensional constraint? If you have any details about this, it will
>> be very helpful for me.
>>
>> Thanks.
>>
>> Best regards,
>> ---
>> Amina
>>
>> _______________________________________________
>> Gecode users mailing list
>> users at gecode.org <mailto:users at gecode.org>
>> https://www.gecode.org/mailman/listinfo/gecode-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20140620/52bc1029/attachment.html>
More information about the users
mailing list


Check the status of your wireless connection - Windows Vista
To check the status of your wireless network connection with the Sky wireless router, follow the steps below.
-
From your desktop, click on Start and select Control Panel.
-
From the Control Panel window, select Network and Internet.
-
Select the Network and Sharing Center.
-
In the Network Sharing Center Window, click on Manage network connections to the left, the screen below shows that the PC is connected to a wireless network, but has not received an IP via DHCP.
-
In the Manage Network Connections window, look for the Wireless Network connection. To assign an IP address to the connection manually, right click on Wireless Network connection and left click on Properties.
-
In the Wireless Connection Properties window, scroll down in the 'This connection uses the following items' window until you see Internet Protocol Version 4 (TCP/IPv4) - click this once, then select Properties
-
In the Internet Protocol Version 4 (TCP/IPv4) window:
- Select Use the following IP address
- Set the IP address to: 192.168.0.X (where X must be a number of your choice between 2 and 254 and should be unique for each PC connecting to the Sky wireless router)
- Set the Subnet Mask to <IP_ADDRESS>
- Set the Default gateway as <IP_ADDRESS>
- Select Use the following DNS server addresses
- Set the Preferred DNS server to <IP_ADDRESS>
- Leave the Alternate DNS server blank
- Once completed, the details should look similar to the image below. Click OK.
-
Click OK again on the Wireless Network Connection Properties window.
-
Restart your computer and open a web browser to check if you can now browse the web using your broadband service.


| Prerequisites: | Basic computer literacy, basic software installed, and basic knowledge of working with files. |
|---|---|
| Objective: | To gain basic familiarity with HTML, and practice writing a few HTML elements. |
HTML is not a programming language; it is a markup language that defines the structure of your content. HTML consists of a series of elements, which you use to enclose, or wrap, different parts of the content to make it appear a certain way, or act a certain way.
Hypertext Markup Language is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets and scripting languages such as JavaScript.
1. You’ll be able to create your unique website
Learning HTML would make sure you can design your unique website without any help.
2. It’s effortless to learn
Unlike other programming languages, HTML is far easier to understand and learn. One does not require a computer science degree to understand it. Simply the basic knowledge of the web will suffice.
3. HTML is supported by almost all browsers
Almost every browser, from Mozilla to Internet explorer to Safari that exists in the world support HTML. So if your website gets written in HTML, you need not worry because it is bound to show up in all browsers regardless of where it accessed through.
4. Become a web designer
If you want to start a carrer as a professional web designer, HTML and CSS designing is a must skill.
OUTPUT :


SIRENS A film review by John M. Bozeman Copyright 1994 John M. Bozeman
CAPSULE REVIEW: A minister and his wife head into the nether regions of Australia to try to tone down the scandalous content of an artist's pictures. Set in the first quarter of the twentieth century and laden with artistic pretensions, this flawed film does contain a few redeeming qualities.
The movie reviewer for the Charlottesville regional arts newspaper hates most new movies, so when he called SIRENS a "cheesy bit of soft core porn [that] masquerades as a meditation of repression and sexual liberation," I thought that he was exaggerating. Unfortunately, he was not. Not since the unfortunate film adaptation of LADY CHATTERLY'S LOVER (starring Sylvia Crystal) have I seen such a slick, high-budget, and clumsy attempt at dealing with sexuality on the silver screen.
The basic story goes as follows: an Australian painter (played by Sam Neill) is creating a stir as a result of his voluptuous paintings of classical subjects. The Church dispatches an English minister (Hugh Grant), accompanied by his wife (Tara Fitzgerald) to try to persuade him to tone down the brazen nudity found in the artwork. In the face of cavorting, flirtatious, unbelievably beautiful models, the minister remains affable but resolute in his quest--but wait! His wife, against her will, comes to appreciate the earthy passion on display here, eventually sharing a night of ecstasy with the seemingly handicapped (supposedly almost blind and perhaps mute) handyman with the body of Adonis. We also see the prejudice and hypocrisy of the nearby townspeople, who shun the artist and his models while clandestinely longing to engage in the very acts that he portrays in his work.
When it comes to symbolism, this film surely puts the "b" back in "subtle." Like THE FISHER KING, SIRENS is laden with pretentious symbolism that hits one in the face again and again; one can almost hear the film's creators patting themselves on the back over their own cleverness. On the one hand we have the minister, representing dry, intellectual, passionless, asexual, conventional, dull traditional reason; on the other we have joy, passion, intensity, sexuality, and artistic spontaneity represented by the artist and his crew of mischievous vixens. I suppose that the minister's wife is supposed to represent us, the audience, who for a while partakes of the sublime essence of raw art, but who in the end goes back--though leavened a bit, and even perking up her rather bookish husband.
In spite of these limitations (along with a few sex scenes so pretentious as to be embarrassing), this movie does have some redeeming qualities--but probably not the ones that the film's creators intended. Far more than the silly, prevalent ideology of sexual liberation, the most impressive aspect of the film was the occasional humanity that creeps in: the frustration of the models with their being shunned by the townsfolk; the superficially silly, but in actuality profound devotion of the minister for his wife, despite his knowledge of her participation in activities with lesbian sexual overtones; the minister's liking and apparently honest concern for one of the younger models.
Indeed, I suppose I am a bit of a conservative, but I found the minister to be the most enviable person of the bunch, and for this I commend the producers. Rather than being portrayed as a stodgy, doctrinaire fuddy-duddy, he is intelligent, well-read, honest, generally faithful, and (within his context) tolerant of the narcissistic, hedonistic silliness going on around him. Both he and his wife retain an honest ability to care for others, in the face heady passions with strong undercurrents of insincerity bordering, in some cases, on duplicity.
Overall grade: C+ (OK for a half-price matinee)
.
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


Before Change
vocab_thread2.start()
// And thread for saving tokenized data to putput file
write_thread = Thread(target=write_lines, args=(out_file, rows))
write_thread.start()
// Last vocab parts and last lines to write
vocab_thread1 = Thread(target=write_lines, args=(out_file, rows, True))
After Change
write_thread = Thread(target=write_lines, args=(out_file, rows))
write_thread.start()
rows = []
// Last vocab parts and last lines to write
vocab_thread1 = Thread(target=append_vocab, args=(rows, 1))
vocab_thread1.start()