My name is Aidan Pine. I'm a settler of European ancestry born in Victoria, B.C. and I developed this site in order to bring together the various language revitalization and open-source software projects that I am involved in.
I fell in love with language revitalization work as a way of combining my interests in language, linguistics, anti-colonial/decolonial methodologies, and computer science.
I have recently returned as a full-time researcher working on the Indigenous Language Technology project at the Canadian National Research Council, after completing an M.Sc. in Speech & Language Processing Program at the University of Edinburgh. I am also the founder and lead developer of Mother Tongues, and part-time technology consultant for the First Peoples' Cultural Council and the University of British Columbia.
Below are some guest lectures, workshops and other presentations I have given. The list is scrollable.
| Title | Location | Presenters | Type | Year |
|---|---|---|---|---|
| “Watch me Speak!” Interactive Storytelling using ReadAlong-Studio | ICLDC 2023: Centering Justice in Language Work
Virtual (University of Hawai'i) |
Pine, A.
Huggins-Daines, D. Joanis, E. Littell, P. Tessier, M. Torkornoo, D. |
Workshop | 2022 |
| “Watch me Speak!” Interactive Storytelling using ReadAlong-Studio | Community Workshop for Indigenous Language Technology (CWILTs Series)
Virtual (National Research Council) |
Pine, A.
Huggins-Daines, D. Joanis, E. Littell, P. Tessier, M. Torkornoo, D. |
Workshop | 2022 |
| Developing Speech & Language Technologies for Indigenous Language Revitalization | Domain Adaptation Group
University of Toronto |
Pine, A. | Talk | 2022 |
| Requirements and Motivations of Low-Resource Speech Synthesis for Language Revitalization | Centre for Speech Technology Research
Edinburgh |
Pine, A. | Talk | 2022 |
| Gᵢ2Pᵢ: Rule-based, index-preserving grapheme-to-phoneme transformations | ComputEL-5
Dublin |
Pine, A. | Talk | 2022 |
| Requirements and Motivations of Low-Resource Speech Synthesis for Language Revitalization | Best Papers Award Session Plenary at ACL 2022
Dublin |
Pine, A. | Talk | 2022 |
| Speech Technology & Language Reclamation | FNEL 180
University of British Columbia |
Pine, A. | Lecture | 2022 |
| Low Resource Speech Synthesis | NLP Seminar
National Research Council Canada |
Pine, A. | Talk | 2021 |
| G2P (grapheme-to-phoneme) the 'what', 'so what', and 'now what' | Continual Workshops in Indigenous Language Technology (CWILTs)
Virtual |
Pine, A. | Talk | 2020 |
| Language Revitalization & Technology | ASTU 402
University of British Columbia |
Pine, A. | Lecture | 2020 |
| Lexicography, Language Revitalization & Mother Tongues Dictionaries | FNEL 382
University of British Columbia |
Pine, A. | Lecture | 2020 |
| Language Technology & Language Reclamation | FNEL 180
University of British Columbia |
Pine, A. | Lecture | 2020 |
| Readalongs: Automatic alignment of speech and text for Indigenous language audiobooks | 52nd Algonquian Conference
University of Wisconsin - Madison |
Huggins-Daines, D.
Littell, P. Pine, A. Joanis, E. |
Talk | 2020 |
| Developing technology to support Indigenous language revitalization in Canada | Centre for Speech Technology Research (CSTR)
University of Edinburgh |
Pine, A. | Talk | 2019 |
| Canadian National Research Council's Indigenous Language Technology Project | International Conference on Language Technologies for All
UNESCO HQ, Paris |
Pine, A.
Brinklow, N. Souter, H. Lothian, D. |
Poster | 2019 |
| ReadAlong Studio: Zero-shot Text/Speech Alignment for Indigenous Language Audiobooks | Ottawa AI
NRC Sussex, Ottawa |
Daines, D.
Littell, P. Pine, A. Joanis, E. Torkornoo, D. |
System demonstration | 2019 |
| Supplementing text-based Indigenous language applications with synthetic speech | Ottawa AI
NRC Sussex, Ottawa |
Pine, A.
Kazantseva, A. |
Poster | 2019 |
| Kawennón:nis the Word Maker for Kanyen'kéha | Kanyenn'kéha Mohawk Class
Tsi Tyónnheht Onkwawén:na, Tyendinaga |
Pine, A. | Talk | 2019 |
| Kawennón:nis the Word Maker for Kanyen'kéha | Kanyen'kéha Mohawk 101R
Renison University College at University of Waterloo |
Pine, A. | Lecture | 2019 |
| Language Revitalization & Technology | ASTU 402 - Living Language: Science & Society
University of British Columbia |
Pine, A. | Lecture | 2019 |
| Language Revitalization, technology, and making the most of your undergraduate experience | FNEL 180
University of British Columbia |
Pine, A. | Lecture | 2019 |
| Language Revitalization & the Role of Technology | Nerd Nite YYJ
Victoria Event Centre |
Pine, A. | Talk | 2019 |
| UBC Alumni Panel | 50th Anniversay of the UBC Linguistics Department
University of British Columbia |
Pine, A. | Panel discussion | 2019 |
| Mohawk O'Clock: Limited Domain Speech Synthesis in Kanyen'kéha | ICLDC 6
University of Hawaii |
Pine, A.
Littell, P. Maracle, R. |
Technology showcase | 2019 |
| Kawennón:nis: An Online Tool for Learning Verbal Morphology in Kanyen'kéha | ICLDC 6
University of Hawaii |
Kazantseva, A.
Brant, R. Maracle, O. Maracle, R. Pine, A. |
Technology showcase | 2019 |
| Digital Kinesthetic Learning and the Gitksan Pronominal Paradigm | ICLDC 6
University of Hawaii |
Pine, A. | Presentation | 2019 |
| How to Make a 'Mother Tongues' Digital Dictionary | ICLDC 6
University of Hawaii |
Pine, A.
Turin, M. |
Workshop | 2019 |
| An Introduction to Gitksan Research | LING 372 Guest Lecture
University of Victoria |
Pine, A. | Lecture | 2018 |
| Developing Digital Tools for Language Revitalization: Demystifying Coding, Apps, and Web Platforms | National Institute for Japanese Language and Linguistics
Tokyo, Japan |
Pine, A.
Turin, M. |
Workshop | 2018 |
| Developing Digital Tools for Language Revitalization: Demystifying Coding, Apps, and Web Platforms | CoLang
University of Florida |
Pine, A.
Turin, M. |
Workshop | 2018 |
| Kawennón:nis: The Wordmaker for Kanyén'keha | Onkwawenna Kentyohkwa Immersion School
Ohsweken, Ontario |
Kazantseva, A.
Pine, A. |
Presentation | 2018 |
| Seeing the Heiltsuk Orthography from Font Encoding to Unicode: A Case Study Using Convertextract | Conference on Collaboration and Computing of Under Resourced Languages
Miyazaki, Japan |
Pine, A. | Conference | 2018 |
| Ama silkw sa | Gitksan Elders Meeting
Gitksan Elder's Center. Gitanmaax, B.C |
Pine, A. | Presentation | 2018 |
| A multi-dialectal Ayajuthem talking dictionary |
Sliammon, B.C |
Pine, A. | Presentation | 2018 |
| An Introduction to Gitksan Research | LING 372 Guest Lecture
University of Victoria |
Pine, A. | Lecture | 2018 |
| Digital Kinesthetic Learning and the Gitksan Pronominal Paradigm | Research in Indigenous Languages and Linguistics
University of Victoria |
Pine, A. | Presentation | 2018 |
| Practical Phonetics | Adult Gitxsan Class
Gitsegukla, & Terrace, B.C |
Pine, A. | Lecture | 2018 |
| Practical Phonetics | Adult Gitxsan Class
Gitanmaax, B.C |
Pine, A. | Lecture | 2017 |
| A visual presentation with Aidan Pine: The possibilities of our new app | Ayajuthem language conference
Sliammon, B.C |
Pine, A. | Conference | 2017 |
| Sim ayeehl k'uuhl | FNEL 180 Guest Lecture
University of British Columbia |
Pine, A. | Lecture | 2017 |
| Ama silkw sa | Gitksan Elders Meeting
Gitksan Elder's Center. Gitanmaax, B.C |
Pine, A. | Presentation | 2017 |
| Dim liseewis Xsiwis g̲ant Sginist wil wihl hahlaalst sit'aadiit | Gitksan Language Symposium
Gitksan Wet'suwet'en Education Society. Hazelton, B.C. |
Smith, J.
Pine, A. |
Conference | 2017 |
| Lexicography for Endangered Languages | FNEL 382 Guest Lecture
University of British Columbia |
Pine, A. | Lecture | 2017 |
| Mobile App Development | BC Breath of Life Institute
University of British Columbia |
Pine, A. | Workshop | 2017 |
| Introducing Waldayu & Waldayu Mobile | ComputEL-2: The 2nd Workshop on Computational Methods for Endangered Languages
University of Hawaii |
Pine, A. | Conference | 2017 |
| Making the most of undergraduate research | FNEL 180 Guest Lecture
University of British Columbia |
Pine, A. | Lecture | 2016 |
| Mobilizing Language Data: An Endangered Language Dictionary App | Multidisciplinary Undergraduate Research Conference
University of British Columbia |
Pine, A. | Conference | 2016 |
| 'Nit gwihl Jabisi'm | FNEL 180 Guest Lecture
University of British Columbia |
Pine, A. | Lecture | 2015 |
| Connecting Linguistics to Language Learners: a Lesson Plan for Gitksan | Multidisciplinary Undergraduate Research Conference
University of British Columbia |
Pine, A. | Conference | 2015 |
| Preferential Encliticization in Gitksan | Linguistics Department
University of British Columbia |
Pine, A. | Presentation | 2014 |
| Quantifier Scope in Gitksan | Gitksan Research Group Research Seminar
University of British Columbia |
Barois, M.
Bicevskis, K. Cheng, K. Pine, A. |
Presentation | 2014 |
There were a lot of really cool CV templates and things out there, but I ended up building my own because I wanted something that was:
a) static, so I could host for free on GitHub Pages
b) able to generate LaTeX
c) pulled from simple markup like yaml
So, I wrote my CV data in yaml, and use Flask, Frozen-Flask, Jinja2, Skeleton and Fabric to generate a static site and LaTeX CV. I host for free on GitHub, use Cloudflare for free SSL and Mailgun for free email. I slapped an MIT license on the code, so if you think it would be useful to you, go for it!
Update: Waaaay back in the day, like 3 years ago (🤦) Jamstack was really only just starting to gain popularity, and so building a custom static-site generator like this seemed reasonable. If I was starting now, I probably wouldn't build this site this way. I'd probably use something like Hugo instead.
<EMAIL_ADDRESS>GitHub: @roedoejet


Eva Icons is a pack of more than 480 beautifully crafted Open Source icons for common actions and items. Download our set on the desktop to use them in your digital products for Web, iOS and Android. Compatible with Eva Design System.


will probably only work in FF nighty builds (after you enabled getUsereMedia) - as there are no other working implementations (currently)


Please select a download. Note that some files are compressed using the
utility gzip
while others are compressed using the utility
zip
.
Installation instructions can be found here.
Version information and a record of changes be found on the
release notes page.


Aspiring web developer
Click the link, then press a key on your keyboard and see what happens!
Add and delete stuff
Move your mouse and watch the circles


Hello, my name is Darko Tasevski, and I'm a graphic designer and front-end developer, based in Serbia. I have diverse set of skills, ranging from designing and writing, to HTML, CSS, and JavaScript, and I enjoy building everything, from small business pages to rich interactive apps and websites.
If you are a business owner looking for presence on the Web or employer looking to hire, you can get in touch with me here.
Web Design, Graphic Design, Illustration, Branding and Identity, Adobe Creative Suite, HTML, CSS, jQuery and Bootstrap. In addition to those I'm actively learning Javascript -- AngularJS, NodeJS, Vue.js and React.
Here are a few humble projects I've made:
Color guessing game, that will put your RGB color knowledge to test. Made with HTML, CSS, and Javascript.
View on GitHubSimple tribute page to Emperor from WH40k franchise, featuring lightbox gallery. Made with HTML, CSS, and Javascript.
View on GitHubGallery page inspired by 'Future is Now' series by Josan Gonzalez. Made with HTML, CSS, and Bootstrap.
View on CodepenFront page redesign for pawfectmatch.org Made with HTML, CSS, and Bootstrap.
View on Codepen


Welcome to Xebia Vulnmanager
Reports are available at the top left, or top right on mobile
You are all set to explore and upload your reports!
First time use detected!
The following steps will automatically create a test company, and add test reports.
At the login page, you can create your own user account and receive an authentication token


sudo apt-get install git
You need to configure you git installation with your username and email. This email is atttached to every commit you make git config --global user.email<EMAIL_ADDRESS>and git config --global user.name "user name"
The best way to learn git commands is to use them frequently and a cheat sheet can help with that. Here’s a github repo with one that you can download in pdf
Once you get the hang of git commands you will find it easier to use short-hand commands instead of typing the whole line. You can modify your .bashrc
if you use bash, .zshrc
if you fancy zsh or modify your .gitconfig
file which is neautral to both
Immersion lab-11 has more on the same.
alias gs='git status '
alias ga='git add '
alias gb='git branch '
alias gc='git commit'
alias gd='git diff'
alias go='git checkout '
alias gk='gitk --all&'
alias gx='gitx --all'
alias got='git '
alias get='git '


{% extends 'layouts/base.html' %} {% block title %} SRCT Go • Welcome {% endblock %} {% block content %}
University-branded URL shortening
Go provides University-branded URL shortening for student organizations,
administration, and ULife groups. Any approved user can generate a
go.gmu.edu address
that can redirect to a longer URL.
Go is a product of the
George Mason University Student-Run Computing and Technology
student organization.
Go features:
All users with a current, valid GMU username and password can access Go.


This is simple app for pushing routes from gpx to your MapFactor:Navigator app.
Please provide your google maps link
Please provide your GPX body


|
s2n-doxygen-full
|
#include <ts.h>
Public Member Functions | |
| STACK_OF (X509)*certs | |
| STACK_OF (ASN1_OBJECT)*policies | |
| STACK_OF (EVP_MD)*mds | |
| STACK_OF (X509)*certs | |
| STACK_OF (ASN1_OBJECT)*policies | |
| STACK_OF (EVP_MD)*mds | |
Data Fields | |
| X509 * | signer_cert |
| EVP_PKEY * | signer_key |
| ASN1_OBJECT * | default_policy |
| ASN1_INTEGER * | seconds |
| ASN1_INTEGER * | millis |
| ASN1_INTEGER * | micros |
| unsigned | clock_precision_digits |
| unsigned | flags |
| TS_serial_cb | serial_cb |
| void * | serial_cb_data |
| TS_time_cb | time_cb |
| void * | time_cb_data |
| TS_extension_cb | extension_cb |
| void * | extension_cb_data |
| TS_REQ * | request |
| TS_RESP * | response |
| TS_TST_INFO * | tst_info |
| STACK_OF | ( | X509 | ) |
| STACK_OF | ( | ASN1_OBJECT | ) |
| STACK_OF | ( | EVP_MD | ) |
| STACK_OF | ( | X509 | ) |
| STACK_OF | ( | ASN1_OBJECT | ) |
| STACK_OF | ( | EVP_MD | ) |
| ASN1_OBJECT * default_policy |
| ASN1_INTEGER * seconds |
| ASN1_INTEGER * millis |
| ASN1_INTEGER * micros |
| TS_serial_cb serial_cb |
| TS_time_cb time_cb |
| TS_extension_cb extension_cb |
| TS_TST_INFO * tst_info |


|
Tendermint BFT & Core
Led by Interchain GmbH and Informal Systems
Much of the work for Tendermint Core team has been on releasing Tendermint Core v0.34 which will be used on the Stargate upgrade. This version of Tendermint will increase usability in terms of light clients and significantly reduce node sync time.
Tendermint Core
- Work being finalized for Tendermint Core v0.34 release.
- Evidence handling and Cosmos SDK integration testing with v0.34 release candidates.
- Cosmos SDK - Tendermint v0.34 tracking.
- State sync, which will reduce the length of node syncs by up to 200x, is ready and integrated into Stargate-2+.
- Issues that occurred when block pruning was enabled were fixed by removing phantom validator evidence.
- Update to ADR-47, which defines light client evidence submission, is in progress
Tendermint in Rust
Closed issues
✅ #5113 Make events hashing optional
✅ #5328 Fix wrong proposer schedule for InitChain validators
✅ #5259 Speed up fast_sync
|


The rule of 72 is a popular formula used to roughly estimate how long it will take for your investments to double in time assuming a constant rate of return.
The formula is extremely simple! Just take the number 72 and divide it by the interest rate that you hope to earn from your investments.
We'll now ask you a few questions about your personal finances to show you that, even with modest initial savings, you can accumulate a significant amount of wealth.

Now let's watch what happens when we take advantage of compounding interest...


I am a freshman Front End Developer and UI/UX Design. I'm looking for Front End and UX/UI Design position for web and mobile application. I am passionate developing and designing. I have a good basic knowledge and a keen spirit of learning.
GOOD - GPA: 7.26
GOOD
GOOD - GPA: 8.9
I am keen on photography, blend & retouch photo, edit video, reading books in my free time.
My other hobby is traveling and editing my video record and upload YouTube channel.


To see the full project structure click on "Open"
Any of the above buttons will save the comment and apply the mentioned action.


|
S2OPC OPCUA Toolkit
|
SOPC_CryptoProfiles gather pointers to cryptographic functions of the security policies of OPC UA Services. More...
#include <sopc_crypto_profiles.h>
Data Fields | |
| const uint32_t | SecurityPolicyID |
| const FnSymmetricEncrypt | pFnSymmEncrypt |
| const FnSymmetricDecrypt | pFnSymmDecrypt |
| const FnSymmetricSign | pFnSymmSign |
| const FnSymmetricVerify | pFnSymmVerif |
| const FnGenerateRandom | pFnGenRnd |
| const FnDerivePseudoRandomData | pFnDeriveData |
| const FnAsymmetricEncrypt | pFnAsymEncrypt |
| const FnAsymmetricDecrypt | pFnAsymDecrypt |
| const FnAsymmetricSign | pFnAsymSign |
| const FnAsymmetricVerify | pFnAsymVerify |
| const FnCertificateVerify | pFnCertVerify |
SOPC_CryptoProfiles gather pointers to cryptographic functions of the security policies of OPC UA Services.
Crypto profiles are defined as struct of pointers. These immutable struct are extern and const, because they are lib-specific (hence SOPC_CryptoProfile_Get and these variables are in different translation units). SOPC_CryptoProfile should be accessed through SOPC_CryptoProfile_Get ONLY, and should not be modified, as multiple calls to SOPC_CryptoProfile_Get returns the same instance.
This crypto profile only handles the OPC UA Services security policies. See SOPC_CryptoProfile_PubSub for the PubSub security policies.
| const FnAsymmetricDecrypt SOPC_CryptoProfile::pFnAsymDecrypt |
| const FnAsymmetricEncrypt SOPC_CryptoProfile::pFnAsymEncrypt |
| const FnAsymmetricSign SOPC_CryptoProfile::pFnAsymSign |
| const FnAsymmetricVerify SOPC_CryptoProfile::pFnAsymVerify |
| const FnCertificateVerify SOPC_CryptoProfile::pFnCertVerify |
| const FnDerivePseudoRandomData SOPC_CryptoProfile::pFnDeriveData |
| const FnGenerateRandom SOPC_CryptoProfile::pFnGenRnd |
| const FnSymmetricDecrypt SOPC_CryptoProfile::pFnSymmDecrypt |
| const FnSymmetricEncrypt SOPC_CryptoProfile::pFnSymmEncrypt |
| const FnSymmetricSign SOPC_CryptoProfile::pFnSymmSign |
| const FnSymmetricVerify SOPC_CryptoProfile::pFnSymmVerif |
| const uint32_t SOPC_CryptoProfile::SecurityPolicyID |


|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |
| Packages that use Expression | |
|---|---|
| org.apache.xpath | Implementation of XPath; for the most part, only classes meant for public use are found at this root level of the XPath packages. |
| org.apache.xpath.axes | Implementation of XPath LocationPath support -- primary classes are LocPathIterator and UnionPathIterator. |
| org.apache.xpath.compiler | Implements an XPath parser which produces an OpMap, and a so-called Compiler which produces an expression tree for fast evaluation. |
| org.apache.xpath.functions | Implements XPath functions -- each function is derived from Function, FunctionOneArg, Function2Args, etc, with number-of-arguments checking being applied mainly at compile time -- this package only implements XPath functions, XSLT functions are found in the "templates" package. |
| org.apache.xpath.objects | Implementation of XPath polymorphic type objects -- this package will grow as XPath objects are expanded to support XML Schema data types. |
| org.apache.xpath.operations | Support for XPath operations, such as +, -, string(), etc. |
| org.apache.xpath.patterns | Implementation of XPath nodeTest support, and XSLT pattern matching support. |
| Uses of Expression in org.apache.xpath |
|---|
| Fields in org.apache.xpath declared as Expression | |
|---|---|
private Expression |
XPath.m_mainExp
The top of the expression tree. |
| Methods in org.apache.xpath that return Expression | |
|---|---|
Expression |
XPath.getExpression()
Get the raw Expression object that this class wraps. |
Expression |
ExpressionOwner.getExpression()
Get the raw Expression object that this class wraps. |
| Methods in org.apache.xpath with parameters of type Expression | |
|---|---|
abstract boolean |
Expression.deepEquals(Expression expr)
Compare this object with another object and see if they are equal, include the sub heararchy. |
protected boolean |
Expression.isSameClass(Expression expr)
This is a utility method to tell if the passed in class is the same class as this. |
void |
XPath.setExpression(Expression exp)
Set the raw expression object for this object. |
void |
ExpressionOwner.setExpression(Expression exp)
Set the raw expression object for this object. |
boolean |
XPathVisitor.visitPredicate(ExpressionOwner owner,
Expression pred)
Visit a predicate within a location path. |
| Constructors in org.apache.xpath with parameters of type Expression | |
|---|---|
XPath(Expression expr)
Construct an XPath object. |
| Uses of Expression in org.apache.xpath.axes |
|---|
| Subclasses of Expression in org.apache.xpath.axes | |||
|---|---|---|---|
class |
AttributeIterator
This class implements an optimized iterator for attribute axes patterns. |
||
class |
AxesWalker
Serves as common interface for axes Walkers, and stores common state variables. |
||
class |
BasicTestIterator
Base for iterators that handle predicates. |
||
class |
ChildIterator
This class implements an optimized iterator for "node()" patterns, that is, any children of the context node. |
||
class |
ChildTestIterator
This class implements an optimized iterator for children patterns that have a node test, and possibly a predicate. |
||
class |
DescendantIterator
This class implements an optimized iterator for descendant, descendant-or-self, or "//foo" patterns. |
||
class |
FilterExprIterator
|
||
class |
FilterExprIteratorSimple
Class to use for one-step iteration that doesn't have a predicate, and doesn't need to set the context. |
||
class |
FilterExprWalker
Walker for the OP_VARIABLE, or OP_EXTFUNCTION, or OP_FUNCTION, or OP_GROUP, op codes. |
||
class |
LocPathIterator
This class extends NodeSetDTM, which implements NodeIterator, and fetches nodes one at a time in document order based on a XPath |
class |
MatchPatternIterator
This class treats a LocationPath as a filtered iteration over the tree, evaluating each node in a super axis traversal against the LocationPath interpreted as a match pattern. |
class |
NodeSequence
This class is the dynamic wrapper for a Xalan DTMIterator instance, and provides random access capabilities. |
||
class |
OneStepIterator
This class implements a general iterator for those LocationSteps with only one step, and perhaps a predicate. |
||
class |
OneStepIteratorForward
This class implements a general iterator for those LocationSteps with only one step, and perhaps a predicate, that only go forward (i.e. |
||
class |
PredicatedNodeTest
|
||
class |
ReverseAxesWalker
Walker for a reverse axes. |
||
class |
SelfIteratorNoPredicate
This class implements an optimized iterator for "." patterns, that is, the self axes without any predicates. |
||
class |
UnionChildIterator
This class defines a simplified type of union iterator that only tests along the child axes. |
||
class |
UnionPathIterator
This class extends NodeSetDTM, which implements DTMIterator, and fetches nodes one at a time in document order based on a XPath UnionExpr. |
||
class |
WalkingIterator
Location path iterator that uses Walkers. |
||
class |
WalkingIteratorSorted
This class iterates over set of nodes that needs to be sorted. |
| Fields in org.apache.xpath.axes declared as Expression | |
|---|---|
private Expression |
FilterExprWalker.m_expr
The contained expression. |
private Expression |
FilterExprIteratorSimple.m_expr
The contained expression. |
private Expression |
FilterExprIterator.m_expr
The contained expression. |
private Expression[] |
PredicatedNodeTest.m_predicates
The list of predicate expressions. |
| Methods in org.apache.xpath.axes that return Expression | |
|---|---|
Expression |
WalkingIterator.getExpression()
|
Expression |
UnionPathIterator.iterOwner.getExpression()
|
Expression |
PredicatedNodeTest.PredOwner.getExpression()
|
Expression |
FilterExprWalker.filterExprOwner.getExpression()
|
Expression |
FilterExprIteratorSimple.filterExprOwner.getExpression()
|
Expression |
FilterExprIterator.filterExprOwner.getExpression()
|
Expression |
AxesWalker.getExpression()
|
Expression |
FilterExprWalker.getInnerExpression()
Get the inner contained expression of this filter. |
Expression |
FilterExprIteratorSimple.getInnerExpression()
Get the inner contained expression of this filter. |
Expression |
FilterExprIterator.getInnerExpression()
Get the inner contained expression of this filter. |
Expression |
PredicatedNodeTest.getPredicate(int index)
Get a predicate expression at the given index. |
| Methods in org.apache.xpath.axes with parameters of type Expression | |
|---|---|
boolean |
WalkingIterator.deepEquals(Expression expr)
|
boolean |
UnionPathIterator.deepEquals(Expression expr)
|
boolean |
PredicatedNodeTest.deepEquals(Expression expr)
|
boolean |
OneStepIteratorForward.deepEquals(Expression expr)
|
boolean |
OneStepIterator.deepEquals(Expression expr)
|
boolean |
FilterExprWalker.deepEquals(Expression expr)
|
boolean |
FilterExprIteratorSimple.deepEquals(Expression expr)
|
boolean |
FilterExprIterator.deepEquals(Expression expr)
|
boolean |
DescendantIterator.deepEquals(Expression expr)
|
boolean |
AxesWalker.deepEquals(Expression expr)
|
static XNodeSet |
FilterExprIteratorSimple.executeFilterExpr(int context,
XPathContext xctxt,
PrefixResolver prefixResolver,
boolean isTopLevel,
int stackFrame,
Expression expr)
Execute the expression. |
void |
WalkingIterator.setExpression(Expression exp)
|
void |
UnionPathIterator.iterOwner.setExpression(Expression exp)
|
void |
PredicatedNodeTest.PredOwner.setExpression(Expression exp)
|
void |
FilterExprWalker.filterExprOwner.setExpression(Expression exp)
|
void |
FilterExprIteratorSimple.filterExprOwner.setExpression(Expression exp)
|
void |
FilterExprIterator.filterExprOwner.setExpression(Expression exp)
|
void |
AxesWalker.setExpression(Expression exp)
|
void |
FilterExprWalker.setInnerExpression(Expression expr)
Set the inner contained expression of this filter. |
void |
FilterExprIteratorSimple.setInnerExpression(Expression expr)
Set the inner contained expression of this filter. |
void |
FilterExprIterator.setInnerExpression(Expression expr)
Set the inner contained expression of this filter. |
boolean |
HasPositionalPredChecker.visitPredicate(ExpressionOwner owner,
Expression pred)
Visit a predicate within a location path. |
| Constructors in org.apache.xpath.axes with parameters of type Expression | |
|---|---|
FilterExprIterator(Expression expr)
Create a FilterExprIterator object. |
|
FilterExprIteratorSimple(Expression expr)
Create a FilterExprIteratorSimple object. |
| Uses of Expression in org.apache.xpath.compiler |
|---|
| Methods in org.apache.xpath.compiler that return Expression | |
|---|---|
protected Expression |
Compiler.and(int opPos)
Compile an 'and' operation. |
protected Expression |
Compiler.arg(int opPos)
Compile a function argument. |
protected Expression |
Compiler.bool(int opPos)
Compile a 'boolean(...)' operation. |
Expression |
Compiler.compile(int opPos)
Execute the XPath object from a given opcode position. |
private Expression |
Compiler.compileExtension(int opPos)
Compile an extension function. |
(package private) Expression |
Compiler.compileFunction(int opPos)
Compile a built-in XPath function. |
private Expression |
Compiler.compileOperation(Operation operation,
int opPos)
Bottle-neck compilation of an operation with left and right operands. |
private Expression |
Compiler.compileUnary(UnaryOperation unary,
int opPos)
Bottle-neck compilation of a unary operation. |
protected Expression |
Compiler.div(int opPos)
Compile a 'div' operation. |
protected Expression |
Compiler.equals(int opPos)
Compile a '=' operation. |
Expression[] |
Compiler.getCompiledPredicates(int opPos)
Compile a zero or more predicates for a given match pattern. |
protected Expression |
Compiler.group(int opPos)
Compile an expression group. |
protected Expression |
Compiler.gt(int opPos)
Compile a '>' operation. |
protected Expression |
Compiler.gte(int opPos)
Compile a '>=' operation. |
protected Expression |
Compiler.literal(int opPos)
Compile a literal string value. |
Expression |
Compiler.locationPath(int opPos)
Compile a location path. |
Expression |
Compiler.locationPathPattern(int opPos)
Compile a location match pattern unit expression. |
protected Expression |
Compiler.lt(int opPos)
Compile a '<' operation. |
protected Expression |
Compiler.lte(int opPos)
Compile a '<=' operation. |
protected Expression |
Compiler.matchPattern(int opPos)
Compile an entire match pattern expression. |
protected Expression |
Compiler.minus(int opPos)
Compile a '-' operation. |
protected Expression |
Compiler.mod(int opPos)
Compile a 'mod' operation. |
protected Expression |
Compiler.mult(int opPos)
Compile a '*' operation. |
protected Expression |
Compiler.neg(int opPos)
Compile a unary '-' operation. |
protected Expression |
Compiler.notequals(int opPos)
Compile a '!=' operation. |
protected Expression |
Compiler.number(int opPos)
Compile a 'number(...)' operation. |
protected Expression |
Compiler.numberlit(int opPos)
Compile a literal number value. |
protected Expression |
Compiler.or(int opPos)
Compile an 'or' operation. |
protected Expression |
Compiler.plus(int opPos)
Compile a '+' operation. |
Expression |
Compiler.predicate(int opPos)
Compile a location step predicate expression. |
protected Expression |
Compiler.string(int opPos)
Compile a 'string(...)' operation. |
protected Expression |
Compiler.union(int opPos)
Compile a location path union. |
protected Expression |
Compiler.variable(int opPos)
Compile a variable reference. |
| Methods in org.apache.xpath.compiler with parameters of type Expression | |
|---|---|
private void |
Compiler.compilePredicates(int opPos,
Expression[] predicates)
Compiles predicates in the step. |
| Uses of Expression in org.apache.xpath.functions |
|---|
| Subclasses of Expression in org.apache.xpath.functions | |
|---|---|
class |
FuncBoolean
Execute the Boolean() function. |
class |
FuncCeiling
Execute the Ceiling() function. |
class |
FuncConcat
Execute the Concat() function. |
class |
FuncContains
Execute the Contains() function. |
class |
FuncCount
Execute the Count() function. |
class |
FuncCurrent
Execute the current() function. |
class |
FuncDoclocation
Execute the proprietary document-location() function, which returns a node set of documents. |
class |
FuncExtElementAvailable
Execute the ExtElementAvailable() function. |
class |
FuncExtFunction
An object of this class represents an extension call expression. |
class |
FuncExtFunctionAvailable
Execute the ExtFunctionAvailable() function. |
class |
FuncFalse
Execute the False() function. |
class |
FuncFloor
Execute the Floor() function. |
class |
FuncGenerateId
Execute the GenerateId() function. |
class |
FuncId
Execute the Id() function. |
class |
FuncLang
Execute the Lang() function. |
class |
FuncLast
Execute the Last() function. |
class |
FuncLocalPart
Execute the LocalPart() function. |
class |
FuncNamespace
Execute the Namespace() function. |
class |
FuncNormalizeSpace
Execute the normalize-space() function. |
class |
FuncNot
Execute the Not() function. |
class |
FuncNumber
Execute the Number() function. |
class |
FuncPosition
Execute the Position() function. |
class |
FuncQname
Execute the Qname() function. |
class |
FuncRound
Execute the round() function. |
class |
FuncStartsWith
Execute the StartsWith() function. |
class |
FuncString
Execute the String() function. |
class |
FuncStringLength
Execute the StringLength() function. |
class |
FuncSubstring
Execute the Substring() function. |
class |
FuncSubstringAfter
Execute the SubstringAfter() function. |
class |
FuncSubstringBefore
Execute the SubstringBefore() function. |
class |
FuncSum
Execute the Sum() function. |
class |
FuncSystemProperty
Execute the SystemProperty() function. |
class |
Function
This is a superclass of all XPath functions. |
class |
Function2Args
Base class for functions that accept two arguments. |
class |
Function3Args
Base class for functions that accept three arguments. |
class |
FunctionDef1Arg
Base class for functions that accept one argument that can be defaulted if not specified. |
class |
FunctionMultiArgs
Base class for functions that accept an undetermined number of multiple arguments. |
class |
FunctionOneArg
Base class for functions that accept one argument. |
class |
FuncTranslate
Execute the Translate() function. |
class |
FuncTrue
Execute the True() function. |
class |
FuncUnparsedEntityURI
|
| Fields in org.apache.xpath.functions declared as Expression | |
|---|---|
(package private) Expression |
FunctionOneArg.m_arg0
The first argument passed to the function (at index 0). |
(package private) Expression |
Function2Args.m_arg1
The second argument passed to the function (at index 1). |
(package private) Expression |
Function3Args.m_arg2
The third argument passed to the function (at index 2). |
(package private) Expression[] |
FunctionMultiArgs.m_args
Argument expressions that are at index 3 or greater. |
(package private) Expression |
FuncExtFunction.ArgExtOwner.m_exp
|
| Methods in org.apache.xpath.functions that return Expression | |
|---|---|
Expression |
FuncExtFunction.getArg(int n)
Return the nth argument passed to the extension function. |
Expression |
FunctionOneArg.getArg0()
Return the first argument passed to the function (at index 0). |
Expression |
Function2Args.getArg1()
Return the second argument passed to the function (at index 1). |
Expression |
Function3Args.getArg2()
Return the third argument passed to the function (at index 2). |
Expression[] |
FunctionMultiArgs.getArgs()
Return an expression array containing arguments at index 3 or greater. |
Expression |
FunctionOneArg.getExpression()
|
Expression |
FunctionMultiArgs.ArgMultiOwner.getExpression()
|
Expression |
Function3Args.Arg2Owner.getExpression()
|
Expression |
Function2Args.Arg1Owner.getExpression()
|
Expression |
FuncExtFunction.ArgExtOwner.getExpression()
|
| Methods in org.apache.xpath.functions with parameters of type Expression | |
|---|---|
boolean |
FunctionOneArg.deepEquals(Expression expr)
|
boolean |
FunctionMultiArgs.deepEquals(Expression expr)
|
boolean |
Function3Args.deepEquals(Expression expr)
|
boolean |
Function2Args.deepEquals(Expression expr)
|
boolean |
Function.deepEquals(Expression expr)
|
void |
FunctionOneArg.setArg(Expression arg,
int argNum)
Set an argument expression for a function. |
void |
FunctionMultiArgs.setArg(Expression arg,
int argNum)
Set an argument expression for a function. |
void |
Function3Args.setArg(Expression arg,
int argNum)
Set an argument expression for a function. |
void |
Function2Args.setArg(Expression arg,
int argNum)
Set an argument expression for a function. |
void |
Function.setArg(Expression arg,
int argNum)
Set an argument expression for a function. |
void |
FuncExtFunction.setArg(Expression arg,
int argNum)
Set an argument expression for a function. |
void |
FunctionOneArg.setExpression(Expression exp)
|
void |
FunctionMultiArgs.ArgMultiOwner.setExpression(Expression exp)
|
void |
Function3Args.Arg2Owner.setExpression(Expression exp)
|
void |
Function2Args.Arg1Owner.setExpression(Expression exp)
|
void |
FuncExtFunction.ArgExtOwner.setExpression(Expression exp)
|
| Constructors in org.apache.xpath.functions with parameters of type Expression | |
|---|---|
FuncExtFunction.ArgExtOwner(Expression exp)
|
| Uses of Expression in org.apache.xpath.objects |
|---|
| Subclasses of Expression in org.apache.xpath.objects | |
|---|---|
class |
XBoolean
This class represents an XPath boolean object, and is capable of converting the boolean to other types, such as a string. |
class |
XBooleanStatic
This class doesn't have any XPathContext, so override whatever to ensure it works OK. |
class |
XNodeSet
This class represents an XPath nodeset object, and is capable of converting the nodeset to other types, such as a string. |
class |
XNodeSetForDOM
This class overrides the XNodeSet#object() method to provide the original Node object, NodeList object, or NodeIterator. |
class |
XNull
This class represents an XPath null object, and is capable of converting the null to other types, such as a string. |
class |
XNumber
This class represents an XPath number, and is capable of converting the number to other types, such as a string. |
class |
XObject
This class represents an XPath object, and is capable of converting the object to various types, such as a string. |
class |
XRTreeFrag
This class represents an XPath result tree fragment object, and is capable of converting the RTF to other types, such as a string. |
class |
XRTreeFragSelectWrapper
This class makes an select statement act like an result tree fragment. |
class |
XString
This class represents an XPath string object, and is capable of converting the string to other types, such as a number. |
class |
XStringForChars
This class will wrap a FastStringBuffer and allow for |
class |
XStringForFSB
This class will wrap a FastStringBuffer and allow for |
| Methods in org.apache.xpath.objects with parameters of type Expression | |
|---|---|
boolean |
XObject.deepEquals(Expression expr)
|
| Constructors in org.apache.xpath.objects with parameters of type Expression | |
|---|---|
XRTreeFrag(Expression expr)
Create an XRTreeFrag Object. |
|
XRTreeFragSelectWrapper(Expression expr)
|
| Uses of Expression in org.apache.xpath.operations |
|---|
| Subclasses of Expression in org.apache.xpath.operations | |
|---|---|
class |
And
The 'and' operation expression executer. |
class |
Bool
The 'boolean()' operation expression executer. |
class |
Div
The 'div' operation expression executer. |
class |
Equals
The '=' operation expression executer. |
class |
Gt
The '>' operation expression executer. |
class |
Gte
The '>=' operation expression executer. |
class |
Lt
The '<' operation expression executer. |
class |
Lte
The '<=' operation expression executer. |
class |
Minus
The binary '-' operation expression executer. |
class |
Mod
The 'mod' operation expression executer. |
class |
Mult
The '*' operation expression executer. |
class |
Neg
The unary '-' operation expression executer. |
class |
NotEquals
The '!=' operation expression executer. |
class |
Number
The 'number()' operation expression executer. |
class |
Operation
The baseclass for a binary operation. |
class |
Or
The 'or' operation expression executer. |
class |
Plus
The '+' operation expression executer. |
class |
Quo
Deprecated. |
class |
String
The 'string()' operation expression executer. |
class |
UnaryOperation
The unary operation base class. |
class |
Variable
The variable reference expression executer. |
class |
VariableSafeAbsRef
This is a "smart" variable reference that is used in situations where an absolute path is optimized into a variable reference, but may be used in some situations where the document context may have changed. |
| Fields in org.apache.xpath.operations declared as Expression | |
|---|---|
protected Expression |
Operation.m_left
The left operand expression. |
protected Expression |
UnaryOperation.m_right
The operand for the operation. |
protected Expression |
Operation.m_right
The right operand expression. |
| Methods in org.apache.xpath.operations that return Expression | |
|---|---|
Expression |
UnaryOperation.getExpression()
|
Expression |
Operation.getExpression()
|
Expression |
Operation.LeftExprOwner.getExpression()
|
Expression |
Operation.getLeftOperand()
|
Expression |
UnaryOperation.getOperand()
|
Expression |
Operation.getRightOperand()
|
| Methods in org.apache.xpath.operations with parameters of type Expression | |
|---|---|
boolean |
Variable.deepEquals(Expression expr)
|
boolean |
UnaryOperation.deepEquals(Expression expr)
|
boolean |
Operation.deepEquals(Expression expr)
|
void |
UnaryOperation.setExpression(Expression exp)
|
void |
Operation.setExpression(Expression exp)
|
void |
Operation.LeftExprOwner.setExpression(Expression exp)
|
void |
Operation.setLeftRight(Expression l,
Expression r)
Set the left and right operand expressions for this operation. |
void |
UnaryOperation.setRight(Expression r)
Set the expression operand for the operation. |
| Uses of Expression in org.apache.xpath.patterns |
|---|
| Subclasses of Expression in org.apache.xpath.patterns | |
|---|---|
class |
ContextMatchStepPattern
Special context node pattern matcher. |
class |
FunctionPattern
Match pattern step that contains a function. |
class |
NodeTest
This is the basic node test class for both match patterns and location path steps. |
class |
StepPattern
This class represents a single pattern match step. |
class |
UnionPattern
This class represents a union pattern, which can have multiple individual StepPattern patterns. |
| Fields in org.apache.xpath.patterns declared as Expression | |
|---|---|
(package private) Expression |
FunctionPattern.m_functionExpr
Should be a expression . |
(package private) Expression[] |
StepPattern.m_predicates
The list of predicate expressions for this pattern step. |
| Methods in org.apache.xpath.patterns that return Expression | |
|---|---|
Expression |
UnionPattern.UnionPathPartOwner.getExpression()
|
Expression |
StepPattern.getExpression()
|
Expression |
StepPattern.PredOwner.getExpression()
|
Expression |
FunctionPattern.FunctionOwner.getExpression()
|
Expression |
StepPattern.getPredicate(int i)
Get a predicate expression. |
Expression[] |
StepPattern.getPredicates()
Set the list of predicate expressions for this pattern step. |
| Methods in org.apache.xpath.patterns with parameters of type Expression | |
|---|---|
boolean |
UnionPattern.deepEquals(Expression expr)
|
boolean |
StepPattern.deepEquals(Expression expr)
|
boolean |
NodeTest.deepEquals(Expression expr)
|
void |
UnionPattern.UnionPathPartOwner.setExpression(Expression exp)
|
void |
StepPattern.setExpression(Expression exp)
|
void |
StepPattern.PredOwner.setExpression(Expression exp)
|
void |
FunctionPattern.FunctionOwner.setExpression(Expression exp)
|
void |
StepPattern.setPredicates(Expression[] predicates)
Set the predicates for this match pattern step. |
| Constructors in org.apache.xpath.patterns with parameters of type Expression | |
|---|---|
FunctionPattern(Expression expr,
int axis,
int predaxis)
Construct a FunctionPattern from a expression . |
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |


Refills your life gauge a little.
Completely fills your life gauge.
Adds 1,000 score points.
Adds an extra life.
Adds an extra special attack.


Creating custom item renderers with FeathersControl
and IListItemRenderer
, IDataGridCellRenderer
, ITreeItemRenderer
, or IGroupedListItemRenderer
The FeathersControl
class it the most basic foundation of all Feathers user interface components, including item renderers. With that in mind, if you need a custom item renderer for a List
, DataGrid
, Tree
or GroupedList
, you're actually going to create a custom Feathers component. An item renderer will have a few extra properties that are needed to communicate with its owner, but ultimately, it will be very similar to any regular Feathers component.
Feathers includes several interfaces that define the API used by the List
, DataGrid
, Tree
, or GroupedList
components to communicate with their item renderers.
IListItemRenderer
can be used to implement an item renderer forList
.IDataGridCellRenderer
can be used to implement an item renderer forDataGrid
.ITreeItemRenderer
can be used to implement an item renderer forTree
.IGroupedListItemRenderer
can be used to implement an item renderer forGroupedList
.
Additionally, GroupedList
has two more interfaces for its headers and footers.
IGroupedListHeaderRenderer
can be used to implement a header renderer forGroupedList
.IGroupedListFooterRenderer
can be used to implement a footer renderer forGroupedList
.
Below, we will look at how to create a simple custom item renderer using one of these interfaces. We'll also be taking peek at many aspects of the core architecture used by the Feathers components. At the very end, the complete source code for a simple custom item renderer will be provided to offer a starting point for other custom item renderers.
The Simplest Item Renderer
Let's implement a very simple item renderer. It will contain a Label
component to display some text and it will be possible to customize some padding around the edges.
When it's finished, we'll want to use it like this:
var list:List = new List();
list.itemRendererFactory = function():IListItemRenderer
{
var itemRenderer:CustomFeathersControlItemRenderer = new CustomFeathersControlItemRenderer();
itemRenderer.padding = 10;
return itemRenderer;
};
list.dataProvider = new ArrayCollection(
[
{ label: "One" },
{ label: "Two" },
{ label: "Three" },
{ label: "Four" },
{ label: "Five" },
]);
this.addChild(list);
Notice that we set a padding
property to adjust the layout. The item renderer will get the text for its Label
sub-component from the label
property of an item in the data provider.
We could go crazy and add background skins, icons, the ability to customize the which field from the item that the label text comes from, and many more things. We're going to keep it simple for now to avoid making thing confusing with extra complexity.
For this example, we're creating an item renderer for a List
component, but it will be virtually the exact same process to create an item renderer for a Tree
or GroupedList
component (or even a header renderer or footer renderer for a GroupedList
). You simply need to change the interface that you implement. For example, instead of the IListItemRenderer
interface, you might implement the ITreeItemRenderer
or IGroupedListItemRenderer
interface.
Implementation Details
Let's start out with the basic framework for our custom item renderer. We want to subclass feathers.core.FeathersControl
and we want to implement the feathers.controls.renderers.IListItemRenderer
interface:
package
{
import feathers.controls.renderers.IListItemRenderer;
import feathers.core.FeathersControl;
public class CustomFeathersControlItemRenderer extends FeathersControl implements IListItemRenderer
{
public function CustomFeathersControlItemRenderer()
{
}
}
}
Next, we'll implement the properties required by the IListItemRenderer
interface.
Implementing IListItemRenderer
The IListItemRenderer
interface defines several properties, including owner
, index
, data
, factoryID
, and isSelected
. Each of these properties can be implemented the same way in most cases, and the relevant code is included below.
protected var _index:int = -1;
public function get index():int
{
return this._index;
}
public function set index(value:int):void
{
if(this._index == value)
{
return;
}
this._index = value;
this.invalidate(INVALIDATION_FLAG_DATA);
}
The index
refers to the item's location in the data provider. One use for this property might be to display it at the beginning of a label.
protected var _owner:List;
public function get owner():List
{
return this._owner;
}
public function set owner(value:List):void
{
if(this._owner == value)
{
return;
}
this._owner = value;
this.invalidate(INVALIDATION_FLAG_DATA);
}
Use the owner
property to access the List
component that uses this item renderer. You might use this to listen for events from the List
, such as to know when it begins scrolling.
protected var _data:Object;
public function get data():Object
{
return this._data;
}
public function set data(value:Object):void
{
if(this._data == value)
{
return;
}
this._data = value;
this.invalidate(INVALIDATION_FLAG_DATA);
}
The data
property contains the item displayed by the item renderer. The properties of this item can be used to display something in the item renderer. There are no rules for how to interpret the item's properties, but we'll show a basic example later.
protected var _factoryID:String;
public function get factoryID():String
{
return this._factoryID;
}
public function set factoryID(value:String):void
{
this._factoryID = value;
}
The factoryID
property stores the ID of the factory used by the list to create this item renderer. In general, you won't need to reference this property inside your item renderer class, but it could be used to change the item renderer's behavior or appearance if the same class were used in multiple factories. The list uses this property internally to manage its item renderers.
protected var _isSelected:Boolean;
public function get isSelected():Boolean
{
return this._isSelected;
}
public function set isSelected(value:Boolean):void
{
if(this._isSelected == value)
{
return;
}
this._isSelected = value;
this.invalidate(INVALIDATION_FLAG_SELECTED);
this.dispatchEventWith(Event.CHANGE);
}
The isSelected
property indicates if the item has been selected. It's common for an item to be selected when it is touched, but that's not required.
Adding Children
We want to display a Label
component, so let's add a member variable for it:
protected var _label:Label;
Next, we want to create a new instance and add it as a child. We need to override initialize()
function:
override protected function initialize():void
{
this._label = new Label();
this.addChild(this._label);
}
The initialize()
function is called once the very first time that the component is added to the stage. It's a good place to create sub-components and other children and possibly to do things like add event listeners that you don't intend to remove until the component is disposed. In general, it is better to use initialize()
for this sort of thing instead of the constructor.
Parsing the data
Next, we want to access the data
property and display something in our Label
component. Let's start by overriding the draw()
function and checking if the appropriate invalidation flag is set to indicate that the data has changed.
override protected function draw():void
{
var dataInvalid:Boolean = this.isInvalid(INVALIDATION_FLAG_DATA);
if(dataInvalid)
{
this.commitData();
}
}
You may remember that we called the invalidate()
function in the setter functions above. In the data
setter, we passed in INVALIDATION_FLAG_DATA
. Inside the draw()
function, we call isInvalid()
to see if that flag has been set.
Let's add a commitData()
function to call when the data changes:
protected function commitData():void
{
if(this._data)
{
this._label.text = this._data.label;
}
else
{
this._label.text = null;
}
}
For this particular item renderer, we're requiring all items in the data provider to have a label
property that holds the text to display in the Label
component. If we were building a generic item renderer, ideally, we might like to make that field name customizable, like the labelField
property in DefaultListItemRenderer
. However, let's keep it simple.
Don't forget to handle the case where the data property is null
. You don't want any runtime errors causing you trouble.
Measuring the Item Renderer
Next, we want the item renderer to be able to measure itself if its width and height property haven't been set another way. Before we get to that, let's add that padding
property that we used in the example code above to add some extra space around the edges of the Label
component:
protected var _padding:Number = 0;
public function get padding():Number
{
return this._padding;
}
public function set padding(value:Number):void
{
if(this._padding == value)
{
return;
}
this._padding = value;
this.invalidate(INVALIDATION_FLAG_LAYOUT);
}
With that in place, let's add an autoSizeIfNeeded()
function. This isn't something that's built into Feathers, but most of the core Feathers components have a function like this because it's a nice consistent place for a component to measure itself. To keep things easy to digest, we'll break it up into a few parts:
protected function autoSizeIfNeeded():Boolean
{
var needsWidth:Boolean = isNaN(this.explicitWidth);
var needsHeight:Boolean = isNaN(this.explicitHeight);
if(!needsWidth && !needsHeight)
{
return false;
}
Let's start by checking whether the width and height properties have been set. We have internal variables named explicitWidth
and explicitHeight
that will either be a valid number of pixels or they will be NaN
if they aren't set. If both the width and the height have been set already, we can simply return without any measuring.
Next, we update the width and height of the Label
sub-component. If the item renderer's explicit dimensions are NaN
, then the explicit dimensions of the Label
will be set to NaN
too, meaning that the Label
should measure itself too, just like the item renderer is doing.
this._label.width = this.explicitWidth - 2 * this._padding;
this._label.height = this.explicitHeight - 2 * this._padding;
this._label.validate();
Next, we want to use the width and height values from the Label
to calculate the item renderer's final width and height:
var newWidth:Number = this.explicitWidth;
if(needsWidth)
{
newWidth = this._label.width + 2 * this._padding;
}
var newHeight:Number = this.explicitHeight;
if(needsHeight)
{
newHeight = this._label.height + 2 * this._padding;
}
In more complex item renderers, we might add together the dimensions of multiple sub-components. For this simple item renderer, we'll simply ask the Label
sub-component for its width and height, and then we add the padding to those values.
Finally, we tell Feathers what the final dimensions will be using the saveMeasurements()
function:
return this.saveMeasurements(newWidth, newHeight, newWidth, newHeight);
The return value is true if the dimensions are different than the last time that the component validated. We return this same value from autoSizeIfNeeded()
for use in the draw()
function.
Speaking of the draw()
function, we want to add some code to call the autoSizeIfNeeded()
from there:
override protected function draw():void
{
var dataInvalid:Boolean = this.isInvalid(INVALIDATION_FLAG_DATA);
if(dataInvalid)
{
this.commitData();
}
this.autoSizeIfNeeded();
}
Notice that we don't actually use the returned Boolean
value. This particular component doesn't need it, but more complex components may use that value, along with INVALIDATION_FLAG_SIZE
, to selectively call other functions.
Adjusting the layout
We now have the final dimensions of the item renderer, so let's position and size the Label
sub-component. Let's do that in a new layoutChildren()
function:
protected function layoutChildren():void
{
this._label.x = this._padding;
this._label.y = this._padding;
this._label.width = this.actualWidth - 2 * this._padding;
this._label.height = this.actualHeight - 2 * this._padding;
}
The actualWidth
and actualHeight
variables hold the final width and height of the item renderer. These variables are derived using a combination of the explicit dimensions and the measured dimensions that we calculated before passing them to saveMeasurements()
.
We call the layoutChildren()
function at the end of the draw()
function:
override protected function draw():void
{
var dataInvalid:Boolean = this.isInvalid(INVALIDATION_FLAG_DATA);
if(dataInvalid)
{
this.commitData();
}
this.autoSizeIfNeeded();
this.layoutChildren();
}
Source Code
The complete source code for the CustomFeathersControlItemRenderer
class is included below:
package
{
import feathers.controls.Label;
import feathers.controls.List;
import feathers.controls.renderers.IListItemRenderer;
import feathers.core.FeathersControl;
import starling.events.Event;
public class CustomFeathersControlItemRenderer extends FeathersControl implements IListItemRenderer
{
public function CustomFeathersControlItemRenderer()
{
}
protected var _label:Label;
protected var _index:int = -1;
public function get index():int
{
return this._index;
}
public function set index(value:int):void
{
if(this._index == value)
{
return;
}
this._index = value;
this.invalidate(INVALIDATION_FLAG_DATA);
}
protected var _owner:List;
public function get owner():List
{
return this._owner;
}
public function set owner(value:List):void
{
if(this._owner == value)
{
return;
}
this._owner = value;
this.invalidate(INVALIDATION_FLAG_DATA);
}
protected var _data:Object;
public function get data():Object
{
return this._data;
}
public function set data(value:Object):void
{
if(this._data == value)
{
return;
}
this._data = value;
this.invalidate(INVALIDATION_FLAG_DATA);
}
protected var _factoryID:String;
public function get factoryID():String
{
return this._factoryID;
}
public function set factoryID(value:String):void
{
this._factoryID = value;
}
protected var _isSelected:Boolean;
public function get isSelected():Boolean
{
return this._isSelected;
}
public function set isSelected(value:Boolean):void
{
if(this._isSelected == value)
{
return;
}
this._isSelected = value;
this.invalidate(INVALIDATION_FLAG_SELECTED);
this.dispatchEventWith(Event.CHANGE);
}
protected var _padding:Number = 0;
public function get padding():Number
{
return this._padding;
}
public function set padding(value:Number):void
{
if(this._padding == value)
{
return;
}
this._padding = value;
this.invalidate(INVALIDATION_FLAG_LAYOUT);
}
override protected function initialize():void
{
if(!this._label)
{
this._label = new Label();
this.addChild(this._label);
}
}
override protected function draw():void
{
var dataInvalid:Boolean = this.isInvalid(INVALIDATION_FLAG_DATA);
if(dataInvalid)
{
this.commitData();
}
this.autoSizeIfNeeded();
this.layoutChildren();
}
protected function autoSizeIfNeeded():Boolean
{
var needsWidth:Boolean = isNaN(this.explicitWidth);
var needsHeight:Boolean = isNaN(this.explicitHeight);
if(!needsWidth && !needsHeight)
{
return false;
}
this._label.width = this.explicitWidth - 2 * this._padding;
this._label.height = this.explicitHeight - 2 * this._padding;
this._label.validate();
var newWidth:Number = this.explicitWidth;
if(needsWidth)
{
newWidth = this._label.width + 2 * this._padding;
}
var newHeight:Number = this.explicitHeight;
if(needsHeight)
{
newHeight = this._label.height + 2 * this._padding;
}
return this.saveMeasurements(newWidth, newHeight, newWidth, newHeight);
}
protected function commitData():void
{
if(this._data)
{
this._label.text = this._data.label;
}
else
{
this._label.text = null;
}
}
protected function layoutChildren():void
{
this._label.x = this._padding;
this._label.y = this._padding;
this._label.width = this.actualWidth - 2 * this._padding;
this._label.height = this.actualHeight - 2 * this._padding;
}
}
}
Next Steps
Looking to do more with your custom item renderer? Check out the Feathers Cookbook for "recipes" that show you how to implement typical features in custom item renderers.
Related Links
feathers.controls.renderers.IListItemRenderer
API Documentationfeathers.controls.renderers.IDataGridCellRenderer
API Documentationfeathers.controls.renderers.ITreeItemRenderer
API Documentationfeathers.controls.renderers.IGroupedListItemRenderer
API Documentationfeathers.controls.renderers.IGroupedListHeaderOrFooterRenderer
API Documentation


% include("/views/include/head.html",{title:'房产信息管理'}){} %>
<% include("/views/layouts/navbar.html",{title:'房产信息管理'}){} %>| 记录管理区 | 用户 | 名称 | 地址 | 备注 | 操作 |
|---|---|---|---|---|---|
| ${building.recordManagementArea.name!} | ${building.userInf.name!} | ${building.name!} | ${building.address!} | ${building.remarks!} | <%if(shiro.hasPermission("house:building:edit")){%> 修改 <%}%> <%if(shiro.hasPermission("house:building:delete")){%> 删除 <%}%> |


Hangman Game
Play
Manage words
Support & help
Hangman game - By Parzibyte
Word:
{{displayWord()}}
Remaining attempts: {{remainingAttempts}}
{{letter.letter}}


Exclusive Preview: Superman: Up in the Sky #5
by Blair MarnellTom King and artist Andy Kubert have teamed up to tell an extended story about the Last Son of Krypton. While Superman normally stays on Earth, he’s had to temporarily abandon his adopted planet in Up in the Sky. A young girl was kidnapped and taken into space, and Superman has vowed to bring her home. Unfortunately, he may have to compromise himself to keep that promise.
In Superhero Hype’s exclusive preview from Superman: Up in the Sky #5, the Man of Steel makes an agreement with Darkseid. However, the evil god of Apokolips never gives favors without a price. Superman also encounters a dying alien whose sole wish is to be put out of his misery.
RELATED: First Look At The Flash #81
Here’s the official description from DC.
“Darkseid offers to help Superman in his quest to rescue the Earth girl Alice-but that help comes at a cost! Then, the Man of Steel is treated to a vision of his life at home with his friends and family-but a far grimmer reality is about to in.”
You can read the full preview in our gallery below. Superman: Up in the Sky #5 will hit comic book stores on Wednesday, November 6.
What did you think about the preview? Let us know in the comment section below!
Recommended Reading: Superman: Birthright
We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means to earn fees by linking to Amazon.com and affiliated sites.


Farm Succession Strategies: 8 Ways to Communicate Successfully
by Successful Farming StaffThe struggling farm economy means that farm transfers from one generation to the next may be happening in a sped-up process, versus over several years. Good communications is vital. Loss of communication leads to lack of trust and can eventually lead to devastating consequences. Here are eight tips from the University of Minnesota to follow when having those tough discussions:
- When speaking, be brief and be specific.
- Don’t accuse, insult or blame.
- Don’t label, moralize or judge your business associates.
- Try to be positive, constructive and willing to compromise.
- When listening, listen intently. Focus and try to understand what is being said. Try to interpret it as the speaker intended.
- Disregard negative statements. Paraphrase what you hear. Find points of agreement and state them.
- Explain your motives honestly and truthfully.
- Apologize when needed and admit your mistakes.


Procedural File: utils.php
Source Location: /utils.php
Page Details:
Common routines file
This program is free software; you can redistribute it and/or modify it under the terms of the BSD License. Copyright(c) 2004 by Qiang Xue. All rights reserved. To contact the author write to Qiang Xue The latest version of PRADO can be obtained from: http://prado.sourceforge.net/
pradoDecodeData [line 67]
string|array pradoDecodeData(
string|array $data)
|
|
Decodes a string. The string is decoded by HTML-decoding special characters (&, ", ', <, >).
Parameters
| string|array |
$data |
the string or array of strings to be encoded |
pradoEncodeData [line 50]
string|array pradoEncodeData(
string|array $data)
|
|
Encodes a string. The string is encoded by HTML-encoding special characters (&, ", ', <, >).
Parameters
| string|array |
$data |
the string or array of strings to be encoded |
pradoEscapeQuotes [line 36]
mixed pradoEscapeQuotes(
mixed &$data)
|
|
Replaces each single quote with two single quotes. This function is mainly used to escape data used for SQL queries. It can process a single string or an array recursively.
Parameters
| mixed |
&$data |
the data to be processed |
pradoGetContextPath [line 83]
string pradoGetContextPath(
string $path, string $context)
|
|
Returns a path with respect to a context path. If the path is absolute, it will be returned without change. If the path is relative, the context path will be prefixed to it.
Parameters
| string |
$path |
the path to be translated |
| string |
$context |
the context path |
pradoIsAbsoluteUrl [line 260]
boolean pradoIsAbsoluteUrl(
string $url)
|
|
Check if a URL is absolute or not.
Parameters
| string |
$url |
the url to be checked |
pradoParseDate [line 173]
int pradoParseDate(
String $string, string $format)
|
|
Returns a valid timestamp
Parameters
| String |
$string |
date representation |
| string |
$format |
date format representaton (GNU Style) Thanks to Spotk |
pradoSendFile [line 96]
void pradoSendFile(
string $fileName)
|
|
Sends a file to the end-user. This method reads a server file and sends it to the end-user. It must be invoked before any header information is sent out.
Parameters
| string |
$fileName |
the absolute or relative (to the current executing script) path of the file to be sent. |
pradoSerializeObject [line 138]
string pradoSerializeObject(
mixed $object)
|
|
Serializes an object to a string. This method is meant to replace the serialize() function because the latter has a bug when serializing an object.
Parameters
| mixed |
$object |
the object to be serialized. |
pradoStripSlashes [line 24]
mixed pradoStripSlashes(
mixed &$data)
|
|
Strips back slashes from a string or an array.
Parameters
| mixed |
&$data |
the data to be processed |
pradoUnserializeObject [line 154]
mixed pradoUnserializeObject(
string $str)
|
|
Unserializes an object from a string. This method is meant to replace the unserialize() function because the latter has a bug when unserializing an object.
Parameters
| string |
$str |
the serialized data. |
|


for
,
while
, and do
statements whose
bodies will be executed once at most. Normally, this is an indication of a bug.
Use the Ignore enhanced for loops option to ignore the foreach loops. They are sometimes used to perform an action only on the first item of an iterable in a compact way.
Example:
for (String s : stringIterable) {
doSomethingOnFirstString(s);
break;
}


{% include animation.html %}
{% include appearance.html %}
{% include background-image.html %}
{% include background-size.html %}
{% include border-image.html %}
{% include border-radius.html %}
{% include box-shadow.html %}
{% include box-sizing.html %}
{% include columns.html %}
{% include flex-box.html %}
{% include inline-block.html %}
{% include linear-gradient.html %}
{% include radial-gradient.html %}
{% include transform.html %}
{% include transitions.html %}
{% include user-select.html %}
Functions
{% include compact.html %}
{% include flex-grid.html %}
{% include golden-ratio.html %}
{% include grid-width.html %}
{% include linear-gradient-function.html %}
{% include modular-scale.html %}
{% include radial-gradient-function.html %}
{% include tint-shade.html %}
Add-ons
{% include buttons.html %}
{% include clearfix.html %}
{% include font-family.html %}
{% include hide-text.html %}
{% include html5-input-types.html %}
{% include timing-functions.html %}
Complete List
{% include complete-list.html %}
{% include footer.html %}


[Download from Aston repository]
Matlab scripts, source C-code, mex compiled C-code, and figure data points for the paper entitled “Semi-Analytical Analytical Modelling of Linear Mode Coupling in Few -Mode Fibers”.
Folders:
0_differential_equations_solver
Matlab scripts based on the Symbolic Math Toolbox for the derivation of a semi-analytical solution to the differential equations describing linear mode coupling in few-mode fibres. Scripts available for 3, 4, 5 and 6 modes.
1_C_code_for_high_precision_solution_of_polynomials
C-code for the numerical evaluation of the 6-modes semi-analytical solutions obtained in 0_differential_equations_solver. Two versions: “highPrecRootFind_6M_doubleIO” uses always the same seed for the root finding section; “highPrecRootFind_6M_doubleIO_rand” uses a randomized seed for the root finding section.
2_crosstalk_vs_radial_displacement
Script for plotting typical fibre coupling coefficients and plotting of the crosstalk introduced by a single fibre displacement as a function of the radial displacement and averaged in the azimuth coordinate.
3_solutions_precision
Script for the evaluation of the precision of the semi-analytical solutions proposed against Runge-Kutta-Fehlberg Method (RKF45) numerical solutions.
98_poly_solvers_mex_files_compiled_for_R2014b_64bit
Compiled mex C-code at 1_C_code_for_high_precision_solution_of_polynomials. Compiled for Mex Matlab R2014b 64bit.
99_fibre_parameters
Typical fibre parameters used in this dataset.
100_figures_data_poins
Excel files containing the data points in the figures presented in the paper.


|
SS-Sturmbannführer Otto Skorzeny
Supposedly got his scars duelling, while at school in Austria.
Rescued Mussolini. Attempted to assassinate Eisenhower. Founded ODESSA.
In Skorzeny's autobiography, he says that Adolf Hitler privately discussed the possibilities of an atomic bomb with him.
Close friend of Evita Peron. In 1952, she turned over the assets of the Evita Peron Foundation ($100 million) to Skorzeny.
Lived in Spain after the war, under the protection of Francisco Franco. Died in Madrid July 5, 1975.
|


WARNING: This is the least secure method of generating an address. It should only be used if there are no other options available, and you are aware of the risks involved, up to and including total loss of any DOTs or KSM stored in the account.
It is possible to generate an address directly from the polkadot.js app, without any additional security measures such as that provided by having an air-gapped device or a separate plugin.
On your computer browser, navigate to https://polkadot.js.org/apps and click Accounts on the sidebar.
Click on the “Add Account” button
This may sound repetitive, but it is important to realize that your seed is the key to your entire account. Someone who knows your seed has uncontested control over your account.
 The Web3 Foundation will not be able to override this - any DOTs in that account will not be accessible to you until you find the seed.
Thus, it is imperative to store the seed somewhere safe, secret, and secure. If your device fails for some reason, you can simply re-enter your seed on a new device after following the setup instructions here, and have access to your account once again.
For maximum security, the seed should be written down on paper or another non-digital device and stored in a safe place. You may also want to protect your seed from physical damage, as well (e.g. by storing in a sealed plastic bag to prevent water damage, storing it in a fireproof safe, etc.) It is recommended that you store multiple copies of the seed in geographically separate locations (e.g., one in your home safe and one in a safety deposit box at your bank).
You should definitely not store your seed on any kind of computer which has or may have access to the Internet in the future.
Click “Save” and your account will be created. It will also generate a backup file which you should save to your computer. Ideally, you would also save it on an external hard drive or thumb drive, or print it out and be able to re-enter it later. You should not store it in cloud storage, email it to yourself, etc.
You can use this backup file to restore your account. This backup file is not readable except by decrypting it with the password.


Hello, my name is Laura Fletcher.
I am a marketing and communications professional living in Chicago.


For some positive integers k, there exists an integer partition of the form 4t = 2t + k,
where 4t, 2t, and k are all positive integers and t is a real number.
The first two such partitions are 41 = 21 + 2 and 41.5849625... = 21.5849625... + 6.
Partitions where t is also an integer are called perfect.
For any m 1 let P(m) be the proportion of such partitions that are perfect with k m.
Thus P(6) = 1/2.
In the following table are listed some values of P(m)
P(5) = 1/1
P(10) = 1/2
P(15) = 2/3
P(20) = 1/2
P(25) = 1/2
P(30) = 2/5
...
P(180) = 1/4
P(185) = 3/13
Find the smallest m for which P(m) 1/12345


Returns the current Notice of Effectiveness from the most recently completed business day from here
effectiveness()
a data.frame with each row as a submission with the following columns:
You can also see the same filings going further back by using `latest_filings()` specifying the type = "EFFECT"
#> registration_number #> 1 \n333-252898 #> 2 \n333-255129 #> 3 \n333-254760 #> 4 \n333-254175 #> 5 \n333-254793 #> 6 \n333-254099-05 #> 7 \n333-254099-04 #> 8 \n333-254099 #> 9 \n333-254106 #> 10 \n333-254099-11 #> 11 \n333-254099-10 #> 12 \n333-253608 #> 13 \n333-251905 #> 14 \n333-254099-02 #> 15 \n333-254099-01 #> 16 \n333-254099-03 #> 17 \n333-255136 #> 18 \n333-254099-08 #> 19 \n333-254099-07 #> 20 \n333-254099-06 #> 21 \n333-255066 #> 22 \n333-255065 #> 23 \n333-254985 #> 24 \n333-254808 #> 25 \n333-254576 #> 26 \n333-253587 #> 27 \n333-254099-09 #> 28 \n333-254889 #> 29 \n333-255146 #> 30 \n333-253034 #> 31 \n333-253034-01 #> 32 \n333-253822 #> 33 \n333-254207 #> 34 \n333-253447 #> 35 \n333-222533 #> file_href #> 1 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-252898&owner=exclude&count=200 #> 2 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-255129&owner=exclude&count=200 #> 3 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254760&owner=exclude&count=200 #> 4 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254175&owner=exclude&count=200 #> 5 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254793&owner=exclude&count=200 #> 6 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254099-05&owner=exclude&count=200 #> 7 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254099-04&owner=exclude&count=200 #> 8 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254099&owner=exclude&count=200 #> 9 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254106&owner=exclude&count=200 #> 10 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254099-11&owner=exclude&count=200 #> 11 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254099-10&owner=exclude&count=200 #> 12 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-253608&owner=exclude&count=200 #> 13 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-251905&owner=exclude&count=200 #> 14 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254099-02&owner=exclude&count=200 #> 15 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254099-01&owner=exclude&count=200 #> 16 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254099-03&owner=exclude&count=200 #> 17 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-255136&owner=exclude&count=200 #> 18 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254099-08&owner=exclude&count=200 #> 19 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254099-07&owner=exclude&count=200 #> 20 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254099-06&owner=exclude&count=200 #> 21 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-255066&owner=exclude&count=200 #> 22 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-255065&owner=exclude&count=200 #> 23 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254985&owner=exclude&count=200 #> 24 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254808&owner=exclude&count=200 #> 25 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254576&owner=exclude&count=200 #> 26 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-253587&owner=exclude&count=200 #> 27 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254099-09&owner=exclude&count=200 #> 28 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254889&owner=exclude&count=200 #> 29 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-255146&owner=exclude&count=200 #> 30 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-253034&owner=exclude&count=200 #> 31 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-253034-01&owner=exclude&count=200 #> 32 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-253822&owner=exclude&count=200 #> 33 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-254207&owner=exclude&count=200 #> 34 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-253447&owner=exclude&count=200 #> 35 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&filenum=333-222533&owner=exclude&count=200 #> registrant #> 1 AMGEN INC #> 2 Aerpio Pharmaceuticals, Inc. #> 3 Akoya Biosciences, Inc. #> 4 Aldeyra Therapeutics, Inc. #> 5 Biomea Fusion, Inc. #> 6 Bold Energy III LLC #> 7 Bold Operating, LLC #> 8 EARTHSTONE ENERGY INC #> 9 EARTHSTONE ENERGY INC #> 10 Earthstone Energy Holdings, LLC #> 11 Earthstone Operating, LLC #> 12 FIRST BUSEY CORP /NV/ #> 13 IRSA INVESTMENTS & REPRESENTATIONS INC #> 14 Independence Resources Land Co A, LLC #> 15 Independence Resources Land Co B, LLC #> 16 Independence Resources Management, LLC #> 17 LENSAR, Inc. #> 18 Lynden Energy Corp. #> 19 Lynden USA Inc. #> 20 Lynden USA Operating, LLC #> 21 NORTHERN OIL & GAS, INC. #> 22 NORTHERN OIL & GAS, INC. #> 23 Oncternal Therapeutics, Inc. #> 24 REALNETWORKS INC #> 25 RECURSION PHARMACEUTICALS, INC. #> 26 REPUBLIC OF COLOMBIA #> 27 Sabine River Energy, LLC #> 28 Troika Media Group, Inc. #> 29 VISIUM TECHNOLOGIES, INC. #> 30 Verizon ABS II LLC #> 31 Verizon Master Trust #> 32 FT 9295 #> 33 FT 9329 #> 34 MUTUAL FUND SERIES TRUST #> 35 Jones Lang LaSalle Income Property Trust, Inc. #> registrant_href #> 1 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000318154&owner=include&count=200 #> 2 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001422142&owner=include&count=200 #> 3 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001711933&owner=include&count=200 #> 4 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001341235&owner=include&count=200 #> 5 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001840439&owner=include&count=200 #> 6 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001737571&owner=include&count=200 #> 7 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001737567&owner=include&count=200 #> 8 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000010254&owner=include&count=200 #> 9 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000010254&owner=include&count=200 #> 10 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001737623&owner=include&count=200 #> 11 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001647049&owner=include&count=200 #> 12 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000314489&owner=include&count=200 #> 13 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000933267&owner=include&count=200 #> 14 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001849865&owner=include&count=200 #> 15 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001850106&owner=include&count=200 #> 16 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001850126&owner=include&count=200 #> 17 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001320350&owner=include&count=200 #> 18 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001622620&owner=include&count=200 #> 19 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001737580&owner=include&count=200 #> 20 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001737584&owner=include&count=200 #> 21 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001104485&owner=include&count=200 #> 22 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001104485&owner=include&count=200 #> 23 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001260990&owner=include&count=200 #> 24 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001046327&owner=include&count=200 #> 25 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001601830&owner=include&count=200 #> 26 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000917142&owner=include&count=200 #> 27 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001647013&owner=include&count=200 #> 28 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001021096&owner=include&count=200 #> 29 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001082733&owner=include&count=200 #> 30 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001836995&owner=include&count=200 #> 31 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001844964&owner=include&count=200 #> 32 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001843319&owner=include&count=200 #> 33 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001844192&owner=include&count=200 #> 34 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001355064&owner=include&count=200 #> 35 https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0001314152&owner=include&count=200 #> division #> 1 Corporation Finance #> 2 Corporation Finance #> 3 Corporation Finance #> 4 Corporation Finance #> 5 Corporation Finance #> 6 Corporation Finance #> 7 Corporation Finance #> 8 Corporation Finance #> 9 Corporation Finance #> 10 Corporation Finance #> 11 Corporation Finance #> 12 Corporation Finance #> 13 Corporation Finance #> 14 Corporation Finance #> 15 Corporation Finance #> 16 Corporation Finance #> 17 Corporation Finance #> 18 Corporation Finance #> 19 Corporation Finance #> 20 Corporation Finance #> 21 Corporation Finance #> 22 Corporation Finance #> 23 Corporation Finance #> 24 Corporation Finance #> 25 Corporation Finance #> 26 Corporation Finance #> 27 Corporation Finance #> 28 Corporation Finance #> 29 Corporation Finance #> 30 Corporation Finance #> 31 Corporation Finance #> 32 Investment Management #> 33 Investment Management #> 34 Investment Management #> 35 Corporation Finance #> type effective_date #> 1 Securities Act Registration 2021-04-15 16:00:00 #> 2 Securities Act Registration 2021-04-15 16:01:00 #> 3 Securities Act Registration 2021-04-15 16:00:00 #> 4 Securities Act Registration 2021-04-15 16:00:00 #> 5 Securities Act Registration 2021-04-15 16:00:00 #> 6 Securities Act Registration 2021-04-15 17:00:00 #> 7 Securities Act Registration 2021-04-15 17:00:00 #> 8 Securities Act Registration 2021-04-15 17:00:00 #> 9 Securities Act Registration 2021-04-15 17:00:00 #> 10 Securities Act Registration 2021-04-15 17:00:00 #> 11 Securities Act Registration 2021-04-15 17:00:00 #> 12 Securities Act Registration 2021-04-15 16:00:00 #> 13 Securities Act Registration 2021-04-15 09:30:00 #> 14 Securities Act Registration 2021-04-15 17:00:00 #> 15 Securities Act Registration 2021-04-15 17:00:00 #> 16 Securities Act Registration 2021-04-15 17:00:00 #> 17 Securities Act Registration 2021-04-15 16:00:00 #> 18 Securities Act Registration 2021-04-15 17:00:00 #> 19 Securities Act Registration 2021-04-15 17:00:00 #> 20 Securities Act Registration 2021-04-15 17:00:00 #> 21 Securities Act Registration 2021-04-15 16:00:00 #> 22 Securities Act Registration 2021-04-15 16:00:00 #> 23 Securities Act Registration 2021-04-15 16:00:00 #> 24 Securities Act Registration 2021-04-15 16:00:00 #> 25 Securities Act Registration 2021-04-15 16:00:00 #> 26 Securities Act Registration 2021-04-15 16:00:00 #> 27 Securities Act Registration 2021-04-15 17:00:00 #> 28 Securities Act Registration 2021-04-15 16:30:00 #> 29 Securities Act Registration 2021-04-15 17:00:00 #> 30 Securities Act Registration 2021-04-15 17:00:00 #> 31 Securities Act Registration 2021-04-15 17:00:00 #> 32 Securities Act Registration 2021-04-15 11:35:00 #> 33 Securities Act Registration 2021-04-15 11:50:00 #> 34 Securities Act Registration 2021-04-15 16:00:00 #> 35 Post-effective Amendments to Securities Act Registration 2021-04-15 00:00:00 #> filing_date #> 1 <NA> #> 2 <NA> #> 3 <NA> #> 4 <NA> #> 5 <NA> #> 6 <NA> #> 7 <NA> #> 8 <NA> #> 9 <NA> #> 10 <NA> #> 11 <NA> #> 12 <NA> #> 13 <NA> #> 14 <NA> #> 15 <NA> #> 16 <NA> #> 17 <NA> #> 18 <NA> #> 19 <NA> #> 20 <NA> #> 21 <NA> #> 22 <NA> #> 23 <NA> #> 24 <NA> #> 25 <NA> #> 26 <NA> #> 27 <NA> #> 28 <NA> #> 29 <NA> #> 30 <NA> #> 31 <NA> #> 32 <NA> #> 33 <NA> #> 34 <NA> #> 35 2021-04-05# }


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/Lean4.20lemma.20names.html ---
@Sebastian Ullrich Unless I misunderstood, in Pittsburgh you told us there was not yet a naming convention for lemma names in Lean 4. But https://github.com/leanprover/lean4/commit/db3d9c9284dfb9b27dfa17214d7c3c2ce7409f08 suggests this is no longer true. Do you have any comment here? My understanding was that we could hope to keep lean 3 underscore separated names.
@Patrick Massot It's not something we have explicitly decided on yet, at least. We should probably start that discussion by now.
Great! Can I respectfully suggest another discussion topic that seems timely? As a user and teacher using Lean, it would be nice if intro
and cases
were the powerfull mathlib versions or if it were possible for mathlib to completely replace the core lib intro
and cases
without having a different name (and without hacks).
One problem is that cases
has an incompatible syntax with rcases
, so if we replace it then we will need to keep cases_old
around or change the formatting everywhere
Or we make the parser just a bit more complex to figure out which of the two syntaxes is used. Because I think they can be distinguished.
My hope is it's not too late to change everywhere. I expect there are currently very few proofs using the interactive cases tactic in Lean 4.
(if any)
Patrick Massot said:
or if it were possible for mathlib to completely replace the core lib
intro
andcases
without having a different name (and without hacks).
That version sounds reasonable. It's the same customization story we want to have for other parts of the language (commands, terms, ...) as well.
Indeed, that would be consistent with everything else.
And that would be the most flexible solution, as planned with the whole Lean 4 story.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Movie Time
NOW IN THEATRES
Iron Giant (2015)
Sicario
Looking to purchase tickets?
Movie Name:
Time:
Your Age:
Another ticket
//multiple tickets
Submit
Your ticket prices:


← Back to Team Page
Mike Bolanos
Git Master
Welcome to my “About Me” page. I am a computer science major at San Francisco State University
that will be graduating this year with a B.S. Generally, I enjoy dealing with databases and
file management while attempting to make usability for the user as smooth as possible.
I find the best thing about being in this field is learning new things (or even relearning them)
and being able to improve on past projects/solutions. Lately, I have been writing in Python, SQL,
and a little bit of Flutter -- all for data extraction and presenting it in a readable way for others.
Aside from this, I enjoy reading, playing video games, and hanging out with my dog.
Specifically, I’m currently reading the manga One Piece whenever a new chapter is released
every week or so. Reading through documentations is rewarding in a way that I have stumbled upon
something new that I could use in the future. There’s also volume 14 of Overlord that I would like
to read once I can free up enough time to read the whole volume through with little interruption.
As for video games, I am playing Monster Hunter whenever free time and the ‘want’ to play intersect.
I am hoping to free up some time for this when the last large update comes in October.
Then there’s my dog Skye. She’s pretty much the youngest sibling in the family. There are times
where I think she may be a cat -- best cat.


Dear {% for r in recipients %} {% block r %} {{ escape(r.first_name) }} {{ escape(r.last_name) }}, {% end %} {% end %}
You have recently requested a slice in the {{theme}} portal.
We regret to inform you that, a manager of your institution has rejected your request. Please contact the manager of your institution for further information. For any other queries, please contact us by replying to this email.
We wish you a fruitful user experience on {{theme}}.
Yours sincerely,
The {{theme}} team


UPDATE
Second person found drowned at Sea Point, two still missing
A man, believed to be in his early twenties, was found by surfers and an NSRI rescue swimmer swam out to them.
by News24WirePicture: NSRI website
A second person was declared dead in the Sea Point drowning tragedy on Sunday, with two people still missing in the surf, National Sea Rescue Institute (NSRI) spokesperson Craig Lambinon said as the rescue continued.
A man, believed to be in his early twenties, was found by surfers and an NSRI rescue swimmer swam out to them.
CPR was initiated, and on the arrival of the first sea rescue craft he was taken onboard and taken to the Three Anchor Bay slipway.
Paramedics conducted extensive CPR but after all efforts were exhausted he was declared dead.
Three NSRI stations, a Skymed helicopter and emergency medical services were scrambled when the alarm was raised over four people, including a woman.
Earlier, one man out of the group of four was found.
“Despite extensive CPR efforts, that male, believed to be in his early twenties, has been declared deceased,” said Lambinon.
The search for the remaining two people continues.


Putt Putt Boat Steam Engine
For one of my projects in the design of thermal/fluids systems senior capstone class at Union College, I was part of a team that optimized the design of a putt-putt steam boat engine. The task was to design a boat that could carry the most payload, while at the same time, fast enough to beat our competitors in a race.
The hull and associated tail fins were 3D printed, whereas the steam engine was adapted from a commercial toy boat. Ice cubes were added to the engine design to enhance the thermal efficiency and increase thrust.


Files should always have a final newline. This results in better diffs when adding lines to the file, since SCM systems such as git won't think that you touched the last line.
You can customize whether or not a final newline exists with the present
option.
| Configuration Option | Description |
|---|---|
present |
Whether a final newline should be present (default true) |


[Update: Now available] OnePlus TV update brings Netflix along w/ further fixes
by Damien WildeThe OnePlus TV is now receiving an update that will bring Netflix support among a host of other fixes for the India-only smart TV.
While we wait to see if OnePlus will bring their first non-smartphone hardware to other global markets, the addition of arguably the most popular streaming platform is a major deal. Netflix support was notably absent when the OnePlus TV was launched alongside the OnePlus 7T earlier this year.
[Update 12/09]: The ‘Netflix update’ for the OnePlus TV is now heading out after initially being pulled. The update has been confirmed over on the official OnePlus Forums, with essentially the same changelog but a new build number.
This updated build now comes as V1.8.0T1911211115 for the OnePlus TV Q1 and Q1 Pro, it’s not entirely clear why the first update was pulled but OnePlus has been swift to correct any problems and now you can update your Android TV set and enjoy Netflix plus some more fixes and tweaks.
OnePlus has stated that this update will be incremental, so it will head out to a small subset of owners today, before a wider rollout over the coming days — so don’t worry too much if you don’t get the OTA update right away.
[Update]: It appears that the update has been pulled after the original blog post has been removed from the OnePlus Forums. It’s not clear why this is the case but we’ve reached out to OnePlus for a comment to find out why this is the case and if the rollout will startup again soon.
OnePlus did confirm that the streaming service would eventually come to their first TV set shortly after launch but we were left in the dark as to when it would actually arrive. In a blog post over on the official OnePlus forums, OnePlus TV Sofware PM, Steven X. confirmed that this second OTA update was finally adding Netflix after months of waiting.
This OTA update will bump the OnePlus TV to V1.6.0T1911211115 and includes a number of other optimizations for the TV beyond just adding Netflix. You can see the full changelog below.
OnePlus TV V1.6.0T1911211115 system update changelog
- Netflix on board!
- Added setting for directly entering recent “Input Source” at startup
- Optimized volume adjustment experience to increase or decrease audio volume more comfortable
- Pressing volume up and down buttons together to mute the TV
- Remote low battery and charging status notification on TV
- Optimized PQ video pinkish issue
The update is set to have an incremental rollout, so those of you that are lucky enough to own the OnePlus TV, you may not see Netflix on your smart TV for a few days until the OTA file has fully rolled out.
More on OnePlus:
- OxygenOS Open Beta 2 for the OnePlus 6/6T rolling out w/ multiple fixes
- OnePlus designer teases us with an amazing unreleased gold OnePlus 7T
- OnePlus 7T Pro McLaren review: The fastest phone gets slightly faster [Video]
FTC: We use income earning auto affiliate links. More.


{{.activity.Object.Content | html}}
{{$attachment := index .activity.Object.Attachments 0}}Activities.Get
Using the Google+ APIs, you can fetch public activities by specifying
their IDs:
activity, err := p.Activities.Get("z12gtjhq3qn2xxl2o224exwiqruvtda0i").Do()
The user doesn't have to authorize your application in order to fetch public activities. Your app simply specifies the activity ID and your API key. The source code for this application can show you how.


Department of Advanced Science and Technology
University of Computer Studies
B.C.Sc/B.C.Tech. ( Third Year)
Computer Organization
Final Term Examination
Assembly Language(CT-306)
September, 2017
Zone III
Answer ALL Questions
Time allowed 3hours.
| 2000 | LXI SP, 20CDH | :Main Program | 2060 | PUSH H | :Delay Subroutine |
| 2003 | LXI H,0008H | 2061 | PUSH H | ||
| 2006 | MVI B,0FH | ↓ | MVI B, 05H | ||
| 2008 | CALL 2060H | LXI H, COUNT | |||
| 200B | OUT 01H | ↓ | |||
| ↓ | DCR B | POP B | |||
| ↓ | POP H | ||||
| CONTD | RET |


public class RuleController
extends java.lang.Object
MainController
| Modifier and Type | Field and Description |
|---|---|
private static RuleController |
reference |
private javafx.scene.control.TextArea |
ruleDescription |
private javafx.scene.control.TextField |
ruleName |
private javafx.scene.control.TextField |
ruleString |
private javafx.stage.Stage |
stage |
| Constructor and Description |
|---|
RuleController() |
| Modifier and Type | Method and Description |
|---|---|
void |
closeWindow()
closeWindow
public void closeWindow()
Closes the window.
|
static RuleController |
getInstance()
getInstance
public static
RuleController getInstance()
Returns the instance of RuleController, if no instance exits its created. |
void |
ruleStringInput(javafx.scene.input.KeyEvent keyEvent)
ruleStringInput
public void ruleStringInput(
KeyEvent keyEvent)
Sets the received keys on the keyboard, and checks if they are valid or not. |
void |
saveRulestring()
saveRuleString
public void saveRuleString()
Saves a rule to the rules.ser if it's valid.
|
void |
setStage(javafx.stage.Stage stage)
setStage
public void setStage(
Stage stage)
Sets the stage of this class. |
private javafx.scene.control.TextField ruleName
private javafx.scene.control.TextField ruleString
private javafx.scene.control.TextArea ruleDescription
private static RuleController reference
private javafx.stage.Stage stage
public void setStage(javafx.stage.Stage stage)
setStagepublic void setStage(Stage
stage)Sets the stage of this class.
stage
- - Receives a stage to be set.
public static RuleController getInstance()
getInstancepublic staticRuleController
getInstance()Returns the instance of RuleController, if no instance exits its created.
public void closeWindow()
closeWindowpublic void closeWindow()Closes the window. The stage that is sett to the controllers stage is closed.
public void saveRulestring()
saveRuleStringpublic void saveRuleString()Saves a rule to the rules.ser if it's valid.
public void ruleStringInput(javafx.scene.input.KeyEvent keyEvent)
ruleStringInputpublic void ruleStringInput(KeyEvent
keyEvent)Sets the received keys on the keyboard, and checks if they are valid or not.
keyEvent
- - the key pressed on the keyboard.


NewsThousands of people have demonstrated against...
SportEurope's top four leagues are to be guaranteed four places...
HealthRobot performs surgery on soft tissue better than human...
LifestyleA positive lifestyle can bring you happiness...
MyNews.com is among the world's entry-posters in online news and information delivery. Help us make your comments count. Use our viewer comment page to tell us what you think about our shows and our hot topics for the day.


Dear {% for r in recipients %} {% block r %} {{ escape(r.first_name) }} {{ escape(r.last_name) }}, {% end %} {% end %}
You have recently registered as a user to {{ theme }} portal. We are sorry to inform you that a manager of your institution has rejected your request. Please contact the manager of your institution for further information. For any other queries, contact us by replying to this email.
Message:
{% for m in event.messages %}
{{m['message']}}
{% end %}
We wish you all the best.
Yours sincerely,
The OneLab team


[ Demos ]
[ EECS 20 Home ]
[ Corresponding lecture ]
Sums of Sinusoids
This demonstration shows two sinusoids of different frequencies
and their sum.
The red sinusoid is the sum of the black and blue sinusoids:
The frequencies of the black and blue sinusoids and
the phase of the black sinusoid are controlled by a slider in the control
panel:
In this illustration, the frequency of the black sinusoid
is set to 440 Hz, which is the
frequency of the musical note A above middle C.
The blue sinusoid is one octave down, at 220 Hz, and hence is also
an A.
Observations
Changing the phase of the black sinusoid distinctly changes
the shape of the sum (the red sinusoid). However, it does not
change the sound. The human ear primarly hears the frequencies
of the sinusoidal components of a waveform. It does not hear
their phase (at least, not very well). Thus, it is not the shape
of a periodic waveform that we hear, but rather the frequencies of its
sinusoidal components.
Copyright © 1996, The Regents of the University of California.
All rights reserved.
Last updated: %D%,
comments to: eal@eecs.berkeley.edu