saws¶
Motivation¶
AWS CLI¶
Although the AWS CLI is a great resource to manage your AWS-powered services, it’s tough to remember usage of:
- 50+ top-level commands
- ~1400 subcommands
- Countless command-specific options
- Resources such as instance tags and buckets
Saws: A Supercharged AWS CLI¶
Saws
aims to supercharge the AWS CLI with features focusing on:
* Improving ease-of-use * Increasing productivity
Under the hood, saws
is powered by the AWS CLI and supports the
same commands and command structure.
Usage:
aws <command> <subcommand> [parameters] [options]
Features:
- Auto-completion of:
- Commands
- Subcommands
- Options
- Auto-completion of resources:
- Bucket names
- Instance ids
- Instance tags
- More coming soon!
- Syntax and output highlighting
- Customizable shortcuts
- Contextual help
Saws
is available for Mac, *nix, and
Windows.
Index¶
Features¶
Installation and Tests¶
Syntax and Output Highlighting¶
Auto-Completion of Commands, Subcommands, and Options¶
Saws
provides smart autocompletion as you type. Entering the
following command will interactively list and auto-complete all
subcommands specific only to ``ec2``:
aws ec2
Auto-Completion of AWS Resources¶
In addition to the default commands, subcommands, and options the AWS
CLI provides, saws
supports auto-completion of your AWS resources.
Currently, bucket names, instance ids, and instance tags are included,
with additional support for more resources under development.
S3 Buckets¶
Option:
--bucket
Sample Usage:
aws s3api get-bucket-acl --bucket
Note: The example below demonstrates the use of fuzzy resource completion:
EC2 Instance Ids¶
Option:
--instance-ids
Sample Usage:
aws ec2 describe-instances --instance-ids
aws ec2 ls --instance-ids
Note: The ls
command demonstrates the use of customizable
shortcuts:
EC2 Instance Tags¶
Option:
--ec2-tag-key
--ec2-tag-value
Sample Usage:
aws ec2 ls --ec2-tag-key
aws ec2 ls --ec2-tag-value
Tags support wildcards with the *
character.
Note: ls
, --ec2-tag-value
, and --ec2-tag-key
demonstrate the
use of customizable shortcuts:
TODO: Add More Resources¶
Feel free to submit an issue or a pull request if you’d like support for additional resources.
Configuring Resource Completion¶
You can control which resources are loaded on startup and are available
for interactive completion by updating your ~/.sawsrc
file:
# AWS resources to refresh
refresh_instance_ids = True
refresh_instance_tags = True
refresh_bucket_names = True
Once initially loaded, resources are cached locally to allow for faster
loading. To refresh the cache, use the F5
key.
Customizable Shortcuts¶
The ~/.sawsrc
file contains shortcuts that you can modify. It comes
pre-populated with several handy
shortcuts
out of the box. Below are a few examples.
List all EC2 instances:
aws ec2 ls
List all running EC2 instances:
aws ec2 ls --ec2-state running
List all EC2 instances with a matching tag (supports wildcards *
):
aws ec2 ls --ec2-tag-key
aws ec2 ls --ec2-tag-value
List all DynamoDB tables:
aws dynamodb ls
List all EMR clusters:
aws emr ls
Add/remove/modify shortcuts in your ‘~/.sawsrc` file to suit your needs.
Feel free to submit: * A pull request if you’d like to share your shortcuts * An issue to request additional shortcuts
Contextual Help¶
Saws
supports contextual command line help
and contextual web
docs
.
Contextual Command Line Help¶
The help
command outputs help within the command line.
Usage:
aws <command> <subcommand> help
Contextual Web Docs¶
Sometimes you’re not quite sure what specific command/subcommand/option
combination you need to use. In such cases, browsing through several
combinations with the help
command line is cumbersome versus
browsing the online AWS CLI docs through a web browser.
Saws
supports contextual web docs with the docs
command or the
F1
key. Saws
will display the web docs specific to the currently
entered command and subcommand.
Usage:
aws <command> <subcommand> docs
Toolbar Options¶
Saws
supports a number of toolbar options:
F1
displays the contextual web docsF2
toggles output syntax highlightingF3
toggles fuzzy completion of AWS resources and shortcutsF4
toggles completion of shortcutsF5
refreshes resources for auto-completionF10
orcontrol d
exitssaws
Installation¶
Pip Installation¶
Saws
is hosted on PyPi. The
following command will install saws
along with dependencies such as
the AWS CLI:
$ pip install saws
Configuring Credentials¶
Configure your credentials with the AWS CLI:
$ aws configure
For more details on how to install and configure the AWS CLI, refer to the following documentation.
Developer Installation¶
$ git clone https://github.com/donnemartin/wip.git
$ pip install -e .
$ pip install -r requirements-dev.txt
Unit Tests¶
After you’ve completed the developer installation section, you can run tests locally.
Run unit tests in your active Python environment:
$ python tests/run_tests.py
Run unit tests with tox on multiple versions of Python:
$ tox
Credits¶
- AWS CLI for powering the
saws
under the hood - Python Prompt
Toolkit
for simplifying the creation of
saws
Contact Info¶
Feel free to contact me to discuss any issues, questions, or comments.
- Email<EMAIL_ADDRESS>- Twitter: [@donne_martin](https://twitter.com/donne_martin)
- GitHub: donnemartin
- LinkedIn: donnemartin
- Website: donnemartin.com
License¶
Copyright 2015 Donne Martin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes
Hierarchy For All Packages
Package Hierarchies:
android.util
,
com.alk.kucoinsdk.application
,
com.alk.kucoinsdk.business
,
com.alk.kucoinsdk.business.assetsOperation
,
com.alk.kucoinsdk.business.currenciesPlugin
,
com.alk.kucoinsdk.business.language
,
com.alk.kucoinsdk.business.market
,
com.alk.kucoinsdk.business.marketForUser
,
com.alk.kucoinsdk.business.trading
,
com.alk.kucoinsdk.business.user
,
com.alk.kucoinsdk.network
Class Hierarchy
java.lang.Object
com.alk.kucoinsdk.business.trading.
ActiveOrderKvData
com.alk.kucoinsdk.business.trading.
ActiveOrderKvDataDetails
com.alk.kucoinsdk.business.trading.
ActiverOrderData
com.alk.kucoinsdk.business.assetsOperation.
BalanceData
com.alk.kucoinsdk.business.assetsOperation.
BalanceListData
android.util.
Base64
com.alk.kucoinsdk.business.language.
ChangeLanguage
com.alk.kucoinsdk.business.market.
ChartConfig
com.alk.kucoinsdk.business.market.
ChartHistory
com.alk.kucoinsdk.business.market.
ChartSymbols
com.alk.kucoinsdk.business.market.
Coin
com.alk.kucoinsdk.business.currenciesPlugin.
Currencies
com.alk.kucoinsdk.business.currenciesPlugin.
CurrenciesData
com.alk.kucoinsdk.business.trading.
DealOrders
com.alk.kucoinsdk.business.trading.
DealOrdersDada
com.alk.kucoinsdk.business.assetsOperation.
DepositAddressData
com.alk.kucoinsdk.network.
HttpsClient
com.alk.kucoinsdk.business.
KucoinConnection
com.alk.kucoinsdk.business.
KucoinConnection.Open
com.alk.kucoinsdk.business.
KucoinConnection.Restrict
com.alk.kucoinsdk.business.
KucoinResponse
com.alk.kucoinsdk.business.trading.
ActiveOrder
com.alk.kucoinsdk.business.trading.
ActiveOrderFull
com.alk.kucoinsdk.business.trading.
ActiveOrderKv
com.alk.kucoinsdk.business.assetsOperation.
Balance
com.alk.kucoinsdk.business.assetsOperation.
BalanceList
com.alk.kucoinsdk.business.currenciesPlugin.
ChangeCurrency
com.alk.kucoinsdk.business.market.
CoinInfo
com.alk.kucoinsdk.business.market.
CoinList
com.alk.kucoinsdk.business.market.
DealOrder
com.alk.kucoinsdk.business.assetsOperation.
DepositAddress
com.alk.kucoinsdk.business.market.
KLine
com.alk.kucoinsdk.business.language.
LanguageList
com.alk.kucoinsdk.business.assetsOperation.
ListRecords
com.alk.kucoinsdk.business.marketForUser.
MarketSymbols
com.alk.kucoinsdk.business.trading.
Order
com.alk.kucoinsdk.business.market.
OrderBook
com.alk.kucoinsdk.business.market.
OrderBookDirection
com.alk.kucoinsdk.business.trading.
OrderDealt
com.alk.kucoinsdk.business.trading.
OrderDealtSpecific
com.alk.kucoinsdk.business.trading.
OrderDetails
com.alk.kucoinsdk.business.trading.
Orders
com.alk.kucoinsdk.business.marketForUser.
StickSymbols
com.alk.kucoinsdk.business.user.
Symbols
com.alk.kucoinsdk.business.market.
SymbolsTick
com.alk.kucoinsdk.business.market.
Tick
com.alk.kucoinsdk.business.market.
TradingMarkets
com.alk.kucoinsdk.business.user.
TradingSymbolsTick
com.alk.kucoinsdk.business.market.
Trendings
com.alk.kucoinsdk.business.user.
UserInfo
com.alk.kucoinsdk.business.assetsOperation.
ListRecordsData
com.alk.kucoinsdk.business.assetsOperation.
ListRecordsDataDatas
com.alk.kucoinsdk.business.marketForUser.
MarketSymbolsData
com.alk.kucoinsdk.business.market.
OrderBookData
com.alk.kucoinsdk.business.trading.
OrderData
com.alk.kucoinsdk.business.trading.
OrderDealtData
com.alk.kucoinsdk.business.trading.
OrderDealtDataDatas
com.alk.kucoinsdk.business.trading.
OrderDealtSpecificData
com.alk.kucoinsdk.business.trading.
OrderDealtSpecificDataDatas
com.alk.kucoinsdk.business.trading.
OrderDetailsData
com.alk.kucoinsdk.business.trading.
OrdersData
com.alk.kucoinsdk.business.trading.
OrdersDataDatas
com.alk.kucoinsdk.business.trading.
OrdersDataDatasDealOrders
com.alk.kucoinsdk.business.trading.
OrdersDataDatasDealOrdersDatas
com.alk.kucoinsdk.business.market.
SymbolTickData
com.alk.kucoinsdk.business.user.
TradingSymbolTickData
com.alk.kucoinsdk.application.
Test
com.alk.kucoinsdk.business.market.
TickData
com.alk.kucoinsdk.business.market.
TrendingsData
com.alk.kucoinsdk.business.user.
UserData
com.alk.kucoinsdk.business.user.
UserKey
com.alk.kucoinsdk.business.user.
UserLoginRecord
Skip navigation links
Overview
Package
Class
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes


Upload File
Start
Please select the file(s):
Directory
Select file
Please select the library
Please select the library


I'm listening to views outside the Westminster bubble - and the parties won't like what I've heard
by PresenterIn the lead-up to this General Election, the ITV Evening News is getting out around the country, talking to people, listening to opinions away from the much-discussed Westminster bubble.
I’m visiting places with an interesting story to tell, to get some sense of what is influencing voters far from Politics Central.
Our road trip started last week in North East Fife - the UK’s most marginal constituency - won in 2017 by the SNP by just 2 votes.
How might things work out this time, where every vote will count and there’s all to play for?
I wish I could report a compelling trend, but I found little appetite for another ballot - those I spoke to seemed weary with all politics: Brexit, Indy Ref 2, another General Election.... most were fed up with it all.
They didn’t like or much trust their politicians - Leave or Remain, pro- or anti-independence. The one thing they shared was disillusionment.
It wasn’t a scientific poll - more a series of chats - but the disenchantment was striking.
On Tuesday in Manchester, ahead of the ITV Leaders Debate, what did people hope to hear from Corbyn and Johnson?
I spent the morning with students at Salford Uni - several of them first time voters.
Here they were passionately engaged with the electoral process - determined to make their voices heard, having missed out on the 2016 Brexit referendum.
But as to whether they actually believed the right issues would be properly discussed? Not so much.
They complained of soundbite politics and short-term clickbait.
They badly wanted to hear details about public spending, education, the environment; but expected to be disappointed.
Filming in the city centre around Canal Street we drew a small crowd of young men.... larking around for the cameras.
When I tried to talk to them they scattered - joking that they didn’t want to be recognised on TV.
But eventually a couple of them offered their views.
Superficially, the contrast with the politics-savvy students might have been striking - but the underlying message much the same; politicians didn’t connect with them, they didn’t discuss the important issues, they couldn’t be trusted.
An LGBT group in a nearby cafe-bar told me of their despair at the short term nature of political engagement.
Where was the nuanced discussion of inclusion, equality, harmony, the environment? They shrugged.
So far so cynical.
Next stop Wales.
Will I strike a rich seam of bright-eyed voters, ready to embrace the coming election with vigour and optimism?
The signs aren’t good - but I’ll keep trying.
More on the ITV Debate and Election Interviews:
- ITV Debate: Boris Johnson and Jeremy Corbyn go head to head
- Fact checking the debate: Johnson and Corbyn's claims examined
- Anger as Tories rebrand Twitter account as fact checking service
- Calling Peston: The ITV News Election Podcast
- What were the best and worst moments for Johnson and Corbyn in the ITV debate?
- Party leaders make case for power after ITV Debate between Johnson and Corbyn


Exception: Mongoid::Errors::InvalidRelation
- Inherits:
-
MongoidError
- Object
- StandardError
- MongoidError
- Mongoid::Errors::InvalidRelation
- Defined in:
- lib/mongoid/errors/invalid_relation.rb
Overview
This error is raised when trying to create an association that conflicts with an already defined method.
Constant Summary
Constants inherited from MongoidError
Instance Attribute Summary
Attributes inherited from MongoidError
#problem, #resolution, #summary
Instance Method Summary collapse
-
#initialize(klass, name) ⇒ InvalidRelation
constructor
Create the new error.
Methods inherited from MongoidError
Constructor Details
#initialize(klass, name) ⇒ InvalidRelation
Create the new error.
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/mongoid/errors/invalid_relation.rb', line 20 def initialize(klass, name) super( ( "invalid_relation", { name: name, origin: origin(klass, name), file: location(klass, name)[0], line: location(klass, name)[1] } ) ) end |


<ejb-jar/>
Application discovery via the classpath
This document details the various ways to get OpenEJB to detect applications you would like deployed while in an embedded mode.
Empty ejb-jar.xml approach (recommended)
Simplify the issue of searching for annotated applications by adding an ejb-jar.xml like this to your app:
OpenEJB will find the app in the classpath and deploy it along with any annotated beans it may contain.
The ejb-jar.xml can contain more than just "" as usual.
This is the recommended approach for people using OpenEJB for unit testing as it allows OpenEJB to find your application in the classpath without the need for you to specify any path information which tends to complicate builds.
Including/Excluding paths (advanced)
If you do not like the idea of having the ejb-jar.xml in your app or an
openejb.xml, we can search the classpath for annotated beans
(@Stateless
, @Stateful
, @MessageDriven
) and load them automatically just
as if they contained an ejb-jar.xml.
This form of searching, however, is very expensive as it involves iterating over every path in the classpath and reading in each class definition contained thereunder and checking it for annotations.
This approach can only be made faster by helping us trim down or pinpoint the paths we should search via the openejb.deployments.classpath.include property which can be specified as a system property or a property passed into the InitialContext.
The value of this property is a regular expression and therefore can be absolute or relative. For example the path "/Users/dblevins/work/swizzle/swizzle-stream/target/classes" which contains the class files of an application you wish to test could be included in any of the following values to the "openejb.deployments.classpath.include" property:
-
"file:///Users/dblevins/work/swizzle/swizzle-stream/target/classes/" (an absolute path)
-
"file:///Users/dblevins/work/swizzle/.*" (relative)
-
".swizzle-stream." (very relative)
-
".(swizzle-stream|swizzle-jira|acme-rocket-app)." (including several paths)
-
".(swizzle-stream|swizzle-jira|acme-rocket-app)." (including several paths with Win specific escapes)
Note the filtering is done on URLs in the classpath, so forward slashes should always be used even on OSs using backslash ("").
There are also the openejb.deployments.classpath.exclude and openejb.exclude-include.order properties if you wish to work in the opposite direction or change the processing order. The default values for the properties are as follows:
openejb.exclude-include.order=include-exclude //Defines the processing order
openejb.deployments.classpath.include="" //Include nothing
openejb.deployments.classpath.exclude=".*" //Exclude everything
The exclude and the include are applied separately and the results of each are combined together to create the list of paths OpenEJB will scrape for annotations.
*Note:* by default these settings will only affect which jars OpenEJB will
scan for annotated components when no descriptor is found. If you would
like to use these settings to also filter out jars that do contain
descriptors, set the *openejb.deployments.classpath.filter.descriptors*
property to _true_. The default is _false_.
Troubleshooting
If the include/exclude is not being processed as you expect first try reversing the order to openejb.exclude-include.order=exclude-include There are a number internal filters that may result in an unexpected exclusion.
If you’re having trouble determining if the META-INF/ejb-jar.xml file for your ejb module is in the classpath, a little debug code like this in your test setup will help you see what OpenEJB sees (which may be nothing):
Enumeration<URL> ejbJars =
this.getClass().getClassLoader().getResources("META-INF/ejb-jar.xml");
while (ejbJars.hasMoreElements()) {
URL url = ejbJars.nextElement();
System.out.println("app = " + url);
}


?The
occurrence
of
Capraria
peiuviana
in
Jamaica
is
rather
unexpected,
hut
I
cannot
separate
your
specimen
specifically
from
those
collected
in
Perœ
and
Ecuador.
Perhaps
it
is
adventive
in
the
West
Indies*
I
saw
it
twice
in
Ecuador,
"both
times
in
large
quantities
in
ditches*
The
flowers
Were
pale
green,
not
white,
hut
the
difference
may
be
slight*
^
t
3oÁ
(Mí
DEPAUW
UNIV.
HERBARIUM.
t
C
>
___
HERBAF
T.
G.
YUN
r7^;
f>74%
TRUMAN
G.
YUNCKER
HERBARIUM
OF
DEPAUW
UNIVERSITY
(DPU)
PURCHASED
BY
NY
IN
1987
YO/?^
BOTANICAL
The
University
of
Texas
Herbarium
(LL,
TEX)
Capraria
biflora
L.
Det:
J.
Williams
&
B.L.
Tumer,
30
Jul
1996
PLANTS
OF
JAMAICA
Parish:
St
.
Catherine
Date:
Nov.
19J
1957
Bot.
Name:
Capraria
biflora
L.
Vein.
Name:
,
Herb,
about
2
ft.
high;
flowers
white.
In
sandy
soil,
thicket
near
Port
Henderson.
Alt
r
1OO
ft.
garden,
NEW
YORK
BOTANICAL
GARDEN
01
34377
Collector:
T.
G.
YUNCKER
No.
17,U75
01334377
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


nips nips2001 nips2001-136 nips2001-136-reference knowledge-graph by maker-knowledge-mining
Source: pdf
Author: John Shawe-Taylor, Nello Cristianini, Jaz S. Kandola
Abstract: We consider the problem of measuring the eigenvalues of a randomly drawn sample of points. We show that these values can be reliably estimated as can the sum of the tail of eigenvalues. Furthermore, the residuals when data is projected into a subspace is shown to be reliably estimated on a random sample. Experiments are presented that confirm the theoretical results. 1
[1] S. Brin and L. Page. The anatomy of a large-scale hypertextual (web) search engine. In Proceedings of the Seventh International World Wide Web Conference, 1998.
[2] Nello Cristianini, Huma Lodhi, and John Shawe-Taylor. Latent semantic kernels for feature selection. Technical Report NC-TR-00-080, NeuroCOLT Working Group, http://www.neurocolt.org, 2000.
[3] J. Kleinberg. Authoritative sources in a hyperlinked environment. In Proceedings of 9th ACM-SIAM Symposium on Discrete Algorithms, 1998.
[4] C. McDiarmid. On the method of bounded differences. In Surveys in Combinatorics 1989, pages 148- 188. Cambridge University Press , 1989.
[5] S. Mika, B. SchCilkopf, A. Smola, K.-R. MUller, M. Scholz, and G. Ratsch. Kernel PCA and de-noising in feature spaces. In Advances in Neural Information Processing Systems 11, 1998.
[6] Andrew Y. Ng, Alice X. Zheng, and Michael 1. Jordan. Link analysis, eigenvectors and stability. In To appear in the Seventeenth International Joint Conference on Artificial Intelligence (UCAI-Ol), 2001.


OfflineContext → {Tone.Context
Wrapper around the OfflineAudioContext
new
Tone.OfflineContext
(channels, duration, sampleRate)
channels
{Number}
duration
{Number}
sampleRate
{Number}
The number of channels to render
The duration to render in samples
the sample rate to render at
methods
.now
()
returns
{Number}
Override the now method to point to the internal clock time
.render
()
returns
{Promise}
Render the output of the OfflineContext


Man who shot at Gold Coast police sentenced to 9 years jail
by Monique StClairThe man who pulled a gun on police in a Surfers Paradise car park has been sentenced to nine years in jail.
29-year-old Daniel White Mayne was initially charged with attempted murder, for threatening to shoot at two police officers in the car park of the Solaire apartments back in January 2017.
Two officers were responding to reports of a suspicious looking vehicle, when they saw White Mayne carrying a bag that he then quickly threw into a bin.
Though when officers approached, he grabbed a revolver from the bag and threatened to shoot them.
An officer then discharged multiple shots – one of them striking White Mayne in his scrotum, the other in his thigh.
He then returned fire, with a fragment of a bullet striking the officer.
White Mayne was acquitted of the murder charge earlier this year, instead being found guilty of attempting to strike a police officer with a projectile in attempt to resist arrest.
This morning, he was sentenced to nine years behind bars, though will be eligible for parole in January 2021.


Levels —
Classes
Class
HD Roll
Skills
Skill Trick
Points Spent
Confirm
Cancel
Skills
Skill Tricks:
Armor Check Penalty:
* Trained Only, †ACP (applied)
Mod
Ranks
Ability
Misc
*
†
(
)
14
10
12
×
Available Classes
Class
Attack Bonus
Fort Save
Reflex Save
Will Save
Confirm
Cancel
Class Skills
Edit Skill
Skill
Ability
None
Strength
Dexterity
Constitution
Intelligence
Wisdom
Charisma
Armor Check Penalty
Trained Only


ytk-jukebox
| logged in as {{username}}.
log out
Request a Song
Who's singing?
Youtube Video Link
Song Title:
Song Artist:
request
song list


Springbok hero 'Beast' aims for greener, and golder, pastures
by Kaveel SinghTendai Mtawarira, better known as "Beast", will be focusing on his directorship and business interests in Fidelity Security Group now that he is retired.
"I've managed to have one boot in the business world. I'm actually one of the directors in the security group. I have a good plan in place after retirement," he said on Friday.
Mtawarira was part of the Springboks' trophy tour which saw tens of thousands of Durbanites visit the elated squad on Friday through their trophy tour.
He said that he was thankful for all that rugby had done for him.
"I have the pleasure of being involved in Fidelity Security Group in the last eight years. But I am so grateful for this journey that I've had. Wearing the Springboks and Sharks jerseys was an honour."
Mtawarira said there was a possibility that he could still play overseas.
"I retired with a lot of peace in my heart. It is the way I wanted it to go. For now, this is my final decision to leave SA shores and maybe look at an opportunity overseas. I am content and so happy."
'This really means a lot'
Mtawarira said he was also happy to see the turnout in Durban.
"It is incredible to see the number of fans out in the streets. I want to thank KwaZulu-Natal for coming out in their numbers and sharing this special achievement that the Springboks have done in Japan."
He added: "This really means a lot. Thank you so much for your support, it is truly overwhelming."
Speaking on the last few moments of the final against England, Mtawarira said it was nerve wracking.
"I was on the bench and it was tense. But we believed in what Rassie (Erasmus) brought to the table. We worked hard and kept believing. The tries came and it wasn't a surprise."
He said that Erasmus had been a huge factor in the team's victory.
"Thanks to Rassie, we all aligned as a team. He is the most honest coach I had in my whole career."


Age
18
22
26
Hobby
boxing
football
swimming
Message
City
Select your city...
Kyiv
Dnepr
Vinnitsa
Kharkiv
submit
reset


{% extends 'contents/_base/registration.html' %} {% block title %}Ticket Info{% endblock title %} {% block page_title %}
The following tickets provide access to the main conference during June 3 and 5. Please refer to their own pages for tutorial and sprint registrations.
| Early bird rate | Regular rate | Link | Description | |
|---|---|---|---|---|
| Regular | 4,490 | 4,990 | Buy |
You will receive an electronic receipt for this ticket when you check in at PyCon. Please provide your company’s name and Unified Business Number, or N/A if reimbursement is not required. |
| Discount | 2,190 | 2,690 | Buy | Your invoice will be donated directly to the Open Culture Foundation. A discount is thus offered to appreciate you donation. |
| Students | 1,390 | 1,790 | Buy |
Your invoice will be donated directly to the Open Culture Foundation. A discount is thus offered to appreciate you donation. This discount is for students only. You are required to provide identification of eligibility (student ID card) when checking in at the conference. |
| Speakers | 2,190 | Buy | For speakers. Please enter your invitation code when purchasing the ticket. |
Every registered participant will receive a souvenir T-shirt. Please check your size according to the following table.
| Size | XS | S | M | L | XL | 2XL | 3XL |
|---|---|---|---|---|---|---|---|
| Height (cm) | Under 150 | 150–160 | 160–170 | 170–180 | Above 180 | ||
| Chest Width | 44.5 | 47 | 49.5 | 52 | 54.5 | 57 | 59.5 |
| Back Length from HPS | 62 | 63.5 | 66 | 68.5 | 71 | 73.5 | 73.5 |
PyCon Taiwan 2016 is a paid conference. Everybody, including staffs and speakers, pays for attending (see PyCon: Everybody Pays).
You can pay through credit card, PayPal, or ATM transfer.
There will be no refund once registration is confirmed.
You can contact us for a financial aid if you feel any difficulty affording a ticket and/or other expanses attending the conference. You will need to purchase the ticket before applying. More info about applications can be found here.
We provide lunch during the conference. Please let us know if you have any specific dietary requirements.
Please provide valid means of contact (phone number and email) on purchase, so that we will be able to inform you of any important notices.
Please kindly email to organizers[at]pycon.tw if you have any questions regarding ticket information. We will reply you as soon as possible!
You will be able to verify information about tutorials (annoucement pending), sprints, and PyDay.
We look forward to your participation at PyCon Taiwan 2016!
{% endblock %}


Column 1
Column 2
Foo
Bar
Column 1
Column 2
Foo
Bar
Column 1
Column 2
Foo
Bar
I Am A Fish
Head One
Head Two
Head 3
Head Four
Head 5
Head 6
Some Fields
A Label
another label
Something
Something
Something
foob
foobar


Before Change
def setup(hass, config):
Start the MQTT protocol service.
if not validate_config(config, {DOMAIN: ["broker"]}, _LOGGER):
return False
conf = config[DOMAIN]
broker = conf[CONF_BROKER]
port = util.convert(conf.get(CONF_PORT), int, DEFAULT_PORT)
After Change
broker_config = _setup_server(hass, config)
// Only auto config if no server config was passed in
if broker_config and CONF_EMBEDDED not in conf:
broker, port, username, password, certificate, protocol = broker_config
elif not broker_config and (CONF_EMBEDDED in conf or
CONF_BROKER not in conf):
_LOGGER.error("Unable to start broker and auto-configure MQTT.")
return False
if CONF_BROKER in conf:
broker = conf[CONF_BROKER]
port = util.convert(conf.get(CONF_PORT), int, DEFAULT_PORT)
username = util.convert(conf.get(CONF_USERNAME), str)


Welcome to {{application}}!
To complete setting up your account please click the link below. You will be prompted to add a password that will enable you to log in.
Confirm your email address & add a password
Thanks!
{{organization}}
{{application}}


|
Dendro
5.01
Dendro in Greek language means tree. The Dendro library is a large scale (262K cores on ORNL's Titan) distributed memory adaptive octree framework. The main goal of Dendro is to perform large scale multiphysics simulations efficeiently in mordern supercomputers. Dendro consists of efficient parallel data structures and algorithms to perform variational ( finite element) methods and finite difference mthods on 2:1 balanced arbitary adaptive octrees which enables the users to perform simulations raning from black holes (binary black hole mergers) to blood flow in human body, where applications ranging from relativity, astrophysics to biomedical engineering.
|
This file contains all the parameters related to NLSM simulation. More...
Enumerations | |
| enum | VAR { U_CHI =0, U_PHI } |
| These variable indexes are based on the variables defined in rkNLSM.h. | |
Functions | |
| void | readParamFile (const char *fName, MPI_Comm comm) |
| internal variables needed for rk update. More... | |
| void | initData (const double xx1, const double yy1, const double zz1, double *var) |
| Initialize all the variables for a given point in space. More... | |
| void | analyticalSol (const double xx1, const double yy1, const double zz1, const double t, double *var) |
| void | blockAdaptiveOctree (std::vector< ot::TreeNode > &tmpNodes, const Point &pt_min, const Point &pt_max, const unsigned int regLev, const unsigned int maxDepth, MPI_Comm comm) |
| : Generates block adaptive octree for the given binary blockhole problem. | |
| double | computeWTol (double x, double y, double z, double tol_min) |
| wavelet tolerance as a function of space. | |
Variables | |
| r = symbols('r') | |
| initialize | |
| chi = dendro.scalar("chi","[pp]") | |
| phi = dendro.scalar("phi","[pp]") | |
| d = dendro.set_first_derivative('grad') | |
| d2s = dendro.set_second_derivative('grad2') | |
| d2 = dendro.d2 | |
| int | phi_rhs = sum( d2(i,i,chi) for i in dendro.e_i ) - sin(2*chi)/r**2 |
| evolution equations | |
| chi_rhs = phi | |
| list | outs = [phi_rhs, chi_rhs] |
| evolution equations | |
| list | vnames = ['phi_rhs', 'chi_rhs'] |
| double | NLSM_COMPD_MIN [3] ={NLSM_GRID_MIN_X,NLSM_GRID_MIN_Y,NLSM_GRID_MIN_Z} |
| min bh domain add these to the parameter file. | |
| double | NLSM_COMPD_MAX [3] ={NLSM_GRID_MAX_X,NLSM_GRID_MAX_Y,NLSM_GRID_MAX_Z} |
| min bh domain More... | |
| double | NLSM_CFL_FACTOR =0.1 |
| CFL stability number number (specifies how dt=NLSM_CFL_FACTOR*dx) | |
| double | NLSM_OCTREE_MIN [3] ={0.0,0.0,0.0} |
| min coords of the OCTREE | |
| double | NLSM_OCTREE_MAX [3] ={(double)(1u<<NLSM_MAXDEPTH),(double)(1u<<NLSM_MAXDEPTH),(double)(1u<<NLSM_MAXDEPTH)} |
| max coords of the OCTREE | |
| unsigned int | NLSM_IO_OUTPUT_FREQ =10 |
| solution output frequency | |
| unsigned int | NLSM_TIME_STEP_OUTPUT_FREQ =10 |
| timestep norms out put freq. | |
| unsigned int | NLSM_REMESH_TEST_FREQ =10 |
| remesh test frequency | |
| unsigned int | NLSM_CHECKPT_FREQ =10 |
| checkpoint store frequency | |
| unsigned int | NLSM_RESTORE_SOLVER =0 |
| restore the solver from check point if set to 1. | |
| unsigned int | NLSM_ENABLE_BLOCK_ADAPTIVITY =0 |
| use the block adaptivity and disable the AMR | |
| std::string | NLSM_VTU_FILE_PREFIX ="nlsm_gr" |
| file prefix for VTU | |
| std::string | NLSM_CHKPT_FILE_PREFIX ="nlsm_cp" |
| file prefix for write check point | |
| std::string | NLSM_PROFILE_FILE_PREFIX ="nlsm_prof" |
| file prefix to write profile info. | |
| unsigned int | NLSM_NUM_REFINE_VARS =2 |
| number of refine variables | |
| unsigned int | NLSM_REFINE_VARIABLE_INDICES [NLSM_NUM_VARS] ={0,1} |
| indices of refine var ids | |
| unsigned int | NLSM_NUM_EVOL_VARS_VTU_OUTPUT =2 |
| number of evolution variables written to vtu files | |
| unsigned int | NLSM_VTU_OUTPUT_EVOL_INDICES [NLSM_NUM_VARS] ={0,1} |
| evolution variable IDs written to vtu files | |
| double | NLSM_IO_OUTPUT_GAP =1.0 |
| solution output gap (instead of freq. we can use to output the solution if currentTime > lastIOOutputTime + NLSM_IO_OUTPUT_GAP) | |
| unsigned int | NLSM_DENDRO_GRAIN_SZ =1000 |
| prefered grain sz to use when selecting active npes | |
| double | NLSM_DENDRO_AMR_FAC =0.1 |
| AMR coarsening factor (we coarsen if tol<NLSM_DENDRO_AMR_FAC*NLSM_WAVELET_TOL) | |
| double | NLSM_WAVELET_TOL =0.0001 |
| wavelet tolerance value. | |
| double | NLSM_LOAD_IMB_TOL =0.1 |
| load-imbalance tolerance value. | |
| unsigned int | NLSM_SPLIT_FIX =2 |
| : Splitter fix value | |
| unsigned int | NLSM_ASYNC_COMM_K =4 |
| : async. communication at a time. (upper bound shoud be NLSM_NUM_VARS) | |
| double | NLSM_RK45_TIME_BEGIN =0 |
| simulation begin time. | |
| double | NLSM_RK45_TIME_END =10 |
| simulation end time | |
| double | NLSM_RK45_TIME_STEP_SIZE =NLSM_CFL_FACTOR*(NLSM_COMPD_MAX[0]-NLSM_COMPD_MIN[0])*(1.0/(double)(1u<<NLSM_MAXDEPTH)) |
| rk time step size. | |
| double | NLSM_RK45_DESIRED_TOL =1e-6 |
| unsigned int | NLSM_ID_TYPE =0 |
| BBH initial data type. | |
| double | NLSM_GRID_MIN_X =-50.0 |
| physical coordinates for grid, x_min | |
| double | NLSM_GRID_MAX_X =50.0 |
| physical coordinates for grid, x_max | |
| double | NLSM_GRID_MIN_Y =-50.0 |
| physical coordinates for grid, y_min | |
| double | NLSM_GRID_MAX_Y =50.0 |
| physical coordinates for grid, y_max | |
| double | NLSM_GRID_MIN_Z =-50.0 |
| physical coordinates for grid, z_min | |
| double | NLSM_GRID_MAX_Z =50.0 |
| physical coordinates for grid, z_max | |
| double | NLSM_BLK_MIN_X =-6.0 |
| physical coordinates for the blk adaptive x_min | |
| double | NLSM_BLK_MIN_Y =-6.0 |
| physical coordinates for the blk adaptive x_min | |
| double | NLSM_BLK_MIN_Z =-6.0 |
| physical coordinates for the blk adaptive x_min | |
| double | NLSM_BLK_MAX_X =6.0 |
| physical coordinates for the blk adaptive x_min | |
| double | NLSM_BLK_MAX_Y =6.0 |
| physical coordinates for the blk adaptive x_min | |
| double | NLSM_BLK_MAX_Z =6.0 |
| physical coordinates for the blk adaptive x_min | |
| unsigned int | NLSM_DIM =3 |
| : dimension of the grid | |
| unsigned int | NLSM_MAXDEPTH =8 |
| : max refinement level | |
| double | KO_DISS_SIGMA =0.01 |
| : Kreiss-Oliger dissipation | |
| double | NLSM_ID_AMP1 = 0.5 |
| : Initial data Gaussian amplitude | |
| double | NLSM_ID_AMP2 = 0.5 |
| : Initial data Gaussian amplitude | |
| double | NLSM_ID_DELTA1 = 1.0 |
| : Initial data Gaussian width | |
| double | NLSM_ID_DELTA2 = 1.0 |
| : Initial data Gaussian width | |
| double | NLSM_ID_XC1 = 0.0 |
| : Initial data Gaussian x offset | |
| double | NLSM_ID_YC1 = 0.0 |
| double | NLSM_ID_ZC1 = 0.0 |
| double | NLSM_ID_XC2 = 0.0 |
| : Initial data Gaussian x offset | |
| double | NLSM_ID_YC2 = 0.0 |
| double | NLSM_ID_ZC2 = 0.0 |
| double | NLSM_ID_EPSX1 = 0.0 |
| : Initial data Gaussian elliptic x factor | |
| double | NLSM_ID_EPSY1 = 0.0 |
| : Initial data Gaussian elliptic y factor | |
| double | NLSM_ID_EPSX2 = 0.0 |
| : Initial data Gaussian elliptic x factor | |
| double | NLSM_ID_EPSY2 = 0.0 |
| : Initial data Gaussian elliptic y factor | |
| double | NLSM_ID_R1 = 0.0 |
| : Initial data Gaussian R | |
| double | NLSM_ID_R2 = 0.0 |
| : Initial data Gaussian R | |
| double | NLSM_ID_NU1 = 0.0 |
| : Initial data Gaussian nu | |
| double | NLSM_ID_NU2 = 0.0 |
| : Initial data Gaussian nu | |
| double | NLSM_ID_OMEGA = 0.0 |
| : Initial data Gaussian Omega | |
This file contains all the parameters related to NLSM simulation.
Contains utility functions for NLSM simulation.
contains the profile parameters.
| void nlsm::analyticalSol | ( | const double | xx1, |
| const double | yy1, | ||
| const double | zz1, | ||
| const double | t, | ||
| double * | var | ||
| ) |
analytical solution based on the d'Alembert's formular.
| void nlsm::initData | ( | const double | xx1, |
| const double | yy1, | ||
| const double | zz1, | ||
| double * | var | ||
| ) |
Initialize all the variables for a given point in space.
| [in] | coord | coordinates of the point. |
| [out] | var | pointer to the list of variables, computed. var size should be (VAR::U_SYMAT5+1) |
| void nlsm::readParamFile | ( | const char * | fName, |
| MPI_Comm | comm | ||
| ) |
internal variables needed for rk update.
: Read the parameter file and initialize the variables in parameters.h file.
| [in] | fName | file name |
| [in] | comm | MPI communicator. |
| double nlsm::NLSM_COMPD_MAX ={NLSM_GRID_MAX_X,NLSM_GRID_MAX_Y,NLSM_GRID_MAX_Z} |
min bh domain
| double nlsm::NLSM_RK45_DESIRED_TOL =1e-6 |
desired tolerance value for the rk45 method (adaptive time stepping. )


{# descriptive summary, admin info, collection description #} {# expects FindingAid object as ead #} {% load ead %}
| Creator: | {{ ead.origination_name|format_ead_rdfa:"schema:creator" }} {# NOTE: could be contributor in some cases #} {# additional mappings: collection is also *about* the creator, and creator should be a keyword #} {% if ead.origination_name.authfilenumber and ead.origination_name.uri %} {% endif %} |
|---|---|
| Title: | {{ ead.unittitle|format_ead }} |
| Call Number: | {{ ead.archdesc.unitid }} |
| Extent: | {{ ead.physical_descriptions|join:'; ' }} |
| Location: | {{ ead.archdesc.location }} |
| Abstract: | {{ ead.abstract|format_ead }} |
| Language: | {{ ead.archdesc.langmaterial }} |
{{ para|format_ead }}
{% endfor %}{{ para|format_ead }}
{% else %}{{ para|format_ead_rdfa }}
{% endif %} {% endfor %} {# grab occupation from controlled access #} {# NOTE: in local encoding practice, any controlled access occupation refers to origination/main entry person #} {% if section == ead.archdesc.biography_history and ead.origination_name.authfilenumber %} {% for ca in ead.archdesc.controlaccess.controlaccess %} {% for occupation in ca.occupation %} {% endfor %} {% endfor %} {% endif %}


{% extends "base.html" %}
{% block title %}{{ org.name }}{% endblock %}
{% block content %}
Department: {{ org.name }}
{% if events %}
Talks:
{% include "events/_event_list.txt.html" %}
{% else %}
Sorry, there are currently no talks scheduled in this department.
{% endif %}
{% endblock %}


| Unimoll 66 M General Information
-
| Synonyms: |
DCHP; Dicyclohexyl phthalate; Phthalic acid dicyclohexyl ester; cyclohexyl 2-(cyclohexyloxycarbonyl)benzoate |
| Molecular Formula: |
C20H26O4 |
| CAS Registry No.: |
84-61-7 |
| Chemical Category: |
Phthalates |
Usage and Performance Characteristics
-
| Outstanding Properties: |
Used as a retarding agent for peroxides & as an additive for coupler systems in films |
| Used for Polymeric Materials: |
PVC, NC |
| Used for Products: |
Coatings, film, adhesive |
Physical Properties
-
| Aggregate State at 25°C: |
Powder, micronised form of Unimoll 66 |
| Boiling Point, °C: |
225.0 @ 0.5 kPa |
Chemical Properties
-
| Saponification Value, mg KOH/g: |
340 |
Optical Properties
Hazard-Related Data
-
| OSHA Hazard Class: |
Not considered a hazardous substance |
| UN Risk Phrases: |
36/37/38 |
| Eye Irritation (human): |
May cause irritation |
| Flash Point Temperature, °C: |
210 |
| HMIS Personal protection: |
Safety glasses, gloves, lab. coat |
| Skin Irritation: |
May cause irritation |
Environmental Parameters
-
| Octanol-Water Partition Coeff., log Kow: |
6.2 |
| Theoretical Oxygen Demand, ThOD, g/g: |
2.37 |
Plasticizers Database (2nd Electronic Edition) Copyright © 2004 by ChemTec Publishing |


type TScrollBarVisibility = (svAlways, svHidden, svAuto);
TScrollBarVisibility is the type for the Visibility property in TIVScrollProperties.
[See Also]


I live in a j's podcast for Monday.
Most wonderful show is keeping up with the chances.
Do you want to tell everybody what MJ said as we put into bed tonight?
Oh my gosh, it's so funny.
So I'm putting him to bed and he's sleeping in our bed right now because he said he heard a loud noise upstairs.
So every once in a while he'll fall asleep in our bed, then Alan carries him off and puts him in his.
And so he says, "Mommy, what are you and daddy doing this bed?"
I was like, "Ah, we sleep."
He's like, "What else do you do?"
Because sometimes it sounds like daddy is working and you're resting.
[laughter]
I was like, "What?"
That is going to be the strangest word of knowledge a child could have.
[laughter]
Well, let's get this podcast done so I can do some work if you can rest.
[laughter]
Thanks, darling.
I've been away all weekend.
I have. Yep. How was it? It was good. It was good. They were awesome.
 We did for not very long.
Right. So it's snowed in the morning, but we had already made plans to take the kids to this
jumping place. And then when we came out, the snow was melting and MJ was not happy with me,
because he apparently thinks I control the snow. Oh, pretty chicken.
Well, I was away this weekend in St. Louis. All weekend for a men retreat with the men
of Southgate Church. Thank you, gentlemen, for your hospitality and your warm welcome.

One of my highlights, babe, on the way home is I stopped at a restaurant called Lambert's.
Now, if you've never been to Lambert's, the only way I can describe it is if Cracker
barrel got drunk and hooked up with a state fair and they had a baby. This is what Lambert's
looks like. So John Reed is like, "Oh, would you tell you a Lambert's lunch?" I'm like, "Sure."
And so we put a lid on him like, "Good Lord, what have you brought me to?" And it was packed.
And so my hopes are not high. It really looks like what cracker barrel might have been modeled after.
And so we sit down and all of a sudden, this guy's showing hot rolls and I notice hands go up all
all over this room.
And in rooms massive, the restaurant seats 500 people.
And this server starts hurling bread rolls of people.
(laughing)
- You're kidding.
- No.
Do people get hit in the head?
- Oh yeah.
(laughing)
- It's surreal. - Right, oh.

And the guy's awesome.
He just throws at your hand and you know, you--
- Is that like his only job?
- That's his only job.
One's run hot rolls and then just throws them.
- Oh my gosh.
- You catch him now.
That was endless fun.
And the rolls were delicious.
They were apps that apparently I didn't have any of this.
- Ah hah.
- Confession is good soul.
- But then I ordered food, we all ordered food.
And the food was fantastic.
I was utterly repentant.
I thought, oh my gosh, I'd come back here in a heartbeat.
- Okay, so next time I go, I wanna go to Lambert's.

- Okay.
- Quite the experience. - Okay.
- That had a great time.
All right, recap the week.
Wait, did I miss anything while I was away?
No, everything's fine, there was snow.
everything's fine. There is snow. We had lots of fun. We watched our family movie, which we watched
sing. Is it good? It's cute. All right. I'll rewatch it with the girls. Yeah. And that's better. We just
had lots of fun time. So they did great. Of course, none of nobody enjoyed this bringing forward
this morning. No, well, I'm surprised that that was not a fun experience for anybody. Our son
particularly needs his 12 hours. Yeah, I was not happy with that. So he this morning came halfway
down the stairs and then announced I can't do it anymore.
And I think he met the stairs.
And so I went and grabbed him and I brought him down and he's like,
"Mummy, I feel so emotional."
That was his words.
Yeah.
And then I said, "Buddy, can I put you down at the table?"
'Cause then I can get you some pancakes.
And so I put him down at the table and he rested his head on the table
until the pancakes got there.
It was very sad.
He is his father's son.
Yes.
Indeed.
Highly emotional need food.
Yeah.
This week, we had a great week.
David Wagner was with us at the school at Emmonay, a Grey Center.
D-Wags.
D-Wags in the house.
If you haven't heard of David Wagner, you probably want to stop what you're doing right
now and go download the David Wagner episode.
It's episode 86.
You can find that at<EMAIL_ADDRESS>You need to hear this guy's testimony.
It's unbelievable.
David's a good friend of ours, a prophet, and you're always in for some amazing stories.
So he was in ministering to our first year students.
He was in ministering at Grace Center.
I'll put a link in the show notes
to the two services at Grace Center
and he was ministering at M&A really powerfully.
So it was just great to see him, wasn't it?
- So cool.
Yeah, it was really, really good.
All our students left an outreach.
- Yeah, where are they?
- They are in Iceland, South Africa, Romania, Georgia,
and Nashville.
- Guys, I want you to know that every morning,
we wake up and we pray for you.
and we're following all your adventures on Instagram.
If you wanna follow along with them,
look in the show notes, I'll put a link to the hashtags
to follow them on Instagram.
- And there's also a school blog.
- Oh yeah, there's a school blog too,
where you can see curated things
if you want the kind of real time as it's happening,
follow them all on Instagram.
But super proud of you,
students wherever you are in the world,
ministering, representing Grace Center, we love you.
- I actually met two people this morning
from Lexington, Kentucky that came to Visigrae Center
and they came up to say hi
'cause they listened to our podcast.
- Well, while I was away on the weekend,
I met one of the guys,
I bumped into a lot of people this weekend who said,
oh, we listened to your podcast,
which is always fun to hear.
But one of them said,
oh yeah, we made a trip down to Franklin
to visit all our restaurants that you talked about.
- You're kidding, that's so funny.
- I really do need to put a visit Franklin page on our site
so that people don't have to hunt through.
Yeah, we get some free time, we'll do that.
Yeah, that'll be in like when?
- Oh, I think July.
- Yeah, sure.
Also babe, this morning while you were not there,
we welcomed Raimi Wayland, who's our new children's pastor.
- Come on Raimi, welcome to Grace and Wahoo.
- So Raimi and Brian and their three kids
moved here on Wednesday and they're getting settled
and yeah, it's really exciting.
- Yeah, we're so excited for these guys to be here
and to spearhead our new children's ministry.
We're super excited about that.
All right, our main topic for this week.
- Yes.
- It's somewhat depressing.
I'm trying to put a positive spin on it.
You know, I'm a
I wonder if there's a better word than backsliding.
Backsliding is such good Christian ease, isn't it?
Yeah.
Um,
falling away, reversing out of relationship with the Lord.
I'm sorry.
I need to start a new competition on a better word than backsliding.
This this weekend, I thought it was funny.
Somebody asked me over lunch or dinner.
They said, Hey, it's pastoring hard.
And I kind of chuckled because that really the pace of pastoring and the preparation, the planning, the preaching, you know, all that sort of stuff.
That's fairly easy.
Yeah.
That's not difficult at all.
It does get tiring in seasons for sure.
But I think any job you go through busy seasons, you know, you've got to get stuff done.
So that's not a problem.
But when it comes to things being hard, I think easily the hardest thing that I've experienced is watching people I love fall away from.
loving Jesus. Oh, by far. That is harder than doing funerals, harder than saying goodbye to loved ones.
Yep. Watching people that we've been in relationship with say they no longer want to follow Jesus.
Yeah. Yeah, it's super sad. So we thought we'd share the sadness on this podcast episode.
Welcome. Yeah. Well, the thing is, I started thinking about it. And backsliding, it kind of
comes in all shapes and sizes, doesn't it? I mean, there's a continuum, isn't there?
In the same way, there's a continuum of being in love with Jesus. And I think there's varying
degrees of it. But throughout my life, I've watched people who at one point have been absolutely
devoted to Jesus. And then I've watched them make decisions that prioritize other things in Jesus
and inevitably, unless there's interjection, unless that course gets corrected, their love
love for Jesus ends up growing cold and they end up in various places, either disinterest
or worse, absolutely denying Jesus. And I have such a hard time with that. And I realize
I'm going to have such a hard time articulating this because it's something I've never experienced.
And I'm trying to be sensitive to the whole issue because not that I think any backsliders
going to be listened to a Christian podcast like this. It sounds like they, yeah.
But if they are, I don't want them to feel anything negative for me.
I'm just a loss for how it happened.
So do you have any thoughts on any of the stuff?
Well, I think the other thing that makes me sad that sort of is in that continuum is the whole
thing of the people that would say, "Oh, no, my relationship with Jesus is fine."
 And I'm thinking, well, okay. But what's your
definition of fire? Yeah.  Because I'm like, if that's what you're willing to post,
what else is happening that you're not posting? Right. You know what I mean? Like, and, and if
you think that's fine, then actually you're not going to be teachable when the Lord's trying to
get your attention.
Right.
And I think we've told stories in the past of people who've been in relationship with
when we've gone to talk to them about, "Hey, they're life choices."
And I remember one person saying, "No, I mean, Jesus are totally fine."
And I might buy who standards.
Right.
I remember David Campbell, our friend saying he was confronting a friend who was making
some really grave mistakes.
Yes.
And this is what this friend said.
This friend was just like, "No, David, I'm good.
I'm fine." And David said, "Well, by whose definition? Because the reason that we have
the Bible is brilliant. God wrote down how he feels about being fine. So we don't actually
have to go by our feelings. We can actually go by what's written in the Word of God."
Right.
And so the Word of God is there when we feel like it's right and the Word of God is there
when we feel like it's wrong. So we have this like concrete benchmark.
Right.
And based on these passages, you're not fine. Right.
And I was like, oh my gosh, that's genius.
But I think part of the problem is I remember
when I was in high school,
I remember my senior year of high school,
I had a really good friend, went to different high school.
And I remember one day we'd been at skateboarding together
and we were driving home and he looked at me
and he just said, isn't being a Christian amazing?
I said, it is.
And he said, man, if I ever fall away from Jesus,
would you please slap me?
Now the thing is, you know, we went to different universities
and we kept in touch, but I remember a couple of years later
intersecting with him and his love for Jesus
had gone absolutely cold.
You know, he had no relationship with Jesus
by his own admission, hand being on the church.
And I was thinking, I don't even recognize you
as the same person to have that conversation with.
It's like I went looking for the friend
who asked me to slap him and I didn't find him.
- Right.
- And that's what's weird.
And the times that I've sat down with friends
who have left their faith, who've backslid,
and again, in varying degrees of digression
away from Christianity, I don't recognize them.
It's like it's a different person
and with a different set of memories
because when I start talking about the things before,
they don't remember the things the way I remember them.
And I'm like, dude, it was like a year ago.
Like, I remember it really, really clearly.
And then deception comes in
and it becomes really hard to kind of break through that shell.
That's if they'll even take my calls.
I've got some people that I've, you know,
when I reach out to won't want to hear from me,
and that makes me sad.
And, but I also understand that I probably represent,
well, here's the thing I'm left guessing.
I'm guessing that I represent everything
they don't want to know about, but I don't know.
So one of the things I was thinking of is if by chance
you happen to be listening to this
and you would feel that you were in the category
of backsliding and you feel like I could benefit
from your perspective.
I would love to hear from you.
If you can reach out to me via Twitter or via email,
you know, anything like that.
I would love to hear from you.
Not, but I'm not gonna try and fight you or argue with you.
I'm just fascinated how somebody goes from
an intimate relationship with Jesus to, again,
varying degrees of disconnect.
to some people denying, and Paul says,
they deny him by the way they live their lives.
- Right, and that's the tricky bit,
'cause I do know many people who would say,
"Well, I still believe in him, I'm not denying him,"
but the way that they're choosing to make decisions,
the way they're choosing to live,
would say something different, and that's what's sad.
It's just like, "Oh, that can't be life for you."
- Right, and I think absolutely as pastors,
it is the hardest thing of watching that.
And I want to be sensitive to the process
and the journey that people are on,
because I want to help people in the process.
- So what do you think are some of the roots then
of the departure, like?
- That's a great question, babe.
I don't know.
I really don't know.
And there probably aren't,
there probably isn't a specific route.
I would guess just from the conversations
I have had with some people,
or the conversations I've had with people
who were away from the Lord and came back to him,
and have been asking and, you know,
journey with them.
The reason I'm passionate about this topic, babe,
is I feel like I'm called to reach Christians for Christ.
I remember hearing Graham Cook say that.
He said, you know, he doesn't feel like
he's an evangelist necessarily.
He feels like he's called to reach Christians for Christ.
And I'm like, that's what I feel like.
I feel like I want to reach and encourage Christians
at all stages of their walk.
- Right.
- And so, but back to your question, I...
See, the thing is, here's some things on the top of my head, but the difficulties when
I've tried to broach these topics with people who are talking to me, falling away, they
don't like me bringing up these topics because it feels like, I mean, I don't know.
I think we might be on the money with it and that's why it feels aoey to them, but who
knows again.
Right.
Well, what if we look at it from a perspective of if you notice your heart going to any
of these things just sort of be where because it might actually lead towards, you know,
turning away from the Lord, which wouldn't be anybody's intention.
Right. Oh, that's good. Okay.
One of the chief things I've noticed in conversations I've had with people is a whole issue of offense.
Yeah.
It's very easy for our hearts to get offended either at people or churches. I mean, all
you need to do is browse through some Facebook pages and you see people offended at church,
offended at church leaders, offended at Christians, offended at people.
And I remember Jeff teaching that amazing message, not being offended at God.
Remember Jesus said, blessed is the person who's not offended at me.
Yeah.
And that's a big thing.
Sure.
If fence will rob you, it will totally rob you.
And then it makes you think you're right.
Right.
But also offense.
I mean, offense is real and probably maybe offense and hurt are the same thing.
But I've also seen people hurt disappointed, let down genuinely hurt.
And maybe we could put offended in that category.
Yeah, I don't know.
I think I think they're a little different.
Like I don't think I've ever had the Lord say, you can choose whether you're going to be hurt or not.
But I have had him say, hey, you get to choose right now if you're going to pick a fence.
Her feels like something that's maybe a little bit more personal.
You know, like a, I don't know, a little bit more direct or something.
Well, offenses are always taken never given.
Right.
hurt can happen on an involuntary basis of fence is a voluntary basis.
As in, I'm choosing to be offended. Yes. Yes. And while I can choose to be hurt,
I can be hurt without, you know, I could just be an innocent bystander and be hurt.
Yes. Yeah. And I think that always makes me sad. Like if, if for whatever reason, we don't have
the either the tools or the track record of knowing what to do with hurt and how to navigate that
and how to forgive and stuff like that, then it has a landing strip and it just builds a house.
Well, think about the times that we've had healthy confrontation where maybe people we've been
leading or people we've been pastoring have come and told us, "Hey, I've been hurt by these things
that you've said." And it's so wonderful when they do that because you're like, "Oh my gosh,
I am so sorry." That would have never, ever been my intent. And we get to walk through,
How did we end up causing you pain?
And we're going to dialogue with it.
Was it insensitivity on our behalf?
Was it pre-existing wounds in your own heart?
They got re-triggered?
Was it a bit of both?
But it's fascinating having these conversations for people and realizing, oh,
my gosh, this must be happening all the time.
Right.
But again, without proper tools, I see a lot of times people just
recoiling, obviously, because they don't want to be continually subjected to pain.
Yeah.
I also think what's great about those conversations is it means we all get
to grow, right?
Like we get to grow because somebody's given us new
information on how they're experiencing us.
So we get to process that, talk to the Lord about that,
ask them to help us with that, that kind of stuff.
And whoever's actually bringing us that information,
they get to grow too, 'cause they've just risked it.
And you know, so I actually really like those conversations
even if they're hard, 'cause at the end, it's like,
oh, we actually, we can invite the Holy Spirit
in to help us fix this.
Well, here's the thing most of us are myself,
and I presume yourself included,
we are very typically unaware of how we're being experienced.
- Sure, yeah.
- Like at lunch today, I mean, the boys were,
we were commenting on things we notice about one another,
and we all had a good giggle 'cause we didn't know we did them.
- Ever?
- I had no idea I'd do that,
and everyone was like, yeah, you totally do that.
- What did they notice about you?
- Apparently I have a, I have a,
oh, noise when I'm showing sympathy.
- You do, yeah.
I mean, I didn't know that I did that.
- Really?
- Yeah, one of our other team,
we pointed out that when they're inquiring of something,
they pitch shift their vocal up and octave,
and they sound way more southern.
And they were like, I do not do that,
and the rest of us were just going,
oh, you told me to do that.
So, I mean, those are humorous examples,
but I've had our students come and being very brave
and just say, hey, you need to know
that last week's interchange,
this is how my heart fell when that happened.
- Right.

- Right.
- And I am so sorry, that was not the intent
of my heart at all.

And I'm really sorry for the things I've done.
And it's useful feedback for me.
- Right.
- Oh, that joke I just made, you don't find that funny.
- Right.
- Oh, I didn't realize that that was offending you.
I can absolutely change my behavior.
But if we don't have that experience or if we're in churches with unhealed leaders,
I can see how people are ending up being hurt.
Sure.
But I can't think that the solution that Jesus had in mind was to disengage from the body.
Here's a big Aoi.
Okay.
I'm ready.
One of the things I've noticed, because, but let me backtrack for a second, because falling
away is a deception, right?
moving away from truth by very definition, its deception. One of the big open doors to being
deceived is a refusal to submit to God's Word. Sure.
Become super fashionable to move away from the Word of God as an authority in our lives.
So when that happens, we end up following God on our terms, not his.
And we begin prioritizing what's important to us over what's important to God.
Right. What was the thing that David Campbell said last week or two weeks ago?
I had this brilliant line. He said, if you don't believe the parts of the Bible that you don't like,
but you do believe the parts of the Bible that you do like, you don't believe the Bible, you believe yourself.
Right.
And that's honestly where I see a lot of people. I remember speaking to a friend. She was a new believer.
And she told me this in retrospect, which is, you know, I was a new believer and everything was going really well so far as a Christian, but I knew that as a new believer, I knew that Christians quote unquote had a perspective on gay and lesbian lifestyles.
Right.
And she said, I knew this because I've heard about it in the media, I've seen it on Twitter and, and she said I was smart enough to realize there isn't one view and I realized that what I've been hearing is a spectrum of.
of people's views, but I knew that you had a view and I was interested to hear your teaching.
And there was a sadness in her heart like, "Oh, how is my heart going to navigate this
if you have a view that doesn't sound like a Christ-like view of this?"
And it's not that she was saying she was going to disconnect or unplug, but I have seen
some people disconnect or unplug.
Yeah.
Where you're like, "Oh, well, if that's God's view of homosexuals and I don't want to
do with it. And my point isn't so much about homosexuality and God's view on that. My point
is we have a standard and a view that's really important to us. And if we find that our churches
or our peers or God himself doesn't hold to our standards, somewhere along the line we forget that
we are the clay and he is the poder and we yield to him. And so I've seen that happen time and
time again, like the classic example that I've used before is the guy that I confronted
a number of years ago because he'd moved in with his girlfriend.
Right.
And I went to him and just said, "Hey, I heard a rumor that you guys have moved in together.
Is that true?"
I don't do gossip.
I just thought it'd come straight to you and he's like, "Yeah, yeah, it's true."
I said, "Well, you know what my conversation is going to be next.
Like, what are you thinking?
You guys are both committed Christians.
This is a terrible witness.
It is not wise.
Are you guys sleeping together?
Well, yeah.
Okay.
So now there's sin involved.
Like you're not honoring God.
Like nothing good is going to come from this relationship unless you're a pen.

And but after several meetings, I went through the Bible with him.
You remember the four of us sat down?
I do.
And at one point he just said to me, well, look, here's the thing.
if Jesus Christ himself showed up, Alan, and told me that what I was doing was wrong,
I wouldn't believe him. And I was like, Oh, so the issue isn't you're in sexual immorality.
The issue is that you're not saved. And if you can't question my salvation, I was like,
sure I can. You just said that you wouldn't submit to the man that you claim to follow.
How can you be a follower of Christ if you're going to refuse to follow him?
Now, that's an extreme example, but I've noticed that usually there's a breaking point for
Christians and and
I it's such a dangerous position when we exalt our own thinking over the word of God. Now,
I am leaving huge amounts of room for people to explore different views of of scriptural
interpretation and biblical exit. Jesus, I'm leaving huge amounts of room for that,
But I'm saying if at some point we begin to have more trust in our ability to discern what God means
then God has an ability to communicate what he means. That's the beginning of major deception.
Right. And there is plenty of places where there's actually no gray area in Scripture
for, you know, to say, well, I interpret it this way. Well, that requires a rewriting, not interpretation.
babe what about the parable of the sewer like in thinking about reasons that people fall away
right i'm just thinking you have immaturity you know people that are safe with joy but they have
no root like there's no discipleship there's no maturity so when persecution comes or trouble
comes they they fall away right that that is a an amazing parable because basically jesus is saying
when it comes to christianity one in four people make it isn't that shocking it's heartbreaking
It's totally heartbreaking. So in this case, he's saying there's people who get saved with joy.
They receive the message at first. They're like, "Yeah, Christianity, I love Jesus. Jesus is my
co-pilot. Jesus might be a f/f." And for a season, they're Instagram posts and they're Facebook posts
for all about just God and majesty and amazing, but they never get discipleship. They never get
connected to church. They never grow. There's never any mentoring. There's never any maturity.
And then as Jesus said, when persecution or when trouble comes, they fall away, which is not the
look we're going for this season. No, it's so not in. What were the other things that he said that
the seed was on thorny ground, where the worries of life and the deceitfulness of wealth would grow
up? Yeah. So what would you put that under wrong focus? So we're going along, we love Jesus, but
but then another focus takes priority,
whether that's our family or our career or money or--
- Boyfriend, girlfriend, whatever, yeah.
- And that's basically idolatry.
We allow something to give us more comfort than God.
The trouble is a lot of this stuff starts
not necessarily with bad things.
Like, it's not wrong to have questions
about things you misunderstand in scripture.
- Yeah. - Nothing wrong with that.
Is that wrong to desire relationships
or things or any of those things.
I know that's wrong, but if it becomes our focus,
if it becomes in place of Jesus,
then we've got a problem.

And I think that's super dangerous.
- Right.
- Because again, it takes,
then you're not focused on Jesus at all.
- Right.
I, again, don't know if this is true.
- Okay.
- But it's my observation.
That when people are either offended or hurt or immature,
or you know, when they've began to fall away,
what happens is they tend to isolate themselves.
- Yeah.
- And I've noticed that they usually start feeding themselves
food from other people in the same camp.
Right.
So if they're disgruntled, they'll eat disgruntled podcasts and hang with disgruntled people
who...
Yeah.
And I get that because there is comfort in knowing you're not the only person going through
that.
Right.
But again, if those things are the expense of like, "Layer in Scripture talks about
pure spiritual milk, then you're going to end up again. It's like the whole thing of birds of a
feather flock together. If we're not careful, we end up finding resources to solidify our root cause,
which is wounding or offense or whatever. And before we know it, we're justifying our
our frustration at God.
- Right.
That's just super sad.
- Well, yeah.
I'm not even sure if I'm writing that assessment.
That's my observation from the outside.
And like I said, I'm trying to get
a better understanding of that.
And again, if you're listening to this
and you've experienced what we're talking about,
I would love to dialogue with you about that.
I really would.
If you go to alanagio.com/feedback,
you can leave us feedback.
You can send it anonymously if you want.
I would just love to hear from people's experiences
because my goal is to seek first to understand
and then be understood.
You know, recognize I'm on the outside looking in
and I'm just trying to observe behavior
that I'm witnessing.
And so, you know, forgive me if I'm missing something,
if I'm wrong on here.
- Okay, babe, why don't we shift gears?
- Okay.
 How do you make sure you don't head in that direction?
All right. Well, I was reading. I don't know why I ended up. Actually, I was teaching this
this morning. I was teaching something in first Peter. I wasn't teaching about backsliding,
but I was teaching from a verse in first Peter and I was started reading it and I knew that
we were going to be talking about backsliding tonight. So I read a little bit more on the
journey home this afternoon. And I've got a couple of verses that are found in first
Peter. Okay. Are you ready for them? I am. All right. So I'm going to read from first
Peter chapter 1, verse 3, verses 13 to 15, and first Peter chapter 2, 1 to 3, up at all
the references in the show notes.
Again, I'm reading from the New Living Translation.
He says, "All praise to God, it is by His great mercy that we've been born again because
God raised Jesus Christ from the dead.
So think clearly and exercise self-control.
Look forward to the gracious salvation that will come to you when Jesus Christ is revealed
to the world.
So you must live as God's obedient children.
Don't slip back into your old ways of living to satisfy your own desires.
You didn't know any better then.
But now you must be holy in everything you do, just as God who chose you is holy.
So get rid of all evil behavior.
Be done with all deceit, hypocrisy, jealousy, and all unkind speech.
Like newborn babies, you must crave pure spiritual milk so that you will grow into a
a full experience of salvation. Cry out for this nourishment now that you have had a taste
of the Lord's kindness. There's a ton in there. What do you say? Don't slip back into your
old ways of living. That's a nice phrase. Anyway, I don't think we can make that work
like just across the board. We'll start calling it slipping back or back slipping or slip backing.
A couple of things. Throw this out for free. Whenever you're reading the New Testament
And you see verbs highlight them in your Bible because they're usually instructions of things to do or not do.
Oh, that's great.
Yeah.
No, so I've highlighted some of them.
I've got six things that we can do to prevent us from backsliding.
You ready?
Yeah, hit me.
Well, he says a couple of times it will start by saying all praise to God.
And then he says, look forward to salvation.
And those things, that's basically cultivating worship in your life.
It's so important to keep the main thing, the main thing.
Right.
So when we have a priority of worship of Jesus, everything else, our questions, our frustrations,
our wounding becomes less important. Right. It's subject to, isn't it? Absolutely. You keep Jesus,
and I think that gives us the proper perspective. Sure. Because the danger is when we're
wounded, we dethrone Jesus and make our pain the most important thing.
You don't want pain leading you in life. You want Jesus, the king king. So that's the first thing.
worship. Number two, he says, because you're saved, think clearly. One of the reasons I see people slip away is that often people are getting carried away by strange doctrine.
Yeah.
 And like I watch a bit or read a bit.
And I'm just like, no, you don't want to be watching that reading like, like these people are confused at best, deceived at worst.
Right. And I get it. Like, I get it. If you've grown up in the church, there's a temptation that
we can know more than we're living and then boredom settles in. What does a bill says? If
you're bored, you might want to check the distance between you and the master. If your Christian
experience has been reduced to an intellectual hobby, you are going to get bored and you're
going to go looking for teaching that's going to tickle your ears, as it says in scripture.
 Your thinking will be muddied. Are you ready for number three?
Yes.
All right. Number three, exercise self control. Now, we think self control is doing sit-ups
in that seven minute workout app that we downloaded and try twice.
Oh, okay.
And then never did again.
How is plank an exercise?
It's not. It's definitely not. It's drafting in a very horrible position.
There's no rest. It will be a next waterboard yourself.
True. So the Greek words used in that phrase can literally be translated and in some versions,
like the NSB or the NIV literally means be sober.
Right. Here's the craziest thing. I can't believe I'm actually going to say this sentence next.
Okay. Now I'm worried.
But a big door to deception is drunkenness and getting high.
Yeah.
Now, why on earth would Christians be getting drunk and getting high?
Well, I mean, sometimes I think it's probably because they've probably listened to somebody with
faulty theology that's like, "Well, if that's what you like, God likes what you like."
That kind of stuff.
Right.
And yeah, so you listen to bad teaching or you're hanging around people who are not doing
well either and you're making foolish decisions.
Together.
And then, or if you've wrestled with abuse of alcohol or drugs in your past, of course,
it's going to be an area you're going to be tempted in.
Right.
watching people be unable to manage what they drink or watching people who think it's okay
to smoke weed as Christians is like watching somebody trip at the top of the stairs. You
know what's going to happen next. They're just going to fall all the way down to the
bottom. Like you are literally opening yourself up to demonic oppression. If you're not sober,
you're outsourcing your consciousness to demonic spirits.
Yeah, super dangerous.
I thought we were turning around this to achieve your thing.
Let's turn it around. What's number four?
All right, number four.
Yeah.
He writes, "Don't slip back into your old ways of living."
Well, that just covers a multitude of behaviors, doesn't it?
Sure it does. Absolutely.
It's anything that would have previously robbed life from you that you were saved from.
Right.
Yeah.
And here's the great thing about New Testament living,
is we don't need to provide you with a list of things you can and can't do.
Right.
That's what the Holy Spirit said.
The Holy Spirit is so good at leading you into all truth.
Yeah.
So you walk with the Holy Spirit.

The big temptation for me is debate.
Sure.
Like, because my upbringing was one of, oh, I can now argue you.
I will, I will absolutely take you to the man I'll argue you.
And that's just what I grew up in.
That was the culture I grew up in.
Oh, you want to go toe to toe theology?
Here we go.
Right.
So when I'm on Facebook, like, oh my, I just, I just have to turn it off because I'll see
conversate and they're not conversations. I'll see
flame war starting. And I'm thinking, oh, I could be the sheriff. I could just jump in and clean up
this town. But nobody's on there because they want to learn something. They're on there because
they want to vent. Right. Right. I totally agree. Yeah. And I think so far, I think that my history
spoken for myself and I haven't engaged in any of those conversations.
Yeah.
But it's like a red flag to Bull.
I just have to watch myself.
Oh, same, babe.
I've had to unfollow people, like just because typically the kind of stuff that they post,
I know that they don't actually want truth.
They just want to, you know, say stuff and I'm just like, Oh gosh, like I'm going to
have a hard time not commenting or trying to straighten it out when I know you don't
want to be straightened out.
So here's what I've learned is we actually have a platform that we can strain things
out.
Like we can talk about it on our podcast and people, if they are interested, can listen
to it.
And but I'm not going to hijack somebody else's thread and get into a fight with random strangers.
Yeah, there's no problem.

Just and this is mean.
I just kind of few what's happening.
Like somebody I know will post something and it's not bad, you know, but I'm thinking,
Oh, wait for the store.
Let's get some popcorn.

Right. I mean, calling and all kinds of stuff.
And it just, you know,
and what's crazy is these people are Christians.
Yeah.
Which leads me to number five.
Be holy and get rid of all evil behavior.
He goes on and says be done with deceit hypocrisy jealousy and all unkind speech.
All unkind speech covers a lot.

Yeah, that'd make Facebook so much better.
All right. And then last thing, number six, it says crave and cry out for pure spiritual milk.
Look at the language that's being used there.
It's as far from passive as you could possibly get.
Right. It's like pursue with all energy.
Like there's a hunger there for a full salvation experience.
Yeah.
I'm not sure what's meant by that, but it sounds amazing.
Yeah.
So our encouragement to you is if you are backsliding and you are listening to this,
thank you for listening to it.
I don't know if we've pushed buttons or annoyed you intensely, forgive us if we have.
If we've been ignorant or insensitive, we would love your feedback.
We would genuinely love to know a better way of communicating to people who are
further away from Jesus than they used to be, because our goal is to help reach Christians for Christ.
If you're not backsliding, we don't want you to. These are some things we can actively be doing
to prevent ourselves arriving in a situation that could start the downward descent into backsliding.
Yeah. And again, I mean, going back to your original question, it's really the only thing I find
difficult about pastoring is watching people derail their lives. Sometimes it's a really slow process
where we're meeting with a number of times on their way down and they can't see their on their way down and by the time they're down there,
they're just it's too much effort to come back up or something you know and it's so painful it's like i'm not even emotional person is but that's the stuff i cry about.
I did that was supposed to be encouraging i hope it was just for double measure the encourages a tell something encouraging how about this Jesus is still on the throne yes.
and he's way bigger than the devil.
We're not fighting a losing battle or anything like that.
And so it's it is all good.
God is good.
And there's also prayer going on.
I met people this weekend who get up at three o'clock
so that they can pray between four and five for the prodigals to come home.
Oh, that's lovely.
Well, it is lovely.
But like one person I met, his name is Chris.
He got up at three forty five that morning, prayed from four AM to five AM.
and then ran from five a.m. to seven thirty a.m.
Wow. I was feeling good about the fact that I'd go out bed and pull pants on.
Well, I'm very proud of you darling. Well done for wearing pants.
I did not feel like an overachiever that day, but my point is,
you know, we're not in despair. We don't just throw up our hands and go, "Oh, no."
But we can actually pray. Yeah. And just powerful. Yeah. All right.
Well, hopefully that was helpful. I'm too tired to do any list of questions because I've told we can,
and I've sat in a car for six hours and now I want to go to bed.
I see you winking over there.
Yeah, I know that was my subtle wing wing.
Yeah, that was very subtle.
All right, so in wrapping up, you can follow us on Instagram and Twitter at Allen and AJ
and that's A-L-Y-N and AJ, which is obviously two initials.
And if you would like the show notes from this episode, go ahead and head over to Allen and
aj.com/142.
All right.
Thanks for tuning in.
We pray that you have an amazing and blessed week and we'll be back here next week.
Safe, life, communication, tacos and video games.
Pale you donuts and the kindness of God.


 It's actively printing something.
Someone walks up behind you.
"Did you send something to the printer?" They ask.


Documentation version: v1.0 Full Release
About the Public API
Contra's public API is split into two routes, api/v1 and api/v2. It can be called using standard HTTP requests. All information passed to the API is in the route itself, and none of it is in the request body. This means the GET routes are testable directly in your browser. The API is not rate-limited, and it queries the database directly instead of drawing from a cache to allow live updates as data changes. Please do not abuse this.
An example of a call to a route is https://contra.live/api/v1/route/parameter.
GetProfilePicture
Route: /api/v1/account/{id}/picture
Type: GET
Calling this route with user ID {id} returns the URL of their picture if the user exists. If not, it returns a string "Not Found!"
ArticleGetBulk
Route: /api/v1/article/list/{query}/{amount}/{skip}
Type: GET
This API endpoint functions similarly to the search function on the site with extra keyword helpers. The {query} parameter would be the search term. The {amount} dictates the number of articles returned, and {skip} allows the amount * skip number of articles to be skipped, for implementations utilising pagination or continuous scrolling.
This endpoint will return special results if some queries are entered.
- blog::{id}: Redirects to api/v2/blogs/list/{id}/{amount}/{skip}
- Creative: Approved articles where the ArticleType is Creative, sorted by pinned, then date.
- Editorial: Approved articles where the ArticleType is Article and is flagged an editorial, sorted by date.
- New: Approved articles sorted by date.
- Insight: Approved articles where the ArticleType is Insight, sorted by pinned, then date.
- Response: Approved articles where the ArticleType is Response OR Meta, sorted by pinned, then date.
Default behavior: Return approved articles where the title or tags match the query, or where the query matches the article's owner (user) ID and the article is not anonymous.
This endpoint will exclude archived articles and blog posts. It is recommended that instead of calling this endpoint with blog:: the BlogGetBulk endpoint be called directly.
This endpoint returns a JSON list of articles, each the same structure as the article JSON.
ArticleGet
Route: /api/v1/article/{id}
Type: GET
Calling this route with int article ID {id} returns the following JSON containing article information:
- id: author's userID (string)
- title: (string)
- date: (string)
- tags: space delimited string
- summary: (string)
- image: url (string)
- pinned: True/False (string)
- sensitive: True/False (string)
- spoiler: True/False (string)
ArticleGet
Route: /api/v1/article/{id}
Type: GET
Calling this route with int article ID {id} returns the following JSON containing article information:
- id: author's userID (string)
- title: (string)
- date: (string)
- tags: space delimited string
- summary: (string)
- image: url (string)
- pinned: True/False (string)
- sensitive: True/False (string)
- spoiler: True/False (string)
This route may also be used to get indiviudal blogs.
BlogGetBulk
Route: /api/v2/blog/list/{id}/{amount}/{skip}
Type: GET
This route functions similarly to ArticleGetBulk, but instead of a query, this route takes a user ID and returns blogs from that user. There are no special keywords in this route.
- id: author's userID (string)
- title: (string)
- date: (string)
- tags: space delimited string
- summary: (string)
- image: url (string)
- pinned: True/False (string)
- sensitive: True/False (string)
- spoiler: True/False (string)


The File Analyzer has shown great promise as a tool for implementing file name validation rules for large scale scanning projects – the classes in this package provide a consistent way to support project-specific file name tests.
{@linkplain gov.nara.nwts.ftapp.filetest.NameValidationTest} contains the base logic that makes use of these classes.