text:
Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
MDT/New and Noteworthy/1.1
Model Development Tools Release 1.1 New and Noteworthy Items.
For more details about the development plan, see the MDT 1.1 plan.
Back to Modeling Development Tools.
- 1 EMF Ontology Definition Metamodel (EODM) Component
- 2 Object Constraint Language (OCL) Component
- 3 OCL Tools Component
- 4 Unified Modeling Language 2.x (UML2) Component
- 5 UML2 Tools Component
- 6 XML Schema Definition (XSD) Component
EMF Ontology Definition Metamodel (EODM) Component
EODM 1.0 development has not yet begun. The latest EODM release was 0.9.1 as part of the Europa Winter Maintenance.
Object Constraint Language (OCL) Component
Release 1.2 M6
A few small-ish improvements are made in this milestone, along with a number of bug fixes.
Improved Collection Flattening
The intent of collection flattening in the OCL 2.0 Specification is to produce collections in the same form as OCL 1.x, in which collections could not nest. OCL 2.0 does allow collections to contain other collections, so the flatten() operation is provided to reduce a nested structure to a flat collection.
Through the 1.1 release, the flatten() implementation in MDT OCL has been incorrect: only the first level of nesting is flattened. A Set(Set(Set(Apple))) would be reduced to a Bag(Set(Apple)) instead of a Bag(Apple). This is corrected by bug 217461. After all, a partially-flattened collection isn't really of any use at all.
Implementing an EValidator
The OCL.uml model was updated to add all of the well-formedness constraints specified by OCL for the Types and Expressions packages of the Abstract Syntax. These are documented using the OCL expressions included in the OCL 2.0 Specification. From these constraint specifications, the TypesValidator and ExpressionsValidator are generated as per the EMF validation framework.
This provided the basis for resolving two bugs in the Ecore binding plug-in:
- bug 213936 for validation extensibility (the currrent visitor design is not extensible) and
- bug 213096 to override the ENamedElement::WellFormedName constraint from Ecore, which doesn't apply to OCL.
The latter is accomplished by overriding the inherited constraints in an EcoreValidator generated in the OCL binding for Ecore.
The well-formedness rules implemented in the ValidationVisitor are not yet ported to the new validators. This is planned for the next milestone, in bug 224731.
Other Bug Fixes
For other bug fixes, see the OCL 1.2 M6 release notes.
Release 1.2 M5
Development in this milestone was limited to bug fixing.
See the OCL 1.2 M5 release notes for details.
Release 1.2 M4
This was not an ambitious milestone, for the most part simply fixing defects and making one or two small enhancements. A few changes are worth noting because of their impact on API and, in some cases, compatibility with the 1.1 release.
Disposing OCL Environments
A new disposal API is defined for the OCL façade that does whatever is necessary to "clean up" the objects created by the parser, such as constraints, collection types, and variables. More specifically, disposing an OCL instance currently does the following:
- if the resource in which the environment (variables, collection types, etc.) is persisted was created by the environment and not by a client (to load an existing environment), then that resource is unloaded
- all Constraints that are not contained in a resource have their adapter lists cleared, recursively over their contents
These measures are particularly important for the UML metamodel binding. In the course of parsing and evaluating OCL expressions, the UML2 API's CacheAdapter will become attached to constraints and other objects created by the parser. It is important that this adapter be removed again from any object that is no longer in use, because otherwise it will retain that object indefinitely (the CacheAdapter is a singleton).
Additional Look-up Exceptions
Two specializations of the LookupException are added to distinguish between ambiguous look-ups and invalid look-ups. The AmbiguousLookupException signals a look-up that resulted in multiple matches that the parser cannot distinguish and the InvalidLookupException signals a look-up that resulted in an unambiguous match that is of the wrong metatype than what is required. For example, a qualified-name look-up for a Classifier or a QVT Transformation might find a Package instead of an instance of the expected metatype.
The Ecore and UML implementations of the Environment are updated to throw these more specific exception types.
Changes in Parsing Behaviour
Two further changes were implemented in the OCL parser's behaviour that have an impact on compatibility with the 1.1 release. These address Bug 197396 and Bug 212804. The former improves the parser's compliance with the OCL specification of definition constraints; compatibility with the 1.1 release is available by enabling the ParsingOptions::DEFINITION_CONSTRAINS_FEATURE option. The latter eliminates an obsolete mapping of the relational operators (< <= >= >) to the Java-ish compareTo() operation; compatibility with the 1.1 release is available by enabling the ParsingOptions::USE_COMPARE_TO_OPERATION option.
Other Bug Fixes
For other bug fixes, see the OCL 1.2 M4 release notes.
Release 1.2 M3
OCL Grammar and Parser API Refactoring
This milestone delivers the long-awaited refactoring of the OCL LPG grammar and associated parser API, contributed by Ed Willink from the GMT project's UMLX component.
The major new API in this contribution is defined in the org.eclipse.ocl.lpg and org.eclipse.ocl.parser packages. Included is an implementation of an EssentialOCL grammar (EssentialOCL.g) which is included in the full grammar (OCLParser.g). The former OCLParser class (which was internal) is refactored to separate the concrete syntax and abstract syntax parsing phases, implemented by the public classes OCLParser and [1] OCLAnalyzer, respectively.
Abstract LPG-parsing API is provided by the org.eclipse.ocl.lpg package, with abstract definitions of lexers, parsers, and analyzers. These are accompanied by a BasicEnvironment interface that provides core services such as a new pluggable ProblemHandler for flexible reporting of parsing/analysis problems.
See Bug 176110 for further details.
The UML metamodel binding now supports parsing and evaluation of OCL expressions that navigate unnamed association ends. The OCL convention for unnamed ends defines an implicit name which is the name of the classifier at that end with the initial letter in lower case. MDT OCL supports evaluation of such navigation expressions, where the implicit end name is unambiguous, on:
instances of UML2-generated metamodels:
and on instance specifications in UML models:
Other New API
As part of the refactoring of the parser API, this milestone introduces some new optional interfaces that environments may choose to implement. To maintain API compatibility, OCL employs an optional Adaptable interface similar to Eclipse Platform's IAdaptable that is available is stand-alone deployments. The OCLUtil class provides utilities to obtain adapters from parsing and evaluation environments for these optional interfaces.
One noteworthy new optional interface is Customizable, which defines a protocol for customizing the parsing and evaluation of OCL constraints via Options. Parsing options available so far include:
- ProblemOption, an enumeration of parsing problems for which clients can choose the severity (reported as Diagnostics or as ParserExceptions
- UMLParsingOptions::ASSOCIATION_CLASS_TYPE for how to treat associations in the UML environment
Evaluation options available so far include:
- EvaluationOptions::LAX_NULL_HANDLING specifying how to evaluate certain of OCL's pre-defined operations when applied to null and OclInvalid values
- UMLEvaluationOptions::EVALUATION_MODE specifying whether evaluation is on instances of a UML2-generated metamodel or on instance specificiations in a UML model
Other Bug Fixes
For other bug fixes, see the OCL 1.2 M3 release notes.
OCL Tools Component
OCL Tools is a recently added component to the Model Development Tools (MDT) Project aiming at providing first-class support to modelers working with specifications containing expressions written in OCL, the Object Constraint Language. Such support includes editing, refactoring, code generation, execution, and interactive debugging of the OCL constraints given for some underlying (Ecore or UML2) class model. The functionality of OCL Tools builds upon the MDT OCL component, and has been seeded with two initial contributions:
- an OCL -> Java compiler, that as of now takes as input an .ecore and a textual file containing OCL constraints (handling UML2 is in the ToDo list). This compiler extends EMF code generation, producing Java 5 source code with side-effects-free methods for the given OCL invariants, pre- and postconditions, and derived attributes and operations.
- an OCL text editor, supporting usability features such as AutoCompletion, navigation by means of hyperlinks, structured views (for the outline of a document and for the Abstract Syntax Tree of an OCL constraint), among others. Although MDT OCL itself is completely fluent in both Ecore and UML2, only the Ecore binding is supported by the OCL text editor at this time.
A longer intro to OCL Tools can be found at
- the draft article being reviewed for publication at: https://bugs.eclipse.org/bugs/show_bug.cgi?id=204701
- the OCL Tools wiki page
Unified Modeling Language 2.x (UML2) Component
Release 2.2 M7
The M7 milestone focused mainly on bug fixing.
One area that was scrutinized was: package merge. It was discovered that the existing package merge algorithm could result in infinite looping if users incorrectly created circular dependencies on packages or if the resulting merge resulted in circular inheritance chains. The code was made more robust by detecting such cycles and stopping in such cases. This will have impact on users wishing to create DSL's using package merge concepts.
Fixes include:
- Bug 228754 UML models do not open properly if there is a circular inheritance chain
- Bug 229338 Package merge could result in infinite looping
Another nagging issue that was addressed was the fact that users could get concurrent modification exceptions when unloading resources as a result of the cache adapter not being thread safe.
- Bug 220065 ConcurrentModificationException when unloading resources
Other notable fixes:
- Bug 227892 Can't load model with references made using hierarchical URI fragments
Release 2.2 M6
- Support for camel case names was added: Camel Case
- A new presentation and tutorial have been added to the UML2 Wiki http://wiki.eclipse.org/MDT-UML2
- Presentation: New features of UML2. http://www.eclipse.org/modeling/mdt/uml2/docs/presentations/EclipseCon2008_LongTalk_NewFeaturesOfUML2_files/frame.htm
- Tutorial: Creating Scalable Robust DSL's with UML http://www.eclipse.org/modeling/mdt/uml2/docs/tutorials/EclipseCon2008_Tutorial_Creating_Robust_Scalable_DSL_with_UML_files/frame.html
- With step-by-step examples: http://download.eclipse.org/modeling/mdt/updates/EclipseCon2008-UML-Tutorial/
- Content types for CMOF and UML resources has been added. This will help associate the appropriate default editors with their respective resources.
- For other defects fixed, see: UML 2.2 M6 release notes
Release 2.2 M5
- Users now have the ability to save a UML model in a .CMOF or .XMI format.
- Invoke the 'File > Save As...' menu item and specify a file with a .cmof extension.
- To open a .cmof file with the UML editor, select the file in the explorer view and select 'Open With > UML Editor' from the context menu.
Sample UML Model:
Internals of UML Model:
"Save As ..." menu
"Save As" dialog
Internals of CMOF file.
Other defects:
UML 2.2 M5 release notes
Release 2.2 M4
This milestone consisted mostly of fixing some defects and making few small enhancements. A few changes are worth noting.
Code template changes
The Javadoc for the UML2 API now contains information about subsetting and redefinition. Such information is useful when trying to navigate the maze of properties and how the UML meta-model is put together.
For example, Package::nestedPackage subsets Package::packagedElement
Profile registry
A new profile registry has been added making the discovery of profiles easier.
Add support for registering dynamic profiles
Release 2.2 M3
Programmers Guide Updates
A programmers guide has been added to the UML2 component. Minor content has been added with the expectation that richer documentation and articles will be added in the future.
UML2 Tools Component
Release 0.8 RC1
Numerous bug fixes in Class diagram and Composite Structures diagram editors. See the UML2Tools 0.8 RC1 release notes for details.
Release 0.8 M7
UML2Tools preferences regrouping
UML2Tools preferences pages were moved into common root 'UML2 Diagrams' (Bug 226663).
Diagram file extension
Diagrams are created in file with shorter extension (Bug 230873):
- Class diagram: .umlclass
- Component: .umlcomp
- Deployment: .umldepl
- Composite Structures: .umlcsd
- Use Case: .umlusc
- Activity: .umlact
- State Machine: .umlstm
All those changes are backward compatible -- we are processing old diagram files correctly, but all new diagrams are created with short extensions.
Operation Parameters
Dialog to edit operation parameters was added to the context menu of operations. The dialog allow the users to create, remove, reorganize parameters as well as to edit their properties ((Bug 210246)).
Extended property sheets
UML2Tools used drop-down lists for editing single-valued references in property sheets before. This is default implementation provided by UML2. The cell editor was extended by using Tree Editor in addition to existing drop-down list (Bug 228478).
Release 0.8 M6
New elements added
- Behavior port in Composite Structures diagram (Bug 208550).
- Provided/Required interface links from Port added to Class diagram, Component diagram and Composite Structures diagram editors (Bug 183754).
UML2 specification contains examples of Provided/Required interfaces links from Port. These are derived features, their values are calculated in Port#getProvideds()/getRequireds() methods. Say, the set of provided interfaces of the port is defined by the set of interfaces implemented by port's type classifier. Thus creation of the link on diagram is not related to port itself, but should modify the typing classifier of this port or one of its super-classes.
Usability issues
- Expanded class improvement in Composite Structures diagram(Bug 225721 and Bug 222108).
- Possibility to manage Provided/Required interface links (Bug 221145).
This feature considers Required/Provided Interface links, that were mentions above. One Required Interface link can be shown on the diagram several times - the Genuine(original) going out of Classifier and Derived, which is got by Port#getRequireds(), going out of Port. Preferences page 'View Filters' is aimed to manage visibility of such links:
UML2Tools SDK usability
- Elements from GMFGen extension model(AuxSecondaryDiagramNodeAttribute, SubstitutableByAttributes, ...) are editable in the default GMF editor (Bug 221300).
See the UML2Tools 0.8 M6 release notes for details.
Release 0.8 M5
New elements added
- Dependencies added to Component diagram, Use Case diagram and Deployment diagram editors (Bug 218953).
- Instance Specification for associations added to Class diagram editor (Bug 196137).
- Conditional Node element is added to Activity diagram editor (Bug 215951).
- Expansion Region element is added to Activity diagram editor (Bug 209957).
Usability issues
- Imports compartment in the secondary diagram node is collapsed by default in all diagrams (Bug 216573).
- Port with with no type is highlighted in Class diagram, Component diagram and Composite Structures diagram editors (Bug 218771).
Port pp is highlighted, because its type is null, while port p is not highlighted, as its type is powertrain.
One can modify highlight color by using 'Highligh color' option from 'Appearance' preferences page:
- 'Enclosing' presentation for Instance Specification elements is provided in Class diagram editor (Bug 216160).
See the UML2Tools 0.8 M5 release notes for details.
Release 0.8 M4
Use Case diagram added
Deployment diagram added
New elements added
- Association Class element is displayed correctly (both classifier rectangle and association link are shown) in class diagram editor (Bug 204733).
Association Class is created by using 'Association Class' palette entry from the Nodes group. It's shown as a classifier rectangle, rhombus and link connector between them. So, only its classifier properties are shown after creation. In order to show it's association properties association ends should be created. 'Association End' palette entry from the Link group is used to create ends. On the example picture Association Class Job has two Association Ends - Person and Company.
- Loop Node element is added to Activity diagram editor (Bug 209952).
UI improvements
- Label for "ordering", "upper bounds" and "control type" are shown in braces underneath the Object Node in Activity diagram editor (Bug 209959).
- "entry", "exit" and "do" labels reserved for Activity in State Machine diagram editor (Bug 210098).
See the UML2Tools 0.8 M4 release notes for details.
Release 0.8 M3
Composite Structures diagram added
New elements added
- Activity Partition element is added to Activity diagram editor (Bug 186990).
See the UML2Tools 0.8 M3 release notes for details.
XML Schema Definition (XSD) Component
Release 2.4 M7
- Several performance and usability improvements, including
- Reduction of the number of objects created when parsing a XSD file
- Performance improvements when validating big elements
- Reduction of the memory footprint due to the use of the packaged Enum feature introduced in EMF 2.4 (see bug 226815)
- See also release notes.
Release 2.4 M6
This milestone consisted mostly of fixing some defects and making few small enhancements. See details.
Release 2.4 M5
This milestone consisted mostly of fixing some defects and making few small enhancements. See details.
Release 2.4 M4
This milestone (and those prior) consisted mostly of fixing some defects and making few small enhancements. See details.
One change is worth noting.
Support ecore:suppressSubstitutionGroups
See details here and in bug 211820. See also Exploiting Substitution Groups Without Polluting Your Generated API.


text:
Gamay - Beaujolais - Vin de France
Stay savvy: eat well 🥗, drink well 🍷
La Cave de Belleville
Wine shop
Find all the wines from:
Natural winemakers, here's the information we need to register you on Raisin.
Please provide the information about your estate including location, size, treatments used, horses, tractors, harvests, etc. within 300-500 characters. This description will be added to your profile.
Please send us all certifications (organic, biodynamic, etc.). If your estate is not certified, please explain why and describe your farming practices.
Thanks in advance! - The Raisin team

subset: commoncrawl


text:
第5回不思議のダンジョンRTAフェス iCal Feed
iCal is a data format for transmitting calendar entries. Lots of calendar applications like Thunderbird, Google Calendar, Outlook or iCalendar support im- and exporting iCal files. Despite its name, it is not something exclusive to the Apple universe.
How does this help me?
You can get an iCal version of the schedule, so you can import it and have the dates and times of it readily available in your personal calendar. Then you can for example set reminders on certain schedule items, so you never miss the most important things to you.
Tell me how!
You have two options here: Doing a one-time import or subscribing to the schedule. Subscribing is definitely the recommended way, because your calendar will be kept up to date as the schedule changes.
To just import the schedule once, download the iCal file
and use your calendar's import function on it. Don't let the file extension (.ics
) of
your download distract you: iCal data is simply stored in .ics
If your calendar supports it, you really should subscribe to the schedule instead. This makes sure your calendar does not go out-of-sync over time. To subscribe, you will need to copy and paste the following URL in your calendar:
That's already it.


text:
SSI How To
Table of Contents
SSI (Server Side Includes) are directives that are placed in HTML pages, and evaluated on the server while the pages are being served. They let you add dynamically generated content to an existing HTML page, without having to serve the entire page via a CGI program, or other dynamic technology.
Within Tomcat SSI support can be added when using Tomcat as your HTTP server and you require SSI support. Typically this is done during development when you don't want to run a web server like Apache.
Tomcat SSI support implements the same SSI directives as Apache. See the Apache Introduction to SSI for information on using SSI directives.
SSI support is available as a servlet and as a filter. You should use one or the other to provide SSI support but not both.
Servlet based SSI support is implemented using the class
. Traditionally, this servlet
is mapped to the URL pattern "*.shtml".
Filter based SSI support is implemented using the class
. Traditionally, this filter
is mapped to the URL pattern "*.shtml", though it can be mapped to "*" as
it will selectively enable/disable SSI processing based on mime types. The
contentType init param allows you to apply SSI processing to JSP pages,
javascript, or any other content you wish.
By default SSI support is disabled in Tomcat.
CAUTION - SSI directives can be used to execute programs
external to the Tomcat JVM. If you are using the Java SecurityManager this
will bypass your security policy configuration in catalina.policy.
To use the SSI servlet, remove the XML comments from around the SSI servlet
and servlet-mapping configuration in
To use the SSI filter, remove the XML comments from around the SSI filter
and filter-mapping configuration in
Only Contexts which are marked as privileged may use SSI features (see the privileged property of the Context element).
Servlet Configuration
There are several servlet init parameters which can be used to configure the behaviour of the SSI servlet.
- buffered - Should output from this servlet be buffered? (0=false, 1=true) Default 0 (false).
- debug - Debugging detail level for messages logged by this servlet. Default 0.
- expires - The number of seconds before a page with SSI directives will expire. Default behaviour is for all SSI directives to be evaluated for every request.
- isVirtualWebappRelative - Should "virtual" SSI directive paths be interpreted as relative to the context root, instead of the server root? Default false.
- inputEncoding - The encoding to be assumed for SSI resources if one cannot be determined from the resource itself. Default is the default platform encoding.
- outputEncoding - The encoding to be used for the result of the SSI processing. Default is UTF-8.
- allowExec - Is the exec command enabled? Default is false.
Filter Configuration
There are several filter init parameters which can be used to configure the behaviour of the SSI filter.
- contentType - A regex pattern that must be matched before SSI processing is applied. When crafting your own pattern, don't forget that a mime content type may be followed by an optional character set in the form "mime/type; charset=set" that you must take into account. Default is "text/x-server-parsed-html(;.*)?".
- debug - Debugging detail level for messages logged by this servlet. Default 0.
- expires - The number of seconds before a page with SSI directives will expire. Default behaviour is for all SSI directives to be evaluated for every request.
- isVirtualWebappRelative - Should "virtual" SSI directive paths be interpreted as relative to the context root, instead of the server root? Default false.
- allowExec - Is the exec command enabled? Default is false.
Server Side Includes are invoked by embedding SSI directives in an HTML document whose type will be processed by the SSI servlet. The directives take the form of an HTML comment. The directive is replaced by the results of interpreting it before sending the page to the client. The general form of a directive is:

The directives are:
config -

Used to set the format of dates and other items processed by SSI -
echo -

will be replaced by the value of the variable. - exec - Used to run commands on the host system.
include -

inserts the contents -
flastmod -

Returns the time that a file was lost modified. -
fsize -

Returns the size of a file. -
printenv -

Returns the list of all the defined variables. -
set -

is used to assign a value to a user-defined variable. -
if elif endif else - Used to create conditional sections. For example:

Meeting at 10:00 on Mondays

Turn in your time card

Yoga class at noon.

See the Apache Introduction to SSI for more information on using SSI directives.
The SSI servlet currently implements the following variables:
Variable Name | Description |
AUTH_TYPE | The type of authentication used for this user: BASIC, FORM, etc. |
CONTENT_LENGTH | The length of the data (in bytes or the number of characters) passed from a form. |
CONTENT_TYPE | The MIME type of the query data, such as "text/html". |
DATE_GMT | Current date and time in GMT |
DATE_LOCAL | Current date and time in the local time zone |
DOCUMENT_NAME | The current file |
DOCUMENT_URI | Virtual path to the file |
GATEWAY_INTERFACE | The revision of the Common Gateway Interface that the server uses if enabled: "CGI/1.1". |
HTTP_ACCEPT | A list of the MIME types that the client can accept. |
HTTP_ACCEPT_ENCODING | A list of the compression types that the client can accept. |
HTTP_ACCEPT_LANGUAGE | A list of the languages that the client can accept. |
HTTP_CONNECTION | The way that the connection from the client is being managed: "Close" or "Keep-Alive". |
HTTP_HOST | The web site that the client requested. |
HTTP_REFERER | The URL of the document that the client linked from. |
HTTP_USER_AGENT | The browser the client is using to issue the request. |
LAST_MODIFIED | Last modification date and time for current file |
PATH_INFO | Extra path information passed to a servlet. |
PATH_TRANSLATED | The translated version of the path given by the variable PATH_INFO. |
QUERY_STRING | The query string that follows the "?" in the URL. |
QUERY_STRING_UNESCAPED | Undecoded query string with all shell metacharacters escaped with "\" |
REMOTE_ADDR | The remote IP address of the user making the request. |
REMOTE_HOST | The remote hostname of the user making the request. |
REMOTE_PORT | The port number at remote IP address of the user making the request. |
REMOTE_USER | The authenticated name of the user. |
REQUEST_METHOD | The method with which the information request was issued: "GET", "POST" etc. |
REQUEST_URI | The web page originally requested by the client. |
SCRIPT_FILENAME | The location of the current web page on the server. |
SCRIPT_NAME | The name of the web page. |
SERVER_ADDR | The server's IP address. |
SERVER_NAME | The server's hostname or IP address. |
SERVER_PORT | The port on which the server received the request. |
SERVER_PROTOCOL | The protocol used by the server. E.g. "HTTP/1.1". |
SERVER_SOFTWARE | The name and version of the server software that is answering the client request. |
UNIQUE_ID | A token used to identify the current session if one has been established. |


text:
Gwangju National Museum
역사와 문화가 살아숨쉬는 국립광주박물관Stone lanterns are also called Gwangmyeongdeung (light lantern) as they symbolize the light of Buddha and they have traditionally been placed before important buildings such as Daeungjeon, or the main hall, or a pagoda. Generally, a stone lantern consists of a main body containing an area for the flame (fire chamber), with a three-tier support stone below and a roof stone above, and a head ornament at the top. This stone lantern is characterized by the engraving of twin lions instead of a central pillar above the bottom support stone surrounded by a lotus flower. The two lions are shown to be standing on their hindlegs and supporting what is above them, with their chests pressed together. The realistic and natural depiction of the lions is eye-catching. The octagonal fire chamber has four openings, and the roof stone is curved upward at the eight corners. This is a work dating from the Unified Silla Period, for which simplified and realistic depiction teengiques were employed. It is regarded as a masterpiece that demonstrates the exceptional sculpture teengiques and exquisite formative beauty, despite its relatively small size. Although it was originally found inside Jungheungsanseong Fortress, it was transferred to Gyeongbokgung Palace to prevent the Japanese from moving it without authorization, and it is presently on display at the Gwangju National Museum.
View DetailThese artifacts were excavated from a tomb dating from the Bronze Age that was found on a hill next to the Yeongsangang River in Daegok-ri, Hwasun-gun. Among the Bronze Age artifacts uncovered, three slender bronze daggers, two bronze bells with eight heads, two bronze bells with twin heads, a bronze hand knife, a bronze ax and two bronze mirrors with fine lines were designated as national treasures. The slender bronze daggers have sharp edges on both sides, and one of them has a damaged blade. The protruding part of the center of the sword varies across the swords, which is a notable characteristic, and these were made in a later period compared with other bronze daggers unearthed in Korea. The bronze bells with eight heads are in the shape of an octagonal star, with a bell on each vertex. The bells contain bronze beads that make a sound when shaken. These bells are thought to have been used in shamanistic and religious ceremonies. A bracken fern design has been engraved on the face of the bell. The bronze bells with twin heads have bells on the two ends, with bronze beads inside that make a sound when shaken. It is presumed that these were also used in shamanistic and religious ceremonies.The bronze hand knife is a type of tool that is thought to have been used like the present-day sculpting blade. It has a flat blade, and the tip of the blade is partially broken. The bronze ax has a blade on one side and a groove on the opposite side through which a handle could be inserted. The side with the groove has the shoulder and the length is short compared to the width. The bronze mirrors with fine lines have rust on the mirror side, but they are in a fairly good condition. They feature geometric patterns on the back and there are two knobs for hanging the mirror. These bronze artifacts uncovered from Daegok-ri are diverse in terms of type and exhibit excellent production techniques, thus serving as important materials for those studying the Bronze Age on the Korean Peninsula and showing the advanced level of metalcraft techniques at the time.
View DetailYutongsikhwapo, referring to guns ignited and fired by hand, were classified into four types according to their size, amount of gun powder used, and firing range into cheonja, jija, hyeonja, and hwangja chongtong, based on Chinese characters. Of these, Hyeonja Chongtong Gun is the third largest.
This gun was uncovered from the bottom of the sea near Baekdo Island of Yeocheon-si, Jeollanam-do in 1992 along with a Jija Chongtong Gun and a Byeolseungja Chongtong Gun, both of which were found in a damaged state. Hyeonja Chongtong Gun is 75.8 cm in total length, while the muzzle diameter is 6.5 cm. The gun has an engraving of the maker, Yang Naeyodong, on the body. Since he was also the one who produced the Gajeongeulmyomyeong Cheonja Chongtong Gun (Treasure No. 647), it can be inferred that this gun was likely made around 1555 (the 10th year of the reign of King Myeongjong) during the Joseon Dynasty.
Among the seven Hyeonja Chongtong guns remaining today, this one is presumed to be the oldest, based on its production record, and it has been relatively well-preserved. For this reason, it is regarded as a valuable national defense heritage material and an important material in studying the development history of Korean artillery.
The Gilt-bronze Seated Amitabha Buddha Triad is characteristic of 15th century Buddha triads in terms of its formation consisting of Amitabha Buddha and Avalokitesvara and Ksitigarbha bodhisattvas and the headcloth worn by Ksitigarbha Bodhisattva. This is in line with the fact that the triad was made in 1468. On the other hand, the bronze shrine is not in its perfect state as it was arbitrarily repaired after being taken from the pagoda.
However, the fact that a Buddha statue fits well inside the shrine and that it is in a jeongak or palatial shape shows that it, too, was made in 1468 at the same time as the Buddha triad. It displays unique characteristics in the curves of the roof and the structure.
Through a written prayer discovered with the artifacts found in Maegok-dong, Suncheon, their exact production year was revealed. They are valuable works that well-demonstrate the characteristics of 15th century Buddha statues and shrines, and the shrine is especially valuable because of its never-been-seen-before features.
This epitaph tablet of the Joseon scholar Yi Seon-je (1390–1453) is inlaid with an inscription of 248 characters documenting his dates of birth and death, achievements, and details of his genealogy. The tablet was removed from the country in 1998. Its whereabouts were confirmed in 2014 through the efforts of the Overseas Korean Cultural Heritage Foundation. In 2017, Todoroki Kunie donated the tablet to the National Museum of Korea to honor the will of the owner, her late husband, who had been an afficionado of Korean art and hoped for friendly relations between Korea and Japan.
Yi Seon-je was a scholar-official who served the Joseon Dynasty at the Jiphyeonjeon (Hall of Worthies), participating in the compilation of The History of Goryeo (Goryeosa), The Annals of King Taejong (Taejong sillok), and The Divine Farmer's Materia Medica (Sinnong boncho). He also served as governor of Gangwon-do Province and second minister at the Ministry of Taxation. When Gwangju was repromoted from Gwangsan-hyeon to Gwangju-mok, Yi named a pavilion Huigyeongnu in commemoration of the change. Yi is a major figure in the history of the Honam region (Jeolla-do Province), but even the dates of his birth and death had been unknown. In 1589 (the 22nd year of the reign of King Seonjo), Yi Seon-je's fifth-generation descendant Yi Bal (1544–1589) and his family were purged during the Treason Case of 1589 (Gichuk oksa). At this time, Yi Seon-je was posthumously stripped of his title as a government official and his writings were lost. Though records related to Yi Seon-je were found in the annals of kings, it was only after the discovery of his epitaph tablet that the dates of his birth and death became certain.
The epitaph tablet is an important historical record that offers an accurate account of the life and descendants of Yi Seon-je.
It is of great significance since Gwangju is also home to an ancestral shrine for Yi Seonje (sobriquet: Pilmun), designated by the city as Folklore Heritage No. 7), and there is a street (Pilmun-ro) named in his honor.
This was a gift made to the museum by the descendants of Shin Yeoryang of the Goryeong Shin clan.
This is a special royal certificate that was issued in 1604 to promote the naval officer Shin Yeoryang from Jeolchung janggun (with a rank of jeongsampum or senior third rank) to Gaseon daebu (jongipum or minor second rank) in recognition of his achievements in the Naval Battle of Dangpo (present-day Tongyeong, Gyeongsangnam-do Province) that was fought on July 17 of that year. The certificate provides a detailed record of the battle and of Shin's achievements of in the vanguard.
This was a gift made to the museum by the descendants of the Goryeong Shin clan.
This is a confidential royal order issued in 1605 to Shin Yeoryang, who had recently been appointed commander of the Right Naval Commander's Headquarters. It was issued together with the "Seventeenth Tablet." During the Joseon Dynasty, this type of order was issued to regional officers holding the right to exercise military commands, including governors (gwanchalsa), provincial army commanders (jeoldosa), and defense officers (bangeosa). There were forty-five tablets, each comprised of two pieces with the left half kept by the royal court and the right half by the commander. When a commander received an order together with the left half of a tablet, he would check to see if it matched his half. If they matched, he mobilized his military unit according to the orders received. This order is stamped with a seal reserved for orders issued to provincial commanders-in-chief.


text:
Smith Ancient tartan – poster
Smith Ancient tartan – poster
The rebel cloth
Scotland is known for many things, like whisky, music, the occasional culinary item and so much more. However, when it comes to design nothing says 'Scotland' like a tartan. Even though the cloth was banned for decades following the Jacobite uprising of 1745, it has since gone on to become a symbol of the nation.
Cringe no more
While many see the rich cultural heritage of tartan as twee or parochial, and others bemoan it as a 19th Century invention, designers all over the world have taken inspiration from these woven wonders. The origins of what we now call tartan stretches back thousands of years. Known globally as a Scottish fabric, it is linked locally to the land and people all across the country. It's about time that we celebrated this most colourful of cloths.
About those colours
While the 'sett' or design of each tartan is unique, the colour palette can be varied. The typical tartan is called 'modern', which refers to the richly coloured chemical dyes that revolutionised the production of tartan in the 19th century. In the early 20th century, designers began to draw on a less glaring palette in an attempt to emulate early natural dyes. These tartans are called 'ancient'. A few decades later saw the discovery of buried Jacobite tartans, whose colours had been altered by their time in peat bogs. This gave rise to the colours of 'weathered' tartans. Lastly, there are 'muted' tartans, whose colours are more or less a muted version of modern.
About this tartan
This is the ancient variant of Smith tartan. An unknown designer created it in 1886. It is Scottish Register of Tartans #3822 and is also known as Gow Hunting tartan.
The artwork
Composed primarily of a large section of the tartan, the pattern will repeat depending on the size of the sett. Each line of thread is carefully drawn to replicate the tartan and is shown alongside a block palette of the colours used.
Product details
- Paper size A3, 297x420mm
- 350gsm smooth white board
- Printed in Scotland on FSC® Mixed Sources paper
FREE SHIPPING on all orders over £50 (UK orders only).
Orders are posted every Friday
Items are printed to order, so expect your order to take around 7-14 days to arrive. Items sent within the UK are sent Second Class or Second Class Signed For on larger value orders. Royal Mail aim to deliver all second class items in three working days. Non-UK orders are sent by Royal Mail and their international partner carriers and will take approximately 14-21 days to arrive.
Shipping cost
Orders are sent Second Class or Second Class Signed for, depending on the order value. The shipping prices per order are the best I can estimate to cover the posting cost and packing materials.
Why I don't offer free shipping
As a small business, I source the products in my shop as locally and ethically as I can and I keep those products as affordably priced as possible when I sell them. Because of this – and because I pay my fair share of taxes – I cannot offer free shipping.
Shipping method
- A1 and A2 prints are posted rolled up in a mailing tube and are only ever combined in posting with A3 posters. Other items will be posted separately. If there is more than one print, they will be rolled together.
- A3 posters are posted rolled up in a mailing tube. If there is more than one poster, they will be rolled together. If your order includes additional items from below, the order will be posted in an A3 board-backed envelope, with the poster(s) bagged with an additional board back. If you order more than one poster and need extra sleeves and backs because they are presents, please note on the cart page how many extra are needed.
- Calendars are posted singly in a calendar envelope, apart from Beautiful Scotland calendars, which will be in an A4 board-backed envelope. Multiple calendars are sent in an A3 board-backed envelope.
- Mounted prints are posted in an A4 board-backed envelope for up to three, or in an A3 board-backed envelope for more. Any mounted print ordered with a calendar or A3 poster will be posted in an A3 board-backed envelope.
- Cards are sent in a A5 board-backed envelope for up to ten cards, or an A4 board-backed envelope for orders of over ten. Cards ordered with a calendar or A3 poster will be in an A3 board-backed envelope.
- Magnets are posted in an A6 board-backed envelope for up to three magnets or an A5 bubble envelope for four or more. Magnets ordered along with any of the items above will be in the relevant larger envelope.
Order more packing and posting materials
If you need extra envelopes or tubes, so that you can post items you order as gifts, you can buy some here.
Multiple discounts
Multiple discounts
You can make save money at Indy Prints when you buy three or more items, in the following groups:
Card and magnets
- Buy any 3 items and get 50p off your order – code: 50poff-3
- Buy any 6 items and get £1.50 off your order – code: 150poff-6
A3 posters, calendars and mounted prints
- Buy any 3 items and get £1.50 off your order – code: 150poff-3
- Buy any 6 items and get £4 off your order – code: 400poff-6
The savings are applied automatically at the checkout.
Note, this discount may not always apply to reduced price sale items.


text:
Live the Fraternity for Life by becoming an active member of an Alumni Association. Chapter-based associations are a great opportunity to maintain connections with your home chapter's alumni. Stay informed about fraters' celebrations and life events and share your own personal and professional milestones. Learn about – or even help plan – events on campus such as homecomings, tailgates, RCBs, anniversaries/reunions and Fraternity for Life rituals. In addition, you may also be able to join (or start) an area-based alumni association where you live. These associations serve alumni living nearby; events can include social and networking opportunities, sporting and cultural events that are happening in the city, and Founders' Day celebrations in January. No matter which or how many associations you join, TKE Alumni Associations are a great way for you to stay engaged and live the Fraternity for Life. Your alumni community provides a wealth of opportunities for personal connections, professional networking and continuing your TKE experience for years to come.
Tau Kappa Epsilon is so much more than your collegiate experience. Get re-engaged again with TKE. Take advantage of the opportunities to network with fellow alumni or come back to campus during homecomings or a Red Carnation Ball.
The Nu-Xi Alumni Association of Tau Kappa Epsilon at Stephen F. Austin State University was installed as a chapter on April 27, 1998.
Since 1899, Tau Kappa Epsilon has never had an exclusionary clause for membership. TKE does not judge men on their wealth, rank or honor, but instead on their personal worth and character.
Our mission is to "to aid men in their mental, moral, and social development for life." In essence, we build Better Men for a Better World.


text:
// Provide alternate content for browsers that do not support scripting // or for those that have scripting disabled.
This session requires Adobe Flash Player version 9 or higher to view. If you do not have a recent version of Adobe Flash Player, you can download the latest version by clicking on the logo below.


text:
Cute Pink Lace Sleeveless Bow Back A-Line Flower Girl Dress
Add content which will be shown in a popup across all product pages
Add content shared across all products or assign a metafield for unique product content
Add content shared across all products or assign a metafield for unique product content
Cute Pink Lace Sleeveless Bow Back A-Line Flower Girl Dress
( / per )
Make sure you choose our correct size. Please refer to our size chart, which is one of the most important step to make sure you will get a perfect dress.
If you do not know how to choose, or still have no idea which size is correct for you, even though watching our size chart and measuring guide next. Directly contact us. We are so glad to give you suggestion!
If you are between sizes, our suggestion is to go a size up as a dress can be altered smaller much more easier than larger.
Child Size Guide
We ships worldwide to nearly every country across the global, we employ the services of major, trusted international carriers to ensure your package arrives to your destination fast and securely. We also offer free flat rate shipping on all our products to most destinations.
Order Successful
After you have successfully placed your order you will receive email confirmation from us. If you have any requests for your order, kindly let us know as soon as possible before your item enters the processing stage.
Receiving time = Processing Time + Shipping Time.
Please note that the processing time is not included in the shipping time. The receiving time =processing time+ shipping time. If you have any issues with your order, you can contact our customer service for further assistance. Our dedicated CS team will contact you within 24 hours.
Note: In orders with more than one item, the processing time will be based on the item with the longest processing time.
We will carry out strict quality controls on your items and ensure they are properly packed before preparing them for shipment. We are happy to announce that now most orders can be shipped out within 7-10 days. Kindly note a small quantity of orders may still need between over 4 weeks days depending on the difficult of handwork.
Our partners with major international shipping companies to offer different methods: Express shipping(3-5 days), Standard shipping( 7-10 days) and Free shipping(within 30 days).
You can choose your preferred shipping method on the Order Information page during the checkout process.
Note: Shipping times may be affected during public holidays as manufacturers and couriers will limit their operations during these times. Though this is unfortunately out of our control, we will try our best to improve on this issue.
Note: For tracking numbers, it may take a few days before they become active on the tracking website. If the information is not available please try again later. Please rest assured that the estimated shipping time is valid regardless of the tracking site updates.
Kindly note that all packages are shipped from different Warehouses. Our items are shipping duty unpaid and therefore import tax may occur depending on your country's Customs and shipping method. You may check with your local Customs Office for more information.
Contact Us
If any issue during the shipping time or after received the item, please feel free to contact our customer service: firstname.lastname@example.com and we will offer you a satisfying solution.
We hope you love what you ordered! But in case you don't, we will accept returns of unwashed, unworn, unused and must be with original tags items.
The following items cannot be returned, refunded or exchanged: 1. Customized Items (except for custom-size dresses), 2. Accessories, 3. Items On Clearance.
Return request must be sent to us within 7 days of the order package arrived. Please check when you signed for your parcel before posting. We are 100% sure 7 days is enough to make sure the item is fit or not, need or not.
Returns that are late because you were away on holiday or your event was cancelled will be refused - no exceptions.
Please issue return request with your order number, photos to show dress issues to our customer service email address: email@example.com.
Please note: we don't accept try on returns. That means if you only want one item, but you buy two or more to have a try and then you want to return the one/ones you don't want. At this condition, we don't accept this return request.
In the event of a return, any applied discount/coupon is forfeited and may not be re-used. Final sale items are not returnable. All shipping fees are at the customer's expense. This includes shipping fees for a return or exchange. Shipping fees are non-refundable.
We reserve the right to verify original purchase for returns requested without an order number or shipping confirmation. Please allow up to 3-5 business days for your return to be processed upon receipt at our warehouse.
- Cancel within 72 hours, you will get 100% refund;
- While more than 72 hours, you will get 50% refund. Hope you can understand that fabric,workmanship and time we used on the dress.
- Once an order has been shipped it can't be canceled.
Modsele pink tulle flower girl dress features crew neck, lace bodice, and A-line skirt. Hidden zipper back.
Product Details:
- Tulle material
- Knee length
- Size chart:
Size(cm) Bust(cm) Length(cm)
Skirt length(cm) 6-9months
- Note: Our dresses are inelastic, it will be perfect that select size more than 3cm based on personal measures.
- Fully lined
- Processing time: 5-15 business days.
Feel free to contact our customer service: firstname.lastname@example.com if you have any questions.
Let's keep in touch
Signup for our newsletter to stay up to date on sales and events.


text:
Show Offers
Show offers are a way for a customer to negotiate with a model with the goal of both parties coming to an agreement on the cost of a paid show.
What Are Show Offers?
Show offers are a way for a customer to negotiate with a model with the goal of both parties coming to an agreement on the cost of a paid show.
Why would a model let me, the customer, dictate the show price and length?
When you offer a show to a model you are guaranteeing that you will spend a fixed amount of time in a paid show. Lots of models are willing to adjust their price per minute down if they are guaranteed to make money during that time. Under normal circumstances the model never knows how long they will spend in a show, but with customer offers they know ahead of time!
How so I know if a model is allowing show offers?
Not all models are able or want to accept show offers from customers. When you are in a room that is allowing show offers, you will see an icon on your user interface that says "Make and Offer".
How it works:
First, you must be in a room where the model has elected to field offers from their customers.
* Example elementOnce you're there, you must choose three things:
Once you've chosen these three things, you submit your offer.
Submit Offer * Example elementWhat happens after I offer a show to a model?
When you submit your offer the model will examine what you are offering. The model may accept or deny your offer. The model can also make a counter offer to your initial request which will be sent back to you for action. You have the same options on a counter offer that the model has with your offer: you can accept, decline or counter offer the model's offer. Once you and the model agree on terms, the show will start and you can get what you paid for!
What happens if I leave the show early?
When you offered a show to the model you guaranteed that you would spend a certain amount of time in the paid show, so the model still gets all the credits that you agreed to.
What happens if I don't want to leave the show after my time is up?
If you are really enjoying the show you can continue to stay in the show at the show rate you and the model agreed to for as long as you want (and your credit balance allows). That said, the model can choose to end the show at any point after the agreed upon show length has elapsed.
What happens if the model ends the show early?
If a model ends the show early, that's their fault. In this case, you will only be charged the rate you agreed to for the amount of time that you actually spent in the show.


text:
Enter your search terms
Submit search form
This site
Since our goal is to have a great website, we take your comments very seriously. We don't reply with a generic automatic "your email is very important to us..." message. We'll reply when we've actually read your email. If the weather's nice you might have to wait until we've landed and re-fueled.
For bugs, check:
General Help
Known Problems
If you own or manage an airport and would like to correct information about your airport, please inform the FAA's National Flight Data Center via their
Your email*:
Comment type:
Bug or incorrect information
Question about content or usage
Feature request or suggestion
Browser information:
* AvnWx.com does not sell, lease, rent, give away or otherwise pass your email to anyone else. In fact, given how messy the office is, we're lucky to keep it around long enough to respond. Please, feel secure in knowing that we'll use your email & comments only to aid us in providing you the best possible set of information on this site.


text:
Viv Wallpaper by Amanda Houston
Our panels are a max height of 144 inches.
We always recommend purchasing a sample prior to placing full order! This ensures you love the color, scale, and print. This also ensures our product works fantastically with your surface and paint.
Removable and damage free wallpaper is the answer to your household desires! Our wallpaper is a fun and easy way to make a statement in any room! For those who do not want to make a long-term commitment to a permanent design or for renters who cannot Simply remove with no damage! From bedroom walls to kitchen backsplashes, transform any space! Wallpapers are printed on an innovative, self-adhesive removable material, which allows them to be applied and peeled multiple times without losing stickability!
Please read our FAQ page for further product details. Panels purchased at separate times may not line up correctly.
For the most accurate color reference, please refer to the individual square picture of the pattern, not the mock up or the lifestyle picture. Keep in mind the digital file and the physical wallpaper color may vary. Please purchase a sample to best see the colors in person.


text:
Work at WCPSS
We're Hiring!
We are hiring creative and dedicated professionals who believe all children have the ability to be successful. By working with us, you will join a vibrant learning community that values diversity, professional development and innovation.
We are located in Wake County, North Carolina, an area frequently ranked as one of the nation's best places to live and work. We employ more than 19,500 staff and faculty to support more than 160,000 students.
Our robust support programs for current and future educators, beautiful school facilities and flexible school calendars are just a few of the many reasons to work in the Wake County Public School System.
Questions? Submit your question to Human Resources through our online feedback system.


text:
Version 3 (modified by 9 years ago) ( diff ) | ,
Trac Installation Guide for 1.0
Table of contents
Trac is written in the Python programming language and needs a database, SQLite, PostgreSQL, or MySQL. For HTML rendering, Trac uses the Genshi templating system.
Since version 0.12, Trac can also be localized, and there is probably a translation available in your language. If you want to use the Trac interface in other languages, then make sure you have installed the optional package Babel. Pay attention to the extra steps for localization support in the Installing Trac section below. Lacking Babel, you will only get the default English version.
If you're interested in contributing new translations for other languages or enhancing the existing translations, then please have a look at TracL10N.
What follows are generic instructions for installing and setting up Trac. While you may find instructions for installing Trac on specific systems at TracInstallPlatforms on the main Trac site, please first read through these general instructions to get a good understanding of the tasks involved.
Installation Steps
- Dependencies
- Installing Trac
- Creating a Project Environment
- Deploying Trac
- Configuring Authentication
- Granting admin rights to the admin user
- Finishing the install
Mandatory Dependencies
To install Trac, the following software packages must be installed:
- Python, version >= 2.5 and < 3.0 (note that we dropped the support for Python 2.4 in this release)
- setuptools, version >= 0.6
- Genshi, version >= 0.6
You also need a database system and the corresponding python bindings. The database can be either SQLite, PostgreSQL or MySQL.
For the SQLite database
As you must be using Python 2.5, 2.6 or 2.7, you already have the SQLite database bindings bundled with the standard distribution of Python: the sqlite3
Optionally, you may install a newer version of [pypi:pysqlite pysqlite] than the one provided by the Python distribution. See PySqlite for details.
For the PostgreSQL database
You need to install the database and its Python bindings:
- PostgreSQL, version 8.0 or later
- psycopg2, version 2.0 or later
See DatabaseBackend for details.
For the MySQL database
Trac works well with MySQL, provided you follow the guidelines:
Given the caveats and known issues surrounding MySQL, read carefully the MySqlDb page before creating the database.
Optional Dependencies
Version Control System
- Subversion, 1.5.x or later and the corresponding Python bindings. Older versions starting from 1.0, like 1.2.4, 1.3.2 or 1.4.2, etc. may still work. For troubleshooting information, check the TracSubversion page.
There are pre-compiled SWIG bindings available for various platforms. (Good luck finding precompiled SWIG bindings for any Windows package at that listing. TracSubversion points you to Alagazam, which works for me under Python 2.6.)
Note that Trac doesn't use PySVN, neither does it work yet with the newer ctype
-style bindings.
Please note: if using Subversion, Trac must be installed on the same machine. Remote repositories are currently not supported.
- Git 1.5.6 or later.
More information is available on the TracGit page.
Support for other version control systems is provided via third-parties. See PluginList#VersionControlSystems and VersionControlSystem.
Web Server
A web server is optional because Trac is shipped with a server included, see the Running the Standalone Server section below.
Alternatively you can configure Trac to run in any of the following environments:
- Apache with
- a FastCGI-capable web server (see TracFastCgi)
- an AJP-capable web server (see TracOnWindowsIisAjp)
- a FastCGI and FastCGI-to-WSGI gateway (see TracOnWindowsIisWfastcgi)
- a CGI-capable web server (see TracCgi), but usage of Trac as a cgi script is highly discouraged, better use one of the previous options.
Other Python Packages
- Babel, version 0.9.5, 0.9.6 or >= 1.3 needed for localization support
- docutils, version >= 0.3.9 for WikiRestructuredText.
- Pygments for syntax highlighting. SilverCity and/or Enscript may still be used but are deprecated and you really should be using Pygments.
- pytz to get a complete list of time zones, otherwise Trac will fall back on a shorter list from an internal time zone implementation.
Attention: The available versions of these dependencies are not necessarily interchangeable, so please pay attention to the version numbers. If you are having trouble getting Trac to work, please double-check all the dependencies before asking for help on the MailingList or IrcChannel.
Please refer to the documentation of these packages to find out how they are best installed. In addition, most of the platform-specific instructions also describe the installation of the dependencies. Keep in mind however that the information there probably concern older versions of Trac than the one you're installing.
Installing Trac
The trac-admin command-line tool, used to create and maintain project environments, as well as the tracd standalone server are installed along with Trac. There are several methods for installing Trac.
Using easy_install
Trac can be installed from PyPI or the Subversion repository using setuptools.
A few examples:
- Install Trac 1.0:
easy_install Trac==1.0
- Install latest development version:
Note that in this case you won't have the possibility to run a localized version of Trac; either use a released version or install from source
easy_install Trac==dev
More information can be found on the setuptools page.
Setuptools Warning: If the version of your setuptools is in the range 5.4 through 5.6, the environment variable PKG_RESOURCES_CACHE_ZIP_MANIFESTS
must be set in order to avoid significant performance degradation. More information may be found in the sections on Running The Standalone Server and Running Trac on a Web Server.
Using pip
'pip' is an easy_install replacement that is very useful to quickly install python packages. To get a Trac installation up and running in less than 5 minutes:
Assuming you want to have your entire pip installation in /opt/user/trac
pip install trac psycopg2
pip install trac mysql-python
Make sure your OS specific headers are available for pip to automatically build PostgreSQL (libpq-dev
) or MySQL (libmysqlclient-dev
) bindings.
pip will automatically resolve all dependencies (like Genshi, pygments, etc.), download the latest packages from pypi.python.org and create a self contained installation in /opt/user/trac
All commands (tracd
, trac-admin
) are available in /opt/user/trac/bin
. This can also be leveraged for mod_python
(using PythonHandler
directive) and mod_wsgi
(using WSGIDaemonProcess
Additionally, you can install several Trac plugins (listed here) through pip.
From source
Using the python-typical setup at the top of the source directory also works. You can obtain the source for a .tar.gz or .zip file corresponding to a release (e.g. Trac-1.0.tar.gz
) from the TracDownload page, or you can get the source directly from the repository. See TracRepositories for details.
$ python ./setup.py install
You will need root permissions or equivalent for this step.
This will byte-compile the Python source code and install it as an .egg file or folder in the site-packages
of your Python installation. The .egg will also contain all other resources needed by standard Trac, such as htdocs
and templates
If you install from source and want to make Trac available in other languages, make sure Babel is installed. Only then, perform the install
(or simply redo the install
once again afterwards if you realize Babel was not yet installed):
$ python ./setup.py install
Alternatively, you can run bdist_egg
and copy the .egg from dist/
to the place of your choice, or you can create a Windows installer (bdist_wininst
Using installer
On Windows Trac can be installed using the exe installers available on the TracDownload page. Installers are available for the 32 and 64 bit versions of Python. Make sure to use the installer that matches the architecture of your Python installation.
Using package manager
Trac may be available in the package repository for your platform. Note however, that the version provided by the package manager may not be the latest release.
Advanced easy_install
To install Trac to a custom location, or find out about other advanced installation options, run:
easy_install --help
Also see Installing Python Modules for detailed information.
Specifically, you might be interested in:
easy_install --prefix=/path/to/installdir
or, if installing Trac on a Mac OS X system:
easy_install --prefix=/usr/local --install-dir=/Library/Python/2.5/site-packages
Note: If installing on Mac OS X 10.6 running easy_install http://svn.edgewall.org/repos/trac/trunk
will install into /usr/local
and /Library/Python/2.5/site-packages
by default.
The above will place your tracd
and trac-admin
commands into /usr/local/bin
and will install the Trac libraries and dependencies into /Library/Python/2.5/site-packages
, which is Apple's preferred location for third-party Python application installations.
Creating a Project Environment
A Trac environment is the backend where Trac stores information like wiki pages, tickets, reports, settings, etc. An environment is basically a directory that contains a human-readable configuration file, and other files and directories.
A new environment is created using trac-admin:
$ trac-admin /path/to/myproject initenv
trac-admin will prompt you for the information it needs to create the environment, such as the name of the project and the database connection string. If you're not sure what to specify for one of these options, just press <Enter>
to use the default value.
Using the default database connection string in particular will always work as long as you have SQLite installed. For the other database backends you should plan ahead and already have a database ready to use at this point.
Since 0.12, Trac doesn't ask for a source code repository anymore when creating an environment. Repositories can be added afterwards, and support for specific version control systems is disabled by default.
Also note that the values you specify here can be changed later by directly editing the conf/trac.ini configuration file.
Filesystem Warning: When selecting the location of your environment, make sure that the filesystem on which the environment directory resides supports sub-second timestamps (i.e. not ext2
or ext3
on Linux), as the modification time of the conf/trac.ini
file will be monitored to decide whether an environment restart is needed or not. A too coarse-grained timestamp resolution may result in inconsistencies in Trac < 1.0.2. The best advice is to opt for a platform with sub-second timestamp resolution, regardless of the Trac version.
Finally, make sure the user account under which the web front-end runs will have write permissions to the environment directory and all the files inside. This will be the case if you run trac-admin ... initenv
as this user. If not, you should set the correct user afterwards. For example on Linux, with the web server running as user apache
and group apache
, enter:
$ chown -R apache.apache /path/to/myproject
The actual username and groupname of the apache server may not be exactly apache
, and are specified in the Apache configuration file by the directives User
and Group
(if Apache httpd
is what you use).
Warning: Please only use ASCII-characters for account name and project path, unicode characters are not supported there.
Deploying Trac
Running the Standalone Server
After having created a Trac environment, you can easily try the web interface by running the standalone server tracd:
$ tracd --port 8000 /path/to/myproject
Then, fire up a browser and visit http://localhost:8000/
. You should get a simple listing of all environments that tracd
knows about. Follow the link to the environment you just created, and you should see Trac in action. If you only plan on managing a single project with Trac you can have the standalone server skip the environment list by starting it like this:
$ tracd -s --port 8000 /path/to/myproject
Setuptools Warning: If the version of your setuptools is in the range 5.4 through 5.6, the environment variable PKG_RESOURCES_CACHE_ZIP_MANIFESTS
must be set in order to avoid significant performance degradation. The environment variable can be set system-wide, or for just the user that runs the tracd
process. There are several ways to accomplish this in addition to what is discussed here, and depending on the distribution of your OS.
To be effective system-wide a shell script with the export
statement may be added to /etc/profile.d
. To be effective for a user session the export
statement may be added to ~/.profile
export PKG_RESOURCES_CACHE_ZIP_MANIFESTS=1
Alternatively, the variable can be set in the shell before executing tracd
$ PKG_RESOURCES_CACHE_ZIP_MANIFESTS=1 tracd --port 8000 /path/to/myproject
Running Trac on a Web Server
Trac provides various options for connecting to a "real" web server:
- FastCGI
- mod_wsgi
- mod_python
- CGI (should not be used, as the performance is far from optimal)
Trac also supports AJP which may be your choice if you want to connect to IIS. Other deployment scenarios are possible: nginx, uwsgi, Isapi-wsgi etc.
Generating the Trac cgi-bin directory
In order for Trac to function properly with FastCGI you need to have a trac.fcgi
file and for mod_wsgi a trac.wsgi
file. These are Python scripts which load the appropriate Python code. They can be generated using the deploy
option of trac-admin.
There is, however, a bit of a chicken-and-egg problem. The trac-admin command requires an existing environment to function, but complains if the deploy directory already exists. This is a problem, because environments are often stored in a subdirectory of the deploy. The solution is to do something like this:
mkdir -p /usr/share/trac/projects/my-project trac-admin /usr/share/trac/projects/my-project initenv trac-admin /usr/share/trac/projects/my-project deploy /tmp/deploy mv /tmp/deploy/* /usr/share/trac
Don't forget to check that the web server has the execution right on scripts in the /usr/share/trac/cgi-bin
Mapping Static Resources
Out of the box, Trac will pass static resources such as style sheets or images through itself. For anything but a tracd only based deployment, this is far from optimal as the web server could be set up to directly serve those static resources (for CGI setup, this is highly undesirable and will cause abysmal performance).
Web servers such as Apache allow you to create "Aliases" to resources, giving them a virtual URL that doesn't necessarily reflect the layout of the servers file system. We also can map requests for static resources directly to the directory on the file system, avoiding processing these requests by Trac itself.
There are two primary URL paths for static resources - /chrome/common
and /chrome/site
. Plugins can add their own resources, usually accessible by /chrome/<plugin>
path, so its important to override only known paths and not try to make universal /chrome
alias for everything.
Note that in order to get those static resources on the filesystem, you need first to extract the relevant resources from Trac using the trac-admin <environment> deploy
deploy <directory> Extract static resources from Trac and all plugins
The target <directory>
will then contain an htdocs
directory with:
- a copy of the environment's directoryhtdocs/
- the static resources of Trac itself<plugins>/
- one directory for each resource directory managed by the plugins enabled for this environment
Example: Apache and ScriptAlias
Assuming the deployment has been done this way:
$ trac-admin /var/trac/env deploy /path/to/shared/trac
Add the following snippet to Apache configuration before the ScriptAlias
or WSGIScriptAlias
(which map all the other requests to the Trac application), changing paths to match your deployment:
Alias /trac/chrome/common /path/to/trac/htdocs/common Alias /trac/chrome/site /path/to/trac/htdocs/site <Directory "/path/to/www/trac/htdocs"> Order allow,deny Allow from all </Directory>
If using mod_python, you might want to add this too (otherwise, the alias will be ignored):
<Location "/trac/chrome/common/"> SetHandler None </Location>
Note that we mapped /trac
part of the URL to the trac.*cgi
script, and the path /trac/chrome/common
is the path you have to append to that location to intercept requests to the static resources.
Similarly, if you have static resources in a project's htdocs
directory (which is referenced by /trac/chrome/site
URL in themes), you can configure Apache to serve those resources (again, put this before the ScriptAlias
or WSGIScriptAlias
for the .*cgi scripts, and adjust names and locations to match your installation):
Alias /trac/chrome/site /path/to/projectenv/htdocs <Directory "/path/to/projectenv/htdocs"> Order allow,deny Allow from all </Directory>
Alternatively to aliasing /trac/chrome/common
, you can tell Trac to generate direct links for those static resources (and only those), using the [trac] htdocs_location configuration setting:
[trac] htdocs_location = http://static.example.org/trac-common/
Note that this makes it easy to have a dedicated domain serve those static resources (preferentially cookie-less).
Of course, you still need to make the Trac htdocs/common
directory available through the web server at the specified URL, for example by copying (or linking) the directory into the document root of the web server:
$ ln -s /path/to/trac/htdocs/common /var/www/static.example.org/trac-common
Setting up the Plugin Cache
Some Python plugins need to be extracted to a cache directory. By default the cache resides in the home directory of the current user. When running Trac on a Web Server as a dedicated user (which is highly recommended) who has no home directory, this might prevent the plugins from starting. To override the cache location you can set the PYTHON_EGG_CACHE
environment variable. Refer to your server documentation for detailed instructions on how to set environment variables.
Configuring Authentication
Trac uses HTTP authentication. You'll need to configure your webserver to request authentication when the .../login
URL is hit (the virtual path of the "login" button). Trac will automatically pick the REMOTE_USER
variable up after you provide your credentials. Therefore, all user management goes through your web server configuration. Please consult the documentation of your web server for more info.
The process of adding, removing, and configuring user accounts for authentication depends on the specific way you run Trac.
Please refer to one of the following sections:
- TracStandalone#UsingAuthentication if you use the standalone server,
. - TracModWSGI#ConfiguringAuthentication if you use the Apache web server, with any of its front end:
of course, but the same instructions applies also formod_python
. - TracFastCgi if you're using another web server with FCGI support (Cherokee, Lighttpd, LiteSpeed, nginx)
The following document also contains some useful information for beginners: TracAuthenticationIntroduction.
Granting admin rights to the admin user
Grant admin rights to user admin:
$ trac-admin /path/to/myproject permission add admin TRAC_ADMIN
This user will have an "Admin" entry menu that will allow you to administrate your Trac project.
Finishing the install
Enable version control components
Support for version control systems is provided by optional components in Trac and the components are disabled by default (since 1.0). Subversion and Git must be explicitly enabled if you wish to use them. See TracRepositoryAdmin for more details.
The version control systems are enabled by adding the following to the [components]
section of your trac.ini, or enabling the components in the "Plugins" admin panel.
tracopt.versioncontrol.svn.* = enabled
tracopt.versioncontrol.git.* = enabled
After enabling the components, repositories can be configured through the Repositories admin panel or by editing trac.ini. Automatic changeset references can be inserted as ticket comments by configuring CommitTicketUpdater.
Using Trac
Once you have your Trac site up and running, you should be able to create tickets, view the timeline, browse your version control repository if configured, etc.
Keep in mind that anonymous (not logged in) users can by default access only a few of the features, in particular they will have a read-only access to the resources. You will need to configure authentication and grant additional permissions to authenticated users to see the full set of features.
See also: TracInstallPlatforms, TracGuide, TracUpgrade, TracPermissions


text:
An update now to a story we reported last week, a story about a dramatic change in the lives of whiskey drinkers. Well, some of them at least - the ones who drink Maker's Mark bourbon, because Maker's Mark cut its alcohol content, watered it down from 90-proof to just 84. They said it was because they had to meet bigger demand.
JERRY RODGERS: People just went bananas.
BLOCK: This is Jerry Rodgers, who knows his Maker's.
RODGERS: I'm the owner of Party Mart in Louisville, Kentucky. And for 18 years, I worked for the Maker's Mark distributor and sold a whole bunch of Maker's Mark.
BLOCK: How does he drink his bourbon?
RODGERS: Manhattans.
BLOCK: And Jerry speaks for tens of thousands of Maker's Mark fans who protested the decision last week.
RODGERS: Your heart just sinks because that brand is important to a lot of people, emotionally. And you just think, gosh darn it. Why did that happen?
BLOCK: Well, like new ATM fees at Bank of America or new rental policies at Netflix, like New Coke, this is another case of a customer revolt causing a company reversal. Yesterday, Maker's Mark wrote simply on their Facebook page: You spoke. We listened. Here's proof.
RODGERS: The clouds parted. The sun came out. And all was right with the world.
BLOCK: The company says it will restore the alcohol level to its original 45 percent or 90-proof. And as for the lower alcohol version of Maker's Mark, the one vilified by bourbon drinkers around the world just last week...
RODGERS: Well, here's the fun part. You know, last week, it was gosh darn it, they're lowering the proof. They're changing my whiskey. I'm not going to drink it anymore. And now, the same people are calling and saying, hey, you got any of that collectors' 84-proof Maker's Mark?
RODGERS: And people are coming in buying this stuff by the case. And that's what it's been all day long. Hey, you got any of that collectors' whiskey? Oh, it's great.
BLOCK: Well, customers at Jerry Rodgers' liquor store might be racing to stock their bar with a bottle of the now limited edition, lower proof. But Jerry says he'd rather have the original formula.
RODGERS: If I had my druthers of running out of whiskey or having the lower proof, I'll run out of whiskey first. I'd rather do that, if I get my choice. And so, I got my choice. I got my wish.
BLOCK: That's liquor store owner Jerry Rodgers in Louisville, Kentucky. His wish came true last night when Maker's Mark announced that they would stick to the original alcohol content of their bourbon. Transcript provided by NPR, Copyright NPR.


text:
Cash Pot Results For Today: Monday 11 March 2024
I have the Cash Pot Results for Today 11 March 2024. You're in the right place if you're a fan of the famous Trinidad and Tobago lottery game. We have analyzed the latest data and trends to bring you the most accurate predictions for today's Cash Pot game. Whether you are an old or a new player, we are ready to help you.
7, 9, 13, 16, 19 Multiplier: 2X
How to play Cash Pot Results
Rules and Regulations
There are some rules and regulations for playing important Advances. These are mandatory for everyone participating in the game.
- Age Limit 18+ old
- The first rule is that every player must produce a copy of their passport or identity card to verify their identity.
- The second rule is that the player must choose his first and second numbers.
- The third law is that the player must choose his field.
- The fourth law is that the player must give an advance estimate of the value of his property.
- The last rule is that the player must pay a fee of one dollar for his election.
- It is important to know these rules so that the player can study them before joining the game.
Note: We can not buy and sell NLCB lottery tickets our team only announces NLCB lottery results routinely update you can buy NLCB lottery tickets through the official NLCB lottery outlets.


text:
Surgical Procedures
Providing high-quality surgical care in a stress-free and relaxing environment.
Northridge Veterinary Center provides veterinary surgical care and services for cats and dogs. Using state-of-the-art equipment and an experienced team, we'll provide your pet with high-quality surgery in a safe, stress-free and relaxing environment.
Our team of skilled veterinarians and technicians are ready to provide your pet with a range of surgeries. Each procedure consists of a thorough pre-surgical physical exam conducted by a veterinarian, surgical monitoring, and lots of TLC throughout the day.
Read through Frequently Asked Questions about Surgery >
Below are some of our surgical procedures we offer:
Spay & Neuter Procedures
Help your pet live a long, healthy life.
Advanced Soft Tissue Surgery
Surgery on eyes, ears, and other soft tissue areas.
Non-invasive surgery to freeze and kill pet skin disorders.


text:
Contact Us
Tax Resolution Philadelphia
Address: P. O. Box 244
Bala Cynwyd, PA 19004
Phone: 610-764-7547
Email: email@example.com
Hours: Mon - Fri: 8:30am - 7:00pm
We use cookies to enable essential functionality on our website, and analyze website traffic. By clicking Accept you consent to our use of cookies. Read about how we use cookies.
We use cookies to enable essential functionality on our website, and analyze website traffic. Read about how we use cookies.
These cookies are strictly necessary to provide you with services available through our websites. You cannot refuse these cookies without impacting how our websites function. You can block or delete them by changing your browser settings, as described under the heading "Managing cookies" in the Privacy and Cookies Policy.
These cookies collect information that is used in aggregate form to help us understand how our websites are being used or how effective our marketing campaigns are.


text:
Certified Backflow Test Dayton OH 45427
Backflow water test and plumbing near me Dayton Montgomery OH
What is Backflow water test Dayton OH?
What is a certified backflow test? Backflow is when contaminated water, in your plumbing, reversed direction flowing backwards, "backflow", towards your clean water source. Pressure changes can happen easy. So a this plumbing device prevents backflow from happening to you. It is called a backflow preventer. If toxic water got into your clean water it can hurt you. A CERTIFIED BACKFLOW TEST is backflow testing performed by a plumbing professional who is continuously trained and certified to do backflow testing and backflow inspections. Having a certified backflow test makes sure your backflow preventer plumbing is working properly for you. Always test your backflow preventer for your own water safety. CertifiedBackflowTest.com local backflow tester in Dayton install a new backflow preventer, repair backflow plumbing, or do a certified backflow test. Montgomery Backflow water test 1-877-699-1885 to get your plumbing backflow testing.
What is a backflow preventer and Backflow prevention testing in Dayton OH? Basically, a backflow preventer keeps dirty water in your plumbing from leaking into your good clean water pipe. A plumbing leak in you backflow pipe could let bad water get into your good water pipe. More "plumber" formally speaking a backflow is when dirty or toxic waste water has reversed water plumbing flow direction backwards, "back flow", and begins to enter your clean water source. Backflow toxic contamination likely can happen at the "cross connection" plumbing area. Certified backflow tester near me.
Montgomery county OH backflow
Montgomery county OH backflow, in Dayton OH, is a certified backflow tester.
Local Backflow water test in Montgomery OH
Backflow cross connection pipes are located between the clean and dirty water lines plumbing area. A backflow stops working because pressure changed happened. Backflow pressure inside plumbing pipes can change from either a back pressure or back siphonage. Backflow pressure may change inside your plumbing because of a burst pipe pushing or sucking a change in plumbing water pressure, a leaking water pipe line, or burst water line main.
Plumbing pressure change then can allow toxic materials, such as human feces, and nasty chemicals, to come backwards in to your pipe, and then into your clean water. That can be harmful to you. That is why you have a certified plumber backflow testing company in Dayton do backflow testing. For a Dayton certified backflow testing service company Backflow test
Backflow test and plumber in Dayton
Certified Backflow Tester 1-877-699-1885
Montgomery OH 45427
Backflow test and plumbing in Dayton. What is a backflow preventer Dayton? Here in Dayton OH a backflow preventer plumbing water safety device may be installed i n your plumbing water main line. You may not know what it is, or that it exists. The water backflow preventer prevents the pressure of plumbing water to back flow backwards. CALL CertifiedBackflowTest.com 1-877-699-1885
Certified Backflow Tester Near Me
Local certified plumber backflow testing company A backflow preventer in Dayton near me. Backflow plumbing stops contaminated water from flowing backwards into your clean water system. Backflow prevention can be a life saver for you, since you probably don't want sewage to back flow into your clean water. When changes in water pressure happen inside your plumbing pipe line, your back flow prevention device will stop filthy water, from back flowing into your clean water system.
OH certified plumber backflow testing company Dayton
Over time all things break down or leak water, including your backflow and plumbing pipes. Your backflow pipe may have a simple water leak and you don't know? When a backflow does fail, it could allow hazardous material, feces, or chemicals, into you clean water lines. This is why you call Dayton Backflow prevention testing plumber service company, to fix, repair, or perform a backflow testing. CertifiedBackflowTest.com 1-877-699-1885
Local 24 Hour Emergency Backflow and Plumbing Near Me
Emergency 24 hour Backflow test Dayton OH Near Me. Backflow pipe leak and plumber repair and backflow testing is available throughout the state of OH. CertifiedBackflowTest.com can connect you with some Best and Local certified backflow testing service companyBackflow test in Dayton OH. Dayton certified backflow testing service company.
CertifiedBackflowTest.com Backflow Tester Near Me.
Certified Backflow Tester for Local plumbing, Best backflow repair, and certified plumber backflow testing company in Dayton
CertifiedBACKFLOWTEST.com certified plumber backflow testing company Backflow test Dayton OH. CertifiedBackflowTest.com 1-877-699-1885


text:
And Now For Something Completely DifferentOnline jargon, also known as text message shorthand, used primarily in texting, online chat, instant messaging, email, blogs, and newsgroup postings, these types of abbreviations are also referred to as chat acronyms.
For the largest list of Internet acronyms and text message jargon, click on "more info" below!
See also : OATUS
NetLingo Classification: Acronyms and Text Message


text:
Blush Floral Wedding Table Number Template, Printable Wedding Table Numbers, Floral Table Numbers Card Template, Templett, W29
Blush Floral Wedding Table Number Template, Printable Wedding Table Numbers, Floral Table Numbers Card Template, Templett, W29
Instantly edit wording, background, font style and color online and download the files! This listing contains DIGITAL FILES ONLY for you to print as many copies as you need at home or at a print center. You won't need to download any software or fonts.
Copy and paste this link (not available on mobile devices):
• 4" x 6"
• 5" x 7"
• Option to print 2 per sheet on US LETTER or A4 (PDF > SAVE PAPER)
• Choose the design you love and complete your purchase
• Follow the link sent via email from Templett to access your template
• Edit using a desktop computer or laptop (will not work on a tablet or mobile device)
• Save, download and print!
• See ALL: https://paperandthingsco.com/collections/W29
If you plan to use a professional printer, I recommend Prints of Love. My shop has partnered with them to offer high quality yet affordable printing. Plus free envelopes & free U.S. shipping!
• Simply follow this link: https://printsoflove.com/paperandthings
• Facebook: facebook.com/paperandthingsco
• Instagram: instagram.com/paperandthingsco
• Pinterest: pinterest.com/paperandthings
All designs are for personal use only and prohibited to resold or redistribute. For any clarification, please kindly message me before you proceed with the purchase.


text:
Specializing in Acoustic Research and its New England Progeny
1/25 - Restoring the KLH 8 (Rev. 2)
Restoring the AR-3a
Restoring the KLH 8 (Rev. 2)
Thoughts on AR-3 Schematics
AR Drawings
Subscribe to RSS feed
If God wanted us to go to concerts, He would have given us tickets. AR circa 1980.


text:
Back to bike selection
Spare parts and accessories for KEEWAY AGORA 50 - AGORA-50
* We acquire the data with care, but without any guarantee
Louis has taken great care in compiling the specifications and associated products. They apply to the model of the selected vehicle that is sold in Germany. The specifications of models sold in other countries may differ. Louis does not accept any responsibility for the accuracy of the information provided.
Prior to installation, you should consult your motorcycle's handbook and/or seek information from the manufacturer.
We were not able to add the requested bike because the maximum of 9 bikes has been reached.


text:
Product Description 2013 Doum Skim 54" WakeSurf Board:
Dominic Lagace continues to be our global ambassador for the sport of wakesurfing. No rider travels the world as much as Doum to spread his love of shredding the lip of boat wakes! Whether he's riding in a contest or teaching a first timer, the pure stoke that he has for the sport is contagious! His top selling wakesurf board is back with some new artwork and remains the ultimate high performing, yet highly durable skim surfer in our line. Busting huge airs, spinning, shuving, and doing it all again switch stance... the sky is the limit with this brand new design! Hi-5!


text:
A great example of this appeared recently in the "bike blog" of The Guardian newspaper in Britain, with the rather hyperbolic headline of "How one New York bike lane could affect the future of cycling worldwide".
Cyclists in the USA, and at this time particularly in New York face many problems. I'd of course like to see them resolved. But my question in this post is about why it is that a British newspaper would make such a remark. Is New York really so significant in cycling terms ?
The last figures I saw for the cycling rate of the city suggest that just 0.6% of commutes in the city are by bike (and that this small number is enough to put it in sixth place amongst larger American cities). Only around one-fifth of all journeys made are for commuting purposes. However, commuting figures are often quoted for cycling because commuters are by definition adults of working age - a relatively easy group to attract to cycling. By concerning ourselves only with commuters we don't have to concern ourselves with the more tricky demographic groups - including children, parents accompanying children and older people. Commuting figures are usually the highest figures for utility cycling that you can quote, and it makes it easier to claim a larger modal share than is real when the entire population and all reasons for journeys are discussed.
In this case let's be generous and assume for the sake of simplicity that 0.6% of all journeys by everyone are by bike in New York. The city has a population of around 8.4 million, and it's normal for people to make an average of around 2.5 journeys per day. Therefore, about 21 million journeys will be made per day in New York. Taking our generous estimate of cycle usage, we can assume that there are around 125000 journeys made per day by bike in the city. If this blog was into baffling with large numbers, I'd perhaps stop there and report the huge number of cyclists. However, that's not really very helpful.
Even compared with London, where The Guardian is based, this isn't actually impressive at all. London's population is a little smaller than New York's, but Londoners reportedly use bikes for roughly 500000 journeys per day (only a small minority of these journeys, around 13000, are made on bikes which are part of the much hyped, incredibly expensive bike share scheme).
In comparison with cities in the Netherlands, the number of trips made by bike in New York is roughly equal to a city with a population of around 150000 people and a merely average cycling rate. Higher cycling rate cities do better, of course. Assen, where we now live, is a tiny place with just 65000 people. However, they make over 70000 cycle journeys each day, which is a remarkably high proportion of our generous estimate for New York. The world's highest cycling rate is in Groningen, where a population of 190000 makes over 300000 journeys per day. Easily more than double the numbers made by New Yorkers.
Other American cities are similar. Even the much lauded Portland has only a 4.7% commuting rate. That's around 1/6th the cycling modal share of an average Dutch city. No place in the Netherlands has such a low modal share as Portland, yet Portland is also frequently an inspiration to some people in the UK.
Cycling infrastructure in the Netherlands is built to cope with far higher levels of usage and by a far wider demographic than many outside observers realise.
But this blog post isn't really about New York or Portland or even about infrastructure. Rather, I'm interested in the British media's obsession with everything from America, and their apparently unquestioning belief of any hype or "cheerleading" which they hear. If you consistently look in the wrong direction, then you consistently end up with the wrong answers. That is, unfortunately, precisely what keeps happening in the UK, where it appears that many people stand with their backs to Europe and gaze longingly across the North Atlantic for inspiration for ways to solve any given problem.
That The Guardian should write about cycling in New York in the article that I linked to is not at all unusual. The Guardian actually writes an awful lot about cycling in New York. In fact, search the newspaper for "New York cycling" and you get 10000 hits. Search for "Copenhagen cycling" (another place known for hype) and you get 2100 hits, "Portland cycling" gets 150 hits (all these numbers were correct at the time of writing this post. Google's indexes and the Guardian's content both change, but when checked a couple of years later the numbers were still similar)
And does the Guardian also write about Groningen, the place which has the highest cycling rate in the world ? Well, search for "Groningen cycling" and you find a mere 29 hits, more than one of which are due to the comments I used to make beneath "bike blog" articles before seeing how utterly pointless it was to bother with them.
There's surely something wrong with this picture. There's a saying about Journalism: "if your mother says she loves you, check it out.". Why is The Guardian, a "quality newspaper" not checking-out the stories that they tell about cycling ? Why are they not more skeptical of their sources, and ensuring sensible coverage of cycling ? The journalism on their "bike blog" often seems to consist of little more than reproducing press releases from whoever shouts loudest about their cycling "successes".
The Netherlands has a smaller population than the Metropolitan area of New York City (16 million vs 22 million) but there are vastly more cycle journeys here. A million cycle journeys per hour, in fact, during much of every week. It may not be easy to see what this compares with, but there's one simple comparison which is startling: The tiny population of this country make more journeys by bike than the whole of the USA, Britain and Australia put together.
When looking for examples of successful policy to copy, does it not make most sense to look where policies genuinely have been successful instead of looking to where proudly claimed successes are actually rather small and only visible relative to even smaller numbers of cyclists previously ?
When Americans visit Dutch cities, there is a reason why they are amazed and inspired. If journalists from the Guardian were to make the same journey, they'd see the same things. I have suggested this to them before, and indeed I also sent invitations to journalists with this and other newspapers in the UK over some years with trying to promote the idea of a Study Tour to them. I'm still waiting for a response.
Some numbers:
Yes, there are just 24000 bike commuters in the whole of New York City. Within the US, Portland leads for overall cycling rate. However, even here the figures are remarkably small in comparison with any Dutch city - including even those which consider themselves to have low rates of cycling. It's great that progress is being made in the USA, but it's very slow progress and other nations would be better off looking to the Netherlands for real examples of what really does work to promote cycling. |
In the last week we've made four different posts which refer to the USA in one way or another. To make it easy to see all "USA" posts, you can select those posts by label.
Please don't get any silly idea that I dislike New York, New Yorkers, or Americans in general. How could I ? New York's and New Yorker's influence on western culture has been huge. I grew up listening to Talking Heads and Suzanne Vega, and watching films by Woody Allen. However, just as it would make no sense at all to ask the Dutch about running a successful mission to the moon, it makes no sense to ask Americans how to make cycling a normal part of everyone's lives. That goes double when you see that enlightened Americans are actually looking to the Netherlands. Once upon a time, America was the leading cycling nation, but at the moment cycling in the USA faces many problems. I'd like to see them resolved.
Do you want to see how different it could be ? Book a study tour and see how Dutch infrastructure has lead to the highest cycling modal share in the world.


text:
Afternoon Drive: American Muscle Cars (25 Photos)
Men are passionate about their stuff, and American classic muscle cars are no exception. It is said that a man's car is an extension of his personality. It's a representation of his psyche – his id, if you may – that he sends into the outside world against the ongoing traffic flow. In extreme cases, some men become their cars and imbibe the qualities that their cars represent.
Let us take a look at several reasons why men simply cannot resist the charms of a muscle car.