--- layout: post authors: ["Raniere Silva"] title: "Clarification about December Instructor Training" date: 2015-11-06 time: "22:00:00" tags: ["Instructor Training"] ---
Since we announced that the applications for December Instructor Training we have received many questions. We are now amending the announcement to clarify some things that have come up.
We are very excited to see the strong interest in this training opportunity and the enthusiasm for getting large groups together for this training.
First, we would like to emphasize that this program is a pilot to evaluate techniques for delivering instructor training to multiple groups at a larger scale. We should have made this more clear when we first announced the instructor training reboot and we apologize for that. This pilot is a change of strategy in how we deliver online instructor training. it is our hope that the new approach can to begin to address pent-up demand for instructor training in our community.
We've made commitments to Partners and Affiliates to provide training and help build communities of instructors at their institutions but we also want to do this effectively so we ask that you be patient with us if you are not selected for this round. If you have questions, Jonah will be happy to answer them.
In the past we have spent significant time and resources only for a large fraction of our potential instructors to never finish the requirements. We've found through a few pilots with partners that two-day online training has a much higher completion rate and we're trying to test if and how this does and does not scale to a larger cohort of new instructors. Hence this pilot.
Some points of clarification from FAQs:
We look forward to seeing your applications for this training, and welcome your feedback along the way! If you have any further questions, please don't hesitate to contact us.


SGT. BILKO A film review by Andrew Hicks Copyright 1996 Andrew Hicks / Fatboy Productions
** (out of four)
I have to admit that, despite all the endless hours I've spent watching sitcom reruns on cable, I've never seen an episode of "Sgt. Bilko." It's probably better that I haven't, though, because I'm sure this movie pales in comparison. Still, I've seen every episode of "Saturday Night Live" and enjoy the work of the three "SNL" stars who carry the SGT. BILKO movie -- Steve Martin, Dan Aykroyd and Phil Hartman. It's still no guarantee that the name of those three on a movie marquee means an entertaining film experience. I need only cite the titles A SIMPLE TWIST OF FATE, DOCTOR DETROIT and HOW I GOT INTO COLLEGE for evidence of that.
Martin plays the one-note Bilko character, a money-obsessed finagler who secretly runs gambling and laundering operations on the barracks. Aykroyd plays the one-note general character, who manages to overlook the rampant corruption due to Bilko's profuse ass-kissing. Hartman plays the one-note bastard character who is out for revenge against Bilko. The plot basically has Hartman trying to trip up Bilko, with Bilko continually outwitting him.
 The lone voice of dissent amidst the Bilko platoon amid all this criminal activity is a new recruit who is actually serious about defending American liberty. Rest assured by the end of the movie he too will abandon that antiquated notion and begin living off government money like the rest of the platoon. Yeah, a real happy ending.
SGT. BILKO isn't a decent comeback vehicle for Martin or Aykroyd, who both give mediocre, walk-through performances, but at least Hartman shows talent amid the ninety minutes of mindless entertainment, most of which is contrived and unoriginal. The movie does have its share of laughs, though, and is fun to watch most of the time. Even so, I'm about ready for the Army Comedy genre to die out. In this day and age, it comes off as lame and unnecessary, kind of like the real Army. (No flame mail on that one, please, militarists.)
--
Visit the Movie Critic at LARGE website at http://www.missouri.edu/~c667778/movies.html
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


--- layout: post title: 10g Admin Workshop II - 2 - Configuring Recovery Manager date: 2007-03-26 22:49:45.000000000 +09:30 type: post published: true status: publish categories: - Oracle tags: - oracle - study meta: posturl_add_url: 'yes' _edit_last: '1' views: '775' ---
Objectives
After completing this lesson, you should be able to do the following:
• Describe the RMAN repository and recovery catalog
• Describe the Media Management Library interface
• Configure database parameters that affect RMAN operations
• Connect to the three different types of databases by using RMAN
• Configure two types of retention policies
• Change RMAN default settings with CONFIGURE
Steps for Configuring RMAN
1. Determine the repository location: control file or recovery catalog.
2. Define database and environment variables.
3. Start RMAN and connect to the target and, optionally, the recovery catalog databases.
4. Configure persistent settings.
RMAN Repository Data Storage: Comparison of Options
RMAN repository data is always stored in the control file of the target database. But it can also be stored in a separate database, called a recovery catalog.
How to Set Up a Recovery Catalog
1. Create the database to be used as the recovery catalog. Alternatively, identify an already existing database and use that. Because a single recovery catalog can serve more than one database, you may choose to create a single recovery catalog that services all your databases that are being backed up.
2. In the recovery catalog database, create the user that will own the recovery catalog data.
For example, assume that catdb is the name of the catalog database, and rcat_ts is the name of a tablespace you have created where the catalog data is to be stored.
$ sqlplus sys/password@catdb as sysdba
SQL> CREATE USER rman IDENTIFIED BY cat
2 TEMPORARY TABLESPACE temp
3 DEFAULT TABLESPACE rcat_ts
4 QUOTA UNLIMITED ON rcat_ts;
SQL> GRANT UNLIMITED ON rcat_ts TO rman;
3. Grant the RECOVERY_CATALOG_OWNER role to the catalog owner. This role provides
the user with all privileges required to maintain and query the recovery catalog.
GRANT RECOVERY_CATALOG_OWNER TO rman;
4. Start RMAN and log in as the catalog owner.
$ rman catalog rman/cat@catdb
RMAN> CREATE CATALOG TABLESPACE rcat_ts;
5. Connect to the target database by using RMAN, and register it in the newly created recovery catalog.
$ rman target sys/oracle@orcl catalog rman/cat@catdb
RMAN> register database;
Backup Destinations
Backups can be written to:
• Disk directory
• Media Management Library (tape device)
– Typically used for disaster recovery, when disk
backups are lost
• Flash recovery area
– This is a disk area set aside for backup and
recovery and flashback database purposes.
– You define the location and the size.
– Files are automatically named by using Oracle
Managed Files.
– Files are automatically retained and deleted as
necessary.
Media Management
First Step:
1. Install and configure the media management software on the target host or production network. No RMAN integration is required at this stage.
2. Ensure that you can make non-RMAN backups of operating system files on the target database host. This step makes it easier to troubleshoot problems at a later time. Refer to your media management documentation to learn how to back up files to the media manager.
3. Obtain and install the third-party media management module for integration with the Oracle database. This module must contain the library loaded by the Oracle database when accessing the media manager.
When you restore a file, the following steps occur:
1. The Oracle database requests the restoration of a particular file.
2. The media manager identifies the tape containing the file and reads the tape.
3. The media manager passes the information back to the Oracle database session.
4. The Oracle database writes the file to disk.
Using a Flash Recovery Area with RMAN
Each time RMAN creates a file in the flash recovery area, the Oracle database updates the list of files that are no longer required on disk. When a file needs to be written into the flash recovery area and space is not available for that file, the Oracle database deletes a file that is on the obsolete files list and writes a notification to the alert log.
A warning is issued when the flash recovery area experiences space pressure or is low on free space because there are no files that can be deleted from the flash recovery area. To resolve the problem, you can add disk space, back up your files to a tertiary device, delete the files from the flash recovery area using RMAN, or change the RMAN retention policy.
Flash Recovery Area Space Usage
To avoid running out of space in the flash recovery area, you should never store usermanaged files in this area. You should also perform the following steps as needed or appropriate:
• Delete unnecessary files from the recovery area by using RMAN.
• Take frequent backups of the recovery area by using RMAN.
• Change the RMAN retention policy to retain backups for a smaller period of time.
• Change the RMAN archived log deletion policy.
• Add disk space and increase the value of the DB_RECOVERY_FILE_DEST_SIZE database initialization parameter if you are frequently running out of space.
For example, to back up the archived log files in the recovery area and then delete the files after they have been successfully backed up, you would use the RMAN command:
BACKUP ARCHIVELOG ALL DELETE ALL INPUT;
If you use a backup solution other than RMAN, you still have to use RMAN to remove the files from the flash recovery area. After the archived log files have been backed up and removed from disk, use the RMAN CROSSCHECK and DELETE commands to reclaim the archived log space from the flash recovery area. You should do this on a regular basis, or after every backup.
crosscheck archivelog all;
DELETE NOPROMPT EXPIRED BACKUP;
DELETE NOPROMPT EXPIRED COPY;
You can query V$FLASH_RECOVERY_AREA_USAGE to view the flash recovery area disk space usage.
Backing Up the Flash Recovery Area
• RMAN> BACKUP RECOVERY AREA;
This command backs up all flash recovery files created in the current flash recovery area destinations that have not previously been backed up. Files that fall into this category are full and incremental backup sets, control file autobackups, archive logs, and data file copies. Other files such as flashback logs, incremental bitmaps, current control file, and online redo log files are not backed up.
• RMAN> BACKUP RECOVERY FILES;
This command backs up all recovery files on disk that have not previously been backed up. The files that fall into this category are full and incremental backup sets, control file autobackups, archive logs, and data file copies.
Benefits of Using a Flash Recovery Area
• Simplifies the location of database backups
• Automatically manages the disk space allocated for recovery files
• Does not require changes to existing scripts
• Puts database backups, archive logs, and control file backups in the flash recovery area
Setting Parameters That Affect RMAN
• Database initialization parameters
– CONTROL_FILE_RECORD_KEEP_TIME
– DB_RECOVERY_FILE_DEST and DB_RECOVERY_FILE_DEST_SIZE, if using the flash recovery area
• Environment variables
– NLS_DATE_FORMAT
– NLS_LANG
RMAN Usage Considerations
• Resources: Shared memory, more processes
• Privileges given to users:
– Database: SYSDBA
– Operating system: Access to devices
• Remote operations:
– Set up the password file
– Ensure that the password file is backed up
Connection Types with RMAN
You can use Recovery Manager to connect to the following types of databases:
• Target database: RMAN connects you to the target database with the SYSDBA privilege. You must have this privilege for the connection to succeed. The target database is the instance where you want to perform typical RMAN operations.
• Recovery catalog database: This is an optional database that is configured for the RMAN repository. You connect to the recovery catalog database when you want to retrieve information stored within it, such as backup information or stored scripts.
• Auxiliary database: An auxiliary database can be a database that is:
- Created using the RMAN DUPLICATE command
- A temporary database that is used during tablespace point-in-time recovery (TSPITR)
- A standby database, or a copy of your production database that can be used for disaster recovery
Starting RMAN
Local Connection
For a local RMAN connection, at an operating system prompt, enter the following:
UNIX: $ ORACLE_SID=DB01; export ORACLE_SID
$ rman target /
Windows: C:\> SET ORACLE_SID=DB01
C:\> rman target /
Remote Connection
To connect from another server, use the Oracle Net service name for the target database:
$ rman target sys/target_pwd@DB01
Configuring Persistent Settings for RMAN
• RMAN is preset with default configuration settings
• Use the CONFIGURE command to:
– Configure automatic channels
– Specify the backup retention policy
– Specify the number of backup copies to be created
– Set the default backup type to BACKUPSET or COPY
– Limit the size of backup sets
– Exempt a tablespace from backup
– Enable and disable backup optimization
– Configure automatic backups of control files
Control File Autobackups
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
Retention Policies
• A retention policy describes which backups will be kept and for how long.
• There are two types of retention policies:
– Recovery window: Establishes a period of time within which point-in-time recovery must be possible
– Redundancy: Establishes a fixed number of backups that must be kept
• These policies are mutually exclusive and can be
set with the CONFIGURE command.
Managing Persistent Settings
• Use the SHOW command to list current settings:
RMAN> SHOW CONTROLFILE AUTOBACKUP FORMAT;
RMAN> SHOW EXCLUDE;
RMAN> SHOW ALL;
• Use the CLEAR command to reset any persistent setting to its default value:
RMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR;
RMAN> CONFIGURE MAXSETSIZE CLEAR;
RMAN> CONFIGURE DEFAULT DEVICE TYPE CLEAR;
Channel Allocation
A channel represents one stream of data to a device type. A channel must be allocated before you execute backup and recovery commands.
You can query the V$BACKUP_DEVICE view to determine supported device types.
Automatic and Manual Channel Allocation
• An automatic channel is one that is preconfigured and used for subsequent commands. To change the
default device type for automatic channel allocation, use:
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;
• A manually allocated channel is one that overrides the automatic channel setting. This channel overrides the automatic channel for this run block:
RMAN> RUN {
2> ALLOCATE CHANNEL c1 DEVICE TYPE disk;
3> BACKUP DATAFILE '/u01/oradata/user01.dbf';
4> }
Channel Control Options
You can specify control options for the allocated channel to change its default behavior. The configurable control options for manually and automatically allocated channels are:
• CONNECT: The connect string for the target instance
• FORMAT: The format to use for backup piece names created on this channel
• MAXOPENFILES: The maximum number of input files that a BACKUP command can have open at any given time (the default is 8)
• MAXPIECESIZE: The maximum size of each backup piece created on this channel, specified in bytes (default), kilobytes (K), megabytes (M), or gigabytes (G)
• DURATION: The amount of time to run the backup job, defined in hours and minutes.
The duration can be further specified as:
- PARTIAL: No error is signaled if the backup is not complete at the end of the
specified duration.
- MINIMIZE TIME: The backup runs at full speed, possibly completing within the
allotted time.
- MINIMIZE LOAD: RMAN monitors the backup speed and automatically reduces the processing speed if it detects that the backup will complete in less than the allotted time. This option is not allowed when writing to tape because it is desirable to drive the tapes as fast as possible.
If the channel device type is SBT or SBT_TAPE, you can also specify:
• PARMS="ENV(…)": Set environment variables for the server session corresponding to this RMAN client.
• PARMS="SBT_LIBRARY=…": Specify the location of the MML to be used by the channel.
For automatic channels, you can also configure the default parallelism level and the default backup type for disk or tape backups to BACKUPSET, COMPRESSED BACKUPSET, or COPY.
-- EOF --


10 Green Plant
10 Red Plant
10 Yellow Plant
20 Demon Pungus
40 Goat
70 Sleeper
85 Demon Pungus
50 Punk
10 Red Plant
10 Yellow Plant
20 Condor
40 Drops
10 Mastering
60 Poring
10 Pupa
1 Angeling
1 Deviling
Magma Dungeon
4 Blue Plant
15 Green Plant
15 Red Plant
15 Yellow Plant
1 Shining Plant
30 Demon Pungus
80 Geographer
25 Goat
5 Harpy
1 Arc Angeling
10 Green Plant
10 Red Plant
10 Yellow Plant
10 Dustiness
10 Driller
10 Geographer
30 Grand Peco
40 Poring
10 Green Plant
15 Yellow Plant
20 Geographer
40 Holden
5 Horn
30 Metaling
10 Green Plant
10 Red Plant
10 Yellow Plant
80 Geographer
10 Giearth
20 Holden
50 Metaling
5 Mineral
30 Anopheles
10 Demon Pungus
10 Geographer
35 Mineral
17 Obsidian
10 Green Plant
15 Yellow Plant
20 Geographer
40 Holden
5 Horn
30 Metaling
Juperos Ruins
10 Green Plant
10 Red Plant
10 Yellow Plant
10 Driller
20 Geographer
10 Goat
40 Harpy
Kiel Dungeon
10 Green Plant
10 Red Plant
10 Yellow Plant
20 Dustiness
30 Geographer
80 Grand Peco
5 Wild Rose
10 Green Plant
10 Red Plant
10 Yellow Plant
40 Beetle King
20 Dustiness
40 Horn
10 Hunter Fly
20 Stainer
5 Wild Rose
10 Green Plant
10 Red Plant
10 Yellow Plant
20 Caramel
30 Holden
70 Metaling
10 Green Plant
10 Yellow Plant
10 Anopheles
30 Caramel
10 Holden
10 Horn
50 Metaling
10 Red Mushroom
10 Red Plant
10 Yellow Plant
20 Flora
20 Geographer
60 Metaling
40 Poring
20 Poporing
1 Ungoliant
10 Green Plant
10 Red Plant
10 Yellow Plant
10 Demon Pungus
32 Geographer
43 Sleeper
15 Poporing
20 Demon Pungus
30 Dustiness
5 Geographer
2 Blue Plant
20 Green Plant
15 Red Plant
23 Yellow Plant
3 Shining Plant
50 Dustiness
20 Grand Peco
20 Poring
20 Poporing
15 Bigfoot
14 Hydra
50 Kapha
50 Karakasa
2 Miyabi Doll
1 Poisonous Toad
15 Poporing
10 Green Plant
10 Red Plant
20 Anopheles
20 Caramel
10 Hill Wind
10 Horn
5 Rafflesia
50 Stem Worm
10 Red Mushroom
10 Red Plant
10 Yellow Plant
25 Drops
25 Metaling
10 Porcelio
25 Poring
25 Poporing
30 Thief Bug
10 Red Mushroom
10 Red Plant
10 Yellow Plant
5 Flora
10 Metaling
70 Porcelio
20 Thief Bug
3 Thief Bug Egg
5 Green Plant
1 Shining Plant
40 Baby Leopard
30 Dumpling Child
2 Hermit Plant
20 Poporing
20 Zipper Bear
10 Yellow Plant
5 Shining Plant
5 Anacondaq
15 Bigfoot
10 Black Mushroom
21 Caramel
30 Mantis
30 Mi Gao
Hidden Temple
35 Ambernite
35 Dustiness
45 Mantis
20 Metaller
20 Steel Chonchon
10 Stem Worm
10 Green Plant
30 Coco
3 Leaf Cat
30 Smokie
30 Yoyo


001package io.ebean; 002 003import java.util.concurrent.Callable; 004import java.util.concurrent.Future; 005import java.util.concurrent.ScheduledExecutorService; 006import java.util.concurrent.ScheduledFuture; 007import java.util.concurrent.TimeUnit; 008 009/** 010 * Background executor service for executing of tasks asynchronously. 011 * <p> 012 * This service can be used to execute tasks in the background. 013 * <p> 014 * This service is managed by Ebean and will perform a clean shutdown 015 * waiting for background tasks to complete with a default 30 second 016 * timeout. Shutdown occurs prior to DataSource shutdown. 017 * <p> 018 * This also propagates MDC context from the current thread to the 019 * background task if defined. 020 */ 021public interface BackgroundExecutor { 022 023 /** 024 * Execute a callable task in the background returning the Future. 025 */ 026 <T> Future<T> submit(Callable<T> task); 027 028 /** 029 * Execute a runnable task in the background returning the Future. 030 */ 031 Future<?> submit(Runnable task); 032 033 /** 034 * Execute a task in the background. Effectively the same as 035 * {@link BackgroundExecutor#submit(Runnable)} but returns void. 036 */ 037 void execute(Runnable task); 038 039 /** 040 * Deprecated - migrate to scheduleWithFixedDelay(). 041 * Execute a task periodically with a fixed delay between each execution. 042 * <p> 043 * For example, execute a runnable every minute. 044 * <p> 045 * The delay is the time between executions no matter how long the task took. 046 * That is, this method has the same behaviour characteristics as 047 * {@link ScheduledExecutorService#scheduleWithFixedDelay(Runnable, long, long, TimeUnit)} 048 */ 049 @Deprecated 050 void executePeriodically(Runnable task, long delay, TimeUnit unit); 051 052 /** 053 * Deprecated - migrate to scheduleWithFixedDelay(). 054 * Execute a task periodically additionally with an initial delay different from delay. 055 */ 056 @Deprecated 057 void executePeriodically(Runnable task, long initialDelay, long delay, TimeUnit unit); 058 059 /** 060 * Execute a task periodically with a given delay. 061 * 062 * @param task the task to execute 063 * @param initialDelay the time to delay first execution 064 * @param delay the delay between the termination of one 065 * execution and the commencement of the next 066 * @param unit the time unit of the initialDelay and delay parameters 067 * @return a ScheduledFuture representing pending completion of 068 * the series of repeated tasks. The future's {@link 069 * Future#get() get()} method will never return normally, 070 * and will throw an exception upon task cancellation or 071 * abnormal termination of a task execution. 072 */ 073 ScheduledFuture<?> scheduleWithFixedDelay(Runnable task, long initialDelay, long delay, TimeUnit unit); 074 075 /** 076 * Execute a task periodically with a given period. 077 * 078 * <p>If any execution of this task takes longer than its period, then 079 * subsequent executions may start late, but will not concurrently 080 * execute. 081 * 082 * @param task the task to execute 083 * @param initialDelay the time to delay first execution 084 * @param period the period between successive executions 085 * @param unit the time unit of the initialDelay and period parameters 086 * @return a ScheduledFuture representing pending completion of 087 * the series of repeated tasks. The future's {@link 088 * Future#get() get()} method will never return normally, 089 * and will throw an exception upon task cancellation or 090 * abnormal termination of a task execution. 091 */ 092 ScheduledFuture<?> scheduleAtFixedRate(Runnable task, long initialDelay, long period, TimeUnit unit); 093 094 /** 095 * Schedules a Runnable for one-shot action that becomes enabled after the given delay. 096 * 097 * @return a ScheduledFuture representing pending completion of the task and 098 * whose get() method will return null upon completion 099 */ 100 ScheduledFuture<?> schedule(Runnable task, long delay, TimeUnit unit); 101 102 /** 103 * Schedules a Callable for one-shot action that becomes enabled after the given delay. 104 * 105 * @return a ScheduledFuture that can be used to extract result or cancel 106 */ 107 <V> ScheduledFuture<V> schedule(Callable<V> task, long delay, TimeUnit unit); 108 109}


Add KML layers¶
Fusion lets you add KML layers in addition to fused vector layers. KML layers consist of a wrapper layer (typically a small, simple resource) that contains a link to a KML or KMZ file. The layer displays the linked content, not the wrapper layer content.
KML layers are useful if you want to give users access to data that is not hosted on the Earth server, or to data that changes frequently. In fact, the free edition of Google Earth includes many KML layers that stream data from Google servers to the client.
Warning
Each vector project must include at least one resource that is not a KML layer. If you try to build a project consisting only of KML layers, the build will fail with the error “No vector packets for indexing.”
To add a KML layer:
Open your Fusion vector project and click the blank-page icon in the top right corner of the dialog box.
The Add a layer dialog box appears.
Add a resource to use as a wrapper layer for the KML or KMZ link.
Users will not see the content of the wrapper layer, so add any small, simple resource that contains lines or polygons, such as the “CAHighways” resource in the Fusion tutorial dataset. If you want to use a resource that is already in your project, add it a second time.
Right-click the new layer and select Layer Properties.
The Layer Properties dialog box appears.
In the KML URL field, enter the link to your KML or KMZ file.
The file must be on a server that is accessible to users at all times. If the file is missing, the client may fail. To prevent this, place the file on the Google Earth server or place a small KML file on the Earth server that contains a NetworkLink reference to your target KML or KMZ file on another server.
Enter a name and select an icon for the layer.
Click OK to save your changes and exit the Layer Properties dialog box.
The vector project lists your new KML layer.
Save the vector project, then rebuild and publish your database.
After the client connects to the published database, users can view the KML layer.
To add multiple KML layers:
If you want to add multiple KML or KMZ files that are not hosted on the Google Earth server, the best practice is to place one KML file on the Earth server that links to all your files on other servers. Then you can create a layer that loads the single KML file. That way, even if the server that hosts your KML or KMZ files stops responding, the client is unlikely to fail.
Place the KML or KMZ files on the server or servers that will host them.
Create a new parent KML file that contains NetworkLink references to each of the KML or KMZ files.
Place the parent KML file on the Earth server.
In Fusion, create a KML layer that links to the parent KML file on the Earth server.
In the Earth client, users can expand the parent KML layer to select a child KML layer.


Made possible by theroyakash & Debmalya Sur
{{input1}}
{{input2}}
uWu Translator by theroyakash
oWo Translator by Debmalya Sur
You got any suggestion please contact the developer on twitter @theroyakash.


class Outer { int secret = 5; class Inner { int getSecret() { return secret; } void setSecret(int s) { secret = s; } } } class ChildOfInner extends Outer.Inner { ChildOfInner(Outer x) { x.super(); } } public class Test { public static void main(String[] args) { Outer x = new Outer(); ChildOfInner a = new ChildOfInner(x); ChildOfInner b = new ChildOfInner(x); System.out.println(b.getSecret()); a.setSecret(6); System.out.println(b.getSecret()); } }
This program produces the output:
5 6
The effect is that manipulation of instance
variables in the common instance of Outer
is
visible through references to different instances
of ChildOfInner
, even though such references are
not aliases in the conventional sense.
Overloading of constructors is identical in behavior to overloading of methods (§8.4.9). The overloading is resolved at compile time by each class instance creation expression (§15.9).
If a class contains no constructor declarations, then a default constructor is implicitly declared. The form of the default constructor for a top level class, member class, or local class is as follows:
The default constructor has the same accessibility as the class (§6.6).
The
default constructor has no formal parameters, except in a
non-private
inner member class, where the default constructor
implicitly declares one formal parameter representing the
immediately enclosing instance of the class
(§8.8.1,
§15.9.2,
§15.9.3).
If
the class being declared is the primordial class Object
, then
the default constructor has an empty body. Otherwise, the
default constructor simply invokes the superclass constructor
with no arguments.
The form of the default constructor for an anonymous class is specified in §<IP_ADDRESS>.
It is a
compile-time error if a default constructor is implicitly declared but
the superclass does not have an accessible constructor that takes no
arguments and has no throws
clause.
Example 8.8.9-1. Default Constructors
The declaration:
public class Point { int x, y; }
is equivalent to the declaration:
public class Point { int x, y; public Point() { super(); } }
where the default constructor is public
because
the class Point
is public
.
Example 8.8.9-2. Accessibility of Constructors v. Classes
The rule that the default constructor of a class has the same accessibility as the class itself is simple and intuitive. Note, however, that this does not imply that the constructor is accessible whenever the class is accessible. Consider:
package p1; public class Outer { protected class Inner {} } package p2; class SonOfOuter extends p1.Outer { void foo() { new Inner(); // compile-time access error } }
The default constructor for Inner
is protected
. However, the constructor is protected
relative
to Inner
, while Inner
is
protected
relative
to Outer
. So, Inner
is
accessible in SonOfOuter
, since it is a subclass
of Outer
. Inner
's constructor is
not accessible in SonOfOuter
, because the
class SonOfOuter
is not a subclass
of Inner
! Hence, even
though Inner
is accessible, its default constructor
is not.
A class
can be designed to prevent code outside the class declaration from
creating instances of the class by declaring at least one constructor,
to prevent the creation of a default constructor, and by declaring all
constructors to be private
.
A
public
class can likewise prevent the creation of instances outside
its package by declaring at least one constructor, to prevent creation
of a default constructor with public
access, and by declaring no
constructor that is public
.
Example 8.8.10-1. Preventing Instantiation via Constructor Accessibility
class ClassOnly { private ClassOnly() { } static String just = "only the lonely"; }
Here, the class ClassOnly
cannot
be instantiated, while in the following code:
package just; public class PackageOnly { PackageOnly() { } String[] justDesserts = { "cheesecake", "ice cream" }; }
the class PackageOnly
can be
instantiated only within the package just
, in which
it is declared.
An enum declaration specifies a new enum type, a special kind of class type.
It is a
compile-time error if an enum declaration has the modifier abstract
or final
.
An enum
declaration is implicitly final
unless it contains at least one enum
constant that has a class body (§8.9.1).
A nested
enum type is implicitly static
. It is permitted for the declaration
of a nested enum type to redundantly specify the static
modifier.
This implies that it is impossible to declare an
enum type in the body of an inner class (§8.1.3),
because an inner class cannot have static
members except for
constant variables.
It is a compile-time error if the same keyword appears more than once as a modifier for an enum declaration.
The direct superclass of an
enum type E is Enum
<
E>
(§8.1.4).
An enum type has no instances other than those defined by its enum constants. It is a compile-time error to attempt to explicitly instantiate an enum type (§15.9.1).
In addition to the compile-time error, three further mechanisms ensure that no instances of an enum type exist beyond those defined by its enum constants:
The final
clone
method in Enum
ensures
that enum constants can never be cloned.
Reflective instantiation of enum types is prohibited.
Special treatment by the serialization mechanism ensures that duplicate instances are never created as a result of deserialization.
The body of an enum declaration may contain enum constants. An enum constant defines an instance of the enum type.
The following production from §15.12 is shown here for convenience:
The rules for annotation modifiers on an enum constant declaration are specified in §9.7.4 and §9.7.5.
The Identifier in a EnumConstant may be used in a name to refer to the enum constant.
The scope and shadowing of an enum constant is specified in §6.3 and §6.4.
An enum constant may be followed by arguments, which are passed to the constructor of the enum when the constant is created during class initialization as described later in this section. The constructor to be invoked is chosen using the normal rules of overload resolution (§15.12.2). If the arguments are omitted, an empty argument list is assumed.
The optional class body of an enum constant implicitly defines an anonymous class declaration (§15.9.5) that extends the immediately enclosing enum type. The class body is governed by the usual rules of anonymous classes; in particular it cannot contain any constructors. Instance methods declared in these class bodies may be invoked outside the enclosing enum type only if they override accessible methods in the enclosing enum type (§8.4.8).
It is a
compile-time error for the class body of an enum constant to declare
an abstract
method.
Because
there is only one instance of each enum constant, it is permitted to
use the ==
operator in place of
the equals
method when comparing two object
references if it is known that at least one of them refers to an enum
constant.
The equals
method in Enum
is a
final
method that merely invokes super.equals
on
its argument and returns the result, thus performing an identity
comparison.
In addition to enum constants, the body of an enum declaration may contain constructor and member declarations as well as instance and static initializers.
The following productions from §8.1.6 are shown here for convenience:
Any constructor or member declarations in the body of an enum declaration apply to the enum type exactly as if they had been present in the body of a normal class declaration, unless explicitly stated otherwise.
It is a compile-time error if a constructor declaration in an enum
declaration is public
or protected
(§6.6).
It is a compile-time error if a constructor declaration in an enum declaration contains a superclass constructor invocation statement (§<IP_ADDRESS>).
It is a compile-time error to reference a static
field of an enum
type from constructors, instance initializers, or instance variable
initializer expressions of the enum type, unless the field is a
constant variable (§4.12.4).
In an enum declaration, a constructor declaration with no access
modifiers is private
.
In an enum
declaration with no constructor declarations, a default constructor is
implicitly declared. The default constructor is private
, has no
formal parameters, and has no throws
clause.
In practice, a compiler is likely to mirror the
Enum
type by declaring String
and int
parameters in the default
constructor of an enum type. However, these parameters are not
specified as "implicitly declared" because different compilers do not
need to agree on the form of the default constructor. Only the
compiler of an enum type knows how to instantiate the enum constants;
other compilers can simply rely on the implicitly declared public
static
fields of the enum type (§8.9.3)
without
regard for how those fields were initialized.
It is a
compile-time error if an enum declaration E has an abstract
method
m
as a member, unless E has at least one enum
constant and all of
E's enum constants have class bodies that provide concrete
implementations of m
.
It is a compile-time error for an enum declaration to declare a finalizer (§12.6). An instance of an enum type may never be finalized.
Example 8.9.2-1. Enum Body Declarations
enum Coin { PENNY(1), NICKEL(5), DIME(10), QUARTER(25); Coin(int value) { this.value = value; } private final int value; public int value() { return value; } }
Each enum constant arranges for a different value in
the field value
, passed in via a constructor. The
field represents the value, in cents, of an American coin. Note that
there are no restrictions on the parameters that may be declared by an
enum type's constructor.
Example 8.9.2-2. Restriction On Enum Constant Self-Reference
Without the rule on static
field access,
apparently reasonable code would fail at run time due to the
initialization circularity inherent in enum types. (A circularity
exists in any class with a "self-typed" static
field.) Here is an
example of the sort of code that would fail:
import java.util.Map; import java.util.HashMap; enum Color { RED, GREEN, BLUE; Color() { colorMap.put(toString(), this); } static final Map<String,Color> colorMap = new HashMap<String,Color>(); }
Static initialization of this enum would throw a
NullPointerException
because the static
variable colorMap
is
uninitialized when the constructors for the enum constants run. The
restriction above ensures that such code cannot be compiled. However,
the code can easily be refactored to work properly:
import java.util.Map; import java.util.HashMap; enum Color { RED, GREEN, BLUE; static final Map<String,Color> colorMap = new HashMap<String,Color>(); static { for (Color c : Color.values()) colorMap.put(c.toString(), c); } }
The refactored version is clearly correct, as static initialization occurs top to bottom.
The members of an enum type E are all of the following:
For
each enum constant c
declared in the body of the declaration
of E, E has an implicitly declared public
static
final
field of type E that has the same name as c
. The field has a
variable initializer consisting of c
, and is annotated by the
same annotations as c
.
These fields are implicitly declared
in the same order as the corresponding enum constants, before
any static
fields explicitly declared in the body of the
declaration of E.
An enum constant is said to be created when the corresponding implicitly declared field is initialized.
The following implicitly declared methods:
/** * Returns an array containing the constants of this enum * type, in the order they're declared. This method may be * used to iterate over the constants as follows: * * for(E c : E.values()) * System.out.println(c); * * @return an array containing the constants of this enum * type, in the order they're declared */ public static E[] values(); /** * Returns the enum constant of this type with the specified * name. * The string must match exactly an identifier used to declare * an enum constant in this type. (Extraneous whitespace * characters are not permitted.) * * @return the enum constant with the specified name * @throws IllegalArgumentException if this enum type has no * constant with the specified name */ public static E valueOf(String name);
It follows that the declaration of enum type E
cannot contain fields that conflict with the implicitly declared
fields corresponding to E's enum constants, nor contain methods that
conflict with implicitly declared methods or override final
methods
of class Enum
<
E>
.
Example 8.9.3-1. Iterating Over Enum Constants With An Enhanced for
Loop
public class Test { enum Season { WINTER, SPRING, SUMMER, FALL } public static void main(String[] args) { for (Season s : Season.values()) System.out.println(s); } }
This program produces the output:
WINTER SPRING SUMMER FALL
Example 8.9.3-2. Switching Over Enum Constants
A switch
statement (§14.11)
is useful for simulating the addition of a method to an enum type from
outside the type. This example "adds" a color
method to the Coin
type from
§8.9.2,
and prints a table of coins, their
values, and their colors.
class Test { enum CoinColor { COPPER, NICKEL, SILVER } static CoinColor color(Coin c) { switch (c) { case PENNY: return CoinColor.COPPER; case NICKEL: return CoinColor.NICKEL; case DIME: case QUARTER: return CoinColor.SILVER; default: throw new AssertionError("Unknown coin: " + c); } } public static void main(String[] args) { for (Coin c : Coin.values()) System.out.println(c + "\t\t" + c.value() + "\t" + color(c)); } }
This program produces the output:
PENNY 1 COPPER NICKEL 5 NICKEL DIME 10 SILVER QUARTER 25 SILVER
Example 8.9.3-3. Enum Constants with Class Bodies
enum Operation { PLUS { double eval(double x, double y) { return x + y; } }, MINUS { double eval(double x, double y) { return x - y; } }, TIMES { double eval(double x, double y) { return x * y; } }, DIVIDED_BY { double eval(double x, double y) { return x / y; } }; // Each constant supports an arithmetic operation abstract double eval(double x, double y); public static void main(String args[]) { double x = Double.parseDouble(args[0]); double y = Double.parseDouble(args[1]); for (Operation op : Operation.values()) System.out.println(x + " " + op + " " + y + " = " + op.eval(x, y)); } }
Class bodies attach behaviors to the enum constants. The program produces the output:
java Operation 2.0 4.0 2.0 PLUS 4.0 = 6.0 2.0 MINUS 4.0 = -2.0 2.0 TIMES 4.0 = 8.0 2.0 DIVIDED_BY 4.0 = 0.5
This pattern is
much safer than using a switch
statement in the base type
(Operation
), as the pattern precludes the
possibility of forgetting to add a behavior for a new constant (since
the enum declaration would cause a compile-time error).
Example 8.9.3-4. Multiple Enum Types
In the following program, a playing card class is built atop two simple enums.
import java.util.List; import java.util.ArrayList; class Card implements Comparable<Card>, java.io.Serializable { public enum Rank { DEUCE, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN,JACK, QUEEN, KING, ACE } public enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES } private final Rank rank; private final Suit suit; public Rank rank() { return rank; } public Suit suit() { return suit; } private Card(Rank rank, Suit suit) { if (rank == null || suit == null) throw new NullPointerException(rank + ", " + suit); this.rank = rank; this.suit = suit; } public String toString() { return rank + " of " + suit; } // Primary sort on suit, secondary sort on rank public int compareTo(Card c) { int suitCompare = suit.compareTo(c.suit); return (suitCompare != 0 ? suitCompare : rank.compareTo(c.rank)); } private static final List<Card> prototypeDeck = new ArrayList<Card>(52); static { for (Suit suit : Suit.values()) for (Rank rank : Rank.values()) prototypeDeck.add(new Card(rank, suit)); } // Returns a new deck public static List<Card> newDeck() { return new ArrayList<Card>(prototypeDeck); } }
The following program exercises
the Card
class. It takes two integer parameters on
the command line, representing the number of hands to deal and the
number of cards in each hand:
import java.util.List; import java.util.ArrayList; import java.util.Collections; class Deal { public static void main(String args[]) { int numHands = Integer.parseInt(args[0]); int cardsPerHand = Integer.parseInt(args[1]); List<Card> deck = Card.newDeck(); Collections.shuffle(deck); for (int i=0; i < numHands; i++) System.out.println(dealHand(deck, cardsPerHand)); } /** * Returns a new ArrayList consisting of the last n * elements of deck, which are removed from deck. * The returned list is sorted using the elements' * natural ordering. */ public static <E extends Comparable<E>> ArrayList<E> dealHand(List<E> deck, int n) { int deckSize = deck.size(); List<E> handView = deck.subList(deckSize - n, deckSize); ArrayList<E> hand = new ArrayList<E>(handView); handView.clear(); Collections.sort(hand); return hand; } }
The program produces the output:
java Deal 4 3 [DEUCE of CLUBS, SEVEN of CLUBS, QUEEN of DIAMONDS] [NINE of HEARTS, FIVE of SPADES, ACE of SPADES] [THREE of HEARTS, SIX of HEARTS, TEN of SPADES] [TEN of CLUBS, NINE of DIAMONDS, THREE of SPADES]


Most plastic pollution at sea starts out on land as litter on beaches, streets and sidewalks. Rain or overwatering flushes that litter through a storm drain system or directly to creeks, streams and rivers that lead to the ocean. After plastics enter the marine environment they slowly photodegrade into smaller pieces that marine life can mistake for food, sometimes with fatal results. Ocean gyres concentrate plastic pollution in five main areas of the world’s ocean and various research groups are bringing back alarming data documenting plastics impacts.
To reduce the impacts of plastics in the marine environment by raising awareness about the dangers of plastic pollution and by advocating for a reduction of single-use plastics and the recycling of all plastics. We encourage YOU to help address these globlal issues locally with plastic reductions at home, school, work and for your entire community.


Tcl_CommandComplete - Check for unmatched braces in a Tcl command
#include <tcl.h>
int
Tcl_CommandComplete(cmd)
- const char *cmd (in)
-
Command string to test for completeness.
Tcl_CommandComplete takes a Tcl command string
as argument and determines whether it contains one or more
complete commands (i.e. there are no unclosed quotes, braces,
brackets, or variable references).
If the command string is complete then it returns 1; otherwise it returns 0.
complete command, partial command
Copyright © 1995-1997 Roger E. Critchlow Jr.
Copyright © 1989-1993 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.


?^Tew
v0^
*
T
A
N
|
c
Herbarium
of
the
University
of
California,
Berkeley
Nymphoides
indica
(L.)
O.
Kuntze
Dec.
Robert
Ornduff
Date
19
THE
NEW
YORK
BOTANICAL
GARDEN
EXPLORATION
OF
JAMAICA
lacovia
and
Vicinity
___//lastLu,
New
York
Botanical
Garden
N.
L.
Britton,
Collector
September
16,1907
lt24133
1624933
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


|
Interface Summary |
| WMLAccessElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLAElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLAnchorElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLBElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLBigElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLBrElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLCardElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLDocument |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLDoElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLDOMImplementation |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLEmElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLFieldsetElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLGoElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLHeadElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLIElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLImgElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLInputElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLMetaElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLNoopElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLOneventElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLOptgroupElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLOptionElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLPElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLPostfieldElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLPrevElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLRefreshElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLSelectElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLSetvarElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLSmallElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLStrongElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLTableElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLTdElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLTemplateElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLTimerElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLTrElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLUElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |
| WMLWmlElement |
The interface is modeled after DOM1 Spec for HTML from W3C. |


Project Timeline - Jan 2019 to Present
Roles - Game Designer
Tech Stacks - C#, Blender, Unity, Adobe Photoshop
Links - CrazyStack
CrazyStack should be easy-to-play, and free-to-play; it should feature very minimalistic user interfaces. The game should have zero learning cost and can be played without any tutorial and instructions. Design with very primary color scheme, easy machanics, and featuring infinite looped mmachanics. It should also be playable for an infinite amount of time. Allowing players to play while multitasking, and losing would not bring frustration.
The game is completely built by my own, and now the beta version can be played on web browser for both PC and mobile devices. Performance on mobile devices can further be improved, and I have released a mobile version for low-end devices. Click here and start playing!
Player tap space or tap on screen to jump, and player control the red block to avoid colliding with the obstacle. The scoreboard records the maximum distance from the player to travel in one consecutive run. Game states are saved automatically and player can always resume to the level they are at. For infinite levels generation, platforms are created, and they are generated in random sequence for each level, also each level has its own platforms pool to choose from. Platforms would also be despawned after player passing them to save memory and improve performance. The beta version is available for WebGL, Android and iOS versions would need more polishing and testing before the launch.
The Landscape Generator used in the game is a self-developed generator that uses the procedural generation algorithm. All attributes are tunable and can be highly customized, users can easily put in different prefabs and generate their unique landscape with seed. The generator uses raycasting to locate each spawn point and sequentially places each item. This would allow objects to be overlaps with each other which create a more dynamic scene.
As a side project of mine, not only did I learn a lot about Unity, it also gave me a deep understanding of game design and development. As a beginner of game design with Unity, I am really surprised that this will bring me so many challenges, and at the same time, I am also surprised that this will bring me so many surprises. Please look forward to the official version which would launch on Google Store and App Store! Click --> Beta Version


"Educate, Empower, Evolve"
About
From the earliest days of computer science, women have made crucial contributions to its progress. As our world today moves towards a brighter and more equal future, it is time we sit up and take notice of these contributions. Organizations around the globe are pushing for more recognition for women in technology, and young girls are being encouraged to take up technology as a career choice. In keeping with this spirit, the Department of Computer Science & Engineering, Chaitanya Bharathi Institute of Technology hosted its first event focused on the role of women in technology in 2019.We bring forward this grandeur by organizing Techtara 2020 with the theme “Educate, Empower, Evolve”. TechTara will feature a diverse and eminent panel of speakers, who will deliver talks and participate in panel discussions. Other events will also be conducted to help students identify and display their skills.
OBJECTIVES
- To promote a global neutral space that works towards the involvement of women in technology.
- To ensure education of women and mentor them to take up roles in technology.
- To create a supoortive environment for women aspiring to work in technology.
- To motivate women to take up roles of leadership in society.
- To ensure and improve safety of women as a community.
What can I expect?
- Inspiring talks by women in the fields of technology and society.
- Panel discussions involving the speakers.
- Mentoring of the students to motivate them to take up roles in technology
- Fun activities involving speakers and students.
- Coding competitions with exciting prizes for the winners.
When is the Event?
TechTara is based at Chaitanya Bharathi Institute of Technology, Hyderabad on 19th and 20th of March.
What is the cost of the Symposium?
This "Two Day Conference" costs include all the material, stationery and meals for the entirety of the program.
Ticket Price: ₹ 200/- for two days.
Student Co-ordinators
Srujana Cherukuri -<PHONE_NUMBER>
Apoorva Pattamatta -<PHONE_NUMBER>
Faculty Co-ordinators
N. Rama Devi
G. Vanitha
K. Dharani


No matter who you are, you need two kinds of friends in your life. The first kind is one you can call when something good happens, and you need someone who will be excited for you. Not a fake excitement veiling envy, but a real excitement. You need someone who will actually be more excited for you than he would be if it had happened to him. The second kind of friend is somebody you can call when things go horribly wrong—when your life is on the line and you only have one phone call.


My family is good.We have three cars.We are 7 in our family. I have two sisters and one brother .We play everyday we have fun together. We always work hard so that we get money. My father has two cars and my mother has one car.
my parents have two cars the cars are fast and cool they are good parents they are nice and good we went to play foot ball with my father
my family is good my saisters are good we play together one is called xolaniand the other is called kendi they are good girls
my family is nice we do we play foot ball with my father they are good what we together is good together we are good family


Jose Mourinho names all new backroom team after taking over at Tottenham
Jose Mourinho has put together a new-look backroom team for his role at Tottenham, with a number of his most trusted coaches not moving with him to north London.
The Portuguese was appointed as Mauricio Pochettino’s successor on Wednesday morning, with Spurs sacking the Argentine just five months after reaching the Champions League final following a poor start to the season.
Mourinho had the likes of Michael Carrick and Kieran McKenna in his backroom team at Manchester United – both of whom were at Spurs too – but has decided to shake things up.
According to The Telegraph, Mourinho has appointed Joao Sacramento as his new assistant manager, who joins the north London club from Lille.
The former United boss has always stressed that he would have a fully-fledged plan of action ready to go when he arrived at his next club, and he has quickly set about assembling his new team.
Advertisement Advertisement
Sacramento comes with a strong reputation in France, having been assistant to Christophe Galtier at Lille as they finished second in Ligue 1 last season.
Mourinho will not reunite with Rui Faria, who is currently managing in Qatar, while long-serving goalkeeper coach Silvino Louro is also not expected to be part of the backroom team.
According to RMC Sport, Lille goalkeeping coach Nuno Santos – who is also Portuguese – joins Sacramento at Spurs, with Mourinho having watched the French side extensively since leaving United.
Fitness trainer Carlos Lalin, analyst Giovanni Cerra and Ricardo Formoshino – all of whom were at Old Trafford – will also join Mourinho in north London.
Interestingly, Sky Sports News report that Mourinho arrived at Spurs’ training ground on Tuesday evening and slept there overnight.
He has already made a start on planning for Spurs’ weekend clash away to West Ham and will meet his new players for the first time on Wednesday afternoon, with training pushed back to give the new boss time to prepare.


CSS Tutorial
Save a lot of work with CSS!
In our tutorial you will learn how to use CSS to control the style and layout of multiple Web pages all at once.
Start learning the CSSCSS Examples
Learn by 70 examples! With our editor, you can edit CSS, and click on a test button to view the result
Try-It-YourselfCSS Reference
At W3Schools you will find a complete CSS2 reference, listing properties, units of measurements, colors, and more.
CSS2 ReferenceCSS Qui Test
Test6 your CSS skills at W3Schools!
Start CSS Quiz!


@import helper._ @()(implicit messages: Messages) @main("Classic Music Service") {
This simple App is a "Music Web Application", it is
The MusicWebApp manages Performers and Recordings. It is a RESTful web service client to the web service MusicService. The MusicWebApp cannot do any work without MusicService being started.
With MusicWebApp the user can perform the following operations in the browser:
The App is a small case study using ...
In the current stage the App doesn't implement any security features. It offers its interface via HTTP (no HTTPS) and does not require the user to log in before accessing recordings on the server.
The project build is based on SBT (Scala Build Tool).


Consent to share registration status:
Concerned family and friends may inquire about your household
because of this emergency event.
Do you consent to have your registration STATUS shared with those
who may ask about your household's wellbeing?
Yes - you may share
the status of my ESS registration status:
I acknowledge that an ESS Responder may ONLY share the
status of my ESS registration (pending, active or complete)
with concerned family and friends. For reunification
purposes, concerned family and friends may opt to leave
their contact details (telephone number and/ or email
address) where they can be reached. These contact details
can be added under the Notes section of the active ESS File,
by trained ESS Responder.
No - please
RESTRICT access to my ESS registration
status:
I acknowledge that by RESTRICTING access to my registration
status I am:
-
restricting access to my ERA Profile and ESS File,
including ALL household members listed on ESS file(s) and
past ESS Files and Profile.
-
limiting access to ERA users with permission to
view/locate RESTRICTED status files (ERA Manager/Director
and above), which may increase wait times for service
delivery (in-person or virtually).
Restriction is required


T
- Type of object to read from or write to filespublic abstract class FileManager<T>
extends java.lang.Object
| Constructor and Description |
|---|
FileManager() |
| Modifier and Type | Method and Description |
|---|---|
abstract T |
readFromFile(java.io.File file)
Read object from a file using the provided File object.
|
T |
readFromFile(java.lang.String path)
Refer to
readFromFile(File)
Uses readFromFile(File) by constructing a file from the path parameter |
abstract boolean |
writeToFile(java.io.File file,
T object,
boolean replaceIfExists)
Write specified object to file.
|
boolean |
writeToFile(java.lang.String path,
T object,
boolean replaceIfExists)
Refer to
writeToFile(File, Object, boolean)
Uses writeToFile(File, Object, boolean) by constructing a file from the path
parameter |
public abstract T readFromFile(java.io.File file)
file
- File to read object frompublic T readFromFile(java.lang.String path)
readFromFile(File)
Uses readFromFile(File)
by constructing a file from the path parameterpublic abstract boolean writeToFile(java.io.File file, T object, boolean replaceIfExists)
file
- File to write toobject
- Object to write to the filereplaceIfExists
- Boolean to replace the file if it already existspublic boolean writeToFile(java.lang.String path, T object, boolean replaceIfExists)
writeToFile(File, Object, boolean)
Uses writeToFile(File, Object, boolean)
by constructing a file from the path
parameter


Search
My Account
Cart
All
Best Sellers
Fruits and vegetables
Beverages
Cereals
Baby Products
Log Out
All categories
Beverages and Drinks
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
view all
Fruits and vegetables
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
view all
Baby Products
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
view all
Cereals and Grains
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
view all
Personal Care
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
Store Name
Pimpri chinchwad region - pune
view all


InnerSource Project Portal
Leverage, Reuse or Contribute to
InnerSource projects
All
Other
Filter by languages:
Activity
Name
Organization
Stars
Watchers
Issues
Forks
Sort by:
Search
view_list
view_modules
Logo
Name
Description
Stars
Issues
Forks
Score
Lang
Action
add


{% trans %} Learn about our Creative Commons partnership and how you can use their licensed materials in your flick. {% endtrans %}
{{ _('Read the blog post') }} * {{ _('English only') }}


subject
BOOKS DIRECTORY NEIXYZXVF6B
KANE TREMBLAY
Total documents: 378 files
Recent share at: October 12, 2016
subject
View Docs Archive 5CF8MFQUJDC
MAYBELL LEANNON
Total documents: 371 files
Recent share at: November 25, 2016
subject
View Catalog CR0CYLP8O
CANDACE ERNSER II 3
Total documents: 399 files
Recent share at: August 04, 2016
subject
View Documents Directory G4DDRAR1CL
MAGNOLIA KRIS 1
Total documents: 393 files
Recent share at: January 28, 2017
subject
View Books Repository AZNUKMJYA
PROF ROMA WELCH
Total documents: 401 files
Recent share at: October 25, 2016
subject
View ePubs Catalog UN7RSMBMUBWL
FRANCISCA GREENHOLT 1
Total documents: 498 files
Recent share at: September 20, 2016
subject
View Books Catalog LVJRJPFNY
MILAN RODRIGUEZ PHD 1
Total documents: 437 files
Recent share at: September 27, 2016
subject
View Docs Directory OVU1MFWSQ
SHEA BERGSTROM
Total documents: 363 files
Recent share at: November 10, 2016
subject
View Documents Archive HJASWJSSV2NKJO
STEPHANIE SCHUMM
Total documents: 370 files
Recent share at: December 09, 2016
subject
View Books Archive MOPZXKSHFSS
JAKOB HAHN
Total documents: 394 files
Recent share at: December 20, 2016
subject
View Documents Catalog JOLBSNYJD9DNSJX
RAFAELA JACOBI
Total documents: 382 files
Recent share at: October 24, 2016
subject
View ePubs Archive TRDXU92LKOA
ALVINA BEIER 2
Total documents: 359 files
Recent share at: October 10, 2016
subject
View Docs Directory OXALLWGKVK2LZ
DR JOHATHAN SCHMIDT MD
Total documents: 360 files
Recent share at: October 30, 2016
subject
View eBooks Repository EB7S6XWXXF
MURL DIETRICH
Total documents: 370 files
Recent share at: November 03, 2016
subject
View Documents Directory FSYCEEVHL1
CORINE MCCLURE V 1
Total documents: 409 files
Recent share at: December 13, 2016
subject
View eBooks Directory JBPAKD1PM
BARNEY GREENFELDER 1
Total documents: 498 files
Recent share at: September 03, 2016
subject
View ePubs Archive BYIUDAIRS
TRESSA HERMAN 2
Total documents: 91 files
Recent share at: October 16, 2016
subject
View Books Archive PPAUUZMJPTRKHUW


Our features
CAR SHOWER WASH
Gentle on the car body paint. The car body paint is one of the cherished parts of any car, and the owner protects it at all costs. The Skokie automatic car wash method does it very gentle and gets the job done without any damage.CAR INTERIOR CLEANING
Besides being 100% biodegradable and environmentally friendly our best cleaner for car interiors are all fruit scented and contain optical brighteners. Our best car vinyl cleaner will effectively clean auto interior vinyl without leaving a chalky film.MANUAL CAR WASH
Perfection and customized. The final result of a hand washing job is usually deemed to be perfect, as the user has had contact with the car. Using a hand wash in tandem with other coating strategies is advised.OIL WASH FOR HARD STAINS
We wipe off the degreasing liquid and oil with old, clean towels, repeating as necessary to remove all traces of oil. Wash and wax the automobile to bring out the shine in the paint.Automatic Car Wash
This process of washing with an automated car wash uses much less water than washing at home. It also prevents pollution in our rivers and streams from runoff as all water used in an automatic car wash center is directed to a water treatment center where is cleaned and possibly reusedCAR FOAM WASH
Snow foam has been a hot car care topic on detailing for years now. Snow foam in their simplest form are a high foaming detergent, the reason for the extra foam – apart from it looking quite dramatic.AUTOMATIC DRYING
This is a totally safe touch free gantry type of dryer having heavy duty fans and blowers start one by by one forcing air at hight velocity for quick, safe and thorough dying your car.POLISHING
Polishing, however, is what is done after a wax to ensure that the vehicle has that glossy shine. Think of polishing more as the cosmetic part of car detailing. Without polishing, it would be almost impossible to get that deep gloss or wet-look of your car.Our Works
Want to see more works?
We are always open to interesting projects.
Subscribe now
We will not spam your email.


--- title: "Blog" linkTitle: "Blog" aliases: [ "/pt-br/blog/", "/zh-cn/blog/", "/ja/blog/", "/other/blog/", ] --- {{< blocks/cover title="Selenium Blog" image_anchor="top" height="min" color="selenium-green" >}}
Keep up to date with all Selenium news here!
{{< /blocks/cover >}}


Character Controller
A character controller is a special object in the physics engine that is used to move a character throughout a scene and make it collide with other geometry. A character controller is typically an upright capsule that abstractly represents the space that a character occupies.
The character controller provides the following functionality:
- Move throughout a scene, collide with and slide along walls
- Fall to the ground, slide down steep slopes
- Climb up shallow slopes
- Step over small obstacles
- Climb stairs
- Jump
- Stand and crouch with different capsule sizes
- Push dynamic objects
- Get pushed by kinematic objects
- Ride on kinematic platforms
On top of these basic features, the character controller implements many details of movement. For example, while jumping or falling, a game may allow the player some degree of control. Such details are very game specific, though, and there is no one-size-fits-all solution.
Consequently, the character controller functionality is split up into multiple classes, and you are encouraged to implement your own logic:
ezCharacterControllerComponent
: An abstract base class for all character controllers, with a minimal interface. Other (script) code typically uses this interface to instruct the character to move, according to the player's input or the decision of an AI controlled character. This class is not actually specific to the PhysX plugin.ezPxCharacterShapeComponent
: A base class for exposing the raw functionality of the PhysX character controllers. SpecificallyezPxCharacterCapsuleShapeComponent
provides an implementation for the most commonly used capsule controller. If you implement a custom character controller, you can still save some work by reusing this, instead of calling the PhysX code yourself. On the other hand, you may want to write a custom implementation for this, if you need to adjust the very low level PhysX behavior for colliding and interacting with other bodies.ezPxCharacterControllerComponent
: An implementation ofezCharacterControllerComponent
that is provided as an example and as a decent starting point. It implements behavior similar to old-school first-person shooter games, such as Half-Life 2. Depending on how significantly different behavior you want, you can either derive from this class and override some parts, or copy the entire code and rewrite everything as desired. The latter approach may be the better solution, asezPxCharacterControllerComponent
may get changes over time that you don't desire for your game.
Example
The player object is often the most complicated object in a game. The character controller only provides the locomotion aspect, but this is often coupled tightly to the overall game logic. For example, the player may move slower or be disallowed to jump while carrying an object. Many of these aspects can be handled by an overall player logic script. Other aspects, like the details of the characters velocity while sliding down a slope or jumping through the air, have to be implemented directly inside a character controller component.
The Testing Chambers sample contains a prefab called Player.ezPrefab, which demonstrates how to build your own player object. The top level node contains both a PhysX Character Capsule Shape component (for the raw movement functionality), as well as a PhysX Character Controller component. You could replace the latter with a custom character controller component, to test out entirely different movement behavior.
Note that the player object also uses an input component to funnel input into a script, which implements high level game logic, like weapon selection.
ezPxCharacterShapeComponent Component Properties
CollisionLayer
: The collision layer to use for colliding with other geometry.Mass
: The mass of the character affects how much force it applies to objects it is standing on.MaxStepHeight
: The maximum height of obstacles that the CC will step over automatically. UnlessConstrainedClimbMode
is enabled, the CC may step over higher objects, though, because of the rounded bottom of the capsule controller.MaxSlopeAngle
: The maximum angle of slopes that the character controller may walk up.ForceSlopeSliding
: Determines whether the CC can stand on slopes steeper thanMaxSlopeAngle
. If this is enabled, it will be forced to slide down the slope.ConstrainedClimbMode
: Tries to prevent a capsule shaped CC from stepping over obstacles taller thanMaxStepHeight
. Costs extra performance.
ezPxCharacterCapsuleShapeComponent Component Properties
This component inherits the properties of ezPxCharacterShapeComponent
and adds these properties:
CapsuleHeight
,CapsuleRadius
: The height and radius of the capsule shape. Note that the total height of the capsule character shape is2 * radius + height
.
ezPxCharacterControllerComponent Component Properties
The ezPxCharacterControllerComponent
expects to find a ezPxCharacterShapeComponent
attached to the very same game object. Note that this class is mainly intended for demonstration purposes and may not have all the features and behavior that you need in your game.
RotateSpeed
: How fast the CC rotates around the up axis due to mouse or keyboard input.WalkSpeed
,RunSpeed
,CrouchSpeed
,AirSpeed
: The speed at which the CC will walk, run, move while crouching, or be able to navigate while not touching the ground.AirFriction
: How much the CC will slow down when not touching the ground.CrouchHeight
: How tall the CC is during crouching. Note that the total height of the capsule character shape is2 * radius + height
.JumpImpulse
: With how much force the CC will jump, and consequently how high it will jump.PushingForce
: With how much force the CC will push dynamic actors when walking into them.WalkSurfaceInteraction
: The surface interaction to trigger on the surfaces that the CC walks over. This is typically used to create footstep sounds.WalkInteractionDistance
,RunInteractionDistance
: The distance that the CC has to walk or run, until another surface interaction is triggered.FallbackWalkSurface
: The surface to use for triggering footstep interactions, if the ground has no surface of its own.HeadObject
: An object reference to a child object of the CC, which is considered the 'head'. If such a reference is set, the CC will move this object up and down when the CC crouches or stands up. The main camera component should be attached to this head object, such that the player sees the difference. This property is only useful for first-person player characters.


Today marks a month of living in San Francisco, the transition from nervously waiting in Heathrow Terminal 3 for the first of the other SVIP members to arrive, to sitting on my bed with a cold (intriguingly 50¢ a can) beer, looking out of my bedroom window that offers a spectacular view of eastern SF and the Bay. A lot of goings-on are framed in this one scene - the perpetually busy Bay Bridge, the looming towers of SoMa and Market, and the heavily Latin-influenced Mission District. It really puts home that this is a city with a lot about it, that if you were to more closely examine any part of what’s in view then you’d find something new. Many major cities have this potential I suppose, but it’s rare that you’re able to realise it so completely from such a macroscopic viewpoint. I liked my old house in Bristol, but my room overlooked a trainline.
Some things I’ve learned this month: Google deliver groceries, people aren’t lying when they say that Comcast are rubbish, Venmo is the future, it is indeed possible to get English tea easily, and that one should be very wary of Folsom Street on one particular weekend in September. Only one of the above discoveries involves four blocks of leather-clad men whipping each other and enthusiastically sampling each other’s fleshy parts. A further hint, it’s not part of Google’s delivery service.
Last weekend we left the StartupHouse, a “hacker house” (in reality an industrial complex converted into a ~50-person communal living space) in the heart of SoMa. On a temporary basis, the place was fine - the lack of any private space or room for personal possessions wore thin after a time but long-term living was never its intended function. The tradeoff to compromised living standards (most notably, the orchestra of nightly snoring) was the advantage that communal living provides - an ever-shifting set of relatively like minded people from all over the world. I even saw a talk there by the CEO of Unity, which was both unexpected, and seriously cool.
After scoring lucky on Craigslist (wait until you read the whole sentence before you infer things from that), and tremendous support from SVIP itself, we managed to bag a house for five that was so big, we were able to get a sixth guy in just to fill the place. SF’s housing market is brutal, and since we wanted to keep our large group together, our pickings were on the order of fingers on one hand. SVIP provided a loan for the hefty deposit, and essentially enabled us to get the place we wanted - it realistically wouldn’t have been possible without them. It’s that level of support that makes me seriously thankful for the opportunity that has come my way.
Moving to the present, work is still tough but it’s a learning process. With every day comes a new area to learn about, in a way that is significantly more accelerated and less incubated than a University environment as the changes I make affect real people in real time, and there’s no quantified marking scheme. I still maintain that University is more beneficial in preparing you to work under punishing time restraints with ever-changing criteria than it is for what it teaches you in a purely academic sense. You can acquire the raw knowledge anywhere, but the opportunity to employ it in a constructive environment, you cannot.
To sum up, it has been an incredible month so far. All of us on the SVIP have built ourselves a platform on which to move forward and encounter new things - it’s rather exciting indeed to consider what things they might be.
Also, I finally bought a guitar, which means that all of my essential home comforts are now fulfilled.


Help Manual
Grabbing a pencil and paper, scribbling down a quick task list, then ticking them off throughout the day is such a everyday process for most of us... so Taskpaper+ was written to work the same way--to make task management on your computer as quick, easy, and intuitive as a pencil and paper! This is a program that tries its best to keep out of your way, and lets you focus on the important thing: getting stuff finished.
However don't let the light, uncluttered, understated, interface fool you... Taskpaper+ goes way beyond paper: it allows you to search, filter, group, and manage your tasks to your heart's content, without bundles of buttons, dialog boxes, menus, zing, bling, pazzazz and fluff. After all, if its not quicker than paper then why bother!
It's a portable browser-based todo program (i.e. it runs in a web browser; however it doesn't need an internet connection--it has its own local webserver). Under the skin your precious task lists are saved in plain text files written in a clear, logical way. It'll take you just a few minutes to feel comfortable; just in case you forget the syntax there's a compact cheatsheet at the bottom of the edting page. If you've ever used a wiki then think of it as a wiki-for-tasks.
Tasks can also be created and edited directly in the text file, either right in your browser or in any text editor of your choice. So your data is not locked up in some mysterious, invisible, database or human (un)readable XML format; because ultimately "all your tasks belong you", its just standard, plain text: readable, openable, viewable, useable...anywhere!
Contents
- Getting started
- Understanding the Taskpaper Format
- Adding and Editing Tasks
- Archiving and Deleting
- Moving Between Taskpapers
- Adding and Removing Tabs
- Group, Filter, Search
- Printing a Task List
- Frequently Asked Questions (FAQ)
Some highlights of Taskpaper+
Add tabs, tasks, topics, tags and notes to quickly create a simple, clear, easy-on-the-eye list of things to do. It feels just like paper!
 No excuses for not get things accomplished!
Make use of the colourful "GTD" style filters at the top of the right sidebar to quickly group your tasks by their urgency or importance.
Easily add tags to any task to help you find and group your task list according to your needs... need to group by person assigned, or by urgency, or by area, no problem, just tag it! Taskpaper+ is very freeform; mold it to your personal needs and make it work for you like any good tool.
Divide your tasks up into managable topics, that automatically show up in the left sidebar giving you an effortless overview of your task list. Click any subheading to quickly focus on that topic.
Powerful Search box, with familiar Google-like syntax. Simply type the words, tags, or dates you are looking for, or use any of the special filter commands. For example, type '=late' to see tasks that are overdue, or '=2week' to see all tasks due in the next two weeks.
Here's an example of a search result. Multiple words and commands can be used to narrow down what you are looking for; matching topics are also included in the result list
Each task can be ticked off as done; highlighted to stress its importance; saved to the "archive" taskpaper; or just plain ol' deleted.
Click the Edit button to modify the entire task list...underneath its shiny skin it's just a humble text file!
Quickly navigate between the various taskpapers using the tabs at the top of the window.
Getting started!
Undoubtedly the most important step: getting the program started. I hope that I can safely assume that you've downloaded the latest version from the website, and have unzipped it to a sensible place on your hard drive. If you are upgrading please see the topic on the FAQ page
Open the newly unzipped folder and double-click 'start-server.bat'. If all goes well you should see a new window in your taskbar (called '...mapache.exe'; the one with the feather), which means that the server is up and running. Don't close this little window--or the server will stop and nothing will work until restarted!
Now open Firefox (or Chrome) and type http://localhost:8080/taskpaper into the address bar. A new Taskpaper+ page should open and off you go. Time to getting clicking, ticking, typing, and discovering!
Caveat: Internet Explorer just doesn't work properly, and I doubt I'll ever get round to making it work due to lack of interest...on my part, not yours!
Understanding the Taskpaper Format (or Syntax)
Taskpaper+ uses a simple wiki-like syntax to represent the different aspects of a task: tasks themselves begin with a dash (-), notes begin with 3 dots (...), highlighting is done by putting asterisks at the end of the task (*). Believe me, it doesn't take long to get used to it. More details of the syntax used to write tasks are given below:
Topics
Topic subheadings are created by writing the topic name on a line followed by a colon ( : )
This is a topic:
Tasks
You make a task by beginning the line with a dash ( - )
- this is a task
Tags
No task management is complete without ubiquitious 'tags', an excellent way of grouping and filtering your tasks. A tag is added by putting the @ symbol before the tag word
- this is a task @tag @another-tag
Note: sorry, no spaces allowed in tags...you'll get used to it!
Dated Tags
You an also make a dated tag (i.e. a due date) by using the @ followed by the date
- a dated task @15-dec-2009
Note: the default date format is dd-mmm-yyyy (but this can be changed in the config.php file for those who really need to...)
Time-period Tags
You can also create dated tags from time-periods: e.g. today, tomorrow, in 2 weeks, etc... Uses the same syntax as time-period searches mentioned later in this file. Use = followed by the time-period, e.g. =today, =tomorrow =2week (in 2 weeks), etc...
- a task with date time-period =tomorrow
Once you hit Save the interval will be converted into a real date.
Note: as with search time-periods you only need type as much of the word as needed to make it unique, =tom would mean =tomorrow (=to could mean =today or =tomorrow)
Notes
Any line beginning with ... (an ellipsis) is considered as a note. Simple as that. Notes belong to the task directly above them. You can have more than one note per task.
...a note all by itself
You can also add multiline "block" notes. As before they belong to the task above. The syntax is similar to a normal one line note:
...
Line one
Line two
Line three
...
Multiline notes are hidden by default, just click the little "»..." symbol to reveal the note. All other syntax is ignored inside block notes, allowing you to paste in anything you like. Handy!
Complete/Done
To show that a task is done, just put an "X" at the start of the line. Simple, visible, memorable!
X- this task is done
Action Highlighting
To highlight the action state of a task you can simply put a [space] followed by * (asterisks) at the end of the line. One * means 'next', ** means 'wait', *** means 'maybe'. For the adventurous this can be customised in the lang.php and config.php files, but the default should be useful enough!
- this task will be highlighted yellow *
- this task will be highlighted blue **
The space is important to avoid confusion with the **bold** formatting syntax
Basic text formatting
There are a few little 'wiki-style' extras that allow you to add additional formatting to your text:
Bold writing, use 2 asterisks on either side, e.g.
**this text will be bold**
Italic writing, use 2 back-slashes on each side, e.g.
//this text will be in italic//
Underlined writing, use 2 underscores on each side, e.g.
__this sentence will be underlined__
Hyperlink: to create a hyperlink use square brackets, and separate the address and the display text parts with a | (vertical bar), e.g.
[www.google.com|Google]
Other points worth noting:
It's usually best to leave a blank line between topics, it makes it easier to distinguish between them,; however you can put blank lines wherever it makes sense to you--they will not affect the normal taskpaper Topic/Task layout. The top of the list is a good place to put any new (orphaned) tasks that you haven't had time to organise yet. As you'll see below, tasks entered in the Search Box are also inserted at the top by default.
Behind the scenes the task lists are stored as plain text files (the .txt files inside the taskpaper/data folder). You could of course write a task list using any text editor (or even your phone/PDA) and then copy it into this folder, and it will show up as a taskpaper once you refresh the page. You can also click the edit button and paste in tasks from another editor too. Personally I use a text editor on my PDA to write up tasks in the taskpaper format, and just sync the text file with my laptop for it to be available in Taskpaper+.
TIP: I find the "It's All Text" add-on for Firefox, together with Notepad++ very useful when doing any major editing.
Adding and Editing Tasks
You can edit the whole taskpaper document at once by clicking the Edit button:
First button in the toolbar at the top
Make any edits you want, then click the Save button when you're finished, or Cancel if you do not want to save changes.
You can also edit tasks in-place too! Just double-click the text of any task and go right ahead and edit the text, tags and notes right there, without using the full edit box. Click the Save button when you're done.
TIP: One really handy feature is adding new tasks using the 'Search Box' at the top right. Just type a task as you normally would (i.e. start with '-' followed by a space [necessary here!]) and press enter when you're done. You can also add tags, or even choose the topic by typing '/' followed by the topic number at the end of the new task (e.g. '/1' would mean the topic no. 1; refer to the topic numbers in list in the left sidebar) or by selecting a topic before you enter a new task. By default all new tasks added this way will be put at the top if no topic is given.
The space after the '-' is vital to avoid confusion with the search syntax for excluding words, which is explained a few lines further down. Without it your "task" will be treated as a "search"!
In addition, you can use time-periods when adding tasks through the Search Box or edit-in-place box, or even the main editing window; for example if you type "=today" this will be changed into a tag corresponding to today's date when the task is added (e.g. @10-Aug-2010 if that were today's date!). The following time periods are recognised:
=today, =tomorrow, =day, =week, =month, =year
Before the last 4 time-periods you can also add a number, e.g:
=2day, =3week (i.e. 2 days from now, 3 weeks from today)
Note: spaces and plurals are not recognised; however you do not need to type the whole word, just enough to make it unique.
Here's an example of entering a new task using the Search Box...definitely the quickest method!
As you can see the =today tag was converted to a real date; and the task would have been put into the first topic in the task list
Some Examples
So, to put it all together here's a complete example:
The first topic: - get to work early @remind @important * - get to bed early @maybe X- buy flowers for your wife @remind @30-dec-2009 Second topic: - wake up early @soon - eat wholemeal porridge @food @today ** ... try Tiger Oats? or perhaps another brand ...
**NEW**: Sorting the task list by drag and drop
In the default or project views it is now possible to sort your tasks using drag and drop. You will notice a subtle "Sortable" indicator at the top of the task list if this is possible.
Using the mouse left-click and hold on any task or project, then drag it to the new location and then release the mouse button to drop it in the new location. That's really all there is to it!
Using the mouse left-click and hold on any task or project, then drag it to the new location and then release the mouse button to drop it in the new location. That's really all there is to it!
**NEW**: you can use the keyboard to save the edits: use Ctrl + Enter in either edit box to save your changes without needing to use the mouse.
Archiving and Deleting
There are 3 buttons that pop up at the end of the task when you hover over it, allowing you to highlight, archive and delete that task. Archived tasks will be moved to the "archive" taskpaper file, deleted tasks to the 'deleted' taskpaper!
At the top of the task list there is also a button for archiving all completed tasks in one action; handy on Friday when you've had a successful week!
Moving Between Taskpapers
Couldn't be easier...use the tabs at the top to jump between the different taskpaper tabs. That's it. Your current state will be kept, even if you are in the middle of editing a taskpaper.
Adding, Removing and Renaming Taskpaper Tabs
It is always good to remember that each Taskpaper tab corresponds to a real text file on your computer. There are three toolbar buttons that allow you to add new tabs (files); rename tabs, or delete a tab (i.e. file) completely:
Taskpaper tabs (files) are not actual deleted, rather moved to a separate folder inside the taskpaper/_deleted folder.
Group, Filter, Search
Now this is where Taskpaper starts to differentiate itself from plain paper: there are so many ways of searching for and grouping the tasks that are relevant to you:
- simple text search, using one or more words
- phrases, e.g. "simple phrase"
- by tag
- by date, or date range
- by date intervals, e.g today, month, year
- by project
- by state
- by filter
And of course you can sort by all the different options at the same time too: task, date, project, state...
There's a nice cheatsheet covering all the search options, available from the Help? link just above the Search Box
Clickable Filters
- Click on any tag, either in a Task or in the Tag sidebar, to filter/group by that tag
- Same thing for Topics: click on the topic heading to see tasks belonging to that topic only.
- Use the special "Filters": 'todo', 'done', 'next', 'due', 'late', etc... in the right sidebar to filter by these special search categories.
It is possible to adapt this list of filters to your own preferences, see the FAQ for details
Search Box
Using the search box on the top right you to do a full-text search in the current tab only; multiple words, phrases, dates, tags, states, and filters are all accepted.
By words and phrases
To search for specific phrases enclose them in quotes (" "):
"specific phrase"
Words can be specifically excluded by putting '-' before them:
yes -no
You can also search by date (= > <)
>12-feb-2009 => all tasks after this date
<12-jan-2008 => all tasks before this date
12-feb-2009..30-may-2009 => all tasks between these dates (inclusive)
"12-jan-2009 12-feb-2009" => (alternative way of doing date ranges)
Or by time interval (=)
Any of the following are accepted and understood:
=date, =yesterday, =today, =tomorrow, =day, =week, =month, =year, =past, =future
Note: "=date" means all items with a date tag.
Before the last 4 time-periods you can also state the number of days/weeks/months/years:
=2day, =3week, =5month => i.e. in next 2 days, in next 3 weeks, in next 5 months
The "<" and ">" can also be used, as follows:
>month => same as =month, i.e. in coming month <month => in past month
>today => same as future tasks <today => same as past tasks
You only need to type as much of the expression as necessary to make it unique. E.g. "=tom" is enough to search for =tomorrow (i.e. all tasks due by tomorrow).
By filter (#)
All the filters in the sidebar can also be used in the Search Box by typing '#' in front of the filter name. For example:
#todo #due, #late, #next, #done
Combining the search options
All the above can be combined in one search as well, e.g.:
#due order "door hinges"
Sorting (\ /)
Finally you can sort the list of results too. Again the syntax is quite straight-forward: e.g. /task means sort by task name ascending (A-Z); \task means sort descending (Z-A). The following sort options are available:
\task /task => by task name
\state /state => by state (todo, next, wait, etc...)
\date /date =>by date
\gdate /gdate => by date, grouped by month (this only works if it is at the end!)
\project /project => by project
Of course, as mentioned above you can use multiple sorts together, and you don't have to type the whole word, just enough for Taskpaper+ to recognise it.
Date grouping
Taskpaper+ can also group date searches by month to provide a better overview. If your search query contains many words, filters, dates, and/or time-periods then put \gdate at the end if you want to group the search by month. For example the following searches would be grouped by month:
roof \gdate
*next \gdate
These searches however will not be grouped, as the gdate term is not at the end:
order \gdate \task
*due @electrical \gdate \state
Printing a Task List
It is easy to print a list of tasks. Select the tab you want to print, filter/search the list according to your needs, then go to File -> Print (in the browser menu) or if you want to check the result before you print use File -> Print Preview...
The print layout is much simpler than the screen version; it only displays the task list, without sidebars and menus, and uses bold instead of highlighting to ensure clarity on black and white printouts. If you have a long list, I personally find it useful to change the printer settings to landscape, 2 pages per sheet, i.e. booklet format; this looks quite good and is handy for an in-the-pocket daily todo-list.
Other resources
For further information and questions you can check out the FAQ link at the bottom of the Taskpaper page also, or look at the Issues page on the website, where you can also request help, report bugs, and better still offer suggestions and advice.
Symon Bent, Madagascar, Revised: 21-Aug-2010 21:55


History.js allows users to construct a timeline without the pain to build all the svg elements.
With each method, History.js can help users to build to timeline they want and also customizable.
History.js also support various features that would help users build easily.
Click through the API and the Examples to see the documentation and the examples provided.