This is a collection of style and usage recommendations that tend to make Sawzall programs more robust, more readable and easier to maintain. Many of the recommendations are accompanied by a brief discussion of why the given style was chosen.
You should read the informal language description first.
This is a summary of the recommended style for the use of Sawzall language features. You can click on any rule to explore this rule in more detail. For a formal description of the Sawzall Language see the Sawzall Language Specification.
when
some
and when all
if possiblewhen each
as a shorthand for for-if logic if order is unimportantdef
after
conversion Programs are much easier to maintain when all files have a consistent style. Here is the recommended Sawzall style.
proto
s, include
s,
tables (output spec), input, functions, variable declarationsTODO(szluser): Verify that
size > 0.
What it is: External libraries can be included with an
include
clause. In fact, any .szl
file
can be included.
Pros: Allows lots of versatility and encourages reuse of code.
Cons: Allows circular and redundant inclusion.
(saw
will report a warning for multiple inclusions
of the same .proto
file.) Watch out for multiple
definitions of the same function or variable.
Decision: All include
clauses should occur
at the top of the file:
include "/home/szluser/examples/join.szl"
Be verbose with variable and function names and careful about which files you include. Always check what's included in the files you include.
Although it's best to put include
clauses at the
top of the file, sometimes it makes more sense to put them later
in the file. Only do so if necessary.
What it is: In addition to Sawzall's if
and
loop statements, there is also the when
statement,
which is useful when processing arrays and maps. There
are three quantifiers for a when
statement:
some
and all
execute the body at most
one time if some/all elements satisfy the condition, and
each
executes the body for each element that satisfies
the condition (see Loops Section).
Instead of having a traditional loop that sets a condition flag if some/all elements pass followed by an if statement that checks that flag before executing the condition body, you should do
when (i: some int; my_array[i] > 0) { emit stdout <- format("At least this element passed: i = %d", i); }if you just want to check that at least one element makes the condition true and
when (s: all string; my_map[s] > 0) { emit stdout <- "All elements passed"; }if you want to check that all elements make the condition true.
Pros: A when some/all
statement can make
the code simpler, especially when it comes to maps.
Cons: Does not work with some non-trivial conditions
(e.g. a[i % 2] > 0
).
Cannot iterate in one loop over multiple variables if they are
nested in an expression (e.g. a[i].b[j] < 12
).
Decision: Use when some/all
statement for cases when
qualifiers work and make code simpler.
What it is: In addition to the familiar for
,
while
and do
loops, there is also the
when each
loop. The when each
loop will
execute the body for each element that makes the condition true.
Instead of
for (i := 0; i < len(my_array); i++) { if (my_array[i] == "x") { f(my_array[i]); } }you can do
when (i: each int; my_array[i] == "x") { f(my_array[i]); }
Aside from the simpler syntax, the difference is that a
when
loop may not process the elements in order, but in
parallel instead. This is not currently implemented, but is a part of
the original language design.
Pros: A when each
statement can make the code simpler.
Cons: Might not process the elements in order, so does not work for loops where iterations cannot be executed independently because some iterations depend on the result of other iterations.
Decision: Use when each
if it makes the code simpler
and elements do not have to be processed in order. (One way to test
this is to check if the results will be the same if you run
the loop backwards.)
What it is: An undefined value can be returned by a function or intrinsic, and can be the result of various incorrect or incalculable operations including the failure to initialize a variable.
Pros: Default values are not necessary.
Cons: Accessing a value which is undefined will cause the execution of the program to fail.
Decision: After any type conversion, calling a function
that can return an undefined value, or other likely failure
location you should check that the value is defined. Although
the --ignore_undefs
flag will protect you against
undefined values, your program should not require that the flag
be set in order to work with reasonable, even slightly erroneous
input. Use the flag only to protect against unforeseen
problems.
log_record: LogrecordProto = input; # The input can be undefined. We could check for that here. # In this example, we instead let a later (necessary) def() check catch it: value: string = log_record.value; # This is a conversion because # log_record.value has type 'bytes'. if (!def(value)) return; result_int := int(string(log_record.args[value])); # Many conversions. if (def(result_int)) return result_int;
Note that undefined values can only be assigned on variable initialization. Any other use of undefined values will fail. So, borrowing from the last example above:
result_int: int; result_int = int(string(log_record.args[value])); # If this conversion fails, it will crash the program. The following # def() check will never be reached. if (def(result_int)) return result_int;
You do not need to check each field of a tuple. If the entire tuple is defined, each field will be as well. Type conversions of these fields, however, may fail.
log_record: LogRecordProto = input; if (!def(log_record)) { emit undefined_input_count <- 1; return; } if (def(log_record.value)) { # This is not necessary because log_record.value is defined iff log is defined. emit stdout <- string(log_record.value); # BAD, conversion may have failed. }
Exception: A conversion to type string
will always
succeed unless the result cannot be expressed correctly.
Exception to exception: Such failure can occur when
converting from a bytes
value using an encoding
such as UTF-8, which is the default. In that case, a
NUL
byte or other encoding error can result in an
undefined value. Therefore, conversions from bytes
values or complex values containing bytes
values
should be checked unless they are known to be safe. (Safety can
be guaranteed by the encoding ("hex" is always safe) or by the
provenance of the value.)
value: string = log_record.value; # implicit conversion bytes to string assert(def(value), "Failed to convert bytes to string"); counter := 0; emit stdout <- string(counter); # conversion int to string always defined log_str := string(input); assert(def(log_str), "Failed to convert some bytes field to string");
What it is: A static
variable will be
created only once for each invocation of the Sawzall engine
unlike non-static variables
which are created once per record. It must be initialized to a
static value. Once initialized, the value of a
static
variable cannot change. Literals are
considered static.
When a Sawzall computation is split across multiple executions (e.g. in map-reduce) care should be take to ensure that any environmental data (e.g. getenv results) will be the same across all executions, so that all static variables will have the same value in all executions.
Functions that make no use of per-instance variables from outside the
function can also be declared static
. (More accurately,
such function values can be used to initialize static variables of
function type.) Static variables
can be initialized to the value returned by static functions.
Pros: It is better to initialize a variable once per worker than once per record. If the value can't be changed there are no synchronization issues.
Cons: Sometimes, values need to vary per-instance. Also, implementation issues can prevent the use of static initialization.
Decision: Whenever possible, a variable should be
declared static
.
Functions should be declared
static
when they could be used for initializing static
variables.
static kTextFile := "/home/szluser/airport_codes"; static kAirports: map[string] of int = sawzall(string(load(kTextFile)), `[^\t]+`, skip `\t`, `[^\n]+`, skip `\n`);
What it is: In a declaration with an initializer, the type may be implicit or explicit. The following groups of statements are equivalent:
Eby2: float = 2.71828182845905 / 2.0; Eby2 := 2.71828182845905 / 2.0;
log_record: LogRecordProto = LogRecordProto(input); log_record: LogRecordProto = input; # Implicit conversion log := LogRecordProto(input);
MathIsPi: function(n: float): bool = function(n: float): bool { ... MathIsPi := function(n: float): bool { ... MathIsPi: function(n: float): bool { ... # Old syntax: equal sign omitted
Pros: Useful for shortening obvious declarations (e.g.,
index in a for-loop). Permits initialization via type
conversions without repeating the type twice in the same
statement. Using :=
allows users to be consistent
when declaring variables and functions (which are just another
variable type).
Cons: Different syntax than for declarations without an
initializer. Also, there are now two almost identical shortcuts
for functions. Some users find the new :=
notation
unusual, while the old one is inconsistent with variable
declarations. Finally, since the type is sometimes not
explicitly specified, the actual type of a variable initialized
with :=
might not be obvious from inspecting the
code.
Decision: Use shorthand notation to avoid type
repetition. In initializations where the type of the expression
is unclear or unusual, it is best to name the type explicitly.
In general, either notation is acceptable as long as it is used
consistently throughout the code (e.g., :=
for all
basic variable initializations, =
for all
initializations with implicit conversions, and :
for all functions).
What it is: Sawzall allows types to be nested within other types with hierarchical naming. The protocol buffer compiler for Sawzall supports this language feature. With the following protocol buffer declaration,
package mypkg; parsed message Foo { enum ID { BAR = 0, NUM_IDS = 1, }; optional ID id = 1; optional group G = 2 { optional int32 x = 3; }; };
you can access the elements of the protocol buffer as follows:
foo: mypkg.Foo = B""; # Protocol buffer types with packages are named as "package.Protocol" type T = mypkg.Foo.ID; # Nested types are fields of the type i := mypkg.Foo.BAR; # Nested static variables are fields of the type g: mypkg.Foo.G = foo.g; # The types of nested groups are fields of the type j := g.x; # Nested regular variables are still fields of the value
Pros: Far more natural than the earlier underscore-delimited syntax.
Cons: None
Decision: Use nested-tuple syntax when naming enum types, enum values, and group types nested within protos, and when naming proto types declared within packages.
Maximum line length is 80 characters.
Although it is best not to end a line in the middle of a statement, sometimes it is necessary. It is acceptable to place a line break after any boolean operator or after a comma in a function argument list.
if (my_very_long_boolean_variable || (some_numeric_variable > another_numeric_operator)) { ... } static kCategories: map[string] of int = sawzall(string(load("odp")), `[^\t]+`, skip `\t`, `[^\n]+`, skip `\n`);
Use spaces, not tabs, to indent.
Indent your code with 2 spaces when starting a new code block.
MathIsLarge: function(number: float): bool { return number > 6.022e23; };
Indent your code with 4 spaces when breaking a single code line anywhere other than in the middle of the code in parentheses. When a break occurs after a comma or an operator in the middle of the parentheses, align the continuation of the statement with the first character inside of the parentheses.
population: map[city: string] of count: int = sawzall(data_file_text, `[^\t]+`, skip `\t`, `[^\n]+`, skip `\n`);
or
population: map[city: string] of count: int = sawzall( data_file_text, `[^\t]+`, skip `\t`, `[^\n]+`, skip `\n`);
or
population: map[city: string] of count: int = sawzall(data_file_text, `[^\t]+`, skip `\t`, `[^\n]+`, skip `\n`);
DO NOT put a space before a semicolon.
DO put a space between if
, for
,
while
, when
and the first parenthesis.
DO put a space between the last parenthesis and the first curly brace.
when (i: each int; TronLogVersionIsAtLeast(record.list[i].version, 1)) {
DO put a space between colon and type.
log_record: LogRecordProto;
DO NOT put a space between an identifier and a colon in a declaration.
static kWeekendDays: array of string = { "Sat", "Sun" };
DO put a space before :=
.
i := 0; ValueIsDuplicate := function(new_value: bytes, old_value: bytes): bool { ... };
DO put a space before and after each binary operator.
total_weight: string = base_weight + supplemental_weight; emit stdout <- "Hello world!";
DO put a space between a comma and the next parameter.
DO NOT put a space before a comma.
DO NOT put a space between a parameter list's last parenthesis and the colon.
DO put a space between the colon and the return type.
DO NOT put a space between a function call and the first parenthesis.
ValueIsDuplicate: function(new_value: bytes, old_value: bytes): bool { ... }; if (ValueIsDuplicate(log_record.list[i].value, log_record.list[j].value)) {
DO NOT put spaces around code in parentheses ().
DO NOT put spaces around identifiers in square brackets [].
DO put spaces around one-line arrays, maps or tuples delimited by curly braces {} unless they are empty ({}, {:}).
DO put a space after commas separating elements within parentheses () or curly braces {}.
for (i := 0; i < size; i++)
current_entry = list[i];
holidays_in_december: array of int = { 24, 25, 31 };
When using curly braces to define the body of a function,
if
statement, or loop, put the first curly brace on the
same line and and last on a line by itself. However, you may omit the
curly braces if the body is just one line. Whether you choose to use
them in this case or not, you must be consistent.
if (!def(value) || !ValueIsGood(value)) { return; }
xor (but not both)
if (!def(value) || !ValueIsGood(value)) return;
Always begin the body on a new line.
# This is BAD. if (!def(value)) return; # Very, very bad! if (len(record.value) < 2) { return; } # Horrid.
Put a return statement on its own line.
if (!result.empty && !result.has_errors) { return false; }
If everyone follows the same general layout, we'll easily understand one another's scripts. It's much easier to help someone debug a script if you know where to find all the key parts. However, these are just suggestions, not rules.
proto
statementsinclude
statementsdef
checkComments in Sawzall run from a #
character to the end of
the line. Although not necessary, it's a good idea to have a space
between the #
and the first character of the comment.
#BAD comment
# Good comment.
The beginning of every Sawzall file should have a header that includes copyright info, authors, a short description of the file and its usage, e.g., a sample command line.
# Copyright 2010 Encom Inc. # All Rights Reserved. # # Author<EMAIL_ADDRESS>(Kevin Flynn) # # diva_script.szl: # Counts the number of occurrences of each diva in tron logs. #
Every function definition should be preceded by a short description of the purpose and definitions of parameters. Longer or more complex functions should also have declarations of preconditions and postconditions.
# Determine if this entry is logged from a tron run with a version at least # minver. # For a discussion of what fields are available in different versions of # the tron log see: # https://www.encom.html/tronlogs.html TronLogVersionIsAtLeast := function(entry: TronRecordProto, minver: string): bool { ... };
You must put two spaces before an inline comment.
x := 27 - bar; # This line definitely needs a good comment.
It is best not to publish code with TODO comments. However, if it becomes necessary, you should attach your user name to it along with an explicit description of the action to be taken.
# TODO(szluser): Check if is it possible for size < 0.
All identifiers consist of letters, digits and underscores and must begin with a character or underscore. They should be named according to the following conventions:
variable_names
(global, local, including function args)FunctionNames
TypeNames
kConstantNames
intrinsicfunctionnames
INTRINSIC_CONSTANTS
Sawzall keywords are reserved and cannot be used as identifiers. Also, Sawzall includes many intrinsic functions and other names that should not be overridden. As a rule, if the Sawzall compiler complains that you have hidden a global definition, rename the offending variable.
Although it is not necessary to give named identifiers to indices and elements for arrays, maps, and tables, it is stylistically recommended because it helps comment your code. Also, the identifiers given to the parts of an output table are saved in the type information that can be exported for use by other tools.
diva_stats: table sum[diva: string] of { rating: float, fan_count: int };
Furthermore, if you assign the keys of a map to an array, all the index identifiers must match.
divas: map[name: { first: string, last: string }] of fan_count: int = {:}; ... # Parameters must not only be in the same order, but their identifiers must # also match. diva_names: array of name: { first: string, last: string } = keys(divas);
Since Sawzall doesn't have packages or namespaces, you should use explicit identifiers to avoid collisions. When writing a library you should preface each function with a name describing that library.
GetStreet: function(address: AddressProto): string; # BAD name AddressGetStreet: function (address: AddressProto): string; # Good name
BE CONSISTENT.
If you're editing code, take a few minutes to look at the code
around you and determine its style. If they use braces with
their if
clauses, you should too. If their function
comments individually describe each parameter and return value,
make your comments do so too.
The point of having style guidelines is to have a common vocabulary of coding so people can concentrate on what you're saying rather than on how you're saying it.  If code you add to a file looks drastically different from the existing code around it, it throws readers out of their rhythm when they go to read it. Avoid this.


Quality\nAssurance
User\nExperience
Extensions\nForge
Internationalization
Health
Security
Reference
Forums
Blog(s)
Flickr
Vimeo
Wiki
Microsoft
Facebook
YouTube
LinkedIn
SlideShare
Twitter
Day of\nDotNetNuke
Community\nTeam\nMeetings
Meetups
Webinars
Birds of a\nFeather
Hackathons
User\nGroups
Code\nCamps
CodePlex
Form &\nList
Events
Store
Media
XML
IFrame
Feedback
DotNetNuke.com
Forum
Reports
Wiki
Authentication
Survey
Announcements
Gallery
Users\nOnline
Chat
Repository
FAQ
Help
Map
News
Documents
Community\nSupport
Customer\n Support
Training
Infrastructure
Sponsors
Partners
Snow\nCovered
Customers
Connections\n US\EU
Product
Engineering
Marketing
Sales
Management
Module\nPublishers
Skin Designers
Hosters
Consulting\nServices\nProviders
Bloggers
Podcasters
Forum\nUsers
Video\nPublishers


Less Pain: Make Your Office More Comfortable and Ergonomic
Like many of you, I've experienced a lot of issues with (im)proper posture while using my workplace office setting. I've had to go to massage parlors in order to alleviate the pain I had accumulated in my trapezius muscles. But, luckily, I've come across some very nice tips recently, and most of them come from this video from the Wall Stree Journal Youtube Channel:
As an extra, more specifically, if you're suffering from the same trapezius pain I used to have, your keyboard is probably at a higher level than it should be. This forces your shoulders to go up, contracting your trapezius. Another thing I've managed to diagnose in my case is that sometimes I tend to rest my head on one of my hands while using the table to support my body. This puts a lot of stress on only one side of my trapezius and, eventually, I developed a lot of pain on my left trapezius — the right hand is usually in charge of the mouse —, which also happened to propagate towards my inner back muscles.
There are two other videos in that same channel that are also worth the watch, and which are listed below:


| Modifier and Type | Field and Description |
|---|---|
protected Activity |
WorkflowMaker.myBeanshell |
| Modifier and Type | Method and Description |
|---|---|
Activity |
Scufl2Tools.createActivityFromProcessor(Processor processor,
Profile profile) |
| Modifier and Type | Method and Description |
|---|---|
ProcessorBinding |
Scufl2Tools.bindActivityToProcessorByMatchingPorts(Activity activity,
Processor processor) |
void |
Scufl2Tools.createActivityPortsFromProcessor(Activity activity,
Processor processor) |
Configuration |
Scufl2Tools.createConfigurationFor(Activity activity,
URI configType) |
ProcessorBinding |
Scufl2Tools.createProcessorAndBindingFromActivity(Activity activity) |
void |
Scufl2Tools.createProcessorPortsFromActivity(Processor processor,
Activity activity) |
List<ProcessorBinding> |
Scufl2Tools.processorBindingsToActivity(Activity activity) |
| Modifier and Type | Method and Description |
|---|---|
Activity |
Processor.createActivity(Profile profile)
Create an untyped activity for the processor.
|
Activity |
Processor.getActivity(Profile profile)
Get the activity bound to this processor in the given profile.
|
| Modifier and Type | Method and Description |
|---|---|
Activity |
OutputActivityPort.getParent() |
Activity |
InputActivityPort.getParent() |
| Modifier and Type | Method and Description |
|---|---|
void |
OutputActivityPort.setParent(Activity parent) |
void |
InputActivityPort.setParent(Activity parent) |
| Constructor and Description |
|---|
InputActivityPort(Activity activity,
String name)
Constructs an
InputPort for the specified
Activity with the specified name. |
OutputActivityPort(Activity activity,
String name)
Constructs an
OutputPort for the specified
Activity with the specified name. |
| Modifier and Type | Method and Description |
|---|---|
Activity |
ProcessorBinding.getBoundActivity()
Returns the
Activity that will be used to enact the
Processor if this ProcessorBinding is used. |
| Modifier and Type | Method and Description |
|---|---|
NamedSet<Activity> |
Profile.getActivities()
Returns the
Activity s that this Profile
contains. |
| Modifier and Type | Method and Description |
|---|---|
void |
ProcessorBinding.setBoundActivity(Activity boundActivity)
Sets the Activity that will be used to enact the
Processor
if this ProcessorBinding is used. |
| Modifier and Type | Method and Description |
|---|---|
void |
Profile.setActivities(Set<Activity> activities)
Sets the
Activity s that this Profile contains. |
| Modifier and Type | Method and Description |
|---|---|
Activity |
ParserState.getCurrentActivity() |
| Modifier and Type | Method and Description |
|---|---|
void |
ParserState.setCurrentActivity(Activity currentActivity) |
| Modifier and Type | Method and Description |
|---|---|
Activity |
ParserState.getCurrentActivity() |
protected Activity |
T2FlowParser.parseActivity(Activity origActivity) |
protected Activity |
T2FlowParser.parseActivityAndAddToProfile(Activity origActivity) |
| Modifier and Type | Method and Description |
|---|---|
void |
ParserState.setCurrentActivity(Activity currentActivity) |
| Modifier and Type | Method and Description |
|---|---|
protected com.fasterxml.jackson.databind.node.ObjectNode |
AbstractActivityParser.parseAndAddInputPortDefinition(ActivityPortDefinitionBean portBean,
Configuration configuration,
Activity activity) |
protected com.fasterxml.jackson.databind.node.ObjectNode |
AbstractActivityParser.parseAndAddOutputPortDefinition(ActivityPortDefinitionBean portBean,
Configuration configuration,
Activity activity) |
| Modifier and Type | Method and Description |
|---|---|
Activity |
LoopParser.ConditionalActivityParser.parseActivity(Activity origActivity) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract void |
DispatchingVisitor.visitActivity(Activity bean) |
void |
DefaultDispatchingVisitor.visitActivity(Activity bean) |
void |
CorrectnessVisitor.visitActivity(Activity bean) |
Copyright © 2015–2016 The Apache Software Foundation. All rights reserved.


- starting working out again daily with bodyweight exercises (since it's Portuguese classes semester break)
- building a workflow for Alfred so that I can start Toggl timers without any friction
- setting up my company processes (tracking time, invoice system, etc...)
- working for my first client, the University of Saint Joseph
- building my vocabulary database from fiction I've been reading
- reading fiction and non-fiction
- learning to play (on the guitar) and sing heartbeats from The Knife
- meetings, discussions, relfections with friends (in small groups, usually 1 to 1)


ISL to Text Information
ISL to text is your personal assistant
to convert any text to the
INDIAN SIGN LANGUAGE(ISL).

Hope you appreciate our efforts and hardwork.
Click here to know more


--- layout: post title: Sketches description: Ballpoint sketches date: '2019-01-24 12:31:26 +0100' categories: - Sketchbooks - Sketches ---
Sketches, ballpoint.


When will the U.S. Dollar bubble burst?
When the U.S. Dollar was hijacked in 1913 on December 23th, issued by a privately owned bank, the Federal Reserve Bank. The first bills were supposed to have the exact worth of what was printed on them. So if you had one dollar, you really could buy goods in the value of 1 dollar for them. Today the same dollar is just worth a few cents.
U.S. Dollar Intransparent Money Scam since 1900
Paper money is easily fakeable and has ever been faked by criminal institutions or individuals.
The Federal Reserve Bank was established through a deceptive hoax during X-Mas time [read more] and the U.S. Dollar domination is secured by force, not by free will. That means, at one point in the future people will have enough and the resistance will have grown so large that they will stop using the U.S. Dollar from one day to the other.
The Superdollar Fake Bill
The real & smart king realizes when he is beat and starts partying with the crowd.
This economic process is called inflation, or 'Intransparent Money Scam - IMS'. Because the nature of the old paper money is intransparency. Nobody knows how many paper bills are really in circulation and how many bills the government is going to print next. Nobody knows which war will be next or will the government blow up the money in a nuclear bomb again?
All these insecurities cause a devaluation of the old paper money, the old paper money is highly insecure and can easily be faked by other nations. Wars also have a high influence on the value of the dollar, the U.S. Empire has invaded more and more countries every year, since world war one, since the Federal Reserve Bank has been established.
List of Wars of the most aggressive regime in history of mankind
Which countries has the United States empire NOT invaded??
The Federal Reserve Bank was established through a deceptive hoax [read more] and the U.S. Dollar domination is secured by force, not by free will. That means, at one point in the future people will have enough and the resistance will have grown so large that they will stop using the U.S. Dollar from one day to the other.
As more and more people realize the scam about the U.S. Dollar, these who are still holding dollars are worse off every day. That is what we are experiencing right now, the national currencies are heavily devaluating against the crypto backed currencies. More and more people are buying crypto for their dollars, but the other way around it is not happening. Therefore the value of the crypto market rises and rises, unstoppable. This cryptovolucion is not stoppable because it is running on a computer network which can not be compromised and it is supported by the population itself, out of free will.
Crypto Market Cap Growth 2017 to 2018: 1000%
The national currencies will continue to devaluate, until the day they come up with their own crypto backed currencies.  The governments will have to offer discounts for using their currency in tax related issues or they will try to enforce usage of their currency by national laws (which can not work).
Crypto is forcing governments to implement fair currencies which can not be faked
The bank was even holding all your value, you were actually lending your money to the bank and you were not in possession of it! The bank had a liability/debt against you, because the bank controlled your money. As much as the bank controlled your money, governments could shut down acounts and scam all your money. The biggest scam in history of that kind was probably the scam that happened to Kim Dotcom. He is a multi millionaire and even to him, these things can happen.
Kim Dotcom's life was destroyed by the banking system dependency
To myself it has also happened, the bank closed my account, as it is written in the terms and conditions of the Deutsche Kreditbank (DKB) that they can shut down any account within 2 month.  I had to send an e-mail to the bank, so that i would get my own money back, which they had freezed after they had illegally closed my account.
Banks are illegally harassing crypto customers
I say the closing was illegal, because i was not notified properly to be able to adapt to the new situation. They claimed to have sent me paper post which was returned, but they never tried to send me a simple e-mail or put me a message in my online banking account. How hilarious is that, as i am using their online banking and it is an online banking only bank? Why did they shut down my account directly? They could also just invalidate the credit cards so that i would still be able to make tranfers with my own money but would surely quit using their service soon.
Crypto For The Win
The governments will not be able to enforce anything in the future, because if we do not want to use their coin, we can be using other coins secretly and only change to their coin when we get in contact with the government. The future is bright, we can be more than optimistic, the hackers and crypto anarchos, libertarians and hippies will establish a peaceful society, check out my upcoming article about The Liquid Government.
Respect yourself, be your own authority. Respect your nature, be peaceful and lovely to yourself.
Feliz 14 Feb 2018
Any feedback is welcome, you can contact us and we will improve the website according to the feedback.
If you want to get involved, you can also send us articles (including backlinks) and we will release the articles if they are crypto related and useful for the community.


The candidate archaeal phylum ‘Aigarchaeota' contains microorganisms from terrestrial and subsurface geothermal ecosystems. The phylogeny and metabolic potential of Aigarchaeota has been deduced from several recent single-cell amplified genomes; however, a detailed description of their metabolic potential and in situ transcriptional activity is absent. Here, we report a comprehensive metatranscriptome-based reconstruction of the in situ metabolism of Aigarchaeota in an oxic, hot spring filamentous ‘streamer' community. Fluorescence in situ hybridization showed that these newly discovered Aigarchaeota are filamentous, which is consistent with the presence and transcription of an actin-encoding gene. Aigarchaeota filaments are intricately associated with other community members, which include both bacteria (for example, filamentous Thermocrinis spp.) and archaea. Metabolic reconstruction of genomic and metatranscriptomic data suggests that this aigarchaeon is an aerobic, chemoorganoheterotroph with autotrophic potential. A heme copper oxidase complex was identified in the environmental genome assembly and highly transcribed in situ. Potential electron donors include acetate, fatty acids, amino acids, sugars and aromatic compounds, which may originate from extracellular polymeric substances produced by other microorganisms shown to exist in close proximity and/or autochthonous dissolved organic carbon (OC). Transcripts related to genes specific to each of these potential electron donors were identified, indicating that this aigarchaeon likely utilizes several OC substrates. Characterized members of this lineage cannot synthesize heme, and other cofactors and vitamins de novo, which suggests auxotrophy. We propose the name Candidatus ‘Calditenuis aerorheumensis' for this aigarchaeon, which describes its filamentous morphology and its primary electron acceptor, oxygen.
Members of the candidate archaeal phylum ‘Aigarchaeota' were first identified in a subsurface hydrothermal ecosystem ( Hirayama et al., 2005 ; Nunoura et al., 2005 ; Nunoura et al., 2011 ) and recently in a terrestrial hot spring as part of the Genome Encyclopedia of Bacteria and Archaea (GEBA) project utilizing single-cell genomics ( Rinke et al., 2013 ). Aigarchaeota-related 16S rRNA genes have been detected in numerous terrestrial, subsurface, and marine hydrothermal environments ( Hirayama et al., 2005 ; Nunoura et al., 2005 ; Costa et al., 2009 ; Vick et al., 2010 ; Meyer-Dombard et al., 2011 ; Cole et al., 2013 ; De Leon et al., 2013 ; Takacs-Vesbach et al., 2013 ). Phylogenetic placement of Aigarchaeota remains ambiguous, but recent phylogenomic studies reveal a close relationship with the Thaumarchaeota and possibly Crenarchaeota ( Brochier-Armanet et al., 2011 ; Nunoura et al., 2011 ; Rayman et al., 2014 ). These reports have provided important insight into the phylogeny and evolution of the Aigarchaeota, yet little is known about the metabolic potential or in situ activity of members of this phylum. Near-complete genome sequences have been generated for several members of the Aigarchaeota using cultivation-independent methods including fosmids ( Nunoura et al., 2011 ), single-cell amplified genomes ( Rinke et al., 2013 ; Alba et al., 2014 ; Hedlund et al., 2014 ) and metagenomics ( Alba et al., 2014 ; Hedlund et al., 2014 ). However, limited genome characterization and metabolic activity analysis has been completed on any members of this group ( Nunoura et al., 2011 ; Rinke et al., 2013 ), especially those Aigarchaeota important in geothermal ecosystems of Yellowstone National Park (YNP). Moreover, no attempts have been made to link members of the Aigarchaeota with microbial activity (for example, metatranscriptomics) in relation to other community members and their physicochemical environment.
The environmental genome of Candidatus ‘ Caldiarchaeum subterraneum' was recovered from a mildly acidic (pH=5.1), oxic (~10 μ
The filamentous ‘pink streamer' communities at Octopus Spring (OS) (Lower Geyser Basin, YNP) have been observed, studied, and intrigued scientists for more than 100 years ( Setchell, 1903 ; Brock, 1967 ; Bauman and Simmonds, 1969 ; Stahl et al., 1985 ; Reysenbach et al., 1994 ; Jahnke et al., 2001 ; Blank et al., 2002 ). A recent study of the three predominant lineages of Aquificales in YNP ( Takacs-Vesbach et al., 2013 ) showed that the high temperature (~82 °C) OS streamer community contained several uncharacterized and uncultured taxa, including a novel Aigarchaeota population. The presence of Aigarchaeota in OS presents an excellent opportunity to understand the metabolic capabilities and the activity of this population in situ. Consequently, the objectives of this study were to (i) obtain a detailed genome-based metabolic reconstruction of the predominant Aigarchaeota population present in OS, YNP, (ii) identify the morphology and spatial arrangement of Aigarchaeota and adjacent Thermocrinis spp. using fluorescence in situ hybridization (FISH), and (iii) determine the in situ transcriptional activity of this Aigarchaeota population to elucidate metabolic processes and potential community interactions.
OS ( Figure 1; Thermal Inventory ID LWCG138) is an alkaline siliceous geothermal spring located in the White Creek Area of the Lower Geyser Basin Region (lat 44.534083611, long −110.79788944) of YNP, WY, USA. The sample site discussed herein is classified as a ‘pink' filamentous ‘streamer' community ( Figure 1), which has been the subject of many prior studies (for example, Bauman and Simmonds, 1969 ; Stahl et al., 1985 ; Reysenbach et al., 1994 ; Jahnke et al., 2001 ; Blank et al., 2002 ; Takacs-Vesbach et al., 2013 ). The metagenome sample discussed here was part of a 20-site study in YNP that included Aquificales-dominated ecosystems ( Takacs-Vesbach et al., 2013 ; Inskeep et al., 2013 ). These streamer communities colonize habitats across a temperature range of 78–84 °C, pH~8 and DO ~40 μ
Community DNA was extracted from OS ‘pink streamer' biomass ( Figure 1) sampled on 23 August 2007 by enzymatic and bead-beating lysis, pooled and sequenced using Sanger technology at the Department of Energy-Joint Genome Institute, Walnut Creek, CA, USA (see Takacs-Vesbach et al., 2013 for details on sequencing and assembly). In addition, Illumina sequencing was performed at Department of Energy-Joint Genome Institute to increase sequencing depth and coverage on two samples collected on 13 October 2011 and 5 October, 2012 from DNA extracted with the FastDNA Soil DNA extraction kit and protocol (MP Biomedicals LLC, Solon, OH, USA). The metagenomic sequence discussed here is publically available on the Integrated Microbial Genomes with Microbiome Samples under the IMG submission IDs 885, 10389 and 14458 for the 2007, 2011 and 2012 samples, respectively. Metagenome statistics from these samples are summarized in Supplementary Table S2.
Nucleotide word frequency-principal components analysis (NWF-PCA) of assembled metagenome sequence ( Takacs-Vesbach et al., 2013 ) from OS revealed the presence of a novel Aigarchaeota lineage and several new bacterial taxa distantly related to the Thermotogae ( Takacs-Vesbach et al., 2013 ; Colman et al., 2015 ). Other community members in OS include Thermocrinis spp., Pyrobaculum spp. and a novel Firmicutes population ( Takacs-Vesbach et al., 2013 ; Jay et al., 2014 ; Coleman et al., 2015) . A total of 1.16 Mb of sequence was recovered for the novel Aigarchaeota population with an average G+C content of 60.2% ( Figure 2; Supplementary Table S3). The de novo aigarchaeon Sanger assembly (that is, Calditenuis aerorheumensis) was further analyzed with NWF-PCA (online web server,
RNA was extracted from a matched sample of the OS ‘pink' streamer community (13 October 2011) by modifying a FastRNA Pro-Soil-Direct Kit (MP Biomedicals) extraction kit and method. RNA from the streamer community was preserved in the field by placing streamer biomass directly into RNALater (Life Technologies, Carlsbad, CA, USA) and shaking vigorously for ~15 s. Streamer biomass (~0.5 g, n=3) was removed from the RNALater solution in a sterile, RNase-free hood, added to 0.5 ml of RNApro soil lysis solution in a lysing E matrix tube and vortexed for 15 min. The sample lysate was then centrifuged at 16 000 g for 10 min. The supernatant was transferred into a new 2 ml microcentrifuge tube (~500–800 μl), to which 1 ml of TriReagent was added and incubated for 5 min at room temperature (RT). Next, 200 μl of chloroform was added to the TriReagent/lysate mixture and incubated for 15 min at room temperature, followed by centrifugation at 16 000 g at 4 °C for 15 min. The triplicate supernatants containing RNA were pooled, and 500 μl of ice cold isopropanol (100%) was added and incubated overnight at −20 °C to facilitate RNA precipitation. RNA was pelleted by centrifugation at 16 000 g at 4 °C for 15 min and the pellet was washed once in ice cold 70% EtOH and centrifuged as before. The pellet was allowed to dry at room temperature for ~30 min, and immediately resuspended in 100 μl of TE buffer (pH=7, Life Technologies) and quantified with a Qubit 2.0 fluoremeter and Qubit RNA Broad Range Assay kit (Life Technologies). Total RNA quality was checked with a Bioanalyzer 2100 (Agilent Technologies, Santa Clara, CA, USA). DNA contamination was analyzed by PCR with universal archaeal and bacterial 16S rRNA genes primers and ethidium bromide agarose gel electrophoresis. When DNA was present it was removed by DNase I treatment (New England Biolabs, Ipswich, MA, USA) for 30 min at 37 °C, followed by lithium chloride/EtOH precipitation overnight at −20 °C ( Beam et al., 2014 ).
Double-stranded complementary DNA (cDNA) was synthesized at the Department of Energy-Joint Genome Institute from the OS total RNA extracts. In all, 2 μg of total RNA was subjected to rRNA depletion using Ribozero rRNA removal kit—Bacteria (Epicentre, Madison, WI, USA). Ribosomal RNA-depleted RNA was purified using Ampure XP beads (Agencourt, Beckman Coulter, Indianapolis, IN, USA), then fragmented using RNA Fragmentation Reagents (Life Technologies) at 70 °C for 2 min, targeting fragments ranging from 200 to 300 bp, then purified using Ampure XP beads. Reverse transcription was performed using SuperScript II Reverse Transcriptase (Life Technologies) with an initial annealing of random hexamers (Fermentas, Thermo Fisher Scientific, Pittsburgh, PA, USA) at 65 °C for 5 min, follow by an incubation of 42 °C for 50 min and an inactivation step at 70 °C for 10 min. Complementary DNA (cDNA) was then purified with Ampure XP beads, followed by second strand synthesis at 16 °C for 1 hour using a dNTP mix where dTTP is replaced by dUTP. Double-stranded cDNA fragments were purified and selected for targeted fragments (200–300 bp) using Ampure XP beads. The dscDNA was then blunt-ended, A-tailed and ligated with library adaptors using Kapa Library Amplification Kit (Kapa Biosystems, Wilmington, MA, USA) and purified using Ampure XP beads. Digestion of dUTP was then performed using AmpErase UNG (Applied Biosystems, Life Technologies) to remove second strand cDNA. Digested cDNA was purified with Ampure SPRI beads, followed by 10 cycles of PCR amplification using Kapa Library Amplification Kit. The final library was cleaned with Ampure SPRI beads and sequenced on an Illumina HiSeq 2000 platform generating paired-end reads of 150 bp.
Ribosomal RNA reads were removed in silico using the Kmer-based tool DUK ( Li et al., 2011 ) and messenger RNA (mRNA)-enriched reads were mapped to the Calditenuis aerorheumensis assembly from OS utilizing Rockhopper, which uses a Bowtie2-like alignment algorithm ( McClure et al., 2013 ). Mapped mRNA reads were standardized by the calculation reads per kilobase of transcript per million reads mapped (RPKM), which allows for the direct comparison of the level of transcription of all genes in the de novo assembly ( Supplementary Table S4). RPKM is calculated in Rockhopper as: RPKM=((number of mapped reads/length of transcript (gene) in kilobase)/million mapped reads); McClure et al., 2013 ). Generally, if more reads map to a transcript of length x, and less map to another transcript with the same length x in the same sample, the former will have a higher RPKM value, and thus represent more in vivo transcriptional activity.
A detailed 16S rRNA gene tree was constructed that contained a broad representation of members of the ‘Aigarchaeota' in context with the Thaumarchaeota and Crenarchaeota. Aigarchaeota-related 16S rRNA genes were retrieved by BLAST homology from NCBI nr database including environmental sequences. Calditenuis aerorheumensis was also put into context by including 16S rRNA genes from recent Aigarchaeota single-cell genomes ( Rinke et al., 2013 ; Alba et al., 2014 ; Hedlund et al., 2014 ). Sequences were aligned with ClustalW 1.6 implemented in MEGA 5.2.2 ( Tamura et al., 2011 ) with default alignment settings. Alignments were manually inspected for obvious misaligned regions and introns, and removed from the final alignment (for example, most Thermoproteales contain 16S rRNA gene introns). A maximum-likelihood phylogenetic tree was created from the final alignment (1328 nucleotide positions) with the general time reversible model, estimated alpha parameter and four discrete gamma categories in MEGA 5.5.2 (100 bootstraps) ( Tamura et al., 2011 ). Physical and aqueous geochemical data mapped onto the 16S rRNA gene tree is from Great Boiling Spring ( Costa et al., 2009 ; Rinke et al., 2013 ), Little Hot Creek ( Vick et al., 2010 ), Yellowstone Lake ( Kan et al., 2011 ) and other YNP hot spring environments ( Meyer-Dombard et al., 2011 ; Takacs-Vesbach et al., 2013 ).
A concatenated ribosomal protein phylogeny was constructed with 16 ribosomal proteins that were identified in all Aigarchaeota sequence assemblies (>1 Mb, n=4) shared with Thaumarchaeota, Crenarchaeota and Eukarya. The deduced proteins identified that fulfilled the above criteria were: L5, L10, L14, L15, L18, L19E, L24E, L24P, L44E, S6E, S8, S11P, S19, S27E and S28E. The deduced protein sequences were aligned individually with ClustalW 1.6 with default alignment parameters in MEGA 5.5.2 ( Tamura et al., 2011 ). The resulting alignments were concatenated with a custom perl script (
Hot spring microbial filaments from OS (~82–84 °C) were collected on 28 August 2013 with a sterile scalpel and immediately fixed in 1% paraformaldehyde (final concentration) for 5 min at 4 °C. The fixative was then decanted and the sample was washed once in a 1:1 solution of 1 × phosphate-buffered saline:100% ethanol (EtOH) mixture (~10 ml) and stored in the 1:1 solution of 1 × phosphate-buffered saline: 100% EtOH at −20 °C until FISH. A FISH probe specific for all Group 1 A aigarchaeota ( Figure 3; Aig800, Cy3-5′-GGC CCG TAG CCG CCC CGA CA-3′-Cy3; Supplementary Table S5) was manually designed from 16S rRNA gene alignments of this group around 16S rRNA sites accessible to probes ( Behrens et al., 2003 ) and dual labeled with Cy3 (Integrated DNA Technologies, Coralsville, IA, USA) ( Stoecker et al., 2010 ). Individual masses of microbial filaments were removed from the storage solution and rinsed three times in 0.22 μm filtered double-distilled water (ddH
Filamentous ‘pink streamer' biomass was collected from OS on 12 October 2011 and fixed with 1% (final concentration) filter-sterilized glutaraldehyde. Streamer biomass was placed on a 0.22-μm filter and coated with iridium to reduce charging, and imaged with a Zeiss SUPRA 55VP field emission scanning electron microscope (Image and Chemical Analysis Laboratory, Montana State University) at low voltage (1 keV).
The sequence assembly of the Aigarchaeota population from OS was compared with all available Aigarchaeota sequence assemblies (>1 Mb total sequence) using tetra-NWF-PCA ( Figure 2a). The aigarchaeon from OS ( Candidatus ‘ Calditenuis aerorheumensis', hereafter referred to as Calditenuis aerorheumensis) exhibits highly similar codon usage and G+C content to aigarchaeon B22 from Great Boiling Spring (GBS) ( Figure 2a). Further G+C content analysis of assembled sequence confirmed the close relationship of C. aerorheumensis to aigarchaeon B22 with average G+C contents of 60.2 and 61.3%, respectively ( Figure 2b). These two lineages have an average nucleotide identity of 87% among shared assembled sequence (~0.7 Mb), which suggests that they likely belong to the same novel candidate genus, Calditenuis. Calditenuis aerorheumensis and aigarchaeon B22 share a large amount of deduced protein sequences (~800) >80% amino-acid identity ( Figure 2c), and also supports their inclusion in the same genus. Aigarchaeon J15 from GBS and Caldiarchaeum subterraneum each form separate clusters in NWF-PCA due to differences in codon usage bias and G+C content ( Figure 2a and b). The relative abundance of C. aerorheumensis populations has been relatively stable over three sampling years at OS and represent 5.2±2.5% of all the random-sequence reads ( Supplementary Table S1). A total of 1422 protein-encoding genes were predicted ( Supplementary Table S3), which corresponds to a coding density of ~1.2 protein-encoding genes per kb genome, similar to the protein-encoding density in aigarchaeon B22 of 1.13 protein-encoding genes per kb genome. Genome completeness estimates from conserved archaeal single-copy genes ( Rinke et al., 2013 ) suggest that the C. aerorheumensis assembly is ~80% complete, which equates to an estimated genome size of ~1.45 Mb. The high protein-coding density taken together with the small-predicted genome size suggests that this organism may have undergone extensive genome streamlining ( Giovannoni et al., 2005 , 2014 ).
All known Aigarchaeota encode for actin, which suggests that they are rods or filaments ( Ettema et al., 2011 ); however, no definitive morphological observations have been made for any member of the Aigarchaeota. FISH with probe Aig800 designed to target terrestrial Group 1 A Aigarchaeota (including aigarchaeon B22) revealed that Calditenuis aerorheumensis populations in OS are filamentous ( Figure 3a and b) ranging from 0.5 μm (diameter) by up to 20 μm (length), but may be longer due to damage during cryosectioning or sample dehydration. The broad-coverage archaeal FISH probe Arch915 also hybridized to these filaments ( Figure 3a and b). Calditenuis aerorheumensis filaments were often found in close contact or vicinity of Thermocrinis spp. ( Figure 3a and b), which were specifically detected using the newly designed probe Aqi338 ( Kubo et al., 2011 ), and might be related to metabolite sharing and/or auxotrophic requirements of C. aerorheumensis. FISH probes targeting Thermocrinis spp., all bacteria, and all archaea revealed a close association of all microorganisms in the OS streamer community ( Figure 3c and d). Archaea and Thermocrinis spp. are often found in helical bundled filaments, and Thermocrinis spp. can also be found in contact with other bacteria ( Figure 3c and d). Scanning electron micrographs of the OS streamer community ( Figure 3e and f) also confirm the filamentous habit of several population types, which range in diameters of ~0.2–0.5 μm up to ~0.7–1 μm. Small (<20 nm), extracellular polymeric substances (EPS) were evident in SEM images and represent a significant volume of the OS streamer community biomass ( Figure 3e and f).
Phylogenetic analysis of 16S rRNA genes from the candidate phylum Aigarchaeota across numerous terrestrial, subsurface and freshwater geothermal environments revealed eight genus-level lineages ( Figure 4). The C. aerorheumensis population groups with several YNP 16S rRNA gene clones from YNP Bison Pool ‘streamers', as well as single-cell sequence (aigarchaeon B22) from GBS ( Figure 4) at temperatures ranging from ~74 °C to 86 °C and pH values of 7.2–7.9. Group 1A Aigarchaeota are found in oxic hot spring ecosystems (DO ~10–53 μ
The C. aerorheumensis assembly was utilized to align metatranscriptome reads from OS (~18 million mRNA enriched reads). A total of 544 290 mRNA reads were aligned to C. aerorheumensis, which constitutes ~3% of the total mRNA reads from the streamer community. Analysis of all mRNA reads using Cluster of Orthologous Genes showed that the transcription of a number of cellular processes were higher than their relative abundance in the genome ( Supplementary Figure S1). Notably, energy production and conservation, and amino-acid transport and catabolism were over-transcribed compared with the relative abundance in the genome ( Supplementary Figure S1). This finding suggests that amino-acid transport and catabolism is an important energy, carbon and nitrogen source for C. aerorheumensis in the streamer community.
A detailed metabolic model was constructed for C. aerorheumensis using curated genome sequence and mRNA transcripts mapped to individual genes in each pathway ( Figure 6). Pathways and metabolic functions that exhibited increased transcription levels were emphasized to reflect in situ activity ( Figure 6). The streamer community present in OS ( Figure 1) oscillates in the high-velocity channel ( Supplementary Movie S1), which has aqueous O
The C. aerorheumensis population in OS also contains an operon encoding a putative tetrathionate reductase (TTR) system (_00420–_00424). To date, archaeal TTRs have only been identified in Pyrobaculum spp. and Archaeoglobus fulgidus ( Cozen et al., 2009 , Liebensteiner et al., 2013 ). The TTR operon was transcribed at low abundance (RPKM ~9000; Figure 6) and suggests that reduction of other terminal electron acceptors may provide an alternative to oxygen. Tetrathionate (S
Reducing equivalents (for example, NADH) generated from the oxidation of OC substrates (see below) are fed into the electron transport chain at the NADH dehydrogenase complex ( Figure 6; complex I), which is not encoded in an operon. The membrane-bound succinate dehydrogenase complex ( Figure 6; complex II) also feeds the electron transport chain. The C. aerorheumensis assembly does not encode a typical cytochrome C complex III for electron transport to complex IV (HCO); however, several membrane-bound blue copper proteins may serve as electron carries to the HCO or TTR complexes ( Figure 6; _00503–_00505). The C. aerorheumensis population from OS has a complete electron transport chain, predominantly coupled to the reduction of oxygen, and adenosine triphosphate (ATP) synthesis driven by an archaeal V-type ATP synthase ( Figure 6).
Calditenuis aerorheumensis contains genes necessary for the degradation of different organic carbon (OC) compounds coupled with adenosine triphosphate (organotrophy) and biomass (heterotrophy) synthesis. Major carbon substrates utilized for growth include acetate, fatty acids, amino acids and sugars. These OC constituents may originate from EPS produced by other thermophilic bacteria and archaea in OS and/or from autochthonous dissolved OC ( Supplementary Table S1). Acetate is transported by a putative citrate/acetate antiporter (_00932; RPKM ~20 000), and utilized by an acetyl-CoA synthetase (_00897) to produce acetyl-CoA ( Figure 6), which can then be fed into the tricarboxylic acid (TCA) cycle or gluconeogenesis. Acetate utilization is further supported by the presence of a functional glyoxylate bypass ( Figure 6). The presence of isocitrate lyase (_00945; RPKM ~29 000) and malate synthase (_01089; RPKM ~70 000; Figure 6) provides a mechanism to incorporate carbon from acetate into biomass without the loss of CO
C. aerorheumensis also exhibits the metabolic capacity to utilize numerous amino acids and oligopeptides as carbon and energy sources. Transporters for amino acids were identified in the de novo assembly ( Figure 6), and branched-chain amino acids are transported by a high-affinity ABC transporter that was highly transcribed ( Figure 6; RPKM>100 000). A single copy of a dihydroxy acid dehydratase ( ivlD; _01261) was identified, which may catalyze the conversion of branched-chain amino acids to TCA intermediates. Other amino acids are catabolized by a 2-oxoisovalerate oxidoreductase complex (_00164+_00741), which was also highly transcribed (RPKM>70 000), then incorporated into the TCA cycle ( Figure 6).
A set of genes containing LigA and LigB homologs were identified in a single operon (_01094–_01099) potentially involved in the degradation of lignin or other aromatic compounds. Transcription levels in this pathway were increased for a hypothetical protein (_01096; RPKM ~200 000) and a ferredoxin ring-hydroxylating dioxygenase (_01095; RPKM ~70 000). The aromatic compound utilized by this pathway could not be identified, but these genes are also found in other Aigarchaeota ( Hedlund et al., 2014 ). The source pool and outflow channel of OS contain significant concentrations of dissolved OC (~60 μ
It has been suggested that some members of the Aigarchaeota are capable of using CO as an energy source ( Nunoura et al., 2011 ; Rinke et al., 2013 ; Hedlund et al., 2014 ), but physiological evidence is lacking. The C. aerorheumensis assembly contains five copies of putative large-subunit aerobic CO dehydrogenases ( coxL) (COG1529; _00394; _00730; _01206; _01316; 01360). However, all putative CoxL homologs from Aigarchaeota lack the conserved active site residues (VAYRCSFR) identified in canonical aerobic CO dehydrogenases ( Supplementary Figure S2; Dobbek et al., 2002 ). The gene order of the middle and small subunits (_00406; _00407) is identical to the aerobic CO oxidizer, Oligotropha carboxidovorans, and both contain necessary cofactor binding sites ( Dobbek et al., 1999 ). The transcription of coxSML genes were elevated ( Figure 6; RPKM>150 000), so the function of these enzymes is important to determine and may aid in interpreting in situ physiology. Dissolved CO concentrations measured in OS are below detection (~10 n
C. aerorheumensis exhibits two routes for the conversion of glucose to pyruvate via either Embden–Meyerhof–Parnas glycolysis or Entner–Doudoroff pathways ( Figure 6). A putative glucose ABC transporter operon was identified (_00266–_00269) and transcription was low except for the periplasmic subunit (_00269; Figure 6). Gluconeogenesis is also possible and the key enzyme fructose 1,6-bisphosphate aldolase/phosphatase is present, which has the conserved residues (GKDDP) implicated in catalysis ( Say and Fuchs, 2010 ). All genes required for a complete TCA cycle were also identified with the exception of fumarase ( Figure 6). Transcription of TCA cycle genes were high (RPKM >10 000), which is consistent with apparent primary sources of OC that C. aerorheumensis populations utilize in situ (that is, acetate, fatty acids and amino acids). A complete oxidative pentose phosphate pathway was identified in C. aerorheumensis with the exception of gluconolactonase, which is also absent in other thermophilic Thaumarchaeota ( Spang et al., 2012 ; Beam et al., 2014 ).
Autotrophic Crenarchaeota and Thaumarchaeota fix inorganic carbon dioxide via the 3-hydroxypropionate/4-hydroxybutyrate (HP/HB) or dicarboxylate/4-hydroxybuyrate (DC/HB) cycles, which share a key marker enzyme, 4-hydroxybutyryl-CoA dehydratase (4-BUDH; Berg et al., 2010 ). A gene for a Type-2 4-BUDH (_01438) was identified in the C. aerorheumensis assembly ( Figure 7; Supplementary Figure S3); however, Type-2 4-BUDHs have yet to be biochemically characterized, and all share a conserved His-292, but lack conserved cysteine residues required for (4Fe-4S) cluster binding ( Berg et al., 2007 ). The transcription of the Type-2 4-BUDH was very high (RPKM>100 000) in C. aerorheumensis ( Figure 7). No other function for this gene can be assigned other than the conversion of 4-hydroxybutyryl-CoA to crotonyl-CoA, which suggests that the Aigarchaeota Type-2 4-BUDHs may be functional in the HP/HB cycle. Moreover, C. aerorheumensis encodes for every gene of the HP/HB pathway, with the exception of NADPH-dependent malonate semialdehyde reductase and methylmalonyl-CoA epimerase ( Figure 7; Supplementary Table S8). This is the first activity-based measurement that suggests members of the Aigarchaeota may fix carbon dioxide via the HP/HB pathway.
Pathways responsible for the synthesis of all amino acids, F
Archaeal flagella are more similar to type IV secretion systems found in bacteria and have nothing in common with bacterial flagella other than the use for motion or taxis ( Jarrell and Albers, 2012 ). All genes within an operon for an archaeal flagellum were found in C. aerorheumensis (_00011–_00018), and were transcribed at low levels ( Figure 6; RPKM<1500). Flagellar synthesis may be more important during streamer formation and could explain the downregulation of these genes in this ‘mature' community. A pilus system (_01412–_01414) was also identified in C. aerorheumensis. All pilus genes were highly transcribed ( Figure 6; RPKM>150 000) and may be involved in cell–cell contact and association of C. aerorheumensis with other community members observed in FISH images ( Figure 3a and b). The pilus system in C. aerorheumensis may be involved in the formation of EPS, which are abundant and represent a substantial fraction of the community biomass ( Figure 3e and f). Pili have been identified in other archaea as well, and are involved in cell–cell adherence and/or biofilm formation ( Albers and Meyer, 2011 ).
The provisional taxonomic assignment for this group of Aigarchaeota is ‘ Candidatus: Calditenuis aerorheumensis' alluding to its thermal habitat, filamentous shape and aerobic catabolism.
Calditenuis gen. nov.
Calditenuis aerorheumensis sp. nov.
Genus : Caldi (L. adj.): warm, tenuis (L. adj.): thin or slender. Species: aero (Gr. noun): air or atmosphere, rheumensis (Gr. noun); a stream, current, or that which flows. The Genus name describes the organism's thermophilic nature and thin, filamentous shape. The species name alludes to the organism's principal terminal electron acceptor, oxygen and filamentous ‘streamer' habitat.
Locality: oxic (~30 μ
Diagnosis: a thin, filamentous, aerobic chemoorganohetero(auto)troph from the Aigarchaeota.
Comment: Future efforts to isolate members of this genus and all other Aigarchaeota (with the exception of aigarchaeon J15) might consider adding heme to vitamin solutions, which is not common in Wolfe's vitamin solution ( Wolin et al., 1963 ) typically used in archaeal enrichment cultures. Moreover, C. aerorheumensis is likely oligotrophic and may not respond to high concentrations of C sources and/or vitamins.
This work was supported by the Department of Energy (DOE)—Pacific Northwest National Laboratory Foundational Science Focus Area in Biological Interactions (Subcontract 112443), the DOE—Joint Genome Institute Community Sequencing Projects (CSP 787081 and 787701), the National Science Foundation—Integrative Graduate Education and Traineeship Program (JPB, ZJJ and R de MJ; DGE 0654336), and an Advanced Grant of the European Research Council to MW (MCS and MW; NITRICARE 294343). The work conducted by the Department of Energy-Joint Genome Institute, a DOE Office of Science User Facility, was supported by the Office of Science of the US DOE (contract no. DE-AC02-05CH11231). We appreciate Brian Hedlund and Tim Alba for data sharing, Christie Hendrix and Stacey Gunther (YNP Center for Resources) for research permitting in YNP (permits YELL-SCI-5068 and -5686) and Betsey Pitts for cryosection instruction and helpful comments on confocal microscopy. FISH images were taken at microscope facilities at the Center for Biofilm Engineering (Montana State University) funded by the NSF-MRI Program and the M.J. Murdock Charitable Trust. The open access fees were generously provided by the Library's Author Fund at Montana State University.
Supplementary Information accompanies this paper on The ISME Journal website (http://www.nature.com/ismej)
The authors declare no conflict of interest.
Click here for additional data file.
Click here for additional data file.
Click here for additional data file.
Click here for additional data file.
Click here for additional data file.
Click here for additional data file.
Click here for additional data file.
Click here for additional data file.
Click here for additional data file.
Click here for additional data file.
Click here for additional data file.
Click here for additional data file.
Click here for additional data file.
Click here for additional data file.
Photograph of a pink filamentous ‘streamer' community found in the outflow channel of OS (24 July 2014).
NWF-PCA ( a) of the aigarchaeon de novo assembly ( Calditenuis aerorheumensis, red) from OS compared with Candidatus ‘ Caldiarchaeum subterraneum' (yellow), and single-cell Aigarchaeota genomes from Great Boiling Spring (GBS): aigarchaeon B22 (blue) and aigarchaeon J15 (purple). The G+C content (%) of scaffolds ( b) from C. aerorheumensis (red), GBS aigarchaeon B22 (blue) and GBS aigarchaeon J15 (purple) plotted as a function of decreasing scaffold length. The cumulative scaffold length is on the secondary y-axis (red, blue and purple lines represent C. aerorheumensi, GBS aigarchaeon B22 and GBS aigarchaeon J15, respectively). Deduced protein sequence comparison ( c) of Calditenuis aerorheumensis versus aigarchaeon B22 (blue), aigarchaeon J15 (purple) and Caldiarchaeum subterraneum (yellow).
FISH composite images ( a, b) of OS filamentous streamer thin sections (5 μm) hybridized with the following DOPE probes: Cy3-Aig800 targeting Group 1A aigarchaeota (purple), Cy5-Arch915 (blue) and 6-FAM-Aqi338 (green). The aigarchaeota filaments are purple due to the overlapping emission from the Cy3 (red) and Cy5 (blue)-labeled probes. FISH composite image ( c, d) with general probes Aqi338 (green), Eub338 (red) and Arch915 (blue). Scanning electron micrographs ( e, f) of OS streamer community, showing filamentous organisms and condensed EPS and/or cellular appendages.
Maximum likelihood 16S rRNA gene phylogenetic tree (1328 unambiguously aligned nucleotide positions) of the candidate phylum ‘Aigarchaeota', Thaumarchaeota and Crenarchaeota rooted with Thermus thermophilus. Bootstrap (BS) values from 100 replications are included at the nodes; BS values <50% were not included. Scale bar represents the number of nucleotide substitutions per site.
Maximum likelihood phylogenetic tree of 16 concatenated ribosomal proteins (2249 amino-acid positions) from Calditenuis aerorheumensis compared with other Aigarchaeota, Thaumarchaeota, Crenarchaeota and Eukarya included as an outgroup. Numbers at the nodes represent bootstrap values from 100 replications and the scale bar represents the estimated amino-acid substitutions per site.
Detailed metabolic reconstruction of Calditenuis aerorheumensis from OS based on environmental genome sequence and standardized mRNA reads (reported as RPKM; McClure et al., 2013 ). Numbers in colored boxes correspond to enzymes in specific pathways ( Supplementary Table S6). ABC, adenosine triphosphate binding cassette; BC, blue copper protein (membrane bound); CO?, potential aerobic CO dehydrogenase complex; DOP, dissolved organic phosphorous; ED, Entner–Doudoroff; EMP, Embden–Meyerhof–Parnas glycolysis; GS, glyoxylate shunt/bypass; HCO, HCO complex (subunits I+III, II); II, succinate dehydrogenase complex; NUO, NADH dehydrogenase complex; PPP, oxidative pentose phosphate pathway; PRX, 1 and 2-cysteine peroxiredoxin; SOD, superoxide dismutase; TCA, tricarboxylic acid cycle; TTR, tetrathionate reductase complex.
The 3-hydroxypropionate/4-hydroxybutyrate CO
| Pathway | Auxotroph | Transporter locus |
|---|---|---|
| Aromatic AA | N | — |
| Branched-chain AA | N | Many |
| Heme | Y | _00183–_00186 |
| F
420
|
N | — |
| Thiamin (B
1 )
|
Y | _00602 |
| Riboflavin (B
2 )
|
Y | _00369–_00370 |
| Niacin (B
3 )
|
Y | _01243–_01244 |
| Pantothenate (B
5 )
|
N | — |
| Pyroxidine (B
6 )
|
N | — |
| Biotin (B
7 )
|
Y | _00296–_00298 |
| Cobalamin (B
12 )
|
Y | Salvage pathway |
Abbreviations: AA, amino acid; N, no; Y, yes. '—' indicates no transporter.


by DeesW.
Posted on September 6, 2016 at 9:00 PM
1. Ice Ice can be used to quickly reduce the redness, swelling and inflammation of pimples. It helps in improving blood circulation to the affected area, and in tightening the skin pores and removing dirt and oil accumulated on the skin. You can use ice cubes or crushed ice, whichever is convenient.
2. Lemon Another quick way to get rid of pimples is the use of lemon juice, which is rich in vitamin C. Lemon juice helps pimples dry up faster. Be sure to use fresh lemon juice and not bottled juice, which has preservatives. There are a couple of ways to apply this remedy. Dip a clean cotton swab in fresh lemon juice and apply it to the pimples before going to bed. You can also mix one tablespoon of lemon juice with one teaspoon of cinnamon powder and put it on the pimples overnight. In the morning, wash the skin well with lukewarm water. However, this particular remedy is not suitable for those with sensitive skin.
3. Tea Tree Oil Tea tree oil is excellent for treating acne and pimples. It has antibacterial properties that help fight the bacteria that cause these skin problems. Plus, its soothing properties help reduce the redness and inflammation of pimples. It also helps dry out blackheads and whiteheads. Just dip a cotton ball in tea tree essential oil and dab it on the affected area. Rinse your face after 15 to 20 minutes. Another option is to mix a few drops of tea tree oil in 1 tablespoon of aloe vera gel. Apply it on your pimples and blemishes, leave it on for 20 minutes and then rinse it off. Note: Steer clear of tea tree oil if you have sensitive skin.
4. Toothpaste The toothpaste that you use every morning to clean your teeth also can be used to treat pimples quickly. It is most effective when used following the ice remedy. You must use white toothpaste; avoid using gel toothpaste.  In the morning, wash your face with water and you will see a significant improvement in the swelling. If you wish, you can repeat the process in the daytime also. Just make sure the toothpaste remains on the pimples for at least half an hour.
5. Steam Steaming is wonderful for your skin at any time, but particularly when you have pimples. The steam will open your pores and allow your skin to breathe. This helps get rid of oils, dirt and bacteria trapped in the pores that can cause infection or inflammation. Fill a large container with hot water and allow the steam to come in contact with your face for a few minutes. Rinse your face with lukewarm water and, after drying, apply an oil-free moisturizer.
6. Garlic Garlic is an antiviral, antifungal, antiseptic and antioxidant agent that can help in the fast treatment of pimples. The sulfur in garlic also promotes quick healing of pimples. Cut a fresh garlic clove into two pieces. Rub the garlic on the pimples and leave it for five minutes before washing the skin with lukewarm water. Repeat the treatment several times a day. Eating one raw garlic clove daily can also help purify your blood. But do not to eat too much raw garlic as it can upset the stomach.


The L-shape recession occurs during a severe recession. It is defined by a steep decline in economic growth followed by a recovery where
it takes years to return to trend line growth. L-shaped recessions are often referred to as "depressions." An example of an L-shape
recession is The Late 2000s recession in the United States.


Godfather (code) related functions. You may also want to subscribe to events (see CotcSdk.GamerGodfather.OnGotGodchild).
◆ OnGotGodchild
Event triggered when someone adds this gamer as a friend or changes his friendship status.
◆ DiscardEventHandlers()
| void CotcSdk.GamerGodfather.DiscardEventHandlers |
( |
| ) |
|
Clears all event handlers subscribed, ensuring that a match object can be dismissed without causing further actions in the background.
◆ Domain()
Changes the domain affected by the next operations. You should typically use it this way: gamer.Godfather.Domain("private").Associate(...);
- Parameters
-
| domain | Domain on which to scope the next operations. |
- Returns
- This object for operation chaining.
◆ GenerateCode()
| Promise<string> CotcSdk.GamerGodfather.GenerateCode |
( |
| ) |
|
Method to call in order to generate a temporary code that can be passed to another gamer so he can add us as a godfather.
The domain as specified by the Domain method is the domain in which the godfather link should be established. "private" means it's local to this game only.
- Returns
- Promise resolved when the operation has completed. The attached string is the generated code.
◆ GetGodchildren()
This method can be used to retrieve the gamer who have added you as a godfather.
- Returns
- Promise resolved when the operation has completed.
◆ GetGodfather()
This method can be used to retrieve the godfather of the gamer.
- Returns
- Promise resolved when the operation has completed.
◆ UseCode()
Call this to attribute a godfather to the currently logged in user.
- Returns
- Promise resolved when the operation has completed.
- Parameters
-
| code | Is a string as generated by GenerateCode. |
| rewardTx | A transaction Json rewarding the godfather formed as follows: { transaction : { "unit" : amount}, description : "reward transaction", domain : "com.clanoftcloud.text.DOMAIN" } where description and domain are optional. |
| notification | Optional OS notification to be sent to the godfather who generated the code. The godfather will reveive an event of type 'godchildren' containing the id of the godchildren and the balance/achievements field if rewarded. |


{% extends "global/Base.html" %} {% load staticfiles otree_tags %} {% block title %} Instructions {% endblock %} {% block content %}
These will be our instructions for player D in treatment TDlow.
There will be much more text here and maybe tables too
[...]


Learn about how to access and play The New York Times Crossword.
Learn more about The New York Times Crossword for Windows 8.1 »
A subscription to The New York Times Crossword gives you access to the daily puzzle online and in our iPhone and iPad apps, as well as access to all puzzles in our archive. Acrostics and variety puzzles are also available, but only on the web.
You can subscribe to The Crossword here or by selecting Subscribe online or in the app.
There is a free trial period of seven days in the app. After that, you can play two selected crosswords from our archive (updated weekly) for free online. You can also play the Mini Puzzle (updated daily) in the app. Several other games are also available for free online, including sudoku and KenKen puzzles. Curated Puzzle Packs are also available for individual purchase.
Yes. You can link your account between the app and the website, and we encourage you to do so. You can work on the same puzzle throughout your day from different devices and the web and have a complete record of puzzles you’ve solved wherever you go.
If you subscribed online, go to Account Settings in the app and tap Log In/Create. Type in the email address and password associated with your subscription and tap Log In.
Go to the Account Settings page in the app (under the icon icon in the top right corner of the front page) and tap Log In. You can create a free NYTimes.com account if you don't already have one. If you subscribed via the web, type in the email address and password associated with your subscription and tap Log In. You should now have access to the puzzles in the app and on the web, and your puzzle progress should sync between the two.
If you subscribed through iTunes, you'll need to link your subscription to NYTimes.com to enable web access. To do this, after logging in/creating an account as specified above, tap Restore Purchases and, if prompted to do so, enter your Apple ID and password. Please note, you must log in using the Apple ID which purchased the app. Finally, tap the Connect Account button. Your NYTimes.com account should now have full crossword entitlements and can be used to access your subscription on the web or in the app on another device without having to Restore Purchases (pack purchases are iOS-only and cannot be linked to your NYTimes.com account at this time. If you have purchased packs, you will still have to Restore Purchases to access them on another device).
Puzzle Packs are curated collections of puzzles from our archive available in our app. Each Puzzle Pack is centered around a theme. Purchased packs appear in My Packs.
Note: Puzzle Packs are not currently available on our website.
Access to our puzzle archive requires a subscription. To view the complete archive in the app, tap Calendar from the main screen. You can then tap on the date at the top of the calendar screen to navigate through puzzles by month and year. To view the complete archive online, click the Archive tab at the top of the main crossword page.
The NYTimes Crossword app works on any device with iOS 5.1.1 or later. If iOS 5.1.1 is not available for your device, you can continue to use the older version of the app. However, we will not be able to offer you technical support, and you will be unable to renew your subscription when it ends.
Go to your Account Settings. Enter your email address and password, then tap Log In.
Yes. As long as you have downloaded a puzzle, you can solve it while offline.
Note: You will need to restore your network connection to sync your progress with your other devices and the web.
Each daily puzzle is available the evening before it appears in the newspaper. On weekdays, the puzzle is available at 10 p.m. Eastern time. On weekends (Saturday and Sunday, for Sunday and Monday’s puzzles), the puzzle is available at 6 p.m. Eastern time.
To receive alerts on your device when the newest daily puzzle is available, enable push notifications.
The weekly variety puzzles are available on NYTimes.com the Thursday before appearing in the Sunday magazine. The monthly bonus puzzles are available online on the first day of the month.
The daily puzzles increase in difficulty from Monday to Saturday. The Sunday puzzle, while larger than the others, is approximately as difficult as the Wednesday or the Thursday puzzle.
To view the archive in the app, tap Calendar from the main screen. Puzzles you have not yet downloaded have down arrow icons. To download them, tap on the icons. To learn more, please see What do the icons in the archive mean?
Note: The calendar is not available during your free trial or when you are not logged in to your account.
Please see the following list for the meanings of the puzzle icons:
This puzzle is unavailable right now.
A new puzzle is available.
This puzzle has not been downloaded.
This puzzle has been downloaded, but you have not started solving it.
You have correctly solved this puzzle.
You have correctly solved this puzzle, and it qualifies for a streak.
You have correctly solved this puzzle, and it qualifies for a streak. However, you have not downloaded it to your device.
This represents a streak (which can be as few as two days).
You have completed this puzzle incorrectly.
The amount of blue squares in the puzzle image corresponds to your puzzle progress.
You can print puzzles by accessing the crossword from your browser on your desktop or phone (there is no printing function on the iOS app). You can also download PUZ files which can be opened and played in Across Lite (find out more about Across Lite here). There are several areas where you can print:
a.) Printing Today’s Puzzle from the NYTimes Crossword Homepage
b.) Printing Today’s Puzzle from the Puzzle Page from the desktop browser
c.) Printing Today’s Puzzle from the Puzzle Page from a mobile browser
d.) Printing/downloading other puzzles
Note: if you are viewing the archive in calendar view on the iPad, the hover buttons do not appear and you should use the archive List View. In the archive List View you can click the word “Puzzle” to open a PDF for printing or you can click the word “Across Lite” to download the PUZ file.
Once you click to print, you will be given the option to print the puzzle, the answers, or in some cases where available, the newspaper version of the puzzle. You can also use the ink saver to make the black squares less dark.
By default, the cursor will skip over squares that are already filled in and stop at the end of each clue. To customize cursor movement, tap the gear icon in the upper right corner of any puzzle.
Note: If you are typing into a square that is already filled, the cursor will always move to the next square. This way, you can easily overwrite a word.
For daily puzzles, tap Reveal and then Reveal All. You can also reveal an individual square or word from this menu. For variety puzzles only available in printed form, the solution is posted on the archive page about a week after the puzzle is released.
You will get a message congratulating you if you solve the puzzle correctly. If the board is completely filled in but you have not received a message, there is at least one incorrect square.
You can use pencil mode to indicate that you are uncertain about an answer. Letters entered in the default pen mode are black, while letters entered in pencil mode are gray.
When solving a puzzle in the app, tap the pen icon to switch from one mode to the other. When solving a puzzle online, select the pen icon for pen mode and the pencil icon for pencil mode.
Letters entered in the default pen mode are black, while letters entered in pencil mode are gray. Letters that have been confirmed with Check are blue. Letters that have been revealed to be inaccurate with Check are red. These will return to the default color if you change an incorrect letter to a new one. However, a gray flag will remain on the square. A red flag will remain on the square if letters are revealed to be inaccurate with Reveal.
A clue will turn gray after you have entered all letters; this applies whether you are right or wrong.
The clock is displayed by default in the app. You can hide it by switching Show Clock in the puzzle settings menu to Off. When you visit The Crossword online, you can click Show Clock to display it and Hide to remove it. If you clear the entire puzzle, your clock will restart.
There is a separate keyboard in the app for symbols and numbers. To switch to it, tap the button in the lower left corner of your screen.
To switch back to the standard keyboard, tap the ABC button.
Currently, you can’t change your user name.
You can view your puzzle statistics with an accompanying bar graph on the My Statistics page.
To access My Statistics, tap the icon in the top left corner of the front page.
Note: You will need version 2.5.0 or later of the app to view the My Statistics page.
The My Statistics page contains your puzzle statistics (Puzzles Solved, Solve Rate, Current Streak and Longest Streak) with an accompanying bar graph.
The number of Puzzles Solved reflects the number of puzzles solved without using Check or Reveal. The Solve Rate is the number of puzzles solved (without using Check or Reveal) over the number of puzzles attempted. Streaks reflect the number of consecutive Crossword puzzles solved before midnight on their publication dates (Eastern time) without using Check or Reveal.
In the bar graph, the current day features three colored bars. The blue bar indicates your average solve time for this day of the week, the pink bar indicates your solve time for the most recent puzzle solved on this day of the week and the yellow bar indicates your best solve time for this day of the week.
Other days of the week have one blue bar with three colored dots. Blue dots (labeled with A) indicate your average solve time for that day of the week. Pink dots (labeled with T) indicate your solve time for the most recent puzzle completed on that day of the week. Yellow dots (labeled with B) indicate your best solve time for that day of the week.
Please note that using Check or Reveal disqualifies that puzzle's solve time from the Scorecard and from the My Statistics Page.
Some puzzles require two or more letters to be entered into one square. This is called a rebus.
When solving the puzzle online, press Escape on a square. Type in the rebus and then press Enter (or press Escape again to cancel). You can also click elsewhere on the screen to return to regular mode.
When solving the puzzle in the app, tap Rebus while the square is selected (for iPhone, tap More to access the Rebus key). Tap Rebus again or tap elsewhere on the screen to return to regular mode.
You can use the following keyboard shortcuts.
You can move the cursor left, right, up or down with the arrow keys. You can also switch from Across mode to Down mode with the up or down keys and from Down mode to Across mode with the left or right keys. You can jump to the next clue the tab key or to the previous clue with the shift key and the tab key. You can press Escape to enter Rebus mode or Backspace to clear the current square (if filled) or the previous square.
You can also customize the behavior of these keys in Account Settings.
This depends on the device you are using to solve the puzzle. In both the iPhone and iPad apps, you can pinch open to zoom in on the puzzle. In the iPhone app, you can also switch to a Clue View in which clues are presented in list form. To switch to Clue View, tap the icon in the top right corner of your screen. To switch back to a standard view, tap the icon again.
When solving the puzzle online, you can use your browser’s built-in zoom feature to increase the size of the puzzle.
If you are having trouble accessing your subscription or Puzzle Packs, go to the Account Settings screen and tap Restore Purchases.
To find out when your subscription will expire, follow the steps below.
If the date has passed, you will need to resubscribe to The Crossword.
Please note that if you have updated from the previous version of the app, you will need to create a new subscription rather than resubscribe.
Yes. You can give a one-year digital Crossword subscription to friends and family.
The New York Times accepts major credit cards and PayPal. Subscriptions are billed every month or every year, depending on your type of subscription. Your subscription will be renewed automatically, and you will be charged in advance of each billing cycle unless you cancel. To prevent interruptions to your service, we also suggest that you verify your credit card information is current in your Purchase History.
Note: If you purchased your subscription through a third-party application, please refer to the relevant terms.
If you purchased your subscription from The New York Times, please call Customer Care at<PHONE_NUMBER>. If you purchased your subscription through iTunes, please follow these steps to cancel:
For details about refunds, please review our Terms of Sale.
Print and digital subscriptions to The New York Times do not include free access to The Crossword. However, they do give you 50 percent off. For more information on subscriptions, please see the Digital Subscriptions FAQ.
If you have any feedback or questions about The New York Times Crossword, please send them to NYTCrossword@nytimes.com.


authr-mongo
MongoDB adapter for authr module.
This is used internally by authr to interact with user data saved in MongoDb.
See the main project for instructions for how to use authr.
Using the adapter
- Install authr and the adapter
npm install authr authr-mongo --save
- Specify mongodb as your database type in the authr config:
var Authr = require('authr');
var config = {
db: {
type: 'mongodb',
host: 'localhost',
port: 27017,
database_name: 'some_db',
collection: 'some_collection'
}
}
var authr = new Authr(config);
You can also preserve document nesting by specifying the location for essential values in your user config
var Authr = require('authr');
var config = {
user:{
username: 'account.username'
},
db: {
type: 'mongodb',
host: 'localhost',
port: 27017,
database_name: 'some_db',
collection: 'some_collection'
}
}
With the above configuration, your mongo documents can look like this:
{
account: {
username: 'jtowers'
}
}
And the adapter will save new user information to the appropriate path.
Features
User signup
Todo
...everything else.
- Implement account verification
- Implement login
- Implement account recovery
- Implement account deletion


API Basejump: Timestamp microservice
Example usage:
https://basejump-l39.c9users.io/December%2015,%202015
https://basejump-l39.c9users.io/1450137600


Chika Onyebueke was born in Louisiana. Before moving to Seattle, Chika had lived in the south all his life. Form June 2006 to May 2014 Chika served in the USAF. Chika worked hard as a jet engine mechanic on the EPIC AC-130 Gunship . After leaving the military, Chika wanted to learn a new skill. Since Chika has always been a computer geek, he enrolled in Georgia State University as a Computer Science major. Not satisfied with traditional education system, known to most as "academically lazy", Chika enrolled in coding school.
Most of Chika's goals revolve around making life better for he and his family. As web developer, Chika will use his resources to invest and grow the family auto body business, buy his mom a house, and continue to work on inventions and non-profit organizations for urban youth and military veterans.


Contact Us
Princeton Plasma Physics Laboratory:
P.O. Box 451
Princeton, NJ 08543-0451
GPS: 100 Stellarator Road
Princeton, NJ 08540 U.S.A.
(609) 243-2000
For Press and Media inquiries:
<EMAIL_ADDRESS>Princeton Plasma Physics Laboratory is a U.S. Department of Energy national laboratory managed by Princeton University.
Princeton Plasma Physics Laboratory
P.O. Box 451
Princeton, NJ 08543-0451
GPS: 100 Stellarator Road
Princeton, NJ, 08540
(609) 243-2000


Objects and Methods
An object is a collection of elements; each element can either be a property or a method. A property holds a single data value, and a method will perform some action that is defined as a function.
The easiest way to create an object is by specifying the members through a set of name/value pairs like this:
var myObject = {
color: "Red",
count: 5
};
You can also define methods using this notation, like this:
var myObject = {
color: "Red",
count: 5,
log: function () { // This is a Method
var messageOut = "Quantity: " + this.count + ", Color: " + this.color;
document.getElementById('outputObj1').innerHTML = messageOut;
}
};
Constructors and Instantiation
JavaScript does not use classes. Instead you can reuse an object definition by creating a constructor function.
A constructor can take parameters, and this is often used to initialize the properties. For example, you can write your constructor to take a color and a count parameter:
function Item(color, count){
this.color = color;
this.count = count;
this.msgOut2 = function () {
var messageOut2 = "Quantity: " + this.count + ", Color: " + this.color;
document.getElementById('outputObj2').innerHTML = messageOut2;
};
}
Then create the greenObject variable(Instantition) like this:
var greenObject = new Item("Green", 7);
Prototypes and Inheritance
A prototype is a model or blueprint from which actual objects are instantiated.
You can add a property to an existing object like this:
greenObject.isAvailable = true;
This would add the isAvailable property to the greenObject only; however, if you add this to the Item prototype then the new property would be available for all instances.
You can modify the prototype by accessing it with the prototype property of the constructor function:
Item.prototype.isAvailable = true;
This defines the new property on the prototype and initializes it to true. Now all objects created with the Item() constructor will have the isAvailable property:
var blueObject = new Item("Blue", 3); //Create a new Item object
if (blueObject.isAvailable){
var messageOut3 = "The blue object is available";
}
You can add methods to a prototype in the same way:
Item.prototype.add = function(n){this.count += n;};
References:
Pro HTML5 with CSS, JavaScript, and Multimedia
Complete Website Development and Best Practices
Mark J. Collins
JavaScript Step by Step, Third Edition
Steve Suehring


Tokyo 2020 unveils 15,000-seat Olympic aquatics center
Tokyo - Tokyo 2020 organisers on Thursday unveiled the $523 million venue for swimming, diving and artistic swimming that will seat 15,000 fans for the Olympic and Paralympic Games next year.
Construction is 90 percent complete at the four-storey Aquatics Centre and is due to be finished on schedule by the end of February, officials said.
"We are aiming to construct a swimming venue to the world's highest standards equipped with the latest facilities," Tokyo 2020 venue official Daishuu Tone told reporters.
The main pool features a movable wall allowing the 50m facility to be converted into two 25m pools. The depth of the bottom can also be adjusted.
The building cost 56.7 billion yen but Tokyo hopes to make the most of the facility after the 2020 Games, aiming to attract one million users a year - 850,000 through swimming competitions and another 150,000 casual users.
Organisers also unveiled the Ariake Arena on Thursday, a 37-billion-yen site for Olympic volleyball and wheelchair basketball.
Construction on the main venue, the 159 billion yen National Stadium, has been completed and will be unveiled in a gala opening on December 21.
Musicians and star athletes will join the event, with world-record sprinter Usain Bolt featuring in an exhibition relay.
Read also
Read More
Strong earthquake strikes near Thai-Laos border
The quake was felt across northern Thailand and by people in tall buildings as far away as the capital, more than 600 km (400 miles) to the south.
Read More
Tuvalu rejects China offer to build islands and retains ties with Taiwan
Tuvalu's foreign minister said on Thursday the South Pacific nation had rejected offers from Chinese companies to build artificial islands to help it cope with rising sea levels, an approach viewed as undermining Taiwan's influence in the region.


CEO Hacks 2015
- This was Georgia State University's first hackathon. The theme was "hack the school", where participants come up with hacks to improve the college life.
- I had an idea for an alternative to being on hold with financial aid for long periods of time, which was a website that allows you to enter a virtual queue, and see your place in the queue as you advance.
- My role was to implement the website.
Unlock the Box 2015
- At this civic hackathon, dedicated to expanding voting access and encourage civic participation, our team came up with the idea to make an iOS app and website allowing voters without transportation to search for nearby voters volunteering to give rides.
- My role was to implement the website.
- A link to the source code on GitHub is here.


--- layout: compress --- {% include head.html %}
AUTOZPA
INDIA'S FASTEST GROWING CAR-CLEANING FRANCHISE


This is the main component of your cardinal application. It should be present in your index.html
file.
This component accepts children elements.
If no children is provided, a default renderer will be used. The default render has the following layout:
left sidebar : page identity (logo, title), footer;
right container : page title, page content;
For providing a custom layout, the slot of the psk-app-root could be provided as follows:
The related style of the slotted components or elements should be accomplished as described in Themes.
In the end, the index.html
file should look like the following code example.
<!DOCTYPE html>
<html lang="en">
<head>
Cardinal.js - Mini Framework for building web applications
<link rel="icon" type="image/png" sizes="96x96" href="/favicon.png">
<link href="/assets/css/main.css" rel="stylesheet" type="text/css">
</head>
<body>
</body>
</html>


Founder of Syrian 'White Helmets' found dead in Istanbul
by ReutersISTANBUL: The British founder of an organisation that trained the “White Helmets” emergency response group has been found dead in Istanbul, five years after the group was set up to perform rescue work in rebel areas during the Syrian civil war.
The body of James Le Mesurier, founder of the Mayday Rescue group, was found early on Monday near his home in central Istanbul’s Beyoglu district, a neighbour said. The Istanbul Governor’s Office said an investigation had been launched.
A security source told Reuters it was believed that Le Mesurier had fallen from the balcony of his home office and his death was being treated as suspected suicide.
The White Helmets, known officially as Syria Civil Defence, have been credited with saving thousands of people in rebel-held areas hit by bombing by government and Russian forces in Syria’s more than eight-year-old civil war.
White Helmets members say they are neutral. Syrian President Bashar al-Assad and his backers, including Moscow, describe them as tools of Western propaganda and insurgents.
The Russian Foreign Ministry said on Twitter on Friday that the White Helmets help “the most dangerous terrorist groups” and that Le Mesurier was a former British agent with reported “connections to terrorist groups”.
Ambassador Karen Pierce, UK Permanent Representative to the UN, described Le Mesurier as a “true hero” when she was asked about his death by reporters.
“The causes of death at the moment are unclear. We will be looking very closely to see how the investigation goes. I hope the Turkish authorities will be able to investigate thoroughly,” she said.


BLD PWR is a non-partisan, grassroots liberation initiative of Accelerate Impact, a sponsored program of the Social Impact Fund, a 501(c)(3) charitable organization. Note: Your donation will reflect "Social Impact Fund".
First Name
Last Name
Address
City
State California New York Colorado Texas
Country United States
Zip
Email
Phone
Card Number
Expiration Date MM/YYYY
CVV


Dear Coleen: 'Her surprise divorce demand has left me feeling shattered'
I’ve been with my wife for 10 years and a few weeks ago she dropped the bombshell that she wanted a divorce – I was completely blindsided by it
by Coleen Nolan, https://www.mirror.co.uk/authors/coleen-nolan/Dear Coleen
I’ve been with my wife for 10 years and it was a second marriage for both of us.
At first the relationship was really passionate and we shared the same dreams. I suppose things have been a bit mundane over the past couple of years, but I still thought we were good.
A few weeks ago we went out for a drink and she dropped the bombshell that she wanted a divorce.
I was completely blindsided by it.
She claims there’s no one else involved, but thinks we’ve grown apart and want different things now.
She’s become very successful in her job and is very focused on it, while my career has just meandered on. Maybe she thinks I’ve lost my ambition – I don’t know. Perhaps she’s got to where she wants to in life and doesn’t need me any more.
She’s moved out to stay with her sister while we sort things out. We each have a child from our previous marriages, but they’re away at university. They seem OK, but also shocked by the news of the split.
I’ve begged her to give it another chance as I still love her and want to be with her, but she refuses to discuss it.
She just says she’s upset, too, but it’s what she wants and she’s sorry.
Any advice?
Coleen says
It’s tough – break-ups are devastating whatever side of the fence you’re on.
I’m sure your wife is upset too, but she feels differently about the relationship now and has made her mind up. At least she’s not giving you false hope – you know where you stand.
Yes, it’s going to hurt. There’s no magic bullet for avoiding the fallout but the bottom line is, you can’t make someone love you and want to stay with you.
I think what’s frustrating for you is that her reasons for divorce are a bit vague – it doesn’t sound as if she’s gone into much detail, so perhaps you can get her to sit down with you and give you a proper explanation.
That might help you to get your head around it and make it easier to move forward. You could also suggest having some counselling sessions, not to try to repair the marriage, but to work through how you got here and help manage the separation.
And even if she won’t agree to that, have therapy on your own. It helped me when my first marriage ended.