ready_for_review
by None at 2022-12-21 15:46:18.deployed
by None at 2022-12-21 15:47:37.convert_to_draft
by None at 2022-12-21 16:24:03.deployed
by None at 2022-12-21 19:59:13.ready_for_review
by None at 2022-12-21 21:18:28.referenced
by Christina Chortaria at 2022-12-21 21:26:41.merged
by Christina Chortaria at 2022-12-21 21:26:41.closed
by Christina Chortaria at 2022-12-21 21:26:41.head_ref_deleted
by Christina Chortaria at 2022-12-21 21:26:42.closed
by Christina Chortaria at 2022-12-21 21:26:42.assigned
by Christina Chortaria at 2022-12-21 19:09:52.This should be a draft PR and there doesn't appear to be a way to set that on this repo (or I'm missing it!). Closing for now, just to be safe. Will reopen when ready for review.
closed
by Kate Lynch at 2022-12-21 20:53:44.assigned
by Kate Lynch at 2022-12-21 14:43:57.A support ticket has been submitted within Symplectic Support: https://support.symplectic.co.uk/support/tickets/424589
This should also confirm that the results on the Collection show page are valid (the number on the page, as well as confirming that each member item is listed as they should be).
The collection members are rendered using database queries within interfaces such as https://oar.princeton.edu/handle/88435/pr1mw2m (hence, these should be accurate), while the item count for the https://oar.princeton.edu/collection-list interface is populated using other mechanisms.
https://github.com/PrincetonUniversityLibrary/princeton-5/tree/oar-TEST-fix-collection-count resolves most of this issue, however, there is still one final bug affecting the collection member item total within the Collection show page.
assigned
by James R. Griffin III at 2022-12-21 15:04:55.labeled
by James R. Griffin III at 2022-12-21 15:05:19.labeled
by James R. Griffin III at 2022-12-21 15:05:22.unlabeled
by James R. Griffin III at 2022-12-21 15:15:15.labeled
by James R. Griffin III at 2022-12-21 15:15:16.Can we close this ticket? From my perspective, the issue is solved thanks to @maxkadel looking at the CSV headers of the file. Thank you again for your work on this!
mentioned
by Max Kadel at 2022-12-21 14:32:35.subscribed
by Max Kadel at 2022-12-21 14:32:36.head_ref_force_pushed
by Max Kadel at 2022-12-21 15:42:25.ready_for_review
by Max Kadel at 2022-12-21 15:46:18.referenced
by Christina Chortaria at 2022-12-21 18:06:34.merged
by Christina Chortaria at 2022-12-21 18:06:34.closed
by Christina Chortaria at 2022-12-21 18:06:34.head_ref_deleted
by Christina Chortaria at 2022-12-21 18:06:35.labeled
by None at 2022-12-21 18:07:41.labeled
by None at 2022-12-21 18:07:41.Superseded by #437.
closed
by None at 2022-12-21 18:07:43.head_ref_deleted
by None at 2022-12-21 18:07:44.Need to double check that cron jobs are still running after deploy (deployed 12/21/2022 at 12:20 pm est)
closed
by Christina Chortaria at 2022-12-21 18:46:16.referenced
by Christina Chortaria at 2022-12-20 22:00:36.merged
by Christina Chortaria at 2022-12-20 22:00:36.closed
by Christina Chortaria at 2022-12-20 22:00:36.head_ref_deleted
by Christina Chortaria at 2022-12-20 22:00:37.Coverage remained the same at 94.515% when pulling 76350e3118901bf0f8f50e2ffa9a1ffbbb851721 on circleci-main-branch into 195383b05a2cbdc05b1e05448083ab9da6e18469 on main.
ready_for_review
by Christina Chortaria at 2022-12-20 22:37:35.referenced
by Jane Sandberg at 2022-12-20 22:38:22.merged
by Jane Sandberg at 2022-12-20 22:38:22.closed
by Jane Sandberg at 2022-12-20 22:38:22.head_ref_deleted
by Jane Sandberg at 2022-12-20 22:38:23.Coverage remained the same at 94.515% when pulling ac50154953b118e70ab3464eeee7bffff47e3068 on circleci-main-failure into d0f20fdec2e2df3abd72d9b8baa43720c255cdbc on main.
head_ref_force_pushed
by Christina Chortaria at 2022-12-20 23:24:01.renamed
by Christina Chortaria at 2022-12-20 23:35:52.referenced
by Christina Chortaria at 2022-12-20 23:46:50.merged
by Christina Chortaria at 2022-12-20 23:46:50.closed
by Christina Chortaria at 2022-12-20 23:46:50.head_ref_deleted
by Christina Chortaria at 2022-12-20 23:46:51.Deployed in https://catalog-qa.princeton.edu/users/sign_in
deployed
by None at 2022-12-21 14:57:20.referenced
by Christina Chortaria at 2022-12-21 15:26:59.merged
by Christina Chortaria at 2022-12-21 15:26:59.closed
by Christina Chortaria at 2022-12-21 15:26:59.head_ref_deleted
by Christina Chortaria at 2022-12-21 15:27:00.assigned
by Christina Chortaria at 2022-12-21 14:54:14.closed
by Christina Chortaria at 2022-12-21 15:27:00.referenced
by Kevin Reiss at 2022-12-21 16:45:28.merged
by Kevin Reiss at 2022-12-21 16:45:28.closed
by Kevin Reiss at 2022-12-21 16:45:28.head_ref_deleted
by Kevin Reiss at 2022-12-21 16:45:29.closed
by Kevin Reiss at 2022-12-21 16:45:29.closed
by Kevin Reiss at 2022-12-21 16:46:05.Coverage remained the same at 94.515% when pulling c03d247c39ee64b49e4256a1b5557dd756d08b49 on update-circleci-config into 842614a3ecd6325c3047b5bf65a7305d80e20ef5 on main.
head_ref_force_pushed
by Christina Chortaria at 2022-12-21 18:05:12.head_ref_force_pushed
by Christina Chortaria at 2022-12-21 18:31:35.deployed
by None at 2022-12-21 18:33:42.head_ref_force_pushed
by Christina Chortaria at 2022-12-21 18:42:20.deployed
by None at 2022-12-21 18:48:43.ready_for_review
by Christina Chortaria at 2022-12-21 18:50:50.referenced
by Christina Chortaria at 2022-12-21 19:05:30.merged
by Christina Chortaria at 2022-12-21 19:05:30.closed
by Christina Chortaria at 2022-12-21 19:05:30.head_ref_deleted
by Christina Chortaria at 2022-12-21 19:05:31.closed
by Jane Sandberg at 2022-12-20 22:38:23.reopened
by Christina Chortaria at 2022-12-20 23:05:55.closed
by Christina Chortaria at 2022-12-20 23:46:51.reopened
by Christina Chortaria at 2022-12-21 14:58:17.closed
by Christina Chortaria at 2022-12-21 19:05:31.reopened
by Christina Chortaria at 2022-12-21 20:37:31.Coverage remained the same at 94.515% when pulling 5579abedb77cf31d81cd9e10ec3aa673f2e49606 on circleci-v1 into 70f0c789b4e5734a58c7eb3394d23b438cc1f3e6 on main.
head_ref_force_pushed
by Christina Chortaria at 2022-12-21 22:36:33.ready_for_review
by Christina Chortaria at 2022-12-21 22:50:14.Should be fixed by https://github.com/pulibrary/pdc_describe/commit/a5cbc724a6feb2047ba71eb21123335e1106266e which I pushed to main accidentally. Will close when tests pass.
assigned
by Chuck McCallum at 2022-12-20 23:01:44.ready_for_review
by Chuck McCallum at 2022-12-20 23:47:16.Really not sure why I'm getting all these extra changes. It's small, so I'll just make a new PR. Closing.
closed
by Chuck McCallum at 2022-12-21 00:17:23.head_ref_deleted
by Chuck McCallum at 2022-12-21 00:17:27.labeled
by None at 2022-12-21 14:39:50.I agree that this is a better approach, and the exact match is even better, but the behavior when there are no matches is changing -- It used to raise an exception, but now it returns nil.
Since this didn't cause a test failure, maybe there's a gap in the tests?
Actually the find_by!
does in fact raise an error when there is no match: https://apidock.com/rails/v4.0.2/ActiveRecord/FinderMethods/find_by%21
Oh, sorry, that's what the !
does. Thanks!
head_ref_force_pushed
by None at 2022-12-21 14:41:17.deployed
by None at 2022-12-21 15:44:34.referenced
by Chuck McCallum at 2022-12-21 16:31:41.merged
by Chuck McCallum at 2022-12-21 16:31:41.closed
by Chuck McCallum at 2022-12-21 16:31:41.head_ref_deleted
by Chuck McCallum at 2022-12-21 16:31:42.labeled
by Chuck McCallum at 2022-12-21 16:39:56.referenced
by Chuck McCallum at 2022-12-21 18:32:37.merged
by Chuck McCallum at 2022-12-21 18:32:37.closed
by Chuck McCallum at 2022-12-21 18:32:37.head_ref_deleted
by Chuck McCallum at 2022-12-21 18:32:38.closed
by Chuck McCallum at 2022-12-21 18:32:38.referenced
by Chuck McCallum at 2022-12-21 19:02:03.merged
by Chuck McCallum at 2022-12-21 19:02:03.closed
by Chuck McCallum at 2022-12-21 19:02:03.head_ref_deleted
by Chuck McCallum at 2022-12-21 19:02:04.assigned
by None at 2022-12-21 16:30:43.referenced
by None at 2022-12-21 16:31:59.closed
by Chuck McCallum at 2022-12-21 19:02:04.referenced
by Chuck McCallum at 2022-12-21 19:02:05.Draft for moving ARK and Contributors
convert_to_draft
by Chuck McCallum at 2022-12-21 15:27:08.ready_for_review
by Chuck McCallum at 2022-12-21 19:06:50.labeled
by None at 2022-12-21 19:07:51.assigned
by Chuck McCallum at 2022-12-21 20:22:02.referenced
by Francis Kayiwa at 2022-12-20 22:15:56.merged
by Francis Kayiwa at 2022-12-20 22:15:56.closed
by Francis Kayiwa at 2022-12-20 22:15:56.head_ref_deleted
by Francis Kayiwa at 2022-12-20 22:15:57.ready_for_review
by Jane Sandberg at 2022-12-21 00:14:27.referenced
by Alicia Cozine at 2022-12-21 16:20:49.merged
by Alicia Cozine at 2022-12-21 16:20:50.closed
by Alicia Cozine at 2022-12-21 16:20:50.head_ref_deleted
by Alicia Cozine at 2022-12-21 16:20:51.closed
by Alicia Cozine at 2022-12-21 16:20:51.Current failure (from the figgy role) is:
TASK [common : common | install dust] ******************************************
fatal: [instance]: FAILED! => {"changed": false, "msg": "Failure downloading https://github.com/bootandy/dust/releases/download//v0.8.3/du-dust_0.8.3_amd64.deb, HTTP Error 503: Egress is over the account limit."}
Should we add dust
to the items we mirror locally?
ready_for_review
by Max Kadel at 2022-12-21 15:47:04.head_ref_force_pushed
by Max Kadel at 2022-12-21 16:00:10.referenced
by Christina Chortaria at 2022-12-21 17:53:45.merged
by Christina Chortaria at 2022-12-21 17:53:45.closed
by Christina Chortaria at 2022-12-21 17:53:46.head_ref_deleted
by Christina Chortaria at 2022-12-21 17:53:47.After the switch the application should be available where it currently is - https://library.princeton.edu/hrc (it's a blank page, don't ask me)
head_ref_force_pushed
by Francis Kayiwa at 2022-12-21 19:41:11.referenced
by Francis Kayiwa at 2022-12-21 20:16:27.merged
by Francis Kayiwa at 2022-12-21 20:16:27.closed
by Francis Kayiwa at 2022-12-21 20:16:27.head_ref_deleted
by Francis Kayiwa at 2022-12-21 20:16:28.Create keys for each curator: 1. Allow the curator access to AWS as the devs do 1. negative - they have access to everything 1. Create a restricted account just to the globus directories 1. Need to create a service account 2. Can we sponsor curator accounts?
We are creating Accounts utilizing the second approach.
1. Create a group - pdc-curator
1. Create Accounts for each user and attach them to each
1. Create User pdc-<netid>
1. Save the User to last pass
1. Share with correct curator
@kayiwa and I created accounts for Matt, Hannah, & Neggin. Will schedule meetings in the new year to verify Globus access for each user.
Documentation PR: https://github.com/pulibrary/rdss-handbook/pull/103
mentioned
by Francis Kayiwa at 2022-12-21 19:33:40.subscribed
by Francis Kayiwa at 2022-12-21 19:33:40.closed
by None at 2022-12-21 19:33:44.referenced
by Francis Kayiwa at 2022-12-21 20:57:32.merged
by Francis Kayiwa at 2022-12-21 20:57:32.closed
by Francis Kayiwa at 2022-12-21 20:57:32.head_ref_deleted
by Francis Kayiwa at 2022-12-21 20:57:33.review_requested
by None at 2022-12-21 20:23:56.review_requested
by None at 2022-12-21 20:24:32.referenced
by Francis Kayiwa at 2022-12-21 21:25:57.merged
by Francis Kayiwa at 2022-12-21 21:25:57.closed
by Francis Kayiwa at 2022-12-21 21:25:57.head_ref_deleted
by Francis Kayiwa at 2022-12-21 21:25:58.head_ref_force_pushed
by Alicia Cozine at 2022-12-21 21:38:47.fionally did this. All CAMS pages are deleted.
closed
by Kevin Reiss at 2022-12-21 19:46:47.mentioned
by Francis Kayiwa at 2022-12-21 20:44:19.subscribed
by Francis Kayiwa at 2022-12-21 20:44:19.referenced
by Kevin Reiss at 2022-12-21 15:01:15.merged
by Kevin Reiss at 2022-12-21 15:01:15.closed
by Kevin Reiss at 2022-12-21 15:01:15.head_ref_deleted
by Kevin Reiss at 2022-12-21 15:01:16.Looks like vm2 is up-to-date now, so this is no longer needed.
closed
by None at 2022-12-21 15:02:10.head_ref_deleted
by None at 2022-12-21 15:02:11.Looks like loader-utils is no longer a dependency, so this is no longer needed.
closed
by None at 2022-12-21 15:02:13.head_ref_deleted
by None at 2022-12-21 15:02:14.assigned
by Kate Lynch at 2022-12-21 14:24:36.assigned
by Chuck McCallum at 2022-12-21 14:24:47.unassigned
by Kate Lynch at 2022-12-21 14:24:47.


fprime_gds.wxgui.src.main_frame_factory
¶
@brief Main frame factory class
This class demonstrated how to set up a pipeline with the GDS API and provides an interface for creating additional GDS windows that use this pipeline
@data Created July 18, 2018 @author Josef Biberstein
@bug No known bugs
Module Contents¶
Classes¶
|
Factory that creates new windows for the GDS |
-
class
fprime_gds.wxgui.src.main_frame_factory.
MainFrameFactory
(opts, config)[source]¶ Factory that creates new windows for the GDS
-
create_new_window
(self)[source]¶ Create a new instance of the GDS window
- Raises
Exception -- raised if the setup_pipline() method wasn't called before this method –
-
setup_pipeline
(self)[source]¶ Setup the pipeline of data from the client to the GUI. Creates one instance of main GDS window for you.
- Raises
Exception -- raised if no dictionary path passed in the opts object –
-
register_all
(self, frame)[source]¶ Register all decoders, encoders and panels
- Parameters
frame (MainFrameImpl) – Main frame implementation object with panels to register
-
Build: 1.4.1


Collaborations with NOAA's Weather Prediction Center over the past few years have yielded operationally-ready Machine Learning (ML)-based prediction systems focused on excessive rainfall. These systems have used Random Forests (RFs) to train environmental predictors against observed records of excessive rainfall, defined as instances of average recurrence interval (ARI) exceedances.
Previous prediction models were developed with the former Global Ensemble Foreast System (GEFS). In October 2020, the GEFS model was upgraded to a new dynamical core and finer resolution, which has necessitated a retraining of the RF models. Additionally, a new excessive rainfall dataset was constructed (Unified Flood Verification System; UFVS) using a variety of independent datasets allowing for a "new" construction of the RFs. This project is tasked with 1) updating previously operationalized models with the new Finite Volume Cubed-sphere GEFS and train a new system that defines excessive rainfall with the UFVS. Additionally, the original prediction system generated forecasts for days 1--3, but this project will extend the experimental forecasts out to day 8 in support of Weather Prediction Center operations.
Initial forecasts and results suggest that the UFVS-trained models have objectively slightly poorer skill than their ARI-trained counterparts over a 1.5 verification period (see Figure below). However, subjective interpretations from the warm season of 2022, during the Flash Flood and Intense Rainfall Experiment, suggest the UFVS-trained models are outperforming the ARI models. All evaluations are preliminary, and naturally suffer from sampling error and a limited sample size.
Skill and resolution metrics also suggest that forecasts can be made skillfully into days 4 and 5, although skill has decreased drastically from day 1 to 5. More work needs to be done to fully evaluate the value and utility of long-term excessive rainfall forecasts from the ML system.
Figure: (left) Brier Skill Score aggregated over 1.5 years of forecasts for multiple versions of the CSU-MLP excessive rainfall models (see Figure legend) and the WPC Excessive Rainfall Outlook (ERO) at days 1--5; days 4 and 5 have a smaller sample of forecasts, denoted by "n" along the x-axis. As in the Brier Skill Score panel, but plotted is Area under the Relative Operating Characterisitic (ROC) curve.


1 write to httpUrl
System.Management.Automation (1)
engine\remoting\fanin\WSManNativeAPI.cs (1)
2124
result.
httpUrl
= resultInternal.httpUrl;
1 reference to httpUrl
System.Management.Automation (1)
engine\remoting\fanin\WSManPlugin.cs (1)
1161
PSSenderInfo result = new PSSenderInfo(userPrincipal, senderDetails.
httpUrl
);


Richard's Website
Over the last five years, Cordray served as the first-ever director of the Consumer Financial Protection Bureau, a position he was appointed to by President Obama, where he led an agency that was launched in the aftermath of the nation’s financial crisis.
Positions Held:
- Former Director of the Consumer Financial Protection Bureau
- Former Ohio Attorney General
- Former Ohio State Treasurer


Thank you, {{ username }}. Your registration is now complete.
You can go back to NTHUOJ index
and start coding or something else.


Toggle navigation
Start
Collection View
Component View
General Questions
New
Collection
Object
Collections
×
New collection
Creating new collection...
Deleting selected collection and all objects in this collection...
×
New object
Collection:
Name:
*
Accession Date:
*
Database:
Scripting Language:
Image Format:
Image Viewer:
Document Format:
Document Viewer:
Creating and analysing the new object...
Deleting selected object(s)...
Applying the recovery option and analysing the new model...


faninit
This is a replacement for /sbin/init
that launches directly into the Fantom runtime on start-up. It is intentionally minimalist as it expects Fantom to be in charge of application initialization and supervision.
Based on erlinit by Frank Hunleth:
https://github.com/nerves-project/erlinit
Configuration
faninit
reads configuration from /etc/faninit.props
. The available options are:
# Fantom entry point which is invoked when faninit boots
# The acceptable options are the same as 'fan':
# http://fantom.org/doc/docTools/Fan#pods
main=<pod>[::<type>[.<method>]]
# Configure the maximum heap size for JVM using -Xmx option
jvm.xmx=384m
# Enable debug logging
debug=true
# Override the controlling terminal (ttyAMA0, tty1, etc.)
#tty.console=ttyO0
# Action to take when JVM exits:
# 'hang' hang the board rather than rebooting
# 'reboot' reboot board
# 'poweroff' power off board; This is similar to 'hang' except it's for
# platforms without a reset button or an easy way to restart
exit.action=hang
# Optionally run a program after JVM exits
exit.run=/bin/sh
# Action to take when a fatal error is detected in faninint
# See 'exit.action' for options
fatal.action=hang


Rock, Paper, Scissors!
Play 5 rounds - can you beat the computer?
Click me to start a new game!
Your Score:
Computer score:


The full Pygments API¶
This page describes the Pygments API.
High-level API¶
Functions from the pygments
module:
-
pygments.
lex
(code, lexer)¶ Lex code with the lexer (must be a Lexer instance) and return an iterable of tokens. Currently, this only calls lexer.get_tokens().
-
pygments.
format
(tokens, formatter, outfile=None)¶ Format a token stream (iterable of tokens) tokens with the formatter (must be a Formatter instance). The result is written to outfile, or if that is
None
, returned as a string.
-
pygments.
highlight
(code, lexer, formatter, outfile=None)¶ This is the most high-level highlighting function. It combines lex and format in one function.
Functions from pygments.lexers
:
-
pygments.lexers.
get_lexer_by_name
(alias, **options)¶ Return an instance of a Lexer subclass that has alias in its aliases list. The lexer is given the options at its instantiation.
Will raise
pygments.util.ClassNotFound
if no lexer with that alias is found.
-
pygments.lexers.
get_lexer_for_filename
(fn, **options)¶ Return a Lexer subclass instance that has a filename pattern matching fn. The lexer is given the options at its instantiation.
Will raise
pygments.util.ClassNotFound
if no lexer for that filename is found.
-
pygments.lexers.
get_lexer_for_mimetype
(mime, **options)¶ Return a Lexer subclass instance that has mime in its mimetype list. The lexer is given the options at its instantiation.
Will raise
pygments.util.ClassNotFound
if not lexer for that mimetype is found.
-
pygments.lexers.
guess_lexer
(text, **options)¶ Return a Lexer subclass instance that’s guessed from the text in text. For that, the
analyse_text()
method of every known lexer class is called with the text as argument, and the lexer which returned the highest value will be instantiated and returned.pygments.util.ClassNotFound
is raised if no lexer thinks it can handle the content.
-
pygments.lexers.
guess_lexer_for_filename
(filename, text, **options)¶ As
guess_lexer()
, but only lexers which have a pattern in filenames or alias_filenames that matches filename are taken into consideration.pygments.util.ClassNotFound
is raised if no lexer thinks it can handle the content.
-
pygments.lexers.
get_all_lexers
()¶ Return an iterable over all registered lexers, yielding tuples in the format:
(longname, tuple of aliases, tuple of filename patterns, tuple of mimetypes)
New in version 0.6.
Functions from pygments.formatters
:
-
pygments.formatters.
get_formatter_by_name
(alias, **options)¶ Return an instance of a
Formatter
subclass that has alias in its aliases list. The formatter is given the options at its instantiation.Will raise
pygments.util.ClassNotFound
if no formatter with that alias is found.
-
pygments.formatters.
get_formatter_for_filename
(fn, **options)¶ Return a
Formatter
subclass instance that has a filename pattern matching fn. The formatter is given the options at its instantiation.Will raise
pygments.util.ClassNotFound
if no formatter for that filename is found.
Functions from pygments.styles
:
-
pygments.styles.
get_style_by_name
(name)¶ Return a style class by its short name. The names of the builtin styles are listed in
pygments.styles.STYLE_MAP
.Will raise
pygments.util.ClassNotFound
if no style of that name is found.
-
pygments.styles.
get_all_styles
()¶ Return an iterable over all registered styles, yielding their names.
New in version 0.6.
Lexers¶
The base lexer class from which all lexers are derived is:
-
class
pygments.lexer.
Lexer
(**options)¶ The constructor takes a **keywords dictionary of options. Every subclass must first process its own options and then call the Lexer constructor, since it processes the stripnl, stripall and tabsize options.
An example looks like this:
def __init__(self, **options): self.compress = options.get('compress', '') Lexer.__init__(self, **options)
As these options must all be specifiable as strings (due to the command line usage), there are various utility functions available to help with that, see Option processing.
-
get_tokens
(text)¶ This method is the basic interface of a lexer. It is called by the highlight() function. It must process the text and return an iterable of
(tokentype, value)
pairs from text.Normally, you don’t need to override this method. The default implementation processes the stripnl, stripall and tabsize options and then yields all tokens from get_tokens_unprocessed(), with the
index
dropped.
-
get_tokens_unprocessed
(text)¶ This method should process the text and return an iterable of
(index, tokentype, value)
tuples whereindex
is the starting position of the token within the input text.This method must be overridden by subclasses.
-
static
analyse_text
(text)¶ A static method which is called for lexer guessing. It should analyse the text and return a float in the range from
0.0
to1.0
. If it returns0.0
, the lexer will not be selected as the most probable one, if it returns1.0
, it will be selected immediately.Note
You don’t have to add
@staticmethod
to the definition of this method, this will be taken care of by the Lexer’s metaclass.
For a list of known tokens have a look at the Builtin Tokens page.
A lexer also can have the following attributes (in fact, they are mandatory except alias_filenames) that are used by the builtin lookup mechanism.
-
name
¶ Full name for the lexer, in human-readable form.
-
aliases
¶ A list of short, unique identifiers that can be used to lookup the lexer from a list, e.g. using get_lexer_by_name().
-
filenames
¶ A list of fnmatch patterns that match filenames which contain content for this lexer. The patterns in this list should be unique among all lexers.
-
alias_filenames
¶ A list of fnmatch patterns that match filenames which may or may not contain content for this lexer. This list is used by the
guess_lexer_for_filename()
function, to determine which lexers are then included in guessing the correct one. That means that e.g. every lexer for HTML and a template language should include\*.html
in this list.
-
mimetypes
¶ A list of MIME types for content that can be lexed with this lexer.
-
Formatters¶
A formatter is derived from this class:
-
class
pygments.formatter.
Formatter
(**options)¶ As with lexers, this constructor processes options and then must call the base class
__init__()
.The
Formatter
class recognizes the options style, full and title. It is up to the formatter class whether it uses them.-
get_style_defs
(arg='')¶ This method must return statements or declarations suitable to define the current style for subsequent highlighted text (e.g. CSS classes in the HTMLFormatter).
The optional argument arg can be used to modify the generation and is formatter dependent (it is standardized because it can be given on the command line).
This method is called by the
-S
command-line option, the arg is then given by the-a
option.
-
format
(tokensource, outfile)¶ This method must format the tokens from the tokensource iterable and write the formatted version to the file object outfile.
Formatter options can control how exactly the tokens are converted.
New in version 0.7: A formatter must have the following attributes that are used by the builtin lookup mechanism.
-
name
¶ Full name for the formatter, in human-readable form.
-
aliases
¶ A list of short, unique identifiers that can be used to lookup the formatter from a list, e.g. using
get_formatter_by_name()
.
-
filenames
¶ A list of
fnmatch
patterns that match filenames for which this formatter can produce output. The patterns in this list should be unique among all formatters.
-
Option processing¶
The pygments.util
module has some utility functions usable for option
processing:
-
exception
pygments.util.
OptionError
¶ This exception will be raised by all option processing functions if the type or value of the argument is not correct.
-
pygments.util.
get_bool_opt
(options, optname, default=None)¶ Interpret the key optname from the dictionary options as a boolean and return it. Return default if optname is not in options.
The valid string values for
True
are1
,yes
,true
andon
, the ones forFalse
are0
,no
,false
andoff
(matched case-insensitively).
-
pygments.util.
get_int_opt
(options, optname, default=None)¶ As
get_bool_opt()
, but interpret the value as an integer.
-
pygments.util.
get_list_opt
(options, optname, default=None)¶ If the key optname from the dictionary options is a string, split it at whitespace and return it. If it is already a list or a tuple, it is returned as a list.
-
pygments.util.
get_choice_opt
(options, optname, allowed, default=None)¶ If the key optname from the dictionary is not in the sequence allowed, raise an error, otherwise return it.
New in version 0.8.


{{.TopJS}}
<About your website>
Copyright (c) 2011-2018 Twitter, Inc.
Copyright (c) 2011-2018 The Bootstrap Authors
https://github.com/twbs/bootstrap/blob/v4.0.0/LICENSECopyright 2020 jQuery License
https://jquery.org/license/Photo
https://www.pexels.com/photo/white-feather-in-close-up-photography-7368395/By Larissa Farber
https://www.pexels.com/@larissafarber


At what position does the RxPlayer start a content
Overview
When you give it a content to load, the RxPlayer has to set at one point the starting playback position.
This documentation page explain how that position is calculated.
Basically, we can be in one of those four different situations:
-
a valid
startAt
option has been set toloadVideo
, in which case we use it to define the initial position. -
no
startAt
option has been set and we’re playing a VoD content. -
no
startAt
option has been set and we’re playing a live content. -
no
startAt
option has been set and we’re playing a directfile content.
About the minimum and maximum position
Regardless of your current situation, the minimum and maximum position of the content might be calculated and used when defining that starting position.
Those positions are inferred directly from the Manifest (when not playing a directfile content). Most Manifests declare every segments currently available. In that case, we can simply use the start of the first anounced segment as a minimum position and the end of the last one as a maximum.
In some other Manifest files, segment availability is not clearly anounced. In those cases, the minimum and maximum positions use other properties declared in the Manifest, often by making usage of a synchronized clock between the client and the server.
For “directfile” contents, we directly interrogate the browser to obtain the
duration of the content. The minimum position here is always inferred to be 0
(for the moment at least).
When a startAt option has been set
You can define yourself the start position at which we should play. This is configurable thanks to the startAt option, documented here in the API documentation.
Please note however that there is a catch: every of the possible values you will set will be “bounded” to the maximum and minimum position actually detected for the content.
This means that if your startAt indicate that we should start at a position of
10
seconds but the content starts at 15
seconds, we will actually start
at 15
seconds instead.
You can check at which position we actually loaded when the player’s state
(accessible either through the getPlayerState
method or through the
playerStateChanged
event) changed to "LOADED"
.
When no startAt option has been set and we’re playing a VoD content
For VoD contents, we will just start to play at the minimum detected position in the Manifest.
When no startAt option has been set and we’re playing a live content
For live contents, we have here three cases:
-
In the case where we have a clock synchronization mechanism with the server[1] and if the current date can be seeked to (i.e. segments are available for that position), we will try to play close to[2] that date.
-
if either we do not have a clock synchronization mechanism[1] or if we have one but no segment is defined for the current date, we will play close to[2] the maximum calculated position instead.
-
Third case, if we do not have any clock synchronization mechanism[1] and if the Manifest does not announce clearly a maximum position, we will use the system clock and play close to[2] that time instead.
[1] We can obtain a synchronized clock allowing us to to know which content should be broadcasted at which time by either of those means:
- the Manifest document defines one (e.g.
UTCTiming
elements for DASH contents). - One was provided to
loadVideo
thanks to theserverSyncInfos
transport option see loadVideo documentation.
[2] I wrote “close to” in every cases as we might substract some seconds from that value. How much we might do, depends on:
- if the manifest suggest us a delay relative to the live, in which case we apply it
- if not, we set it to the default:
10
seconds
When no startAt option has been set and we’re playing a directfile content
For directfile contents, we for now just start at 0
if no startAt
is
defined.


Recurrent Neural Networks with Word Embeddings¶
Summary¶
In this tutorial, you will learn how to:
- learn Word Embeddings
- using Recurrent Neural Networks architectures
- with Context Windows
in order to perform Semantic Parsing / Slot-Filling (Spoken Language Understanding)
Code - Citations - Contact¶
Code¶
Directly running experiments is also possible using this github repository.
Papers¶
If you use this tutorial, cite the following papers:
- [pdf] Grégoire Mesnil, Xiaodong He, Li Deng and Yoshua Bengio. Investigation of Recurrent-Neural-Network Architectures and Learning Methods for Spoken Language Understanding. Interspeech, 2013.
- [pdf] Gokhan Tur, Dilek Hakkani-Tur and Larry Heck. What is left to be understood in ATIS?
- [pdf] Christian Raymond and Giuseppe Riccardi. Generative and discriminative algorithms for spoken language understanding. Interspeech, 2007.
- [pdf] Bastien, Frédéric, Lamblin, Pascal, Pascanu, Razvan, Bergstra, James, Goodfellow, Ian, Bergeron, Arnaud, Bouchard, Nicolas, and Bengio, Yoshua. Theano: new features and speed improvements. NIPS Workshop on Deep Learning and Unsupervised Feature Learning, 2012.
- [pdf] Bergstra, James, Breuleux, Olivier, Bastien, Frédéric, Lamblin, Pascal, Pascanu, Razvan, Desjardins, Guillaume, Turian, Joseph, Warde-Farley, David, and Bengio, Yoshua. Theano: a CPU and GPU math expression compiler. In Proceedings of the Python for Scientific Computing Conference (SciPy), June 2010.
Thank you!
Contact¶
Please email to
Grégoire Mesnil (first-add-a-dot-last-add-at-gmail-add-a-dot-com)
for any problem report or feedback. We will be glad to hear from you.
Task¶
The Slot-Filling (Spoken Language Understanding) consists in assigning a label to each word given a sentence. It’s a classification task.
Dataset¶
An old and small benchmark for this task is the ATIS (Airline Travel Information System) dataset collected by DARPA. Here is a sentence (or utterance) example using the Inside Outside Beginning (IOB) representation.
| Input (words) | show | flights | from | Boston | to | New | York | today |
| Output (labels) | O | O | O | B-dept | O | B-arr | I-arr | B-date |
The ATIS offical split contains 4,978/893 sentences for a total of 56,590/9,198 words (average sentence length is 15) in the train/test set. The number of classes (different slots) is 128 including the O label (NULL).
As Microsoft Research people,
we deal with unseen words in the test set by marking any words with only one
single occurrence in the training set as <UNK>
and use this token to
represent those unseen words in the test set. As Ronan Collobert and colleagues, we converted
sequences of numbers with the string DIGIT
i.e. 1984
is converted to
DIGITDIGITDIGITDIGIT
.
We split the official train set into a training and validation set that contain respectively 80% and 20% of the official training sentences. Significant performance improvement difference has to be greater than 0.6% in F1 measure at the 95% level due to the small size of the dataset. For evaluation purpose, experiments have to report the following metrics:
We will use the conlleval PERL script to measure the performance of our models.
Recurrent Neural Network Model¶
Raw input encoding¶
A token corresponds to a word. Each token in the ATIS vocabulary is associated to an index. Each sentence is a
array of indexes (int32
). Then, each set (train, valid, test) is a list of arrays of indexes. A python
dictionary is defined for mapping the space of indexes to the space of words.
>>> sentence
array([383, 189, 13, 193, 208, 307, 195, 502, 260, 539,
7, 60, 72, 8, 350, 384], dtype=int32)
>>> map(lambda x: index2word[x], sentence)
['please', 'find', 'a', 'flight', 'from', 'miami', 'florida',
'to', 'las', 'vegas', '<UNK>', 'arriving', 'before', 'DIGIT', "o'clock", 'pm']
Same thing for labels corresponding to this particular sentence.
>>> labels
array([126, 126, 126, 126, 126, 48, 50, 126, 78, 123, 81, 126, 15,
14, 89, 89], dtype=int32)
>>> map(lambda x: index2label[x], labels)
['O', 'O', 'O', 'O', 'O', 'B-fromloc.city_name', 'B-fromloc.state_name',
'O', 'B-toloc.city_name', 'I-toloc.city_name', 'B-toloc.state_name',
'O', 'B-arrive_time.time_relative', 'B-arrive_time.time',
'I-arrive_time.time', 'I-arrive_time.time']
Context window¶
Given a sentence i.e. an array of indexes, and a window size i.e. 1,3,5,..., we need to convert each word in the sentence to a context window surrounding this particular word. In details, we have:
def contextwin(l, win):
'''
win :: int corresponding to the size of the window
given a list of indexes composing a sentence
l :: array containing the word indexes
it will return a list of list of indexes corresponding
to context windows surrounding each word in the sentence
'''
assert (win % 2) == 1
assert win >= 1
l = list(l)
lpadded = win // 2 * [-1] + l + win // 2 * [-1]
out = [lpadded[i:(i + win)] for i in range(len(l))]
assert len(out) == len(l)
return out
The index -1
corresponds to the PADDING
index we insert at the
beginning/end of the sentence.
Here is a sample:
>>> x
array([0, 1, 2, 3, 4], dtype=int32)
>>> contextwin(x, 3)
[[-1, 0, 1],
[ 0, 1, 2],
[ 1, 2, 3],
[ 2, 3, 4],
[ 3, 4,-1]]
>>> contextwin(x, 7)
[[-1, -1, -1, 0, 1, 2, 3],
[-1, -1, 0, 1, 2, 3, 4],
[-1, 0, 1, 2, 3, 4,-1],
[ 0, 1, 2, 3, 4,-1,-1],
[ 1, 2, 3, 4,-1,-1,-1]]
To summarize, we started with an array of indexes and ended with a matrix of indexes. Each line corresponds to the context window surrounding this word.
Word embeddings¶
Once we have the sentence converted to context windows i.e. a matrix of indexes, we have to associate these indexes to the embeddings (real-valued vector associated to each word). Using Theano, it gives:
import theano, numpy
from theano import tensor as T
# nv :: size of our vocabulary
# de :: dimension of the embedding space
# cs :: context window size
nv, de, cs = 1000, 50, 5
embeddings = theano.shared(0.2 * numpy.random.uniform(-1.0, 1.0, \
(nv+1, de)).astype(theano.config.floatX)) # add one for PADDING at the end
idxs = T.imatrix() # as many columns as words in the context window and as many lines as words in the sentence
x = self.emb[idxs].reshape((idxs.shape[0], de*cs))
The x symbolic variable corresponds to a matrix of shape (number of words in the sentences, dimension of the embedding space X context window size).
Let’s compile a theano function to do so
>>> sample
array([0, 1, 2, 3, 4], dtype=int32)
>>> csample = contextwin(sample, 7)
[[-1, -1, -1, 0, 1, 2, 3],
[-1, -1, 0, 1, 2, 3, 4],
[-1, 0, 1, 2, 3, 4,-1],
[ 0, 1, 2, 3, 4,-1,-1],
[ 1, 2, 3, 4,-1,-1,-1]]
>>> f = theano.function(inputs=[idxs], outputs=x)
>>> f(csample)
array([[-0.08088442, 0.08458307, 0.05064092, ..., 0.06876887,
-0.06648078, -0.15192257],
[-0.08088442, 0.08458307, 0.05064092, ..., 0.11192625,
0.08745284, 0.04381778],
[-0.08088442, 0.08458307, 0.05064092, ..., -0.00937143,
0.10804889, 0.1247109 ],
[ 0.11038255, -0.10563177, -0.18760249, ..., -0.00937143,
0.10804889, 0.1247109 ],
[ 0.18738101, 0.14727569, -0.069544 , ..., -0.00937143,
0.10804889, 0.1247109 ]], dtype=float32)
>>> f(csample).shape
(5, 350)
We now have a sequence (of length 5 which is corresponds to the length of the sentence) of context window word embeddings which is easy to feed to a simple recurrent neural network to iterate with.
Elman recurrent neural network¶
The followin (Elman) recurrent neural network (E-RNN) takes as input the current input
(time t
) and the previous hiddent state (time t-1
). Then it iterates.
In the previous section, we processed the input to fit this
sequential/temporal structure. It consists in a matrix where the row 0
corresponds to
the time step t=0
, the row 1
corresponds to the time step t=1
, etc.
The parameters of the E-RNN to be learned are:
- the word embeddings (real-valued matrix)
- the initial hidden state (real-value vector)
- two matrices for the linear projection of the input
t
and the previous hidden layer statet-1
- (optional) bias. Recommendation: don’t use it.
- softmax classification layer on top
The hyperparameters define the whole architecture:
- dimension of the word embedding
- size of the vocabulary
- number of hidden units
- number of classes
- random seed + way to initialize the model
It gives the following code:
class RNNSLU(object):
''' elman neural net model '''
def __init__(self, nh, nc, ne, de, cs):
'''
nh :: dimension of the hidden layer
nc :: number of classes
ne :: number of word embeddings in the vocabulary
de :: dimension of the word embeddings
cs :: word window context size
'''
# parameters of the model
self.emb = theano.shared(name='embeddings',
value=0.2 * numpy.random.uniform(-1.0, 1.0,
(ne+1, de))
# add one for padding at the end
.astype(theano.config.floatX))
self.wx = theano.shared(name='wx',
value=0.2 * numpy.random.uniform(-1.0, 1.0,
(de * cs, nh))
.astype(theano.config.floatX))
self.wh = theano.shared(name='wh',
value=0.2 * numpy.random.uniform(-1.0, 1.0,
(nh, nh))
.astype(theano.config.floatX))
self.w = theano.shared(name='w',
value=0.2 * numpy.random.uniform(-1.0, 1.0,
(nh, nc))
.astype(theano.config.floatX))
self.bh = theano.shared(name='bh',
value=numpy.zeros(nh,
dtype=theano.config.floatX))
self.b = theano.shared(name='b',
value=numpy.zeros(nc,
dtype=theano.config.floatX))
self.h0 = theano.shared(name='h0',
value=numpy.zeros(nh,
dtype=theano.config.floatX))
# bundle
self.params = [self.emb, self.wx, self.wh, self.w,
self.bh, self.b, self.h0]
Then we integrate the way to build the input from the embedding matrix:
idxs = T.imatrix()
x = self.emb[idxs].reshape((idxs.shape[0], de*cs))
y_sentence = T.ivector('y_sentence') # labels
We use the scan operator to construct the recursion, works like a charm:
def recurrence(x_t, h_tm1):
h_t = T.nnet.sigmoid(T.dot(x_t, self.wx)
+ T.dot(h_tm1, self.wh) + self.bh)
s_t = T.nnet.softmax(T.dot(h_t, self.w) + self.b)
return [h_t, s_t]
[h, s], _ = theano.scan(fn=recurrence,
sequences=x,
outputs_info=[self.h0, None],
n_steps=x.shape[0])
p_y_given_x_sentence = s[:, 0, :]
y_pred = T.argmax(p_y_given_x_sentence, axis=1)
Theano will then compute all the gradients automatically to maximize the log-likelihood:
lr = T.scalar('lr')
sentence_nll = -T.mean(T.log(p_y_given_x_sentence)
[T.arange(x.shape[0]), y_sentence])
sentence_gradients = T.grad(sentence_nll, self.params)
sentence_updates = OrderedDict((p, p - lr*g)
for p, g in
zip(self.params, sentence_gradients))
Next compile those functions:
self.classify = theano.function(inputs=[idxs], outputs=y_pred)
self.sentence_train = theano.function(inputs=[idxs, y_sentence, lr],
outputs=sentence_nll,
updates=sentence_updates)
We keep the word embeddings on the unit sphere by normalizing them after each update:
self.normalize = theano.function(inputs=[],
updates={self.emb:
self.emb /
T.sqrt((self.emb**2)
.sum(axis=1))
.dimshuffle(0, 'x')})
And that’s it!
Evaluation¶
With the previous defined functions, you can compare the predicted labels with the true labels and compute some metrics. In this repo, we build a wrapper around the conlleval PERL script. It’s not trivial to compute those metrics due to the Inside Outside Beginning (IOB) representation i.e. a prediction is considered correct if the word-beginning and the word-inside and the word-outside predictions are all correct. Note that the extension is txt and you will have to change it to pl.
Training¶
Updates¶
For stochastic gradient descent (SGD) update, we consider the whole sentence as a mini-batch and perform one update per sentence. It is possible to perform a pure SGD (contrary to mini-batch) where the update is done on only one single word at a time.
After each iteration/update, we normalize the word embeddings to keep them on a unit sphere.
Stopping Criterion¶
Early-stopping on a validation set is our regularization technique: the training is run for a given number of epochs (a single pass through the whole dataset) and keep the best model along with respect to the F1 score computed on the validation set after each epoch.
Hyper-Parameter Selection¶
Although there is interesting research/code on the topic of automatic hyper-parameter selection, we use the KISS random search.
The following intervals can give you some starting point:
- learning rate : uniform([0.05,0.01])
- window size : random value from {3,...,19}
- number of hidden units : random value from {100,200}
- embedding dimension : random value from {50,100}
Running the Code¶
After downloading the data using download.sh, the user can then run the code by calling:
python code/rnnslu.py
('NEW BEST: epoch', 25, 'valid F1', 96.84, 'best test F1', 93.79)
[learning] epoch 26 >> 100.00% completed in 28.76 (sec) <<
[learning] epoch 27 >> 100.00% completed in 28.76 (sec) <<
...
('BEST RESULT: epoch', 57, 'valid F1', 97.23, 'best test F1', 94.2, 'with the model', 'rnnslu')
Timing¶
Running experiments on ATIS using this repository will run one epoch in less than 40 seconds on i7 CPU 950 @ 3.07GHz using less than 200 Mo of RAM:
[learning] epoch 0 >> 100.00% completed in 34.48 (sec) <<
After a few epochs, you obtain decent performance 94.48 % of F1 score.:
NEW BEST: epoch 28 valid F1 96.61 best test F1 94.19
NEW BEST: epoch 29 valid F1 96.63 best test F1 94.42
[learning] epoch 30 >> 100.00% completed in 35.04 (sec) <<
[learning] epoch 31 >> 100.00% completed in 34.80 (sec) <<
[...]
NEW BEST: epoch 40 valid F1 97.25 best test F1 94.34
[learning] epoch 41 >> 100.00% completed in 35.18 (sec) <<
NEW BEST: epoch 42 valid F1 97.33 best test F1 94.48
[learning] epoch 43 >> 100.00% completed in 35.39 (sec) <<
[learning] epoch 44 >> 100.00% completed in 35.31 (sec) <<
[...]
Word Embedding Nearest Neighbors¶
We can check the k-nearest neighbors of the learned embeddings. L2 and cosine distance gave the same results so we plot them for the cosine distance.
| atlanta | back | ap80 | but | aircraft | business | a | august | actually | cheap |
|---|---|---|---|---|---|---|---|---|---|
| phoenix | live | ap57 | if | plane | coach | people | september | provide | weekday |
| denver | lives | ap | up | service | first | do | january | prices | weekdays |
| tacoma | both | connections | a | airplane | fourth | but | june | stop | am |
| columbus | how | tomorrow | now | seating | thrift | numbers | december | number | early |
| seattle | me | before | amount | stand | tenth | abbreviation | november | flight | sfo |
| minneapolis | out | earliest | more | that | second | if | april | there | milwaukee |
| pittsburgh | other | connect | abbreviation | on | fifth | up | july | serving | jfk |
| ontario | plane | thrift | restrictions | turboprop | third | serve | jfk | thank | shortest |
| montreal | service | coach | mean | mean | twelfth | database | october | ticket | bwi |
| philadelphia | fare | today | interested | amount | sixth | passengers | may | are | lastest |
As you can judge, the limited size of the vocabulary (about 500 words) gives us mitigated performance. According to human judgement: some are good, some are bad.


Outgoing web request tracers are used to capture information about HTTP requests that the application sends.
To create an outgoing web request tracer, an application can simply call onesdk_outgoingwebrequesttracer_create. To enable continuing the trace on the server/service side, the application must then retrieve the string tag from the tracer and send it along with the request in the HTTP request header "X-dynaTrace"
.
- See also
- onesdk_tracer_get_outgoing_dynatrace_string_tag
-
ONESDK_DYNATRACE_HTTP_HEADER_NAME
For further information, see the high level SDK documentation at https://github.com/Dynatrace/OneAgent-SDK/#webrequests
- Since
- Outgoing web request tracers were added in version 1.2.0.
◆ ONESDK_DYNATRACE_HTTP_HEADER_NAME
| #define ONESDK_DYNATRACE_HTTP_HEADER_NAME "X-dynaTrace" |
HTTP header name for the Dynatrace string tag.
Sending an "X-dynaTrace"
request header with a Dynatrace string tag along with an HTTP request enables any Dynatrace OneAgent on the server side to continue tracing (connect the server side trace to the traced operation from which the tag was obtained).
◆ onesdk_outgoingwebrequesttracer_add_request_header()
Adds an HTTP request header of an outgoing web request.
- Parameters
-
| tracer_handle | A valid outgoing web request tracer handle. |
| name | The name of the HTTP request header. |
| value | [optional] The value of the HTTP request header. |
To allow the agent to determine various bits of useful information, an application should add all HTTP request headers.
- Note
- The native SDK agent will currently capture all provided headers.
-
If an HTTP request contains multiple header lines with the same header name, an application should call this function once per line. Alternatively, depending on the header, the application can call this function once per header name, with an appropriately concatenated header value.
-
This function can not be used after the tracer was started.
- Since
- This function was added in version 1.2.0.
◆ onesdk_outgoingwebrequesttracer_add_response_header()
Adds an HTTP response header for an outgoing web request.
- Parameters
-
| tracer_handle | A valid outgoing web request tracer handle. |
| name | The name of the HTTP response header. |
| value | [optional] The value of the HTTP response header. |
- Note
- The native SDK agent will currently capture all provided headers.
-
If the HTTP response contains multiple header lines with the same header name, an application should call this function once per line. Alternatively, depending on the header, the application can call this function once per header name, with an appropriately concatenated header value.
- Since
- This function was added in version 1.2.0.
◆ onesdk_outgoingwebrequesttracer_create()
Creates a tracer for tracing an outgoing web request.
- Parameters
-
| url | The requested URL. Will be parsed into scheme , host /port , path and query . |
| method | The HTTP method of the request. |
- Returns
- A handle for the newly created outgoing web request tracer or ONESDK_INVALID_HANDLE.
- Note
url
should be a full, absolute URL, i.e. containing the scheme
, host
, port
(unless default), path
and query
. Any fragment
part, if present, will be ignored (fragments are only processed locally and not part of the request URL).
-
If
url
contains a host name it will be resolved by the agent (asynchronously) after onesdk_tracer_start was called.
- Since
- This function was added in version 1.2.0.
◆ onesdk_outgoingwebrequesttracer_set_status_code()
Sets the HTTP status code for an outgoing web request.
- Parameters
-
| tracer_handle | A valid outgoing web request tracer handle. |
| status_code | The HTTP status code of the response that was received. |
- Note
- If an application fails to receive or decode the reply, it should not call this function. Instead the application can use onesdk_tracer_error to signal that the request was not completed successfully.
- Since
- This function was added in version 1.2.0.


Sample
Make sample to use persistence classes with IndexedDB and paginating with DOM.
Enter a note
Note is required.
add
notes
delete
View Source


Hide if reviewer‘s reviews are shorter than
3
.
Hide if reviewer‘s average star rating is less than
3
stars.
Hide if reviewer‘s average star rating is more than
3
stars.


Challenge Master
Scoreboard
Browse
Upload
Info
Account
Sign In
User Name
Score: 0
Change
User has Solved 0 Challenges
User has Created 0 Challenges
User has Won 0 Wagers
User has Hosted 0 Wagers


Before Change
for n_feats in tqdm(list_n_feats, desc="%s, Features" % lib):
results.append(get_times(lib, n_feats, default_batchsize, repetitions))
res_nfeats = np.c_[list_n_feats, np.array(results)]
np.savetxt("results-nfeat-%s.csv" % lib, res_nfeats, delimiter=",")
results = []
list_batch_size = [2 ** i for i in range(2, max_i_batch)]
for batch_size in tqdm(list_batch_size, desc="%s, Batch Size" % lib):
After Change
results.append(get_times(lib, n_feats, default_batchsize, repetitions))
tmp_n_feats.append(n_feats)
res_nfeats = np.c_[tmp_n_feats, np.array(results)]
np.savetxt("results-nfeat-%s.csv" % lib, res_nfeats, delimiter=",")
results = []
list_batch_size = [2 ** i for i in range(2, max_i_batch)]
tmp_batch_size = []


This walks through install Pyblosxom as a FastCGI application on a Lighttpd web server with mod_fcgi installed.
If you find any issues, please let us know.
If you can help with the documentation efforts, please let us know.
Make sure mod_fcgi is installed correctly and working.
Create a blog—see the instructions for the blog directories, config.py setup and other bits of Setting up a blog in install_cgi.
Create a pyblosxom.wsgi script that looks something like this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #!/usr/bin/env python
# This is the pyblosxom.wsgi script that powers the _______
# blog.
import sys
def add_to_path(d):
if d not in sys.path:
sys.path.insert(0, d)
# call add_to_path with the directory that your config.py lives in.
add_to_path("/home/joe/blog")
# if you have Pyblosxom installed in a directory and NOT as a
# Python library, then call add_to_path with the directory that
# Pyblosxom lives in. For example, if I untar'd
# pyblosxom-1.5.tar.gz into /home/joe/, then add like this:
# add_to_path("/home/joe/pyblosxom-1.5/")
import Pyblosxom.pyblosxom
application = Pyblosxom.pyblosxom.PyblosxomWSGIApp()
from flup.server.fcgi import WSGIServer
WSGIServer(application).run()
|
Don’t forget to make it executable by Lighttpd. I did it like this:
chown :www-data pyblosxom.wsgi
chmod g+x pyblosxom.wsgi
This way you change group ownership to the group that lighty belongs to and give all group members execution permission.
Create /etc/lighttpd/conf-available/90-myblog.conf with this content:
server.modules += ( "mod_fastcgi" )
$HTTP["host"] =~ "(^|\.*)yourhost\.com$" {
#### fastcgi module
## read fastcgi.txt for more info
# this line may help with finding what's wrong, check out errorlog file
fastcgi.debug=1
fastcgi.server = (
"/myblog" => (
"main" => (
"host" => "<IP_ADDRESS>",
"port" => 3033,
"check-local" => "disable",
"max-procs" => 1,
"bin-path" => "/path/to/pyblosxom.wsgi"
)
)
)
}
You must change yourhost.com to match your domain.
Fascgi.debug line is useful for finding out why your app doesn’t work. Error messages go to /var/log/lighttpd/errors.log unless configured otherwise. When it all works, set it to 0.
 If you want it at root node (like http://yourhost.com/ ), set it to /.
Select any not used port number.
Checkout what check-local and max-procs mean in Lighttpd docs.
Change /path/to/pyblosxom.wsgi to be the absolute path to the .wsgi file set up in step 3.
Now you can enable and disable this part of configuration with lighttpd-enable-mod and lighttpd-disable-mod, so now do:
lighttpd-enable-mod myblog
service lighttpd force-reload
Note
Any time you make changes to Pyblosxom (update, add plugins, change configuration), you’ll have to force-reload configuration of Lighttpd.


7
Warning Against the Adulteress
1 My son, keep my words
and treasure up my commandments with you;
2 keep my commandments and live;
keep my teaching as the apple of your eye;
3 bind them on your fingers;
write them on the tablet of your heart.
4 Say to wisdom, “You are my sister,”
and call insight your intimate friend,
5 to keep you from the forbidden woman,
from the adulteress with her smooth words.
6 For at the window of my house
I have looked out through my lattice,
7 and I have seen among the simple,
I have perceived among the youths,
a young man lacking sense,
8 passing along the street near her corner,
taking the road to her house
9 in the twilight, in the evening,
at the time of night and darkness.
10 And behold, the woman meets him,
dressed as a prostitute, wily of heart.
11 She is loud and wayward;
her feet do not stay at home;
12 now in the street, now in the market,
and at every corner she lies in wait.
13 She seizes him and kisses him,
and with bold face she says to him,
14 “I had to offer sacrifices,
and today I have paid my vows;
15 so now I have come out to meet you,
to seek you eagerly, and I have found you.
16 I have spread my couch with coverings,
colored linens from Egyptian linen;
17 I have perfumed my bed with myrrh,
aloes, and cinnamon.
18 Come, let us take our fill of love till morning;
let us delight ourselves with love.
19 For my husband is not at home;
he has gone on a long journey;
20 he took a bag of money with him;
at full moon he will come home.”
21 With much seductive speech she persuades him;
with her smooth talk she compels him.
22 All at once he follows her,
as an ox goes to the slaughter,
or as a stag is caught fast
23 till an arrow pierces its liver;
as a bird rushes into a snare;
he does not know that it will cost him his life.
24 And now, O sons, listen to me,
and be attentive to the words of my mouth.
25 Let not your heart turn aside to her ways;
do not stray into her paths,
26 for many a victim has she laid low,
and all her slain are a mighty throng.
27 Her house is the way to Sheol,
going down to the chambers of death.


Elon Musk's Tesla Inc loses $768m after windows of new cybertruck get shattered
- November may not be the best of months in 2019 for South African entrepreneur, Elon Musk, the founder of Tesla Motors
- This is as Musk lost about $768 million on Friday, November 22
- The loss followed an embarrassing demo in which the windows of Tesla's new electric pickup truck were shattered
South African entrepreneur, Elon Musk, who is also the founder of Tesla Motors, on Friday, November 22, lost not less that $768 million following an embarrassing demo of the automobile company's latest electric truck tagged cybertruck.
Musk had boasted that the much-talked-about truck was shatterproof, leaving his international customers in great anticipation.
However, to his utter dismay, the windows of the truck was shattered by Franz von Holzhausen, the head of design, who threw a metal ball at them to test the hardness of the glass.
In response to this, Musk tried to save his face and conceal his obvious embarrassment by saying: "It didn't go through, so that's a plus side. Room for improvement."
Goodluck Jonathan’s hometown calm hours to Bayelsa governorship election
An unnamed automobile analyst speaking on the impact this might have on the entrepreneur, said: "Musk has been enthusiastic about his Blade Runner-inspired design for months, but we were still surprised how futuristic he went with this one and believe it may shatter his dreams."
Moreover, Karl Brauer, executive publisher at Kelley Blue Book and Autotrader, felt that Musk went somewhat too far with his design in a bid "to sell too much."
Brauer added: "There are fans out there who'll buy anything with a Tesla badge on it, but this will unlikely pierce the meat of the truck market.
Moreover, Legit.ng reported that Billionaire Bill Gates had officially surpassed Amazon Chief Executive Officer (CEO) Jeff Bezos as world's richest person on earth with a net worth of $110 billion (N39,765,000,000,000).
NASS will go after those responsible for unstable power supply in Nigeria - Lawan
The Amazon founder ended Gates' 24-year run as the richest man in 2018 with a net worth of $160 billion (N57,840,000,000,000). However, the Microsoft co-founder regained the lead on Friday, November 15, after Microsoft stock went up nearly 48% in 2019, helping boost the value of his stake in the tech giant.
NAIJ.com (naija.ng) -> Legit.ng: Same great journalism, upgraded for better service!
Meet Nigerian pastor who rears fish for giveaway | Legit TV


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Makes 1.3kg/3lb of granola
Dietary
Nutty, fruity wholesome goodness is a must for oat lovers. Please feel free to ad lib here, with substitutions such as honey for maple syrup, raisins, apricots or dried apples for the dried cranberries and cashews for the whole almonds.
Preheat the oven to 170C/325F/Gas 3. Line two large roasting trays with parchment paper and set aside.
Put the maple syrup, sugar, oil and vanilla extract into a large bowl and mix well. Then toss in the oats, mixed seeds, pecans (or walnuts), whole almonds, flaked almonds, coconut and salt and cinnamon (if using). Give it a good stir and then get your hands in, picking it up and letting it fall down to coat and moisten everything really well.
Pour the mixture onto the roasting trays and spread it out evenly. Bake in the oven for about 15 minutes, giving it a good stir and swapping them about on their shelves half way through.
The granola should be golden-brown when cooked. Remove and leave to cool completely before stirring the cranberries through. Store in an airtight container for up to a month.


By Ira Greenberg Uses the arc() function to generate a pie chart from the data stored in an array.
Original Processing.org Example: PieChart
// All Examples Written by Casey Reas and Ben Fry // unless otherwise stated. size(200, 200); background(100); smooth(); noStroke(); int diameter = 150; int[] angs = {30, 10, 45, 35, 60, 38, 75, 67}; float lastAng = 0; for (int i=0; i<angs.length; i++){ fill(angs[i] * 3.0); arc(width/2, height/2, diameter, diameter, lastAng, lastAng+radians(angs[i])); lastAng += radians(angs[i]); }