Before Change
plt.imshow(Z, origin="lower", extent=extent, cmap=cmap, norm=norm)
v = plt.axis()
plt.contour(Z, levels, colors="k", origin="lower", extent=extent)
plt.axis(v)
plt.title("Image, origin "lower"")
plt.subplot(2, 2, 4)
After Change
norm = cm.colors.Normalize(vmax=abs(Z).max(), vmin=-abs(Z).max())
cmap = cm.PRGn
fig, _axs = plt.subplots(nrows=2, ncols=2)
fig.subplots_adjust(hspace=0.3)
axs = _axs.flatten()
cset1 = axs[0].contourf(X, Y, Z, levels, norm=norm,
cmap=cm.get_cmap(cmap, len(levels) - 1))
// It is not necessary, but for the colormap, we need only the
// number of levels minus 1. To avoid discretization error, use
// either this number or a large number such as the default (256).
// If we want lines as well as filled regions, we need to call
// contour separately; don"t try to change the edgecolor or edgewidth
// of the polygons in the collections returned by contourf.
// Use levels output from previous call to guarantee they are the same.
cset2 = axs[0].contour(X, Y, Z, cset1.levels, colors="k")
// We don"t really need dashed contour lines to indicate negative
// regions, so let"s turn them off.
for c in cset2.collections:
c.set_linestyle("solid")
// It is easier here to make a separate call to contour than
// to set up an array of colors and linewidths.
// We are making a thick green line as a zero contour.
// Specify the zero level as a tuple with only 0 in it.
cset3 = axs[0].contour(X, Y, Z, (0,), colors="g", linewidths=2)
axs[0].set_title("Filled contours")
fig.colorbar(cset1, ax=axs[0])
axs[1].imshow(Z, extent=extent, cmap=cmap, norm=norm)
axs[1].contour(Z, levels, colors="k", origin="upper", extent=extent)


AT&T bringing 5G to Las Vegas in 2019
by Bailey SchulzAT&T is bringing 5G coverage to Las Vegas by the end of this year.
The company’s 5G network will be available for Las Vegas customers with 5G compatible devices ahead of its nation-wide launch in 2020, according to a Friday statement from the company.
The 5G service will first launch in Providence, Rhode Island; Rochester, New York; Indianapolis; San Diego; and Pittsburgh in the coming weeks. The company plans to bring 5G to more markets — including Las Vegas, San Jose, and San Francisco — following the initial launch, bringing 5G service to “tens of millions of customers and businesses.”
The company initially introduced 5G to select areas in the U.S. last year including Las Vegas with a “business-first and experience-based strategy,” according to the release. Only customers using the Galaxy S10 5G phone on the AT&T Business Unlimited Preferred plan were able to use the network.
“We’re now introducing consumers to the future of wireless with broad 5G service included in our best unlimited plans for 5G devices,” said Thaddeus Arroyo, CEO of AT&T Consumer in the release.
The company plans to continue to expand its 5G offerings and make it available nationwide in the first half of 2020.


We are sorry but based on your answers, it is still unclear if your creative work is a hobby or not.
At this point in time, all of your answers are similar to someone who is undertaking a hobby, except for your answer that you sell to the public. Selling to the public can be an indicator of a business activity. It depends on how often you sell your work and the amount you sell. If you don’t sell your creative works regularly, or don’t sell very many, you may still be similar to someone undertaking a hobby.
You can't claim a deduction for any losses from your creative work if it is a hobby.
It's a myth that there is a dollar threshold to be in a business. Some people can have very expensive hobbies! What matters is whether, as a whole, your activity is commercial with an aim to make a profit. Once you're in business, there are dollar thresholds that can affect your tax obligations.


{% extends "layouts/base-fullscreen.html" %} {% block title %} Login {% endblock title %} {% block stylesheets %}{% endblock stylesheets %} {% block content %}
© Crm-Phergal - Coded by AppSeed


Before Change
exports = []
for spec in self.payload.exports:
addr = Address.parse(spec, relative_to=self.address.spec_path)
target = self._build_graph.get_target(addr)
if target not in self.dependencies:
// This means the exported target was not injected before "self",
// thus it"s not a valid export.
raise TargetDefinitionException(self,
After Change
@property
def exports(self):
return self.payload.exports
@property
def fatal_warnings(self):
If set, overrides the platform"s default fatal_warnings setting.


Thank you for your purchase. Your Logos NFT has been created and safely stored in your new digital wallet, hosted by Venly. Full details regarding your Logos NFT and its benefits will be provided separately.
Access your wallet by clicking the button below. You will be asked to create an account by setting a password and PIN code. Your Logos NFT will be located in the MATIC section, since it is minted on the Polygon blockchain ($MATIC).
If you have any questions or need help with your wallet, please contact our wallet partner Venly using the link here.
For all other inquiries, please email concierge@dims.world.


{%extends 'base.html' %} {% import 'macros.html' as macro%} {% import 'bootstrap/wtf.html'as wtf%} {%block styles%} {{super()}} {%endblock%} {%block content%}
In life,you only have 60 seconds to impress someone.One minute can make or break you.We make sure that you use your 1 minuteto actually say something meaningful through this application.


Lib Dems say they'll put up income tax to fund £35,000,000,000 NHS plan
The Liberal Democrats would give the NHS a £35 billion boost by raising income tax by a penny if they gain power.
The money, delivered over five years, would be in addition to a £10 billion capital fund to upgrade equipment, ambulances, hospitals and other NHS buildings, health spokeswoman Luciana Berger said.
The income tax increase would deliver £7 billion a year and be ring-fenced for use in the NHS and social care, the party added.
Ms Berger pledged to tackle staffing shortages in the NHS by retaining free movement of labour, reinstating nursing bursaries and setting up a national workforce strategy to match training places to future needs.
The party also said it would end the current shortfall of GPs by 2025.
Ms Berger said: ‘The NHS is struggling to cope with severe staff shortages, chronic underfunding and crumbling hospital buildings.
Advertisement Advertisement
‘All of these problems would be made much worse by a Tory or Labour Brexit that would end free movement and make it harder to attract nurses and doctors from the EU.’
She continued: ‘We are the only party with a credible plan to protect the NHS, by tackling the staffing crisis, investing in mental health services, social care, public health and making our NHS buildings fit for the 21st century.’
The 1p rise would apply to the basic, higher and additional rates of income tax, the party said.
Of the £35 billion, £32.2 billion would be spent in England, £1.8 billion in Wales and £1 billion in Northern Ireland.
The measure would not apply to Scotland, where income tax policy is devolved.
The Liberal Democrats are currently polling at around 15%, according to the latest data.
Got a story for Metro.co.uk?
Get in touch with our news team by emailing us at<EMAIL_ADDRESS>For more stories like this, check our news page.


{% include 'includes/_messages.html' %}
{% block content %}{% endblock %}
Our Sidebar
You can put any information here you'd like.
- Latest Posts
- Announcements
- Calendars
- etc
{% if title %}
You can put any information here you'd like.


Abroad Colleges Access Programs
Sign up to get alerts when applications are open.
KenSAP (Kenya Scholar Access Program)
KenSAP is a free program that provides access to world-class higher education for gifted, needy Kenyan high school graduates from simple and rural backgrounds.
KenSAP selects its students — 15 to 20 each year — through a lengthy, rigorous process that considers their academic attainments, family background, extra-curricular accomplishments, and other personal qualities. The selected students then take part in 15 weeks of residential training consisting mainly of preparation for the American SAT exams and guidance through the complex university application process. The training also includes a general orientation to American culture and the unfamiliar academic conventions of American universities.
Requirements
- Completed form four at a Kenyan secondary school that year
- Completed the Kenya Certificate of Secondary Examination (KCSE) that year
- Scored at least 79 points on the KCSE exams
- Scored at least a B in English
- Students who have achieved a score between 74 and 78 on the KCSE are free to send a screenshot of their results and the name of their secondary school by WhatsApp to 0728-203021, or a scanned copy of their KCSE results slips to<EMAIL_ADDRESS>together with a statement explaining why KenSAP should consider them along with higher scoring candidates
Process
- To request an application send a picture of your results slip/a screenshot of your results to 0728-203021 on WhatsApp, or send an email with a scanned copy of your KCSE results slip to<EMAIL_ADDRESS>Be sure to note where you went to secondary school in your message.
- If you qualify, you will receive an application form from KenSAP which is to be completed within two weeks.
- Selected candidates will receive interview invitations.
- Decisions will be released following the completion of the interviews.
Application Deadline
Applications are currently closed. KenSAP Applications will become available after the release of the KCSE results and goes on until the final selection of KenSAP’s class is announced in early April. Applications should be completed within two weeks.
Click here for more information.
EaSEP (Education and Social Empowerment Fund)
EaSEP is a nonprofit program that helps bright Kenyan students from low and middle-income settings apply to elite North American colleges and universities. EaSEP's goal is to develop globally educated, open-minded, ethical leaders for Kenya's future.
EaSEP selects 10 students for its expenses-paid, five-month residential program in Nandi Hills, and helps them apply for full-need scholarships at some of the best universities in North America. The program runs from June to November.
Requirements
- Students must have completed the KCSE national exam that year and earned at least an A-
- Students must be among the top students in their high school, have demonstrated leadership, and have roots in western Kenya
- Candidates shall not have enrolled in a post-secondary degree program
- Students should either be from Baringo, Nakuru, Nandi, Elgeyo Marakwet, Trans Nzoia, Uasin Gishu, Kericho, and Bomet or have attended high school there, and have financial needs
- EaSEP also consider students from outside these areas, especially refugees students
Process
- Interested applicants should download the application form from EaSEP portal.
- Candidates will be required to write essays about their lives, families, and achievements.
- Applicants must provide their recent passport photo, copy of a birth certificate, high school transcript, high school leaving certificate, and KCSE results slip.
- Decisions will be released following the completion of the interviews.
- Candidates will have to send their applications to<EMAIL_ADDRESS>for consideration.
- Students who are selected to proceed to the final interview stage will be contacted in early May.
- Selection interviews are tentatively set for mid-May in Eldoret.
Application Deadline
Applications are currently closed. Interested students are invited to apply from February, after the release of KCSE results.
Click here for more information.
EducationUSA
EducationUSA is a U.S. Department of State network of over 430 international student advising centers in more than 175 countries and territories. The network promotes U.S. higher education to students around the world by offering accurate, comprehensive, and current information about opportunities to study at accredited postsecondary institutions in the United States.
Requirements
- Scored at least an A- on the KCSE exams
- Students must have completed form four at a Kenyan secondary school that year before applications open
- Completed the Kenya Certificate of Secondary Examination (KCSE) in the previous year
- Has demonstrated leadership qualities
- Should be proficient in English Language and Easy Writing skills
- Has been involved in extracurricular activities in high school or community
Process
- Tier 1
Interested candidates should email<EMAIL_ADDRESS>to get the application form and additional instructions.
Applicants must complete the application package and submit it before the deadline.
Attach a copy of your high school leaving certificate and K.C.S.E result slip as well as copies of high school certificates that show your involvement in extracurricular activities and leadership-related initiatives.
- Tier 2
Applicants will receive learning materials that will help them prepare for Mock SAT Tests.
The cut-off score for Mock SAT Tests is 1300.
- Tier 3
Successful applicants will go through Oral Interviews and Group activities.
- Finalists will be notified to attend a boot camp for free.
Application is a three-tiered process.
Application Deadline
Applications are currently closed. Applications will be available after the release of KCSE results.
Click here for more information
Zawadi Africa
Zawadi Africa Education Fund is a leadership development program that provides university scholarships and leadership development and life skills training to academically gifted but financially disadvantaged African girls, intending to developing a pipeline of young African women leaders.
Requirements
The following criteria must be met
- A girl who has completed her secondary school examination e.g.The Kenya Certificate of Secondary Examination (KCSE)
- Has demonstrated academic excellence (A Plain or A Minus)
- Has demonstrated leadership qualities e.g. in school as a prefect, in the community, church, leadership in peer-related activities, etc.)
- Has overcome insurmountable odds such as serious financial challenges, oppressive social-cultural practices such as early marriages and Female Genital Mutilation (FGM), etc. to attain academic excellence
- Come from a financially disadvantaged background
- Has demonstrated clear financial need
- Should have completed high school no more than two years before applying to Zawadi Africa
Process
- Interested students who have met the above criteria are invited to fill the application on the Zawadi website.
- Attach a one-page biography, TYPED, and a passport photo. The biography should highlight your family background, educational background, aspirations, financial status, hobbies, and activities that you have undertaken while in school or your community.
- Attach a 500-650 word essay on ONLY ONE of four topics listed on the application form.
- Attach a copy of your high school leaving certificate, K.C.S.E result slip, and copies of high school certificates that show your involvement in extracurricular activities and leadership-related initiatives.
- Attach a signed recommendation letter from your class teacher or the headteacher.
- Attach a copy of your birth certificate and your National Identity Card (if you have one).
- Any false statements, omissions, or forged documents will lead to automatic disqualification.
Successful candidates will be conducted by April.
The finalists will be enrolled in the program through a rigorous nine-month period where they will be coached and prepared to apply to partner schools offering scholarships.
Application Deadline
Applications are currently closed. Applications will become be open from February to April each year.
Click here for more information
ELP (Equity Leadership Program)
ELP is a program that helps high school graduates who wish to study abroad to get scholarships in global universities. Scholars are taken through a month-long residential training program that covers critical thinking, SAT exams preparation, college application processes, and exposure to what global universities have to offer.
Requirements
- Member of ELP Class that year interning at any of Equity Bank branches
- Must have done KCSE exams in the that year and scored an A- and above
- Candidates can be a beneficiary of the Equity Wings to Fly program who scored an A- or above
- Applicants who led in the KCSE exams in their sub-county or county regions
Process
- Interested candidates are required to email the ELP group manager via<EMAIL_ADDRESS>to get the application form and additional instructions.
- Candidates will be required to write essays about their lives, families, and achievements.
- Applicants must provide their recent passport photo, copy of a birth certificate, high school transcript, and KCSE results slip.
- Applicants should send their applications through an email instructed by ELP officials.
Successful applicants will be contacted.
Application Deadline
Applications are currently closed. Interested students are invited to apply from April while interning at Equity Bank.
Click here for more information


Before Change
return output
//----- take list from user-----------
li_st = [int(x) for x in input().split()]
print("Unsorted List")
print(li_st)
////------working on our algo-----------
print("\nSorted list using basic counting sort")
output = counting_sort(li_st, max(li_st) +1, get_sortkey)
print(output)
After Change
//python program for counting sort (updated)
n=int(input("please give the number of elements\n"))
tlist = list()
print("okey now plase give the elemets")
for i in range(n):
tlist.append(int(input("\n")))
k = max(tlist)
n = len(tlist)


compound
- MVC framework for NodeJS
compound <command> [args] [opts]
Compound is MVC framework for the Node JavaScript platform. It adds structure and API to ExpressJS application, provides tools and generators for rapid web applications development.
Run compound help [topic]
to get help on specific topic.
generate smth
Call smth generator, where smth could be: app, controller, model, crud, scaffold or anything else.
routes
Display routing map
server [port]
Run HTTP server on specified port, default port = 3000
c
Run debugging console with compound environment loaded
--coffee
--tpl ENGINE
--db NAME
--stylus
NODE_ENV
Set environment of application
PORT
Set port of HTTP server
See compound-roadmap(3) and github issues to catch up current development and see where compound going.
When you find issues, please report them:
See compound-changelog(3) compound-railway-changelog(3)


{% include head.html %}
{{ site.description }}
Hi, there! I will be joining EPFL EDIC as a PhD student this fall.
I worked as a research engineer at Shanghai AI Lab with Dr. Bo Dai and Dr. Wayne Wu.
Prior to this, I obtained my Master's degree in Computer Vision at the Robotics Institute, Carnegie Mellon University, working with Dr. Laszlo Jeni. I obtained my Bachelor's degree in Software Engineering at Beihang University. I worked with Prof. Zengchang Qin and Prof. Yang Yang during that time.


|
Elektra
0.9.5
|
Some plugins are generic in the sense that they cannot fully define their contract statically. (Note: if they can decide it statically, you should prefer compilation variants.) Instead their contract is based on their configuration. We will call every combination of plugins+configuration where we get a different contract plugin variant.
The current issue is that there is no way to enumerate possible plugin variants as needed to list all functionality of Elektra.
A specification of the plugin's configuration and a tool that can enumerate all possible essential configurations. Problems here are:
checkconf
(see here) approach.Implementation delayed after 1.0.
Best implementation candidate was:
int genconf (KeySet * ks, Key * errorKey)
where ks
is filled with a list of all variants with the essential configuration (subkeys config
) and the changed parts of the contract (subkeys infos
).system:/elektra/plugins/<plugin>/variants/<variantname>
have the same content, but take precedence. If a variant with the same name is defined, only config
or infos
from genconf
are considered if they are not mentioned in system:/elektra/plugins/variants
.override
(for a plugin or a variant) is true, it will be overwritten (content of genconf
ignored, but instead a plugin or variant as given is created).disable
(for a plugin or a variant) is true the plugin or a variant of the plugin will not be available.config
and infos
mean:config
: The "default variant" (without any parameter) should be also available (has useful functionality)infos
: It is not possible to determine the changes of the contract, the user need to instantiate the plugin and enquiry the contract.genconf
for augeas yields:
genconf
for python might yield:
The user:/admin specifies:
As result we get:
access
of plugin augeas
is not availablealiases
of plugin augeas
as defined from genconf
, but with changes in contract (infos/status
)configparser
of plugin python
is completely redefined (result from genconf
will not be considered) but it will be considered as specified.jni
will not be availableTo have a space-separated simpleini one would use:
genconf
API was chosen to be consistent with checkconf
. The pluginhandle might be missing for some scenarios. If it is needed, we should change both APIs for consistency reasons.genconf
needs to be implemented for the plugins:PluginDatabase
needs an extension to list all plugin variantskdb plugin-list
should be able to list all variants, e.g. like: augeas lens=Access.lns
so that a user can copy and paste this for the kdb mount
command.Currently only overrides of plugin configuration (config/...
) is possible, overrides of other plugin information (contract information) does not work yet.
It is also not possible to add additional information to a variant, only overrides work. E.g.
works, while
gets ignored.
Discussions took place here.


This is just a sandbox for development.
Youtube video
Vimeo video
Local video with poster
Local video with poster opened in lightbox
Open the lightbox
Open the lightbox (dark)
Open the lightbox (light)
Youtube opened in lightbox
Open the lightbox
Vimeo opened in lightbox
Open the lightbox


You are viewing an historical archive of past issues. Please report new issues to the appropriate project issue tracker on GitHub.
Issues
| # | Summary | Product | Status | Kind | When |
|---|---|---|---|---|---|
| 1930 |
command-t suddenly stopped indexing some files |
Command-T | closed | bug | Created , updated |
| 1928 |
Open new tabs as last tab |
Command-T | open | feature request | |
| 1921 |
NoMethodError: undefined method `try_activate' for Gem:Module when starting vim after install of command-t |
Command-T | closed | bug | Created , updated |
| 1920 |
:CommandT crashes Vim in Ubuntu 11.10 when built against Ruby 1.8 |
Command-T | closed | bug | Created , updated |
| 1919 |
Abbreviate post counts to 5.6K (etc) |
wincent.com | open | feature request | |
| 1918 |
Serial number invalid but can't input new one after purcshasing. |
Synergy | closed | bug | |
| 1917 |
Update to Rails 3.1.2 |
wincent.com | closed | feature request | Created , updated |
| 1914 |
File Browser stumbles on mvim with showtabline=2 |
Command-T | open | feedback | |
| 1913 |
Hunk header display broken in repo browser |
wincent.com | open | bug | |
| 1909 |
Monitor git daemon with monit |
wincent.com | open | feature request | Created , updated |


|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
| Interface Summary | |
|---|---|
| ConfigurationParser | Parses configuration data that is provided in a textual format. |
| ConfigurationParserConstructor | Factory for the creation of a ConfigurationParser . |
| ConfigurationParserDefinition | Defines a parser for the processing of configuration data that is provided in a textual format. |
| ConfigurationPointDefinition | Defines a configuration extension point. |
| ConstructionContext | Interface that provides access to information and services needed
during the construction of an extension
or extension point . |
| Contribution | Contributes data to a configuration point . |
| ContributionContext | Context for execution of a Contribution . |
| ContributionDefinition | Defines a contribution to a ConfigurationPointDefinition . |
| ExtensionDefinition | Defines an extension to an extension point. |
| ExtensionPointDefinition | Defines an extension point of a module. |
| ImplementationConstructionContext | Provides access to information and services needed
during the construction of an implementation . |
| ImplementationConstructor | Creates the core service instance of a
service point |
| ImplementationDefinition | Defines an implementation of a service point . |
| InterceptorConstructor | Creates a service interceptor for a
service point . |
| InterceptorDefinition | Defines an interceptor for the methods of a service point . |
| ModuleDefinition | Defines a module of a RegistryDefinition . |
| RegistryDefinition | Defines all modules and their service and configuration points which build a registry. |
| RegistryDefinitionPostProcessor | Interface for post processors that want to get after the definition phase of a registry before the registry is started up. |
| ServicePointDefinition | Defines a service extension point. |
| Class Summary | |
|---|---|
| DefinitionMessages | Used to format messages used in errors and log output for classes within the definition package. |
| Occurances | Identifies the number of contributions allowed to a configuration extension point. |
| UnresolvedExtension | Represents an unresolved extension of an extension point in a registry definition. |
| Visibility | The visibility of a configuration point, extension point, or schema. |
This package contains the interfaces that are needed for the definition of a registry. The definition is the blueprint from which a registry instance is constructed.
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


SetAnimKey entity,frame[,pos_key][,rot_key][,scale_key]
Parameters:
| entity - entity handle frame - frame of animation to be used as anim key pos_key (optional) - true to include entity position information when setting key. Defaults to true. rot_key (optional) - true to include entity rotation information when setting key. Defaults to true. scale_key (optional) - true to include entity scale information when setting key. Defaults to true. |
Description:
| Sets an animation key for the specified entity at the specified frame. |
| None. |


A lightweight library to decode and verify RSA ID tokens meant for the browser.
:books: Documentation - :rocket: Getting Started - :computer: API Reference - :speech_balloon: Feedback
Documentation
- API Reference
- Docs Site - explore our Docs site and learn more about Auth0
Getting Started
Installation
Using npm in your project directory run the following command:
npm install idtoken-verifier
Verify an ID token
Import the library, create an instance of
IdTokenVerifier
and call the verify
method
to verify an ID token:
import IdTokenVerifier from 'idtoken-verifier';
const verifier = new IdTokenVerifier({
issuer: 'https://my.auth0.com/',
audience: 'gYSNlU4YC4V1YPdqq8zPQcup6rJw1Mbt'
});
verifier.verify(id_token, nonce, (error, payload) => {
if (error) {
// handle the error
return;
}
// do something with `payload`
});
API Reference
Feedback
Contributing
We appreciate feedback and contribution to this repo! Before you get started, please see the following:
Raise an issue
To provide feedback or report a bug, please raise an issue on our issue tracker.
Vulnerability Reporting
Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.
What is Auth0?
Auth0 is an easy to implement, adaptable authentication and authorization platform. To learn more checkout Why Auth0?
This project is licensed under the Apache 2.0 license. See the LICENSE file for more info.


Infinispan 6.0.0.Beta1 is out!
Dear Infinispan community,
We are proud to announce the first Beta release of Infinispan 6.0.0. This is an important milestone in the 6.0.0 lifecycle: it is feature and API complete.
Included in this release, you can find:
-
a complete implementation of the remote-query functionality, including index management through JMX . Adrian Nistor will blog on this in the following days
-
allow configuring the number of segments per node allows one to configure an uneven load of data between the nodes int the cluster. Dan Berindei will add a blog on this shortly
Together with this release we’re also launching our new website:
-
Built with Awestruct. Yes, it really is awesome and fun to use
-
Hosted on GitHub Pages. Quick and easy.
-
Styled with JBoss.org Community’s flavour of Twitter Bootstrap
-
Documentation reformatted/moved from Confluence to AsciiDoc
Among other things, the new site reflects some changes in the way Infinispan is distributed - including several cache stores and Hot Rod clients being moved out to separate GitHub repositories and following their own release cycles.
We think it’s pretty slick and pretty sure you wouldn’t guess its written by a hardcore backed developer! Kudos to Manik Surtani for such a nice job!
Last but certainly not least, a BIG thanks to our colleagues from the Hibernate team for their support (that is enhancements, fixes and releases and unreasonable hours) in getting the support needed for Infinispan’s remote query functionality in time!
For a complete list of features and fixes included in this release please refer to the release notes[#goog_1579863184]http://www.blogger.com/. Visit our downloads section to find the latest release and if you have any questions please check our forums, our mailing lists or ping us directly on IRC.
Thanks to everyone for their involvement and contribution!
Cheers, Mircea


--- title: "Toronto COVID-19 Cases Study" author: "Xiangyu Wang" date: 2020-09-24 categories: ["R"] tags: ["R Markdown", "plot", "regression"] bibliography: 'references.bib' ---
#Part.i Abstract
Used Wickham et al. (2019)
#Part.ii Introduction
#Part.iii Data Introduction The scenario and study objective. Types of Variables
#Part.iv Including Plots
You can also embed plots. See Figure 1 for example:
par(mar = c(0, 1, 0, 1))
pie(
c(280, 60, 20),
c('Sky', 'Sunny side of pyramid', 'Shady side of pyramid'),
col = c('#0292D8', '#F7EA39', '#C4B632'),
init.angle = -50, border = NA
)
Wickham, Hadley, Mara Averick, Jennifer Bryan, Winston Chang, Lucy D’Agostino McGowan, Romain François, Garrett Grolemund, et al. 2019. “Welcome to the tidyverse.” Journal of Open Source Software 4 (43): 1686. https://doi.org/10.21105/joss.01686.


fxn for setting truth_* in WERD_RES
More...
fxn for setting truth_* in WERD_RES
Parameters saved from the Thresholder. Needed to rebuild coordinates.
◆ image_height_
| int tesseract::TessBaseAPI::image_height_ |
|
protected |
◆ image_width_
| int tesseract::TessBaseAPI::image_width_ |
|
protected |
◆ rect_height_
| int tesseract::TessBaseAPI::rect_height_ |
|
protected |
◆ rect_left_
| int tesseract::TessBaseAPI::rect_left_ |
|
protected |
◆ rect_top_
| int tesseract::TessBaseAPI::rect_top_ |
|
protected |
◆ rect_width_
| int tesseract::TessBaseAPI::rect_width_ |
|
protected |


Setup
To properly set up alerts and reports, do the following:
- make sure at least one filter is enabled
- setup mail sending in
config/settings.yml
. The default settings (address
: localhost,port
: 25) assume a postfix server on the same machine as the ALM software. - setup cron jobs for rake tasks with
bundle exec whenever -w
. Usebundle exec whenever
to see all cron jobs created by this command.
Alerts
Almots are created when errors are raised by the application. The only exception are common errors such as RecordNotFound. Alerts that have been resolved can be deleted, and this can be done with a single command for all alerts with the same message, class, or source.
The number of error messages received in the last 24 hours is reported in various places in the admin dashboard.
Since ALM 2.9 we not only collect errors messages, but also other unusual activities, and have therefore renamed error messages to alerts. Also since ALM 2.9 alerts are also shown next to the articles they belong to. This makes it easier to resolve errors.
Filters
Filters are used to detect unusual actiivty in the data collected from external APIs. These includes errors, suspicious gaming activity, but also highly unusual articles. For performance reasons filters are only applied to recently collected data (24 hours by default). The following filters are currently available:
- ApiResponseTooSlowError. Raise an error if successful API responses took longer than the specified time in seconds.
- ArticleNotUpdatedError. Raises an error if articles have not been updated within the specified interval in days
- EventCountDecreasingError. Raises an error if the event count decreases.
- EventCountIncreasingTooFastError. Raises an error if the event count increases faster than the specified value per day.
- CitationMilestoneAlert. Creates an alert if an article has been cited the specified number of times.
The last filter detects milestones reached by articles, all other filters listed here detect errors with the application. Some filters can be configured, and all filters can be disabled.
Filters are relatively easy to write, so please create a Github issue if you have an idea for a new filter. A daily report is then sent out to all admin and staff users who have signed up for this report in their account profile. The report only contains summary information.
Reports
A background task runs every 24 hours to apply the filters to the API responses of the last 24 hours. Filters can also be applied manually by running bundle exec rake filter:all
. The API responses will be marked as resolved with this command, use bundle exec rake filter:unresolve
to again mark them as unresolved. Use this command to re-apply filters after changing filter settings.
Reports can be manually sent by using bundle exec mailer:all
.
Most common errors
[SOURCE] has exceeded maximum failed queries. Disabling the source.
A source will be temporarily disabled when there are too many errors. When this happens depends on two settings in the source configuration:
- maximum number of failed queries allowed before being disabled (default 200)
- maximum number of failed queries allowed in a time interval (default 86400 sec)
Admin and staff users can sign up for an email alert when a source is disabled.
execution expired in [SOURCE]
Timeout error in a source, probably because of intermittent network problems. This can be ignored unless it happens frequently.
execution expired (Delayed::Worker.max_run_time is only 3000 seconds) in [SOURCE]
A background job could not be processed in max_run_time
. This typically happens when queries for individual articles took too long, depending on the following settings in the source configuration:
- job_batch_size: number of articles per job (default 200)
- timeout (default 30 sec)
If all 200 jobs take close to 3000 sec, and they will not be done within an hour, and before we process the next batch. Decrease job_batch_size
or increase timeout
if you see to many of these errors for a source.
[503] Service Temporarily Unavailable while requesting http://blogs.nature.com/posts.json?doi=DOI
The server is overloaded or we hit rate-limiting. This is a temporary error and can be ignored unless it happens frequently.


Do you think we are re-inventing the wheel?
No. That is not more like it. I know you may think we are creating again what has been created. Nah! it's more like we are modifying or adding advanced and better features to what has been created, in our own way. The only way you can find out we are not, is when you start using sledge.
You can always do more than mere templating
Make your work easier you don't have to write the same thing—even with a slight difference—on and on. Populate your navbar, navigation and footer links in one statement using framefunctions
%explode(...)
method. When writing codes in pre tags, you don't have to slow down and get tired of
< >
. We make the task easier: write normal tags inside the
%code(...)
method.


{% extends "bases.html" %} {% block body %}
| Person transacting | Item | Quantity Requested | Time of transaction | Completed | |
|---|---|---|---|---|---|
| Person transacting | Item | Quantity Requested | Time of transaction | Completed | |
| {{transaction.person_transacting}} | {{transaction.item_name}} | {{transaction.quantity_requested}} | {{transaction.time_of_transaction}} | {{transaction.completed}} | {% if not transaction.completed %} {% endif %} |


Our ongoing survey for members of the Nepali tourism workforce provides useful insight into their immediate financial needs.
We asked survey participants about the kinds of financial support they would need to deal with the pandemic and its effects. Participants were provided a set of options to choose from. Multiple selections were allowed. Here’s how they responded.
If we look at the most popular answers, we can see that there is a need for direct monetary support, either through “grants” or “discounted borrowing”. “Social security” comes next, although to what extent the government can introduce such forms of financial support in an industry that has a lot of informal employment, is a question difficult to answer. Relatively fewer respondents seem to prioritize support that could potentially help with their existing debt, things like “interest rate reductions” or “loan period extensions”.
WHERE DOES THE NEED FOR MONETARY SUPPORT COME FROM?
65% of our respondents report having no employment at present. 95% have some form of debt. Among the remaining 35% who managed to find work, nearly two-thirds report having to work at reduced incomesReview workforce survey facts and figures here. . The pandemic, as we can expect, has had a severe toll on the income of the Nepali tourism workforce.
At the same time, more than 90% of our respondents report losing at least three quarters of their savings during the pandemic. Almost one out every two workers reported having zero savings.
Unsurprisingly, what our survey reveals about immediate concerns of the individuals working in Nepali tourism industry paints a grim picture of what the future holds for them. Chart below shows responses for another multiple-selection question. This time, respondents were asked about the kind of challenges they are likely to face in the next six months.
What is most disconcerting, is learning that not being able to afford a roof to live in, or buying food to survive is the grim reality in which most of our tourism workforce is currently living in.
The financial capital of Nepal’s tourism workers is rapidly depleting. With reduced savings, few options for borrowing, and increasing debt, the situation of most our respondents, many of whom have devoted almost their entire lives to tourism, hangs in the balance.
WHAT MEASURES CAN BE TAKEN?
This section lists some of our recommendations, based on our interpretation of survey results.
MAKING BORROWING EASIER
Our in-person interviews revealed that workers shy away from borrowing though financial institutions because they lack sufficient property, real-estate, or other assets that can be provided as collateral.
Even though the government has made provisions for tourism workers to borrow money through formal sources, our survey reveals that such a practice hasn’t been fully adopted by the workforce. As the chart below shows, a lot of borrowing still happens informally through friends and family.
It appears that despite having the best intentions, past efforts of encouraging borrowing through financial institutions do not seem to be working as expected. This represents an opportunity for further work, as finding ways to increase financial access can be crucial- in supporting the revival and recovery of the thousands of people working in Nepal’s tourism sector.


For my fourth year design project, I formed a group with Adi Pruthi, Martin Fung and Arya Talebzadeh. We decided that we would work on a product in the advertisement industry. Our goal was to put static physical ads on the same page, figuratively, as online ads. An ideal solution created will aim to mimic a model used for online ads by learning from characteristics of its viewers, serving well targeted digital ads to them and reporting useful metrics back to the enterprises.
Our project consisted of 3 components: a demographic recognition system, an ad display system, and an enterprise dashboard. This page focuses on the design and implementation of the enterprise dashboard. This dashboard will be reponsible for creating ads, managing ads, and showing ad statistics.
(Remaining design work for this project is still in progress)


-
ghost whisperer full epsodes
OBITUARIES Trimble Co KY 1950-1959
HACKNEY, Joseph, 89, died 13 Oct 1955, burial IOOF Bedford. . 7 Jun 1873, eldest d/o late Dr. and Mrs. S. E. Hampton. . 30 Sep 1874,) d/o Joseph and Susan McMahan Greenwood, m. . 1916 to BYRON HARMON who survives with 5 ch., Mrs. Leland Scott, Mrs. G. W. Taylor, Keith, Kenneth and Loman Harmon, a bro.
http://www.ole.net/~maggie/trimble/3obit50.htm
-
des moines catholic schools
RIVERSIDE CEMETERY - Hayes Survey
1955. CARROLL infant b. 11 Apr 1911 d. 11 Apr 1911 s/o J L & Ola Carroll. CARROLL . 23 Aug 1856 d/o Benj Chatman w/o Geo W Fillingehast born in Fayetteville, NC. CLARK Adolph Phillip b. 3 Aug 1925 d. 30 Mar 1936. CLARK John b. d. 18 Oct 1840 s/o Wylie & Amanda M Clark age 5 yrs . McMAHAN Wanda Sue b.
http://www.rootsweb.ancestry.com/~fljackso/cemeteries/RIVERSIDEhayes.html
-
campbell river travel lidge
Wolf - INGenWeb
WILLIAM3 WOLF (ADAM2, ADAM1) was born August 06, 1805 in Loudoun Co., VA, and died December 14, . 7. vi. JOSEPH WOLF, b. May 12, 1839, Columbiana Co., OH; d. October 09, 1912, Steuben Co., IN. . More About ALICE WOLF: Fact 1: March 1880, source: Susan McMahan's file 5. . July 01, 1955, Angola, IN; m.
http://www.ingenweb.org/insteuben/gen/view/wolf-william-revis.txt
-
missing mittens stuart j murphy
Figure No. 5-6 - North Carolina Utilities Commission
Jul 17, 2012 . Susan W. Rabon. ToNola D. Brown- . 7-5. Plant, Revenue, and Customer Growth of all Regulated Water . 3. Frank W. Hanft (1933-1940). * 4. Fred C. Hunter (1941-1955). * 5. . 7. Edward R. McMahan (1949-1958). * 8. Harry T. Westcott (1949-1972)**. * 9. . Susan Rabon was born in Onslow County, .
http://www.ncuc.net/statbook/2010report.pdf
-
human resources stock photo
hale county (tx) cemetery records - The Unger Memorial Library
Adkisson, Gid B., Sr. - 28 Dec 1875 - 17 Jul 1955 - - Abernathy Cemetery . Alexander, Alfredo Flores, Mrs. (Casimira "Mary") - 04 Mar 1943 - McMahan . Alexander, Gertrude E. - 02 Jul 1897 - 05 Aug 1912 - - Plainview Cemetery - 126- 7-5 . Allen, Jackie Sue - ca 1943 - 30 Dec 2007 - Kornerstone Funeral Directors - - .
http://unger.myplainview.com/cemetery/cemetery2.php
-
disabilty benefits cerebral palsy
Johnny Carson - Wikipedia, the free encyclopedia
Carson was born in Corning, Iowa, in 1925, to Homer Lloyd "Kit" Carson, a power . [7] He was en route to the combat zone aboard a troopship when the . Carson as a guest on Jack Benny's television program, 1955. Carson . 178; Book Bonus: Ed McMahon Here's Johnny, Berkley Trade, 2006 ISBN 978-0-425-21229 -5 .
http://en.wikipedia.org/wiki/Johnny_Carson
-
endodontist in abingdon virginia
Poinsett Veterans of World War II
5, 1955 Ark Pfc 63 Mil Pol Co BSN MORRIS, Ray A., born Oct. 20, 1913, died Jan . . Adonis "Don", s/o Wilford J. & Mattie Sue Gasaway Roberts, 85y, born Oct. 30, 1915, died Sep. . 5, 1980 Tec4 US Army McMAHAN, Harding, born Dec.
http://users.bscn.com/~harryv/wwar11.htm
-
motorcraft 2100 return spring
Miscellaneous Johnson County, Kansas, Obituaries
LaBerta E. Moore McBride, 89, Olathe, died Monday, August 7, 2000, at the Johnson County . She was born March 4, 1950, in Kansas City, Kan., the daughter of Solman Cecil Trammell and . She was born June 5, 1934, in Garnett, Kan. . Suzanne "Suzi" Harding McMahan, 46, Gardner, died at her home Friday, Jan. 7.
http://www.genealogybuff.com/ks/ks-johnson-obits25.htm
-
traditional houses in mexico
Descendants of David Leister
+ 5 iv. Moses Leister, born Abt 1784 in Cumberland County, Pennsylvania; . 7 vi. Samuel Leister, born 1788-1790. + 8 vii. Thomas Hale Leister, born . She married Barney McMahan Morrow. . Susan4 Wingo (Mary Elizabeth3 Leister, Simon2, David1) was born July 24, . Randall Marvin Brown, born March 04, 1955.
http://www.oocities.org/~pamreid/leis_anc.html
-
first degree heart block and atenolol
In Memory of Deceased Hickman High School Kewpies
Loretta Jean Hegstad, Class of 1973, passed away Thursday, February 7, 2013. . Susan Lynn Chappell was born May 5, 1955, in Boone County, the daughter of . Ryan McMahan and Ian Wulff; and one granddaughter, Rebecca McMahan.
http://www.kewpie.net/Gone2011/memorial.html
-
saints tickets at teh superdome
Historical Files, H7
Iola Martha Ophelia Sunderland, H116143A132, born 7 January 1917, Quill Lake , . Mereta Lorena Belle Sunderland, H116143A135, born 5 November 1921, Quill . Joanne Haggard, born 30 May 1955, Regina, Saskatchewan, Canada. . Susan Dawn Mitchell, born 3 November 1960, Assiniboia, Saskatchewan, Canada.
http://haggard.surnames.com/historical_files/H7.htm
-
dillen 9.0 roman urn
Generation No
Jan 15, 2013 . Steven M8 McMahan (Florine7 Brehm, John6, Peter5, Johann Georg4, Johann Heinrich3, Johannes2 . Walter Wayne Losure, born 1955 in Sac City, Iowa. . Garneita Sue9 Popp, born 1964 in Hill City, Graham Co., Kansas.
http://www.lapella.net/wordchartbrehm2of2.doc
-
mcalpine park charlotte north carolina
Thanks for visiting my registry page!
i was born at 1:36 Am and my bmom was due on the 9-17-1964 but gave . birth and adoptive fathers stationed at harlingen air force base in 1955. birth . in corning new york michael 4/6/51 frederick john 7/18/53 and virginia 1/5/55 . Adoptees name at birth: Baby McMahan . Adoptees name at birth: Leslie Sue King .
http://www.reocities.com/heartland/1916/geobook.html
-
driving in elizabethtown ky
Keithleys of Cecil and Harford Co., MD
2 KEITHLEY, Edwin E., Born 7 Feb 1888, Died 27 Jan 1893 at age 4 . . 1 KEITHLEY, John, Born 5 Apr 1803 in MD, Died 6 Nov 1868 in MD at age 65; . SP JENKINS, Susan, Born Jun 1860 in VA, Married 15 Mar 1883 in Hampton, VA . Born Apr 1882 in MD, Married 11 Apr 1900 for 55 years, Died 18 Oct 1955 at age 73 .
http://www.rci.rutgers.edu/~deis/mdkeith.html
-
united parcel service accident
Descendants of Nathan Gilbert Joyner
Gilbert Joyner was born in Mississippi or Alabama and is buried at Old Union Baptist Church . m(2) N M b 15 Feb 1866 d 5 Nov 1885 m(3) Lara L. Neal b 7 May 1864 d 20 Mar 1902 . m(2) 27 Nov 1981 Susan Darlene Chadwell b 29 Nov 1955 . b 24 May 1957 m 24 Aug 1978 Mona Lisa McMahan b 7 Feb 1959 .
http://www.kithandkinofthesouth.org/uploads/2/6/2/1/2621480/descendants_of_nathan_gilbert_joyner.pdf
-
buena vista ave san francisco ca
The Barbee Family
Ben Barbee (12/22/1861 - 3/28/1955) married Alice E. Latham (5/15/1864 . Rebecca "Becky" Sue Barbee (7/23/1950 - ) married Hubert Michael Coon . Pamela Ruth Barbee (4/5/1952 - ) married Michael Eddie McMahan email (9/18/ 1947 - ) on . She married Hershel Ketner (born circa 1870 - ) of Quinlan and had one .
http://www.paulridenour.com/barbee.htm
-
gst rebate forms for housing cooperatives
Candace Parker - Wikipedia, the free encyclopedia
Candace Nicole Parker (born April 19, 1986) is an American basketball player for the WNBA's Los Angeles Sparks and . 5 Personal life; 6 Records; 7 Awards .
http://en.wikipedia.org/wiki/Candace_Parker
-
first class mail history
Ancestry of Bill Gates
William Addams Reitwiesner<EMAIL_ADDRESS>Ancestry of .
http://www.wargs.com/other/gates.html
-
35 errors in an inconvenient truth
Family Tree Maker - Genealogy.com
2 Edward Jackson Picklesimer Born: March 30, 1874 Died: March 01, 1955 .......... .. +Polly Anna Marrs Born: July 17, . 5 Charles Franklin Picklesimer Born: February 17, 1951 ........................................... +Hester Lea . +Suzanne Wiseman Born: June 25, 1953 . +Laura Jean McMahan Born: March 29, 1957 . 7 Jessie Little .
http://familytreemaker.genealogy.com/users/p/i/c/John-W-Picklesimer/PDFODT1.pdf
-
final cut pro interline deinterlace
Daily Dunklin Democrat: Obituaries from June 2012
. was born April 7, 1955, in Hornersville, Mo., and passed away Thursday, June 21 . Ron, of Blytheville, Eva McMahan and husband, Roger, of Bragg City, Mo., and . Golda Grooms Adams in Greene County, Ark., on February 5, 1929 She was . Ark., and Remer Wyrick, of Kennett; two sisters, Sue Wyrick and Eva Nelson, .
http://www.dddnews.com/search/browse/obituaries/2012-06/


svg animate: Morphing Play-Pause Button原理：
三角形(5 points )：三角形 => 矩形
1 1 1
1
1 => 1
1
1 1 1
梯形(4 points )：梯形 => 矩形
1 1 1
1
=>
1
1 1 1
steps:
1.
made a triangle in Adobe Illustrator
Note that the right triangle has five points, rather than four, to retain the arrow shape;
the right most three points are in separate positions, but they could be overlapped with each other.
2.
using <animate> elements to animate each <polygon> to its new state. By dragging around the existing points to form two vertical “bars”.
3.
begin="indefinite" stops the animation from executing immediately
4.
xlink:href : referencing the elements they influence via xlink:href values.
fill="freeze" is equivalent to animation-direction:
it means that the animation plays through once, and stops at its final state.
5.
we want to animate it back to play mode.
Unfortunately, SVG doesn’t have a simple reverse mode;
instead, we’ll create a second target state that returns the morphed elements back to their original form:
6.
The SVG is set inside a <button> element for easy access:
7.
Setting up includes setting the SVG to invisible by default; it will be made visible by the JavaScript to follow:
The transition on the SVG, applied via a class, will enable it to be faded in and out as we add and remove the class with classList.
...


{{#error}}
...
{{/error}}git clone https://{{host}}/clients/git/end/{{blog.handle}}.git
When prompted for your username and password, use your blog's username and this token:
Username {{blog.handle}}
Password {{token}}Blot will create a Git repository for your blog. You can switch to a different client at any point.


The impact is extremely small. When a resolved template is marked to use decoupled logic and it is not cached, the template logic resource will be resolved first, parsed and processed into a secuence of instructions in-memory: basically a list of attributes to be injected to each markup selector.
But this is the only additional step required because, after this, the real template will be parsed, and while it is parsed these attributes will be injected on-the-fly by the parser itself, thanks to the advanced capabilities for node selection in AttoParser. So parsed nodes will come out of the parser as if they had their injected attributes written in the original template file.
The biggest advantage of this? When a template is configured to be cached, it will be cached already containing the injected attributes. So the overhead of using decoupled templates for cacheable templates, once they are cached, will be absolutely zero.
17.5 Resolution of decoupled logic
The way Thymeleaf resolves the decoupled logic resources corresponding to each template is configurable by the user. It is determined by an extension point, the org.thymeleaf.templateparser.markup.decoupled.IDecoupledTemplateLogicResolver
, for which a default implementation is provided: StandardDecoupledTemplateLogicResolver
.
What does this standard implementation do?
- First, it applies a
prefix
and asuffix
to the base name of the template resource (obtained by means of itsITemplateResource#getBaseName()
method). Both prefix and suffix can be configured and, by default, the prefix will be empty and the suffix will be.th.xml
. - Second, it asks the template resource to resolve a relative resource with the computed name by means of its
ITemplateResource#relative(String relativeLocation)
method.
The specific implementation of IDecoupledTemplateLogicResolver
to be used can be configured at the TemplateEngine
easily:
final StandardDecoupledTemplateLogicResolver decoupledresolver =
new StandardDecoupledTemplateLogicResolver();
decoupledResolver.setPrefix("../viewlogic/");
...
templateEngine.setDecoupledTemplateLogicResolver(decoupledResolver);
18 Appendix A: Expression Basic Objects
Some objects and variable maps are always available to be invoked. Let’s see them:
Base objects
- #ctx : the context object. An implementation of
org.thymeleaf.context.IContext
ororg.thymeleaf.context.IWebContext
depending on our environment (standalone or web).
Note #vars
and #root
are synomyns for the same object, but using #ctx
is recommended.
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.context.IContext
* ======================================================================
*/
${#ctx.locale}
${#ctx.variableNames}
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.context.IWebContext
* ======================================================================
*/
${#ctx.request}
${#ctx.response}
${#ctx.session}
${#ctx.servletContext}
- #locale : direct access to the
java.util.Locale
associated with current request.
${#locale}
Web context namespaces for request/session attributes, etc.
When using Thymeleaf in a web environment, we can use a series of shortcuts for accessing request parameters, session attributes and application attributes:
Note these are not context objects, but maps added to the context as variables, so we access them without
#
. In some way, they act as namespaces.
- param : for retrieving request parameters.
${param.foo}
is aString[]
with the values of thefoo
request parameter, so${param.foo[0]}
will normally be used for getting the first value.
/*
* ============================================================================
* See javadoc API for class org.thymeleaf.context.WebRequestParamsVariablesMap
* ============================================================================
*/
${param.foo} // Retrieves a String[] with the values of request parameter 'foo'
${param.size()}
${param.isEmpty()}
${param.containsKey('foo')}
...
- session : for retrieving session attributes.
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.context.WebSessionVariablesMap
* ======================================================================
*/
${session.foo} // Retrieves the session atttribute 'foo'
${session.size()}
${session.isEmpty()}
${session.containsKey('foo')}
...
- application : for retrieving application/servlet context attributes.
/*
* =============================================================================
* See javadoc API for class org.thymeleaf.context.WebServletContextVariablesMap
* =============================================================================
*/
${application.foo} // Retrieves the ServletContext atttribute 'foo'
${application.size()}
${application.isEmpty()}
${application.containsKey('foo')}
...
Note there is no need to specify a namespace for accessing request attributes (as opposed to request parameters) because all request attributes are automatically added to the context as variables in the context root:
${myRequestAttribute}
Web context objects
Inside a web environment there is also direct access to the following objects (note these are objects, not maps/namespaces):
- #request : direct access to the
javax.servlet.http.HttpServletRequest
object associated with the current request.
${#request.getAttribute('foo')}
${#request.getParameter('foo')}
${#request.getContextPath()}
${#request.getRequestName()}
...
- #session : direct access to the
javax.servlet.http.HttpSession
object associated with the current request.
${#session.getAttribute('foo')}
${#session.id}
${#session.lastAccessedTime}
...
- #servletContext : direct access to the
javax.servlet.ServletContext
object associated with the current request.
${#servletContext.getAttribute('foo')}
${#servletContext.contextPath}
...
19 Appendix B: Expression Utility Objects
Execution Info
- #execInfo : expression object providing useful information about the template being processed inside Thymeleaf Standard Expressions.
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.ExecutionInfo
* ======================================================================
*/
/*
* Return the name and mode of the 'leaf' template. This means the template
* from where the events being processed were parsed. So if this piece of
* code is not in the root template "A" but on a fragment being inserted
* into "A" from another template called "B", this will return "B" as a
* name, and B's mode as template mode.
*/
${#execInfo.templateName}
${#execInfo.templateMode}
/*
* Return the name and mode of the 'root' template. This means the template
* that the template engine was originally asked to process. So if this
* piece of code is not in the root template "A" but on a fragment being
* inserted into "A" from another template called "B", this will still
* return "A" and A's template mode.
*/
${#execInfo.processedTemplateName}
${#execInfo.processedTemplateMode}
/*
* Return the stacks (actually, List<String> or List<TemplateMode>) of
* templates being processed. The first element will be the
* 'processedTemplate' (the root one), the last one will be the 'leaf'
* template, and in the middle all the fragments inserted in nested
* manner to reach the leaf from the root will appear.
*/
${#execInfo.templateNames}
${#execInfo.templateModes}
/*
* Return the stack of templates being processed similarly (and in the
* same order) to 'templateNames' and 'templateModes', but returning
* a List<TemplateData> with the full template metadata.
*/
${#execInfo.templateStack}
Messages
- #messages : utility methods for obtaining externalized messages inside variables expressions, in the same way as they would be obtained using
#{...}
syntax.
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Messages
* ======================================================================
*/
/*
* Obtain externalized messages. Can receive a single key, a key plus arguments,
* or an array/list/set of keys (in which case it will return an array/list/set of
* externalized messages).
* If a message is not found, a default message (like '??msgKey??') is returned.
*/
${#messages.msg('msgKey')}
${#messages.msg('msgKey', param1)}
${#messages.msg('msgKey', param1, param2)}
${#messages.msg('msgKey', param1, param2, param3)}
${#messages.msgWithParams('msgKey', new Object[] {param1, param2, param3, param4})}
${#messages.arrayMsg(messageKeyArray)}
${#messages.listMsg(messageKeyList)}
${#messages.setMsg(messageKeySet)}
/*
* Obtain externalized messages or null. Null is returned instead of a default
* message if a message for the specified key is not found.
*/
${#messages.msgOrNull('msgKey')}
${#messages.msgOrNull('msgKey', param1)}
${#messages.msgOrNull('msgKey', param1, param2)}
${#messages.msgOrNull('msgKey', param1, param2, param3)}
${#messages.msgOrNullWithParams('msgKey', new Object[] {param1, param2, param3, param4})}
${#messages.arrayMsgOrNull(messageKeyArray)}
${#messages.listMsgOrNull(messageKeyList)}
${#messages.setMsgOrNull(messageKeySet)}
URIs/URLs
- #uris : utility object for performing URI/URL operations (esp. escaping/unescaping) inside Thymeleaf Standard Expressions.
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Uris
* ======================================================================
*/
/*
* Escape/Unescape as a URI/URL path
*/
${#uris.escapePath(uri)}
${#uris.escapePath(uri, encoding)}
${#uris.unescapePath(uri)}
${#uris.unescapePath(uri, encoding)}
/*
* Escape/Unescape as a URI/URL path segment (between '/' symbols)
*/
${#uris.escapePathSegment(uri)}
${#uris.escapePathSegment(uri, encoding)}
${#uris.unescapePathSegment(uri)}
${#uris.unescapePathSegment(uri, encoding)}
/*
* Escape/Unescape as a Fragment Identifier (#frag)
*/
${#uris.escapeFragmentId(uri)}
${#uris.escapeFragmentId(uri, encoding)}
${#uris.unescapeFragmentId(uri)}
${#uris.unescapeFragmentId(uri, encoding)}
/*
* Escape/Unescape as a Query Parameter (?var=value)
*/
${#uris.escapeQueryParam(uri)}
${#uris.escapeQueryParam(uri, encoding)}
${#uris.unescapeQueryParam(uri)}
${#uris.unescapeQueryParam(uri, encoding)}
Conversions
- #conversions : utility object that allows the execution of the Conversion Service at any point of a template:
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Conversions
* ======================================================================
*/
/*
* Execute the desired conversion of the 'object' value into the
* specified class.
*/
${#conversions.convert(object, 'java.util.TimeZone')}
${#conversions.convert(object, targetClass)}
Dates
- #dates : utility methods for
java.util.Date
objects:
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Dates
* ======================================================================
*/
/*
* Format date with the standard locale format
* Also works with arrays, lists or sets
*/
${#dates.format(date)}
${#dates.arrayFormat(datesArray)}
${#dates.listFormat(datesList)}
${#dates.setFormat(datesSet)}
/*
* Format date with the ISO8601 format
* Also works with arrays, lists or sets
*/
${#dates.formatISO(date)}
${#dates.arrayFormatISO(datesArray)}
${#dates.listFormatISO(datesList)}
${#dates.setFormatISO(datesSet)}
/*
* Format date with the specified pattern
* Also works with arrays, lists or sets
*/
${#dates.format(date, 'dd/MMM/yyyy HH:mm')}
${#dates.arrayFormat(datesArray, 'dd/MMM/yyyy HH:mm')}
${#dates.listFormat(datesList, 'dd/MMM/yyyy HH:mm')}
${#dates.setFormat(datesSet, 'dd/MMM/yyyy HH:mm')}
/*
* Obtain date properties
* Also works with arrays, lists or sets
*/
${#dates.day(date)} // also arrayDay(...), listDay(...), etc.
${#dates.month(date)} // also arrayMonth(...), listMonth(...), etc.
${#dates.monthName(date)} // also arrayMonthName(...), listMonthName(...), etc.
${#dates.monthNameShort(date)} // also arrayMonthNameShort(...), listMonthNameShort(...), etc.
${#dates.year(date)} // also arrayYear(...), listYear(...), etc.
${#dates.dayOfWeek(date)} // also arrayDayOfWeek(...), listDayOfWeek(...), etc.
${#dates.dayOfWeekName(date)} // also arrayDayOfWeekName(...), listDayOfWeekName(...), etc.
${#dates.dayOfWeekNameShort(date)} // also arrayDayOfWeekNameShort(...), listDayOfWeekNameShort(...), etc.
${#dates.hour(date)} // also arrayHour(...), listHour(...), etc.
${#dates.minute(date)} // also arrayMinute(...), listMinute(...), etc.
${#dates.second(date)} // also arraySecond(...), listSecond(...), etc.
${#dates.millisecond(date)} // also arrayMillisecond(...), listMillisecond(...), etc.
/*
* Create date (java.util.Date) objects from its components
*/
${#dates.create(year,month,day)}
${#dates.create(year,month,day,hour,minute)}
${#dates.create(year,month,day,hour,minute,second)}
${#dates.create(year,month,day,hour,minute,second,millisecond)}
/*
* Create a date (java.util.Date) object for the current date and time
*/
${#dates.createNow()}
${#dates.createNowForTimeZone()}
/*
* Create a date (java.util.Date) object for the current date (time set to 00:00)
*/
${#dates.createToday()}
${#dates.createTodayForTimeZone()}
Calendars
- #calendars : analogous to
#dates
, but forjava.util.Calendar
objects:
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Calendars
* ======================================================================
*/
/*
* Format calendar with the standard locale format
* Also works with arrays, lists or sets
*/
${#calendars.format(cal)}
${#calendars.arrayFormat(calArray)}
${#calendars.listFormat(calList)}
${#calendars.setFormat(calSet)}
/*
* Format calendar with the ISO8601 format
* Also works with arrays, lists or sets
*/
${#calendars.formatISO(cal)}
${#calendars.arrayFormatISO(calArray)}
${#calendars.listFormatISO(calList)}
${#calendars.setFormatISO(calSet)}
/*
* Format calendar with the specified pattern
* Also works with arrays, lists or sets
*/
${#calendars.format(cal, 'dd/MMM/yyyy HH:mm')}
${#calendars.arrayFormat(calArray, 'dd/MMM/yyyy HH:mm')}
${#calendars.listFormat(calList, 'dd/MMM/yyyy HH:mm')}
${#calendars.setFormat(calSet, 'dd/MMM/yyyy HH:mm')}
/*
* Obtain calendar properties
* Also works with arrays, lists or sets
*/
${#calendars.day(date)} // also arrayDay(...), listDay(...), etc.
${#calendars.month(date)} // also arrayMonth(...), listMonth(...), etc.
${#calendars.monthName(date)} // also arrayMonthName(...), listMonthName(...), etc.
${#calendars.monthNameShort(date)} // also arrayMonthNameShort(...), listMonthNameShort(...), etc.
${#calendars.year(date)} // also arrayYear(...), listYear(...), etc.
${#calendars.dayOfWeek(date)} // also arrayDayOfWeek(...), listDayOfWeek(...), etc.
${#calendars.dayOfWeekName(date)} // also arrayDayOfWeekName(...), listDayOfWeekName(...), etc.
${#calendars.dayOfWeekNameShort(date)} // also arrayDayOfWeekNameShort(...), listDayOfWeekNameShort(...), etc.
${#calendars.hour(date)} // also arrayHour(...), listHour(...), etc.
${#calendars.minute(date)} // also arrayMinute(...), listMinute(...), etc.
${#calendars.second(date)} // also arraySecond(...), listSecond(...), etc.
${#calendars.millisecond(date)} // also arrayMillisecond(...), listMillisecond(...), etc.
/*
* Create calendar (java.util.Calendar) objects from its components
*/
${#calendars.create(year,month,day)}
${#calendars.create(year,month,day,hour,minute)}
${#calendars.create(year,month,day,hour,minute,second)}
${#calendars.create(year,month,day,hour,minute,second,millisecond)}
${#calendars.createForTimeZone(year,month,day,timeZone)}
${#calendars.createForTimeZone(year,month,day,hour,minute,timeZone)}
${#calendars.createForTimeZone(year,month,day,hour,minute,second,timeZone)}
${#calendars.createForTimeZone(year,month,day,hour,minute,second,millisecond,timeZone)}
/*
* Create a calendar (java.util.Calendar) object for the current date and time
*/
${#calendars.createNow()}
${#calendars.createNowForTimeZone()}
/*
* Create a calendar (java.util.Calendar) object for the current date (time set to 00:00)
*/
${#calendars.createToday()}
${#calendars.createTodayForTimeZone()}
Numbers
- #numbers : utility methods for number objects:
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Numbers
* ======================================================================
*/
/*
* ==========================
* Formatting integer numbers
* ==========================
*/
/*
* Set minimum integer digits.
* Also works with arrays, lists or sets
*/
${#numbers.formatInteger(num,3)}
${#numbers.arrayFormatInteger(numArray,3)}
${#numbers.listFormatInteger(numList,3)}
${#numbers.setFormatInteger(numSet,3)}
/*
* Set minimum integer digits and thousands separator:
* 'POINT', 'COMMA', 'WHITESPACE', 'NONE' or 'DEFAULT' (by locale).
* Also works with arrays, lists or sets
*/
${#numbers.formatInteger(num,3,'POINT')}
${#numbers.arrayFormatInteger(numArray,3,'POINT')}
${#numbers.listFormatInteger(numList,3,'POINT')}
${#numbers.setFormatInteger(numSet,3,'POINT')}
/*
* ==========================
* Formatting decimal numbers
* ==========================
*/
/*
* Set minimum integer digits and (exact) decimal digits.
* Also works with arrays, lists or sets
*/
${#numbers.formatDecimal(num,3,2)}
${#numbers.arrayFormatDecimal(numArray,3,2)}
${#numbers.listFormatDecimal(numList,3,2)}
${#numbers.setFormatDecimal(numSet,3,2)}
/*
* Set minimum integer digits and (exact) decimal digits, and also decimal separator.
* Also works with arrays, lists or sets
*/
${#numbers.formatDecimal(num,3,2,'COMMA')}
${#numbers.arrayFormatDecimal(numArray,3,2,'COMMA')}
${#numbers.listFormatDecimal(numList,3,2,'COMMA')}
${#numbers.setFormatDecimal(numSet,3,2,'COMMA')}
/*
* Set minimum integer digits and (exact) decimal digits, and also thousands and
* decimal separator.
* Also works with arrays, lists or sets
*/
${#numbers.formatDecimal(num,3,'POINT',2,'COMMA')}
${#numbers.arrayFormatDecimal(numArray,3,'POINT',2,'COMMA')}
${#numbers.listFormatDecimal(numList,3,'POINT',2,'COMMA')}
${#numbers.setFormatDecimal(numSet,3,'POINT',2,'COMMA')}
/*
* =====================
* Formatting currencies
* =====================
*/
${#numbers.formatCurrency(num)}
${#numbers.arrayFormatCurrency(numArray)}
${#numbers.listFormatCurrency(numList)}
${#numbers.setFormatCurrency(numSet)}
/*
* ======================
* Formatting percentages
* ======================
*/
${#numbers.formatPercent(num)}
${#numbers.arrayFormatPercent(numArray)}
${#numbers.listFormatPercent(numList)}
${#numbers.setFormatPercent(numSet)}
/*
* Set minimum integer digits and (exact) decimal digits.
*/
${#numbers.formatPercent(num, 3, 2)}
${#numbers.arrayFormatPercent(numArray, 3, 2)}
${#numbers.listFormatPercent(numList, 3, 2)}
${#numbers.setFormatPercent(numSet, 3, 2)}
/*
* ===============
* Utility methods
* ===============
*/
/*
* Create a sequence (array) of integer numbers going
* from x to y
*/
${#numbers.sequence(from,to)}
${#numbers.sequence(from,to,step)}
Strings
- #strings : utility methods for
String
objects:
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Strings
* ======================================================================
*/
/*
* Null-safe toString()
*/
${#strings.toString(obj)} // also array*, list* and set*
/*
* Check whether a String is empty (or null). Performs a trim() operation before check
* Also works with arrays, lists or sets
*/
${#strings.isEmpty(name)}
${#strings.arrayIsEmpty(nameArr)}
${#strings.listIsEmpty(nameList)}
${#strings.setIsEmpty(nameSet)}
/*
* Perform an 'isEmpty()' check on a string and return it if false, defaulting to
* another specified string if true.
* Also works with arrays, lists or sets
*/
${#strings.defaultString(text,default)}
${#strings.arrayDefaultString(textArr,default)}
${#strings.listDefaultString(textList,default)}
${#strings.setDefaultString(textSet,default)}
/*
* Check whether a fragment is contained in a String
* Also works with arrays, lists or sets
*/
${#strings.contains(name,'ez')} // also array*, list* and set*
${#strings.containsIgnoreCase(name,'ez')} // also array*, list* and set*
/*
* Check whether a String starts or ends with a fragment
* Also works with arrays, lists or sets
*/
${#strings.startsWith(name,'Don')} // also array*, list* and set*
${#strings.endsWith(name,endingFragment)} // also array*, list* and set*
/*
* Substring-related operations
* Also works with arrays, lists or sets
*/
${#strings.indexOf(name,frag)} // also array*, list* and set*
${#strings.substring(name,3,5)} // also array*, list* and set*
${#strings.substringAfter(name,prefix)} // also array*, list* and set*
${#strings.substringBefore(name,suffix)} // also array*, list* and set*
${#strings.replace(name,'las','ler')} // also array*, list* and set*
/*
* Append and prepend
* Also works with arrays, lists or sets
*/
${#strings.prepend(str,prefix)} // also array*, list* and set*
${#strings.append(str,suffix)} // also array*, list* and set*
/*
* Change case
* Also works with arrays, lists or sets
*/
${#strings.toUpperCase(name)} // also array*, list* and set*
${#strings.toLowerCase(name)} // also array*, list* and set*
/*
* Split and join
*/
${#strings.arrayJoin(namesArray,',')}
${#strings.listJoin(namesList,',')}
${#strings.setJoin(namesSet,',')}
${#strings.arraySplit(namesStr,',')} // returns String[]
${#strings.listSplit(namesStr,',')} // returns List<String>
${#strings.setSplit(namesStr,',')} // returns Set<String>
/*
* Trim
* Also works with arrays, lists or sets
*/
${#strings.trim(str)} // also array*, list* and set*
/*
* Compute length
* Also works with arrays, lists or sets
*/
${#strings.length(str)} // also array*, list* and set*
/*
* Abbreviate text making it have a maximum size of n. If text is bigger, it
* will be clipped and finished in "..."
* Also works with arrays, lists or sets
*/
${#strings.abbreviate(str,10)} // also array*, list* and set*
/*
* Convert the first character to upper-case (and vice-versa)
*/
${#strings.capitalize(str)} // also array*, list* and set*
${#strings.unCapitalize(str)} // also array*, list* and set*
/*
* Convert the first character of every word to upper-case
*/
${#strings.capitalizeWords(str)} // also array*, list* and set*
${#strings.capitalizeWords(str,delimiters)} // also array*, list* and set*
/*
* Escape the string
*/
${#strings.escapeXml(str)} // also array*, list* and set*
${#strings.escapeJava(str)} // also array*, list* and set*
${#strings.escapeJavaScript(str)} // also array*, list* and set*
${#strings.unescapeJava(str)} // also array*, list* and set*
${#strings.unescapeJavaScript(str)} // also array*, list* and set*
/*
* Null-safe comparison and concatenation
*/
${#strings.equals(first, second)}
${#strings.equalsIgnoreCase(first, second)}
${#strings.concat(values...)}
${#strings.concatReplaceNulls(nullValue, values...)}
/*
* Random
*/
${#strings.randomAlphanumeric(count)}
Objects
- #objects : utility methods for objects in general
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Objects
* ======================================================================
*/
/*
* Return obj if it is not null, and default otherwise
* Also works with arrays, lists or sets
*/
${#objects.nullSafe(obj,default)}
${#objects.arrayNullSafe(objArray,default)}
${#objects.listNullSafe(objList,default)}
${#objects.setNullSafe(objSet,default)}
Booleans
- #bools : utility methods for boolean evaluation
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Bools
* ======================================================================
*/
/*
* Evaluate a condition in the same way that it would be evaluated in a th:if tag
* (see conditional evaluation chapter afterwards).
* Also works with arrays, lists or sets
*/
${#bools.isTrue(obj)}
${#bools.arrayIsTrue(objArray)}
${#bools.listIsTrue(objList)}
${#bools.setIsTrue(objSet)}
/*
* Evaluate with negation
* Also works with arrays, lists or sets
*/
${#bools.isFalse(cond)}
${#bools.arrayIsFalse(condArray)}
${#bools.listIsFalse(condList)}
${#bools.setIsFalse(condSet)}
/*
* Evaluate and apply AND operator
* Receive an array, a list or a set as parameter
*/
${#bools.arrayAnd(condArray)}
${#bools.listAnd(condList)}
${#bools.setAnd(condSet)}
/*
* Evaluate and apply OR operator
* Receive an array, a list or a set as parameter
*/
${#bools.arrayOr(condArray)}
${#bools.listOr(condList)}
${#bools.setOr(condSet)}
Arrays
- #arrays : utility methods for arrays
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Arrays
* ======================================================================
*/
/*
* Converts to array, trying to infer array component class.
* Note that if resulting array is empty, or if the elements
* of the target object are not all of the same class,
* this method will return Object[].
*/
${#arrays.toArray(object)}
/*
* Convert to arrays of the specified component class.
*/
${#arrays.toStringArray(object)}
${#arrays.toIntegerArray(object)}
${#arrays.toLongArray(object)}
${#arrays.toDoubleArray(object)}
${#arrays.toFloatArray(object)}
${#arrays.toBooleanArray(object)}
/*
* Compute length
*/
${#arrays.length(array)}
/*
* Check whether array is empty
*/
${#arrays.isEmpty(array)}
/*
* Check if element or elements are contained in array
*/
${#arrays.contains(array, element)}
${#arrays.containsAll(array, elements)}
Lists
- #lists : utility methods for lists
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Lists
* ======================================================================
*/
/*
* Converts to list
*/
${#lists.toList(object)}
/*
* Compute size
*/
${#lists.size(list)}
/*
* Check whether list is empty
*/
${#lists.isEmpty(list)}
/*
* Check if element or elements are contained in list
*/
${#lists.contains(list, element)}
${#lists.containsAll(list, elements)}
/*
* Sort a copy of the given list. The members of the list must implement
* comparable or you must define a comparator.
*/
${#lists.sort(list)}
${#lists.sort(list, comparator)}
Sets
- #sets : utility methods for sets
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Sets
* ======================================================================
*/
/*
* Converts to set
*/
${#sets.toSet(object)}
/*
* Compute size
*/
${#sets.size(set)}
/*
* Check whether set is empty
*/
${#sets.isEmpty(set)}
/*
* Check if element or elements are contained in set
*/
${#sets.contains(set, element)}
${#sets.containsAll(set, elements)}
Maps
- #maps : utility methods for maps
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Maps
* ======================================================================
*/
/*
* Compute size
*/
${#maps.size(map)}
/*
* Check whether map is empty
*/
${#maps.isEmpty(map)}
/*
* Check if key/s or value/s are contained in maps
*/
${#maps.containsKey(map, key)}
${#maps.containsAllKeys(map, keys)}
${#maps.containsValue(map, value)}
${#maps.containsAllValues(map, value)}
Aggregates
- #aggregates : utility methods for creating aggregates on arrays or collections
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Aggregates
* ======================================================================
*/
/*
* Compute sum. Returns null if array or collection is empty
*/
${#aggregates.sum(array)}
${#aggregates.sum(collection)}
/*
* Compute average. Returns null if array or collection is empty
*/
${#aggregates.avg(array)}
${#aggregates.avg(collection)}
IDs
- #ids : utility methods for dealing with
id
attributes that might be repeated (for example, as a result of an iteration).
/*
* ======================================================================
* See javadoc API for class org.thymeleaf.expression.Ids
* ======================================================================
*/
/*
* Normally used in th:id attributes, for appending a counter to the id attribute value
* so that it remains unique even when involved in an iteration process.
*/
${#ids.seq('someId')}
/*
* Normally used in th:for attributes in <label> tags, so that these labels can refer to Ids
* generated by means if the #ids.seq(...) function.
*
* Depending on whether the <label> goes before or after the element with the #ids.seq(...)
* function, the "next" (label goes before "seq") or the "prev" function (label goes after
* "seq") function should be called.
*/
${#ids.next('someId')}
${#ids.prev('someId')}
20 Appendix C: Markup Selector Syntax
Thymeleaf’s Markup Selectors are directly borrowed from Thymeleaf’s parsing library: AttoParser.
The syntax for this selectors has large similarities with that of selectors in XPath, CSS and jQuery, which makes them easy to use for most users. You can have a look at the complete syntax reference at the AttoParser documentation.
For example, the following selector will select every <div>
with the class content
, in every position inside the markup (note this is not as concise as it could be, read on to know why):
<div th:insert="mytemplate<EMAIL_ADDRESS>The basic syntax includes:
/x
means direct children of the current node with name x.//x
means children of the current node with name x, at any depth.x[@z="v"]
means elements with name x and an attribute called z with value “v”.x[@z1="v1" and @z2="v2"]
means elements with name x and attributes z1 and z2 with values “v1” and “v2”, respectively.x[i]
means element with name x positioned in number i among its siblings.x[@z="v"][i]
means elements with name x, attribute z with value “v” and positioned in number i among its siblings that also match this condition.
But more concise syntax can also be used:
x
is exactly equivalent to//x
(search an element with name or referencex
at any depth level, a reference being ath:ref
or ath:fragment
attribute).Selectors are also allowed without element name/reference, as long as they include a specification of arguments. So
[@class='oneclass']
is a valid selector that looks for any elements (tags) with a class attribute with value"oneclass"
.
Advanced attribute selection features:
Besides
=
(equal), other comparison operators are also valid:!=
(not equal),^=
(starts with) and$=
(ends with). For example:x[@class^='section']
means elements with namex
and a value for attributeclass
that starts withsection
.Attributes can be specified both starting with
@
(XPath-style) and without (jQuery-style). Sox[z='v']
is equivalent tox[@z='v']
.Multiple-attribute modifiers can be joined both with
and
(XPath-style) and also by chaining multiple modifiers (jQuery-style). Sox[@z1='v1' and @z2='v2']
is actually equivalent tox[@z1='v1'][@z2='v2']
(and also tox[z1='v1'][z2='v2']
).
Direct jQuery-like selectors:
x.oneclass
is equivalent tox[class='oneclass']
..oneclass
is equivalent to[class='oneclass']
.x#oneid
is equivalent tox[id='oneid']
.#oneid
is equivalent to[id='oneid']
.x%oneref
means<x>
tags that have ath:ref="oneref"
orth:fragment="oneref"
attribute.%oneref
means any tags that have ath:ref="oneref"
orth:fragment="oneref"
attribute. Note this is actually equivalent to simplyoneref
because references can be used instead of element names.Direct selectors and attribute selectors can be mixed:
a.external[@href^='https']
.
So the above Markup Selector expression:
<div th:insert="mytemplate<EMAIL_ADDRESS>Could be written as:
<div th:insert="mytemplate :: div.content">...</div>
Examining a different example, this:
<div th:replace="mytemplate :: myfrag">...</div>
Will look for a th:fragment="myfrag"
fragment signature (or th:ref
references). But would also look for tags with name myfrag
if they existed (which they don’t, in HTML). Note the difference with:
<div th:replace="mytemplate :: .myfrag">...</div>
…which will actually look for any elements with class="myfrag"
, without caring about th:fragment
signatures (or th:ref
references).
Multivalued class matching
Markup Selectors understand the class attribute to be multivalued, and therefore allow the application of selectors on this attribute even if the element has several class values.
For example, div.two
will match <div class="one two three" />
11 Comments and Blocks
11.1. Standard HTML/XML comments
Standard HTML/XML comments
<!-- ... -->
can be used anywhere in Thymeleaf templates. Anything inside these comments won’t be processed by Thymeleaf, and will be copied verbatim to the result:11.2. Thymeleaf parser-level comment blocks
Parser-level comment blocks are code that will be simply removed from the template when Thymeleaf parses it. They look like this:
Thymeleaf will remove everything between
<!--/*
and*/-->
, so these comment blocks can also be used for displaying code when a template is statically open, knowing that it will be removed when Thymeleaf processes it:This might come very handy for prototyping tables with a lot of
<tr>
’s, for example:11.3. Thymeleaf prototype-only comment blocks
Thymeleaf allows the definition of special comment blocks marked to be comments when the template is open statically (i.e. as a prototype), but considered normal markup by Thymeleaf when executing the template.
Thymeleaf’s parsing system will simply remove the
<!--/*/
and/*/-->
markers, but not its contents, which will be left therefore uncommented. So when executing the template, Thymeleaf will actually see this:As with parser-level comment blocks, this feature is dialect-independent.
11.4. Synthetic
th:block
tagThymeleaf’s only element processor (not an attribute) included in the Standard Dialects is
th:block
.th:block
is a mere attribute container that allows template developers to specify whichever attributes they want. Thymeleaf will execute these attributes and then simply make the block, but not its contents, disappear.So it could be useful, for example, when creating iterated tables that require more than one
<tr>
for each element:And especially useful when used in combination with prototype-only comment blocks:
Note how this solution allows templates to be valid HTML (no need to add forbidden
<div>
blocks inside<table>
), and still works OK when open statically in browsers as prototypes!


I love to create things. Whether it be using a paintbrush to create art, using pencils to create poetry, or using instruments to create music, I loved to create. So when it came to computers, I realized the possibilities were endless. I could use them to create stories, music, videos, art, and anything else I could possibly ever imagine. All that it required was a will to learn how.
Learn MoreCurrently enrolled in IB Computer Science SL/HL classes, and learning Java/C++ on the side.
Proficient in HTML/CSS, with experience in JavaScript. I have created webpages for myself and for a club at my school.
Familiar with Adobe Photoshop and Illustrator. Used to create 2D graphics and retouch photos.
Chose parts for, and built personal computers for friends and family.
Amateur photographer, with a love of nature and scenery.
Keeping up-to-date with the latest in technology and gaming to stay on the fresh side of technology.
Email is the best way to get in touch with me.


A Nightmare on Elm Street Scene is Shot on an iPhone 11 Pro
by Mike SandersWith its triple camera design, it’s little secret that one of the main key selling points of the brand new Apple iPhone 11 is its ability to take some pretty amazing pictures. A team from Video Village has, however, shown that it’s also more than good enough to take some pretty amazing film footage too.
How have they decided to show this though? Well, by recreating one of the most iconic scenes from the classic horror movie franchise ‘A Nightmare on Elm Street’.
Nightmare on Elm Street – Apple iPhone 11 Pro Edition!
Video Village is an ‘online university’ designed to give advice and tips to aspiring filmmakers. What stands out most in this regard, however, is simply just how excellent the video quality is. It legitimately looks like film footage and certainly improves on the original!
What certainly helped this production specifically, however, was having Roy H. Wagner on board. The man who, incidentally, was the very same cinematographer who originally shot the scene over 30 years ago.
Oh, and just in case you didn’t recognize it, the scene is from the 3rd film in the ‘Freddy’ franchise, ‘Dream Warriors’. Arguably the last good one before things just went a bit… weird.
What Do We Think?
While an impressive bit of film production work, what stands out most for us is just how amazing the Apple iPhone 11 Pro captures the imagery. It honestly looks pretty stunning and, if nothing else, this video acts as a solid confirmation and maybe even an advertisement of just how good this new smartphone is at taking pictures!
Who knows, perhaps someone in the near future will use it to create a feature release. Based on this, would it really surprise you?
If you want to learn more about Video Village, you can check out their website via the link here!
What do you think? – Let us know in the comments!


This is the example code that is used in the walkthrough shown in the readme.
These examples are written in raw ES6, which will only work in modern browsers. You should transpile ES6 code in production.


ANSWER: ==
var selection = prompt("Select from numbers 1 to 2: ");
if (selection == 1)
{
alert("Hello!");
}
else if (selection == 2)
{
alert("Goodbye!");
}
When there is multiple conditions that needs to be met.
ANSWER: Written in the script tag of this source code


{% extends "base.html" %} {% block headtitle %}Hypertexthero: Contact Completed{% endblock headtitle %} {% block bodyid %}contact{% endblock bodyid %} {% block header %}
Thank you for sending in your message. I will get back to you shortly. —Simon
{% include "contact_form/address.html" %} {% endblock %} {% block footer %}{% endblock footer %}


Ocean [ak05], ocean, in Crystal Sea
Last updated Turn #123
Ocean [ak05], ocean, in Crystal Sea
------------------------------------------------------------------------
13: The Savvy Aardvark [ha5r], ship, 2 hulls, 1 rowing port, 6 sails,
13: 13% damaged, arrived from Ocean [ak06], owner:
13: Phantasm [n4b], Imperial Empire, duke, with two workers,
13: eight sailors
14: The Savvy Aardvark [ha5r], ship, 2 hulls, 1 rowing port, 6 sails,
14: 13% damaged, departed for Ocean [ak04].
Routes leaving Ocean:
North, to Ocean [aj05], 6 days
East, to Ocean [ak06], 6 days
South, to Ocean [al05], The Outer Sea, 6 days
West, to Ocean [ak04], 6 days


Photobooth.
choose file...
no file selected
upload
enter
clear filter
upload
choose file...
no file selected
upload
filter
enter
clear filter
favorites


How bold and cold to use a browser so old. What were you told?!
HIGH SCORES
Rank
Name
Score
1
2
3
4
5
6
7
8
9
10


For faculty, click here. At Pierrepont School we believe that our youngest students are as eager to engage in their studies in a mindful way as their older schoolmates; therefore, they possess the same need for a rich and rigorous curriculum. To this end, our Lower School students participate fully in the life of the school. They are departmentalized to a high degree; art, dance, music, theater, science, and math are all part of a Lower School student’s day. Their teachers are the same accomplished professionals who teach the older students. While the Lower School shares the philosophy and objectives of Pierrepont as a whole, there are some areas of particular focus for our young students. Since developing each child’s literacy abilities is an important objective, reading and writing are part of each class. Lower School students participate in English and grammar classes designed to foster reading fluency, comprehension, and engagement with language. The emphasis is on contextually-based, rather than skill-based learning. Skills are taught in relation to the literature being read; vocabulary words, spelling, grammar and writing assignments are garnered from the texts we study in class. Each child in the Lower School participates in a reading group three times per week. Children are placed in small groups after careful consideration of their reading levels. Children who do not have a peer on their reading level read one on one with a teacher. Reading books are chosen not only based on reading level but on the enduring quality of the literature as well. Lower School students also participate in a Curriculum class four times a week. In this class, Lower School teachers collaborate with faculty from other departments to present a comprehensive and context-based view of an ancient culture. Our objectives in this class are to explore the literature, mythology, language and achievements of ancient cultures. The greater purpose, however, is to teach our students to approach learning with enthusiasm and thoroughness. This approach will be developed throughout their time at Pierrepont. At Pierrepont it is our aim to support and foster the academic growth of students as well as to attend to their developmental needs as individuals. Of course, we recognize the need and importance for young children to have time for play, rest, and individual exploration, and those times are built into each day. Our homeroom teachers provide our youngest students with consistency, love and support as they go through the day. In keeping with our integrated approach, there are many times when our youngest and older students are together. Homeroom, athletics, study and mealtimes are shared. These times, so easily overlooked, are wonderful opportunities to foster the sense of community, respect and joy among our students that distinguishes our school. Virginia Barrera-Chai J.D., Ateno de Manila University Law School B.S., Ateno de Manila University J Philips Alina Prisacariu M.B.A., Business Administration, Bridgeport University B.S., Management, Bogdan Voda University
|


Before Change
matrix += weights * matrix_aux
translation_aux += weights * np.dot(translations,
np.transpose(np.matmul(
matrix_aux,
inv_rot_mats), axes=(0, 2, 1)))
mean_translation = np.dot(translation_aux,
np.transpose(np.linalg.inv(matrix),
axes=(0, 2, 1)))
After Change
if weights is None:
weights = np.ones((n_points, 1))
if weights.ndim == 1:
weights = np.expand_dims(weights, axis=1)
assert weights.shape == (n_points, 1)
n_weights = weights.shape[0]
assert n_points == n_weights
dim_rotations = self.rotations.dimension
dim = self.dimension
rotation_vectors = points[:, :dim_rotations]
translations = points[:, dim_rotations:dim]
assert rotation_vectors.shape == (n_points, dim_rotations)
assert translations.shape == (n_points, self.n)
mean_rotation = self.rotations.group_exponential_barycenter(
points=rotation_vectors,
weights=weights)
mean_rotation_mat = self.rotations.matrix_from_rotation_vector(
mean_rotation)
matrix = np.zeros([1, self.n, self.n])
translation_aux = np.zeros([1, self.n])
inv_rot_mats = self.rotations.matrix_from_rotation_vector(
-rotation_vectors)
// TODO(nina): this is the same mat multiplied several times
matrix_aux = np.matmul(mean_rotation_mat, inv_rot_mats)
assert matrix_aux.shape == (n_points, dim_rotations, dim_rotations)
vec_aux = self.rotations.rotation_vector_from_matrix(matrix_aux)
matrix_aux = self.exponential_matrix(vec_aux)
matrix_aux = np.linalg.inv(matrix_aux)
for i in range(n_points):
matrix += weights[i] * matrix_aux[i]
translation_aux += weights[i] * np.dot(np.matmul(
matrix_aux[i],
inv_rot_mats[i]),
translations[i])
mean_translation = np.dot(translation_aux,
np.transpose(np.linalg.inv(matrix),
axes=(0, 2, 1)))


About
Two Ring Software is:
Andrew McKnight
Formed in July 2017, it is headquartered in Virginia, his home state, although he tends to roam around the globe. (He's gotten pretty good at time zones.)


-->
N5 Web App
Secured using 2048-bit encryption.
Join
Blog
Contact Us
Sun 21 Jan - 9:59 PM
AEST
Ladbrokes.com.au Online Bookmaker
Join Now
Forgotten username
or
forgotten password?
Please wait while you are logged in...
Credit Offer:
Welcome
(ID:
) [
Logout
]
Deposit Now!
Balance:
Available Credit:
Ladbrokes Card:
Bonus Bets:
Claim
Pending Bets:
[Hide]
Ladbrokes Australia
Racing
Sports
Live Betting
Perfect Round
Promotions
My Account
How To
Blog
Betslip
0
N5 Web App
Race Number
Location
Race Type
Closing Time
Time remaining


{% extends "layout.html" %} {% block page_title %} Managing lists {% endblock %} {% block content %} On average, how many sows were housed on a fully slatted floor per month? Number Help me work this out {% endblock %}


Before Change
// Merge episode inputs into single arrays
_, _, actions, batch_advantage, states = self.merge_episodes(batch)
log_probs, loss, _ = self.session.run([self.log_probabilities, self.loss, self.optimize_op],
{self.state: states,
self.actions: actions,
self.advantage: batch_advantage})
// print("log probs:" + str(log_probs))
// print("loss:" + str(loss))
After Change
fetches = [self.optimize_op, self.log_probabilities, self.loss]
fetches.extend(self.network.internal_state_outputs)
feed_dict = {self.state: states, self.path_length: path_lengths, self.actions: actions, self.advantage: batch_advantage}
feed_dict.update({internal_state: self.internal_states[n] for n, internal_state in enumerate(self.network.internal_state_inputs)})
fetched = self.session.run(fetches, feed_dict)
log_probs = fetched[1]
loss = fetched[2]


Immune responses to adenoviruses: viral evasion mechanisms and their implications for the clinic.
 The viral proteins are believed to prolong acute and persistent adenovirus infections. The proteins may prove useful in protecting adenovirus gene therapy vectors and transplanted cells from the immune system.


ELSEWHERE
- Presentations skills? got ya.
- I can draw
- This repo
CONTACT
-<EMAIL_ADDRESS>- Github
- Linkedin
×
UNSUBSCRIBE


{% extends "layout.html" %} {% block header %}
Let's find out! Paste the spotify URI of a song or search. The song analys feature enables you to take song lyrics in account.


wiki-mapper
A tool for searching and labelling wikipedia category tree.
Children
Parents
Articles
Show all
Labelled
Unlabelled
Search
Stats
Sort order
Page id
Article count
Labelled count
Unlabelled count
Labelled percent
Unlabelled percent
#
Select all
Deselect all
Category
Articles
Labelled
Label
Inherited label
Article stats
×
[loading]


are important to our health.
Do you know what vitamins are for
and how many kinds of vitamins there are?
The answer to the first question is that vitamins
are good things in food that can
.
Without taking enough vitamins,
our body would go wrong.
For example, if we are short of
,
we won't have good eyes, beautiful skin,
and strong teeth.
And
can stop us from losing
too much
when we get hurt.
Taking
every day
can keep us away from
.
About the second question,
doctors find there are
,
and they play different roles in our body.
The best way to get them is from
,
such as
.


Hive is a dynamic entrepreneurial community. We invite everyone involved in startups, businesses or any other creative organizations based in Poznań.
From time to time we will be organizing meetings, preceded by valuable presentations given by known speakers. Each will take place in different location - because it's a hive and it's not connected to one location.
You ask why "61"? That's simple - it Poznań's postal code :)
Presentation will be often held in English. We'd like anyone interested to be able to join in.


Centroid Banding is an R package that allows the creation of centroid bands from three-dimensional models. Given that this feature has applicability outside of OsteoSort, this package was created to allow others to test the code for different purposes. Going with this, it is licensed under MIT to provide more flexibility in its use and adoption.
Current version: 0.0.2
R version >= 3.0.0


| Vendor Name: | STAFF MAX |
|---|---|
| Reference Number: |<PHONE_NUMBER> |
| Contract Date: | 2014-04-22 |
| Description Of Work: | 813 Temporary Help Services |
| Contract Period: | 2014-04-22 to 2015-01-23 |
| Original Contract Value: | $23,121.00 |
| Contract Value: | $23,121.00 |
| Comments: | This contract was competitively sourced. General Administrative Support |