Deprecated since version 3.3.0: As of 3.3.0 Dispatcher Filters are deprecated. You should use Middleware instead now.
There are several reasons to want a piece of code to be run before any controller code is executed or right before the response is sent to the client, such as response caching, header tuning, special authentication or just to provide access to a mission-critical API response in lesser time than a complete request dispatching cycle would take.
CakePHP provides a clean interface for attaching filters to the dispatch cycle. It is similar to a middleware layer, but re-uses the existing event subsystem used in other parts of CakePHP. Since they do not work exactly like traditional middleware, we refer to them as Dispatcher Filters.
CakePHP comes with several dispatcher filters built-in. They handle common features that all applications are likely to need. The built-in filters are:
AssetFilter
checks whether the request is referring to a theme
or plugin asset file, such as a CSS, JavaScript or image file stored in either a
plugin’s webroot folder or the corresponding one for a Theme. It will serve the
file accordingly if found, stopping the rest of the dispatching cycle:
// Use options to set cacheTime for your static assets
// If not set, this defaults to +1 hour
DispatcherFactory::add('Asset', ['cacheTime' => '+24 hours']);
RoutingFilter
applies application routing rules to the request URL.
Populates $request->getParam()
with the results of routing.
ControllerFactory
uses $request->getParam()
to locate the controller that
will handle the current request.
LocaleSelector
enables automatic language switching from the Accept-Language
header sent by the browser.
Filters are usually enabled in your application’s bootstrap.php file, but
you could load them any time before the request is dispatched. Adding
and removing filters is done through Cake\Routing\DispatcherFactory
. By
default, the CakePHP application template comes with a couple filter classes
already enabled for all requests; let’s take a look at how they are added:
DispatcherFactory::add('Routing');
DispatcherFactory::add('ControllerFactory');
// Plugin syntax is also possible
DispatcherFactory::add('PluginName.DispatcherName');
// Use options to set priority
DispatcherFactory::add('Asset', ['priority' => 1]);
Dispatcher filters with higher priority
(lower numbers) - will be executed
first. Priority defaults to 10
.
While using the string name is convenient, you can also pass instances into
add()
:
use Cake\Routing\Filter\RoutingFilter;
DispatcherFactory::add(new RoutingFilter());
When adding filters, you can control the order they are invoked in using
event handler priorities. While filters can define a default priority using the
$_priority
property, you can set a specific priority when attaching the
filter:
DispatcherFactory::add('Asset', ['priority' => 1]);
DispatcherFactory::add(new AssetFilter(['priority' => 1]));
The higher the priority the later this filter will be invoked.
If you don’t want to run a filter on every request, you can use conditions to
only apply it some of the time. You can apply conditions using the for
and
when
options. The for
option lets you match on URL substrings, while the
when
option allows you to run a callable:
// Only runs on requests starting with `/blog`
DispatcherFactory::add('BlogHeader', ['for' => '/blog']);
// Only run on GET requests.
DispatcherFactory::add('Cache', [
'when' => function ($request, $response) {
return $request->is('get');
}
]);
The callable provided to when
should return true
when the filter should run.
The callable can expect to get the current request and response as arguments.
To create a filter, define a class in src/Routing/Filter. In this example, we’ll be making a filter that adds a tracking cookie for the first landing page. First, create the file. Its contents should look like:
namespace App\Routing\Filter;
use Cake\Event\Event;
use Cake\Routing\DispatcherFilter;
class TrackingCookieFilter extends DispatcherFilter
{
public function beforeDispatch(Event $event)
{
$request = $event->getData('request');
$response = $event->getData('response');
if (!$request->getCookie('landing_page')) {
$response->cookie([
'name' => 'landing_page',
'value' => $request->here(),
'expire' => '+ 1 year',
]);
}
}
}
Save this file into src/Routing/Filter/TrackingCookieFilter.php. As you can see, like other classes in CakePHP, dispatcher filters have a few conventions:
Filter
.Routing\Filter
namespace. For example,
App\Routing\Filter
.Cake\Routing\DispatcherFilter
.DispatcherFilter
exposes two methods that can be overridden in subclasses,
they are beforeDispatch()
and afterDispatch()
. These methods are
executed before or after any controller is executed respectively. Both methods
receive a Cake\Event\Event
object containing the ServerRequest
and
Response
objects (Cake\Http\ServerRequest
and
Cake\Http\Response
instances) inside the $data
property.
While our filter was pretty simple, there are a few other interesting things we
can do in filter methods. By returning an Response
object, you can
short-circuit the dispatch process and prevent the controller from being called.
When returning a response, you should also remember to call
$event->stopPropagation()
so other filters are not called.
Note
When a beforeDispatch method returns a response, the controller, and afterDispatch event will not be invoked.
Let’s now create another filter for altering response headers in any public
page, in our case it would be anything served from the PagesController
:
namespace App\Routing\Filter;
use Cake\Event\Event;
use Cake\Routing\DispatcherFilter;
class HttpCacheFilter extends DispatcherFilter
{
public function afterDispatch(Event $event)
{
$request = $event->getData('request');
$response = $event->getData('response');
if ($response->statusCode() === 200) {
$response->sharable(true);
$response->expires(strtotime('+1 day'));
}
}
}
// In our bootstrap.php
DispatcherFactory::add('HttpCache', ['for' => '/pages'])
This filter will send a expiration header to 1 day in the future for
all responses produced by the pages controller. You could of course do the same
in the controller, this is just an example of what could be done with filters.
For instance, instead of altering the response, you could cache it using
Cake\Cache\Cache
and serve the response from the beforeDispatch()
callback.
While powerful, dispatcher filters have the potential to make your application more difficult to maintain. Filters are an extremely powerful tool when used wisely and adding response handlers for each URL in your app is not a good use for them. Keep in mind that not everything needs to be a filter; Controllers and Components are usually a more accurate choice for adding any request handling code to your app.


--- layout: page weight: 0 title: Scheduling Your Marketing Email breadcrumbs: true navigation: show: true ---
Kayla’s tech tip shows you the options to schedule your Marketing Email for delivery. Use this feature to ensure that your Marketing Email always sends on time.


{% extends 'base.html' %} {% block title_block %} - {{ course.course_name }} Students {% endblock title_block %} {% block body_block %}
The following students have enrolled in this course:
No students enrolled yet


Flights
| Name | To | From | Departure | Price | Available seats | |
|---|---|---|---|---|---|---|
| {{flight.name}} | {{flight.to}} | {{flight.from}} | {{flight.dateOfDeparture | date:'medium'}} | {{flight.price | currency:'EUR':true}} | {{flight.numberOfSeats}} | 0" class="btn btn-primary btn-xs" [routerLink]="['/reserve', flight.id]">Reserve View Edit Delete |
|
|
Loading...


{% extends "base.html" %} {% block content %}
Click here to download tabular results:
CSVClick here to download unclassified images:
ZIPIf your images contained geotag information, their locations are displayed on the map below. The underlying heat map aggregates species imagery capture events provided by Conservation NW to illustrate concentrations of wildlife activity in the organization's coverage area.
User Species
To ensure confidentiality, clicking "Done" will purge your classification results and images. Don't forget to download your results first!
Done {% endblock %}


--- layout: page title: About Us description: Our lab is here! background: '/img/bg-about.jpeg' ---
We are a research group at the Faculty of Computer Science, Phenikaa University. Our aim is to explore applications of AI in different domains. Our research topics including:
For more information about our work see Research.


Imports data into an org using the SObject Tree Save API. This data can include master-detail relationships.
It executes the force:data:tree:import command.
In addition to the attributes used by every ant-sfdx task, this task uses the following attributes:
| Attribute | Command line equivalent | Description | Required |
|---|---|---|---|
| plan | -p | Path to plan to insert multiple data files that have master-detail relationships. | No |
| targetusername | -u | A username or alias for the target org. | No |
You can use any number of nested <fileset>
elements to define the record trees to insert and refer to <fileset>
s defined elsewhere.
You can use any number of nested <filelist>
elements to define the record trees to insert and refer to <filelist>
s defined elsewhere.
Version: 0.0.0-master


Photo by UBCLibrary / CC BY / Changed opacity
If research is something that interests you, try to get into it as soon as possible. Researchers are looking for people who are capable, passionate and willing to learn. Many don't care about your age.
A list of all the research centers are listed here.
If you find one that you would like to work at. Look up the directors of the center and read some of the work they have done. Then send an email to them and show them that you're interested and looking to volunteer. If they like you, it can quickly turn into a paid position.
Have fun and make friends
Intramurals: Find some friends and make a team to play in a wide variety of different sports at different competitive levels.
Storm the Wall: The most popular event of the year. Teams compete in a relay consisting of swimming, sprinting, running, biking and ending with the entire team scaling a wall together.
Day of the Longboat: Race around Jericho Beach in a longboat with 9 other people. Don't miss this.
UBC provides so many opportunities for students to work. Take advantage of them.
Work Learn: A UBC initiative for students to gain valuable experience and skills on campus while studying full-time.
Internships: There are plenty of opportunities to build experience locally and internationally in every field.
Co-op: Although not intially available, for upper years, UBC helps place students in paid positions in their field. Many times, this leads to full-time positions after university.
CareersOnline: A portal to many positions on and off campus such as notetakers for certain classes, administrative roles, and companies looking to hire students.
UBC is home to over 300 different clubs.
If you can find one or two to stick with, the friends you make will be very rewarding.
A lot of these events may seem boring but try to go to some especially at the beginnning of the year. It's one of the best ways to find friends because everyone is there for that reason. It may be a little uncomfortable at first but the people you meet there will likely become your close friends.


{% extends "site_template/site_template.html" %} {% block content %}
Duration: {{ movie.duration }} min
Director: {{ movie.director }}
Actors: {{ movie.actors }}
Plot: {{ movie.plot }}


Terms and Conditions
×
General:
BY PARTICIPATING, YOU AGREE TO THESE TERMS AND CONDITIONS.
NO ENTRY FEE.
The Hackathon begins at 9:00 AM IST on April 8, 2020, and ends at 10:00 PM IST on April 9, 2020.
Organizers withhold the right to disqualify any participant who is found to have violated these guidelines.
Participation:
Switching teams is not allowed, before or during the hackathon.
No pre-existing projects are will be allowed and if found, can lead to the disqualification of the entire team.
One entry per team is allowed.
Each participant must have access to her own laptop/desktop for their participation.
Link:
T&C
I Agree with Terms and Conditions


Turn on your screen reader to hear how this works. Some people will tab through this page and others will use arrows.
This paragraph is only hear to provide


{% extends "sidebar-page.html" %} {% block content %}
DOAJ would not be able to do the work that it does without the help of its volunteers. We are grateful for the hours that all our volunteers contribute by reviewing new applications. We send our volunteers a bimonthly newsletter in order to share updates and news from the managing team; editorial group performance updates; industry updates and upcoming events; and we highlight tools to help them in their role.
EDITORS
ASSOCIATE EDITORS


Publications
I have 18 publications including 1 in Nature and 4 in Physical Review Letters with +2100 citations. (web of science at April 2021).
-
Soohyun Cho, Jin-Hong Park, Soonsang Huh, Jisook Hong, Wonshik Kyung, Byeong-Gyu Park, J. D. Denlinger, Ji Hoon Shim, Changyoung Kim, Seung Ryong Park
Studying local Berry curvature in 2H-WSe2 by circular dichroism photoemission utilizing crystal mirror plane
Scientific Reports 11, 1684 (18 January 2021) Open Access -
Jintae Kim, Rajarshi Pal, Jin-Hong Park, Jung Hoon Han
Path integral for spin-1 chain in the fluctuating matrix product state basis
Phys. Rev. B 102, 041105(R) (6 July 2020) arXiv:2002.11924 -
Jung Hoon Han, Jin-Hong Park, Patrick A. Lee
Consideration of thermal Hall effect in undoped cuprates
Phys. Rev. B 99, 205157 (30 May 2019) arXiv:1903.01125 -
Jin-Hong Park, Seung Hun Lee, Choong H. Kim, Hosub Jin, and Bohm-Jung Yang
Two-dimensional Peierls instability via zone-boundary Dirac line nodes in layered perovskite oxides
Phys. Rev. B 99, 195107 (6 May 2019)Editors' Suggestion
arXiv:1808.06830 -
Soohyun Cho, Jin-Hong Park, Jisook Hong, Jongkeun Jung, Beom Seo Kim, Garam Han, Wonshik Kyung, Yeongkwan Kim, S.-K. Mo, J. D. Denlinger, Ji Hoon Shim, Jung Hoon Han, Changyoung Kim, Seung Ryong Park
Experimental observation of hidden Berry curvature in inversion-symmetric bulk 2H-WSe2
Phys. Rev. Lett. 121, 186401 (29 October 2018) arXiv:1712.01520 -
T. Fujita, P. Stano, G. Allison, K. Morimoto, Y. Sato, M. Larsson, J.-H. Park, A. Ludwig, A.D. Wieck, A. Oiwa, and S. Tarucha
Signatures of Hyperfine, Spin-Orbit, and Decoherence Effects in a Pauli Spin Blockade
Phys. Rev. Lett. 117, 206802 (11 November 2016)Editors' Suggestion
arXiv:1603.04861 -
Jin-Hong Park, Guang Yang, Jelena Klinovaja, Peter Stano, and Daniel Loss
Fractional boundary charges in quantum dot arrays with density modulation
Phys. Rev. B 94, 075416 (12 August 2016) arXiv:1604.05437 -
Soo-Yong Lee, Jin-Hong Park, Gyungchoon Go, and Jung Hoon Han
Arbitrary Chern number generation in the three-band model from momentum space
J. Phys. Soc. Jpn. 84, 064005 (26 May 2015) arXiv:1312.6469 -
Yun-Tak Oh, Hyunyong Lee, Jin-Hong Park and Jung Hoon Han
Dynamics of magnon fluid in Dzyaloshinskii-Moriya magnet and its manifestation in magnon- Skyrmion scattering
Phys. Rev. B 91, 104435 (31 March 2015) arXiv:1501.06467 -
Yun-Tak Oh, Panjin Kim, Jin-Hong Park and Jung Hoon Han
Manifold Mixing in the Temporal Evolution of a Spin-1 Spinor Bose-Einstein Condensate
Phys. Rev. Lett. 112, 160402 (22 Apr 2014)Editors' Suggestion
arXiv:1309.5683 -
Gyungchoon Go, Jin-Hong Park and Jung Hoon Han
Three-band model for quantum Hall and spin Hall effects
Phys. Rev. B 87, 155112 (4 Apr 2013) arXiv:1211.3780 -
Jin-Hong Park, Choong H. Kim, Hyun-Woo Lee and Jung Hoon Han
Orbital chirality and Rashba interaction in magnetic bands
Phys. Rev. B 87, 041301(R) (3 Jan 2013) arXiv:1207.0089 -
Jin-Hong Park, Choong H. Kim, Jun-Won Rhim and Jung Hoon Han
Orbital Rashba effect and its detection by circular dichroism angle-resolved photoemission spectroscopy
Phys. Rev. B 85, 195401 (2 May 2012) arXiv:1112.1821 arXiv:1107.3285 -
Jin-Hong Park and Jung Hoon Han
Zero-temperature phases for chiral magnets in three dimensions
Phys. Rev. B 83, 184406 (16 May 2011) arXiv:1012.0638 -
Jung Hoon Han, Jiadong Zang, Zhihua Yang, Jin-Hong Park and Naoto Nagaosa
Skyrmion Lattice in Two-Dimensional Chiral Magnet
Phys. Rev. B 82, 094429 (16 Sep. 2010) arXiv:1006.3973 -
X. Z. Yu, Y. Onose, N. Kanazawa, J. H. Park, J. H. Han, Y. Matsui, N. Nagaosa and Y. Tokura
Real-space observation of a two-dimensional skyrmion crystal
Nature 465, 901 (17 Jun. 2010) -
Gun Sang Jeon, Jin-Hong Park, Jae Wook Kim, Kee Hoon Kim, and Jung Hoon Han
Theory of magnetic-field-induced critical end point in BiMn2O5
Phys. Rev. B 79, 104437 (Mar. 31, 2009) arXiv:0810.2332 -
Jin-Hong Park, Shigeki Onoda, Naoto Nagaosa and Jung Hoon Han
Nematic and chiral order for planar spins on a triangular lattice
Phys. Rev. Lett. 101, 167202 (Oct. 17, 2008) arXiv:0804.4034


Quick Install
Download the bootstrap.css or bootstrap.min.css files or install using Bower:
bower install https://github.com/pradeep122/bootstrap-theme-yantranet#master
README

Themestrap

Themestrap is a simple starter kit for constructing Twitter Bootstrap 3+ themes. It provides the skeleton
for a simple, maintainable theme that always uses code directly from Bootstrap with as little replacement as
possible.

Themestrap's Philosophy

A theme should be built on top of the framework, with as little intrusive change as possible.

As the framework evolves, a theme should be easily updated to the latest version.

To this end, Themestrap provides you with two simple files to modify: variables.less
and theme.less (both in the less directory). You can tweak any and all of the Bootstrap variables
in variables.less and support any additional code or classes you'd like in theme.less. The compiled
theme CSS includes the Bootstrap library and will automatically pick up any overrides from variables.

Creating a Theme with Themestrap

To create a theme, first start by cloning the Themestrap repository into a directory named for
your theme. We recommend a bootstrap-theme-THEME_NAME naming scheme:

git clone https://github.com/divshot/themestrap.git bootstrap-theme-THEME_NAME

Next, you should open bower.json and change the package name from bootstrap-theme-themestrap
to match what you want your theme to be named. Now you're ready to install dependencies using
Grunt and Bower (you must have these
installed).

npm install
bower install

Now you're ready to go! Simply edit less/variables.less and less/theme.less to your liking.
When you're ready, just run grunt and it will compile and minify the distribution for you.
You can also run grunt watch to automatically compile as you work.

Testing Out Your Theme

We've provided a "Bootstrap Kitchen Sink" HTML file at examples/kitchen-sink.html that contains
all of the various components in all of their variations. It may not be 100% exhaustive but it
should give you a good idea of what your theme will look like at a glance.

You can start a development server at http://localhost:8000 by running grunt serve. Your theme will automatically compile while the server is running.

Deeper Customization

In cases where you need to do a more in-depth overhaul of a portion of Bootstrap's LESS, you may do so by
simply copying over a file from Bootstrap's less directory into your theme's less directory and then
modifying it as necessary. Example:

cp bower_components/bootstrap/less/alerts.less less/alerts.less

Because it takes path priority over the Bower-installed Bootstrap LESS, it will automatically override the
Bootstrap default. In fact, this is how variables.less works already...delete it and the default Bootstrap
variables will be back in play.

Releasing Your Theme

Before you release your theme, you should do a few things:

Make sure that you've updated the package name in bower.json and filled out your name, the theme name and GitHub repo info

Check the index.html file – it is generated using the information you supplied in bower.json. To change it to suit your needs, edit the template /pages/index.html.

Update the README.md file to be about your theme

Once you've done that, you should push it up to GitHub. The repository
is already designed to be released directly onto GitHub Pages without an additional intermediary,
so if you push to the gh-pages branch you should have a nice way to show off your theme!

Also consider registering a Bower package.
If you do, remove the "private": true property from bower.json.

The Themestrap Gallery

We've created a gallery of themes built with Themestrap. If you
have created a theme and want to add it to the gallery, just make a pull request to the gh-pages
branch of this repository.

Copyright and license

Copyright 2013 Divshot, Inc. under the Apache 2.0 license.


(Optional) Deployment Name as specified in OverOps or use Jenkins environment variables.
Example: ${BUILD_NUMBER}
or ${JOB_NAME}-${BUILD_NUMBER}
-
If populated, the plugin will filter the data for the specific deployment name in OverOps
Note: If using Jenkins environment variables, they must be added to the build’s manifest file for OverOps to use. See this link for details.
-
If blank, no deployment filter will be applied in the query.


Select a correlation degree
Clusters Corrlation 0.70
Clusters Correlation 0.75
Clusters Corrlation 0.80
Clusters Correlation 0.85
Clusters Corrlation 0.90
Clusters Correlation 0.95
Send comments to
Kevin White
or/and
Eric Johnson


open class ActionBarFragment : ArtearFragment
A Fragment that save an abstraction called ArtearActionBarProperties of some features to draw in a toolbar on NavigationActivity.
See: uiview library
ActionBarFragment()
A Fragment that save an abstraction called ArtearActionBarProperties of some features to draw in a toolbar on NavigationActivity. |
lateinit var actionBarProperties: ArtearActionBarProperties
The abstraction to save toolbar properties of this fragment |
open fun onCreate(savedInstanceState: Bundle?): Unit |
|
open fun onSaveInstanceState(outState: Bundle): Unit |
|
open fun onViewStateRestored(savedInstanceState: Bundle?): Unit |
|
fun updateActionBar(): Unit
Called when a fragment recover the focus on screen. In that way the user can see an update of toolbar. |
const val ACTION_BAR_PROPERTIES: String |
fun Fragment.getChildActiveFragment(): Fragment |
|
fun Fragment.getIdWithChildFragmentCount(description: String): String
Useful to get a unique id an launch a fragment vertically. |
|
fun <T> T.ifNull(block: () -> T?): T?
Execute the block only if null |


◆ ColorSensorMeasurementRate()
| frc.lib.drivers.ColorSensorV3.ColorSensorMeasurementRate.ColorSensorMeasurementRate |
( |
int |
i | ) |
|
◆ bVal
| final byte frc.lib.drivers.ColorSensorV3.ColorSensorMeasurementRate.bVal |
◆ kColorRate1000ms
| frc.lib.drivers.ColorSensorV3.ColorSensorMeasurementRate.kColorRate1000ms =(5) |
◆ kColorRate100ms
| frc.lib.drivers.ColorSensorV3.ColorSensorMeasurementRate.kColorRate100ms =(2) |
◆ kColorRate2000ms
| frc.lib.drivers.ColorSensorV3.ColorSensorMeasurementRate.kColorRate2000ms =(7) |
◆ kColorRate200ms
| frc.lib.drivers.ColorSensorV3.ColorSensorMeasurementRate.kColorRate200ms =(3) |
◆ kColorRate25ms
| frc.lib.drivers.ColorSensorV3.ColorSensorMeasurementRate.kColorRate25ms =(0) |
◆ kColorRate500ms
| frc.lib.drivers.ColorSensorV3.ColorSensorMeasurementRate.kColorRate500ms =(4) |
◆ kColorRate50ms
| frc.lib.drivers.ColorSensorV3.ColorSensorMeasurementRate.kColorRate50ms =(1) |
The documentation for this enum was generated from the following file:


Toggle navigation
Home
More Cool Stuff!
Even More Cool Stuff!
About
GitHub
Docs Repo
Docs Issues
Less.js Repo
Less.js Issues
Previous
Next


Downloads data from the BED website. Of main importance is the flat file with establishment level count by industry (3 digits naics) every quarter. This page includes all the individual industry tables and the flat file is at the bottom under this url.
Note that there is also a ftp with other data.
 The data comes from two tables:
head(dt_ind[ naics3 == "111"])
date_ym naics3 year period ent_emp note1 exit_emp ent_cnt exit_cnt nent_emp nent_cnt ent_lvl_emp exit_lvl_emp ent_lvl_cnt exit_lvl_cnt tot_count tot_emp
1: 199209 111 1992 Q03 4.8 P 4.7 10.9 8.9 0.1 2.0 27754 27031 4171 3402 38266.06 578208.3
2: 199212 111 1992 Q04 4.0 P 5.1 8.2 11.1 -1.1 -2.9 22055 27995 3128 4193 38146.34 551375.0
3: 199303 111 1993 Q01 4.9 P 4.2 10.4 9.3 0.7 1.1 26148 22265 3883 3478 37336.54 533632.7
4: 199306 111 1993 Q02 5.2 P 4.0 10.6 8.6 1.2 2.0 29233 22413 4022 3281 37943.40 562173.1
5: 199309 111 1993 Q03 5.0 P 4.5 10.6 8.4 0.5 2.2 28777 26201 4143 3272 39084.91 575540.0
6: 199312 111 1993 Q04 4.0 P 4.7 7.7 10.6 -0.7 -2.9 22228 26235 2966 4094 38519.48 555700.0
ent_cnt
is Establishment gaining jobs, Opening establishments
exit_cnt
is Establishment losing jobs, Closing establishments
nent_cnt
is the difference between the number of opening establishments and the number of closing establishments.Crop Production (Percent)
Establishments gaining jobs Establishments losing jobs
Year 3 months ended Net change(2) Total Expanding Opening Total Contracting Closing
establishments establishments establishments establishments
1992 September 2.0 43.4 32.5 10.9 41.4 32.5 8.9
December -2.9 37.5 29.3 8.2 43.8 32.7 11.1
1993 March 1.1 42.9 32.5 10.4 39.5 30.2 9.3
June 2.0 43.4 32.8 10.6 39.6 31.0 8.6
September 2.2 43.5 32.9 10.6 40.5 32.1 8.4
December -2.9 37.5 29.8 7.7 43.6 33.0 10.6
ent_emp
is Gross job gains, Opening establishments
exit_emp
is Gross job losses, Closing establishments
nent_emp
Net change is the difference between total gross job gains and total gross job losses.Crop Production (Percent)
Gross job gains Gross job losses
Year 3 months ended Net change(2) Total Expanding Opening Total Contracting Closing
establishments establishments establishments establishments
1992 September -1.4 32.4 27.6 4.8 33.8 29.1 4.7
December -2.0 29.1 25.1 4.0 31.1 26.0 5.1
1993 March 0.6 28.7 23.8 4.9 28.1 23.9 4.2
June 3.0 31.7 26.5 5.2 28.7 24.7 4.0
September -0.8 31.2 26.2 5.0 32.0 27.5 4.5
December -0.7 29.4 25.4 4.0 30.1 25.4 4.7
Crop Production
Establishments gaining jobs Establishments losing jobs
Year 3 months ended Net change(1) Total Expanding Opening Total Contracting Closing
establishments establishments establishments establishments
1992 September 769 16,623 12,452 4,171 15,874 12,472 3,402
December -1,065 14,226 11,098 3,128 16,587 12,394 4,193
ent_cnt
(and respectively exit_cnt
and nent_cnt
) is the ratio of establishments gaining jobs: opening establishments over the total number of establishments both gaining jobs and losing jobs adjusted for their share in the total number of establishments in the economyCrop Production
Gross job gains Gross job losses
Year 3 months ended Net change(1) Total Expanding Opening Total Contracting Closing
establishments establishments establishments establishments
1992 September -7,856 187,375 159,621 27,754 195,231 168,200 27,031
December -11,035 160,672 138,617 22,055 171,707 143,712 27,995
ent_emp
(and respectively exit_emp
and nent_emp
) is the ratio of establishments gaining jobs: opening establishments over the total number of establishments both gaining jobs and losing jobs adjusted for their share in the total employment of establishments in the economyAll the flat files are available here. Of main importance is the doc To find a series it is important to read the series ID, for example BDS0000000000000000210101LQ5
which can be broken out into:
BD
seasonal_code
: S
Seasonally adjusted, U
Not seasonally adjustedmsa_code
: 00000
Nationalstate_code
: 00
U.S. totals, see docs
county_code
: 000
industry_code
: 000000
Total Private, see doc for breakdown by naics two and three digits.unitanalysis_code
: 1
Establishmentdataelement_code
: 1
Employment, 2
Number of Establishmentssizeclass_code
: 00
: All size classes and see docs for otherdataclass_code
: 01
Gross Job Gains, 02
Expansions, 03
Openings, 04
Gross Job Losses, 05
Contractions, 06
Closings, 07
Establishment Births, 08
Establishment Deathsratelevel_code
: L
Level, R
Rateperiodicity_code
: A
Annual, Q
Quarterlyownership_code
: 5
Private SectorTo be able to get all these series the code is required to download the full flat file which can be quite heavy (requires confirmation).
Business Employment Dynamics Program Contacts is available via email at<EMAIL_ADDRESS>or by phone on<PHONE_NUMBER>.


Emacs
Almighty editor to rule them all edit CSS, LASS, Common Lisp and bits of HTML.
I highly recommend Portacle as a distribution to try out Common Lips development in a hassle free manner.
This project is inspired by amazing Markdown.css work by Peter Coles.
Please check the mandatory HTML5 features demo Demo page.
Almighty editor to rule them all edit CSS, LASS, Common Lisp and bits of HTML.
I highly recommend Portacle as a distribution to try out Common Lips development in a hassle free manner.
CSS is being generated using Shinmera's LASS CSS generation library for Common Lisp.
LASS:
(article ((:or p blockquote) :margin 0 :padding 0 (a :color black) ((:and a :hover) :color darkred)))
Generated CSS:
article p, article blockquote{ margin: 0; padding: 0; } article p a, article blockquote a{ color: black; } article p a:hover, article blockquote a:hover{ color: darkred; }
More examples are available at the LASS
website.
I've created a small extension to LASS
- CLASSIE that can handle arithmetic operations and goes around some rough edges of LASS
.
LASS:
(h1 :color #(orange) :font-size (+ 4px #(font-size)))
CSS:
h1{ color: #cb4b16; font-size: 18.00px; }


This example uses case-sensitive starts-with filtering. The default is case-insensitive content filtering.


The performance of the market is forecast to accelerate, with an anticipated CAGR of 6.9% for the five-year period 2013-2015, which is expected to drive the market to a value of $934 billion by the end of 2015.
The XYZ segment was the market's most lucrative in 2010, with total revenue of $222.2 billion, equivalent to 33.2% of the market's overall value. The other XYZ segment contributed revenue of $210.1 billion in 2010, equating to 31.4% of the market's aggregate value.
The US XYZ market grew posting gradually decelerating growth rates, culminating in a steep decline in 2009. The market recovered this year and is expected to display healthy growth over the next five years up to 2015.
The US XYZ market had total revenue of $670 billion in 2010, representing a compound annual growth rate (CAGR) of 0.1% for the period spanning 2006-2010.
The XYZ market has been greatly affected by the global economic downturn, however, the prompt recovery and optimistic view for future market's growth should mitigate the rivarly level somewhat.


{{ define "content" }}
ChitChat is a simple chat application that helps you connect with other people around the world.
ChitChat is a fun side project of mine with basic features such as real-time messaging, chat rooms, authentication, and more coming soon :)
Search and select a chat room to join without any lengthy sign-up forms that ask for your personal information.
Can't find an interesting chat room? Just create your own! Enhance and tailor chat rooms to your needs by setting passwords, descriptions, and customizing visibility.
In addition to standard TLS encryption, private and secret chat rooms require a password to enter. Access will be authorized using JSON web tokens.
Please see full source code on GitHub
{{ end }}


nips nips2003 nips2003-108 nips2003-108-reference knowledge-graph by maker-knowledge-mining
Source: pdf
Author: Matthew Schultz, Thorsten Joachims
Abstract: This paper presents a method for learning a distance metric from relative comparison such as “A is closer to B than A is to C”. Taking a Support Vector Machine (SVM) approach, we develop an algorithm that provides a ﬂexible way of describing qualitative training data as a set of constraints. We show that such constraints lead to a convex quadratic programming problem that can be solved by adapting standard methods for SVM training. We empirically evaluate the performance and the modelling ﬂexibility of the algorithm on a collection of text documents. 1
[1] A. Buja, D. Swayne, M. Littman, and N. Dean. Xgvis: Interactive data visualization with multidimensional scaling. Journal of Computational and Graphical Statistics, to appear.
[2] D. Cohn, R. Caruana, and A. McCallum. Semi-supervised clustering with user feedback. Technical Report TR2003-1892, Cornell University, 2003.
[3] Corinna Cortes and Vladimir Vapnik. Support-vector networks. Machine Learning, 20(3):273–297, 1995.
[4] T. Cox and M. Cox. Multidimensional Scaling. Chapman & Hall, London, 1994.
[5] M. Craven, D. DiPasquo, D. Freitag, A. McCallum, T. Mitchell, K. Nigam, and S. Slattery. Learning to extract symbolic knowledge from the world wide web. Proceedings of the 15th National Conference on Artiﬁcial Intelligence (AAAI-98), 1998.
[6] Scott C. Deerwester, Susan T. Dumais, Thomas K. Landauer, George W. Furnas, and Richard A. Harshman. Indexing by latent semantic analysis. Journal of the American Society of Information Science, 41(6):391–407, 1990.
[7] T. Joachims. Optimizing search engines using clickthrough data. Proceedings of the ACM Conference on Knowledge Discovery and Data Mining (KDD), 2002.
[8] I.W. Tsang and J.T. Kwok. Distance metric learning with kernels. Proceedings of the International Conference on Artiﬁcial Neural Networks, 2003.
[9] V. Vapnik. Statistical Learning Theory. Wiley, Chichester, GB, 1998.
[10] Kiri Wagstaff, Claire Cardie, Seth Rogers, and Stefan Schroedl. Constrained K-means clustering with background knowledge. In Proc. 18th International Conf. on Machine Learning, pages 577–584. Morgan Kaufmann, San Francisco, CA, 2001.
[11] E.P. Xing, A.Y. Ng, M.I. Jordan, and S. Russell. Distance metric learning, with application to clustering with side information. Advances in Neural Information Processing Systems, 2002. a) 3 Course Project Student Faculty 2 1 0 -1 -2 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 b) 2 1 0 -1 -2 Course Project Student Faculty -3 -4 -3 -2 -1 0 1 2 3 c) 3 2 1 0 -1 -2 Course Project Student Faculty -3 -4 -2 -1 0 1 2 3 4 Table 2: MDS plots of distance functions: a) is the unweighted L2 distance, b) is the Topic Distance, and c) is the Topic+FacultyStudent distance.


Christina Lee
What I love
My dog, puppies in general, KPOP, Dole Whip, ice cream in general, sunny days with a nice breeze, Haribo gummies, bread, snow, finding new restaurants, happy hour, buying limited edition items I don't necessarily need, Lululemon, red wine, almost anything sparkly, cheese, sunsets, travelling internationally, the beach, driving, pink, finding money, warm throw blankets, going to concerts, alpacas, soup, fresh sheets on the bed, cupcakes, taking showers, driving with good music on, the view from tall places, fireworks, nightime cityscapes, koalas, extra dirty Belvedere martinis, ferries, freshly washed hair, and spending time with the people I love.
What I don't love
Trying to find parking, wearing socks, overcooked meat, airport security, people who don't know how to stand in line, being hot, cats, papaya, going to the mall, beans, early mornings, super sweet food, travelling domestically, hiking, bugs and insects, orange, javascript while loops, veal, rude people, stinky animals, tequila, writing with chalk on a chalkboard, dragonfruit, animal cruelty, people who dont follow the rules, tangled hair, overly salted food, wearing hats, writing reviews for products, the pollution that China and India produce because it destroys the ozone layer and then I sunburn more easily, chipped nail polish, video games, and scary movies.
Ten Places I want to go:
- Bhutan
- Jordan
- Morocco
- Tunisia
- Thailand
- Cambodia
- Russia
- Israel
- Iceland
- Egypt
Things about my dog Louis
- Louis is a maltese.
- Louis is boy.
- Louis is eight years old.


To run the SimpleChat, you must first install ocsf, and make sure ocsf is in your classpath (or is a subdirectory of simplechat1).
Then you must compile the .java files, including those in the subdirectories.
To run the SimpleChat you must first start a server: "java EchoServer". Then you start one or more clients: "java ClientConsole". To run a client on a different machine, you enter "java ClientConsole serveraddress", where serveraddress is the IP address or host name of the machine where the server is runing. Once a client is running, you can type some text; the text will be echoed to any other clients that are running.
To learn how this code works, consult the book "Object-Oriented Software Engineering: Practical Software Development using UML and Java" by Lethbridge and Laganière. The book contains many exercises where you will add features to SimpleChat.
If the server won't start, it might be because the default 'port' number of 5555 is already in use. Follow the exercises in the book to improve the code and solve this problem.


Linguana
Profile
Sign Out
Profile
Sign Out
menu
Please type in your nickname and press enter.
Nickname already in use
Send


Pizza.eat(slice)
Pizza Options
Click items to add to your order
Choose your pizza size:
8"
12"
14"
Choose your pizza sauce:
Pomodoro
Alfredo
Pesto
Now, choose your pizza toppings:
Your Pizza
Click items to remove from your order
Total Cost:
$0.00
8"
12"
14"
Satisfied with your pie?
Pick Up
Delivery
×
Success!
Thank you for ordering from Pizza.eat(slice)!
Your pizza will be ready in 30 minutes.
×
Delivery Details Needed


Naked before him; all their harmony Tun’d to his accents, that in beasts breathe minds. What fowls, what floods, what earth, what air, what winds, What fires ethereal, what the Gods conclude In all their counsels, his Muse makes indued With varied voices that ev’n rocks have mov’d
Learn moreThen I heard far and wide how he gave commandment to many a people throughout all the world, this work to be doing, and to deck out the folkstead.
Then I heard far and wide how he gave commandment to many a people throughout all the world, this work to be doing, and to deck out the folkstead.
Then I heard far and wide how he gave commandment to many a people throughout all the world, this work to be doing, and to deck out the folkstead.
Then I heard far and wide how he gave commandment to many a people throughout all the world, this work to be doing, and to deck out the folkstead.
Then I heard far and wide how he gave commandment to many a people throughout all the world, this work to be doing, and to deck out the folkstead.
Then I heard far and wide how he gave commandment to many a people throughout all the world, this work to be doing, and to deck out the folkstead.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
0000 Somewhere Over The Rainbow
1234567890
<EMAIL_ADDRESS>Mon - Fri 9AM - 5PM


--- layout: post status: publish published: true title: '"A good type of insurance."' author: display_name: Kurt login: Kurt email<EMAIL_ADDRESS>url: '' author_login: Kurt author_email<EMAIL_ADDRESS>wordpress_id: 4964 wordpress_url: http://ivyenvy.com/?p=4964 date: '2011-04-13 17:24:48 +0000' date_gmt: '2011-04-13 22:24:48 +0000' categories: - Management - Minor Leagues - Starting Pitching - The Cubs - injuries tags: - Iowa Cubs - Pitching - Ramon Ortiz - Doug Davis comments: [] ---
According to Jim Hendry these moves are "A good type of insurance." He went on to claim that the Cubs would have made these deals even if Cashner and Wells had not been put on the DL. The conspiracy theorist Cubs fan could read into this, but I think Hendry is telling the truth. You can never have too many arms ready. If it turns the Cashner and/or Wells prognosis is worse than expected maybe we won't have to endure another Russell/Samardzija platoon experiment. I'm guessing the Cubs would rather leave the relievers in the bullpen and be prepared when the next injury bug bites.


2016 March 11th
Presentation for the Spring Topology and Dynamics Conference 2016 Special Session on Continuum Theory at Baylor University
Call an idempotent uppersemicontinuous continuum-valued surjective relation on \(X^2\) a CV-relation. The presenter and S. Varagona showed that an inverse limit of a linearly ordered compactum indexed by an ordinal and bonded with a single CV-relation is metrizable if and only if the ordinal is countable. This result may be generalized to any totally ordered index.To demonstrate this, the presenter will give a simple characterization for the inverse limit bonded by the simple CV-relation \(\gamma\) in terms of the lexicographic product of the factor space and linearly ordered index.
A.K.A. u.s.c. bonding map \(f:X\to C(X)\)
Assume \(X\) is a Hausdorff continuum
\(\varprojlim\{X,f,L\}\subseteq X^L\) is metrizable.
\(\varprojlim\{X,\iota,L\}\cong X\) is metrizable
We now assume \(f\not=\iota\).
Varagona first showed that \(\varprojlim\{I,\gamma,\omega_1\}\) is the closed long ray of length \(\omega_1\), so not metrizable (or even Corson compact, \(W\), Frechet-Urysohn, first-countable, etc.)
There exist \(x,y\in I\) such that \(\langle x,x\rangle,\langle x,y\rangle,\langle y,y\rangle\) are all in \(f\).
For any total order \(L\), we may define \(\check L=\{A\subseteq L:a\in L,b\lt a\Rightarrow b\in L\}\) and \(\hat L=\{A\in\check L:A\text{ is closed}\}\), which are both totally ordered by \(\subseteq\).
Give \(\check L\) its usual order topology generated by the sets \((A,B)=\{C\in\check L:A\subsetneq C\subsetneq B\}\). (Sim. for \(\hat L\).)
Note \(\check L,\hat L\) are always compact spaces.
If \(f\) has \(\Gamma\), then \(\varprojlim\{X,f,L\}\supseteq\varprojlim\{2,\gamma,L\}=\check L\)
FACT: \(\check L\) is metrizable iff \(\check L\) is Corson compact iff \(\check L\) is second-countable iff \(L\) is countable
Therefore, \(\varprojlim\{X,f,L\}\) cannot be metrizable or even Corson compact unless \(f\) lacks \(\Gamma\) or \(L\) is countable.
\(\check L\) contains the lexicographic product \(L\times_{lex} 2\), adding new points for leftward sets without a supremum.
Suppose \(M\) is a (compact) LOTS with minimum \(0\) and maximum \(1\).
A point in \(\varprojlim\{M,\gamma,L\}\) is a thread which is valued \(1\) on some closed leftward set \(A\in\hat L\), except it may have any value of \(M\) on its supremum (if it exists), and \(0\) otherwise.
\[\varprojlim\{M,\gamma,L\}\cong^?\hat L\times_{lex}M\] where \(\langle A,m\rangle\) corresponds to the thread valued \(m\) on \(\sup A\), valued \(1\) for points in \(A\setminus\{\sup A\}\), and valued \(0\) otherwise.
\(\varprojlim\{M,\gamma,L\}\cong(\hat L\times_{lex}M )/ \sim\)
Slides available at Clontz.org.


(But maybe not so clear to beginners)


Preparing your Family
Do you have everything ready for your family in the event of a hurricane? Check out what you need to every member, including your pets!
Develop a plan and make arrangements for all family members and pets. See the tips below!
If it’s not safe for you to stay in your home during an emergency, it’s not safe for them either! Include supplies for your pet in your emergency kit, or assemble an emergency kit for your pet. Make an evacuation plan for you and your pets. Many hotels and shelters do not accept animal guests, other than service animals.
Assemble an Emergency Kit for Your PetYour kit should include:
- Sturdy leashes, harnesses and/or carriers to transport pets safely and ensure that they can’t escape.
- Food, drinking water, bowls, cat litter/pan and a manual can opener if you pet eats canned food.
- Medications and copies of medical records stored in a waterproof container.
- A first aid kit.
- Current photos of you with your pet(s) in case they get lost. Since many pets look alike, this will help to eliminate mistaken identity and confusion.
- Information on feeding schedules, medical conditions, behavior problems, and the name and number of your veterinarian in case you have to foster or board your pets.
- Pet beds and toys, if easily transportable.
Know a Safe Place to Take Your Pets
If you must evacuate your home during a disaster, the best way to protect your pets is to evacuate them too. If it's not safe for you to stay behind then it's not safe to leave pets behind either.
- Know which hotels and motels along your evacuation route will accept pets in an emergency. Call ahead for reservations if you know you may need to evacuate. Ask if no pet policies could be waived in an emergency.
- Most American Red Cross shelters cannot accept pets because of health and safety concerns and other considerations. Service animals that assist people with disabilities are allowed in Red Cross shelters.
- Know which friends, relatives, boarding facilities, animal shelters or veterinarians can care for your animals in an emergency. Prepare a list with phone numbers.
- Although your animals may be more comfortable together, be prepared to house them separately.
- Include your pets in evacuation drills so that they become used to entering and traveling in their carriers calmly.
- Make sure that your pet’s vaccinations are current and that all dogs and cats are wearing collars with securely fastened, up-to-date identification. Many pet shelters require proof of current vaccinations to reduce the spread of disease.
- Consider having your pet “microchipped” by your veterinarian.


| annotate {ggplot2} | R Documentation |
This function adds geoms to a plot, but unlike typical a geom function, the properties of the geoms are not mapped from variables of a data frame, but are instead passed in as vectors. This is useful for adding small annotations (such as text labels) or if you have your data in vectors, and for some reason don't want to put them in a data frame.
annotate( geom, x = NULL, y = NULL, xmin = NULL, xmax = NULL, ymin = NULL, ymax = NULL, xend = NULL, yend = NULL, ..., na.rm = FALSE )
geom |
name of geom to use for annotation |
x, y, xmin, ymin, xmax, ymax, xend, yend |
positioning aesthetics - you must specify at least one of these. |
... |
Other arguments passed on to |
na.rm |
If |
Note that all position aesthetics are scaled (i.e. they will expand the limits of the plot so they are visible), but all other aesthetics are set. This means that layers created with this function will never affect the legend.
p <- ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point() p + annotate("text", x = 4, y = 25, label = "Some text") p + annotate("text", x = 2:5, y = 25, label = "Some text") p + annotate("rect", xmin = 3, xmax = 4.2, ymin = 12, ymax = 21, alpha = .2) p + annotate("segment", x = 2.5, xend = 4, y = 15, yend = 25, colour = "blue") p + annotate("pointrange", x = 3.5, y = 20, ymin = 12, ymax = 28, colour = "red", size = 1.5) p + annotate("text", x = 2:3, y = 20:21, label = c("my label", "label 2")) p + annotate("text", x = 4, y = 25, label = "italic(R) ^ 2 == 0.75", parse = TRUE) p + annotate("text", x = 4, y = 25, label = "paste(italic(R) ^ 2, \" = .75\")", parse = TRUE)


You dash into the door and run into a sink. Good thing it nocks the wind out of you because you hear talking in the hall, beyond the door.
"Did you hear that?" One voice asks
Another answers,"yeah, I heard it too. Perhaps we should check on the Branch Manager. Is he in his office?"
You hear a doorknob, thankfully not yours, jiggle. "Is this door usually locked?" you hear someone say.
"Yes, I think so."
"Well, let me dance a magic jig? and by that, I mean unlock it... wait, where are my keys?"
" Ha, you are not funny. Let us check on the Manager. He probably has a key."
"You are wrong. I'm hilarious, and the Manager will agree with me."
You hear footsteps walking away from you. That was close, you think, as you crack open the door and peek out.


Dodging donkeys is not quite as dangerous as running with the bulls but it’s not entirely without risks. Our guide warned us to take evasive action whenever we heard the call ‘balek, balek’ (Arabic for ‘get out of the way’) as we walked down the labyrinth of alleyways lined with souks in the Medina of Fes el Bali, but we were not quite prepared for the frequency of the donkeys.
There are about 4,000 donkeys and mules plying the narrow winding paths within the walls of the oldest medina in Morocco, most of which seemed to be out in force the day we were there.
Donkeys, mules and hand carts are the life blood of the 9,000 alleyways that crisscross the world’s largest car-free urban space.
We soon became adept at hurling ourselves against a wall of Moroccan babouches (slippers) or carpets as a hand cart or beast of burden clattered by with a load twice its size. It added to the excitement, fun and colour of this quintessentially Fes-esque experience.
Donkeys, mules and hand carts are the life blood of the 9,000 alleyways that crisscross the world’s largest car-free urban space. With no mechanised transportation to service the souks, man and beast haul all the fresh produce and raw materials demanded daily by the thousands of traders and artisans, as they have done for centuries.
The souks sell everything from food to home-wares and many who live and work there never venture beyond their own neighbourhood, our guide Nabil said. There were great bargains to be found in brightly-coloured handbags, shoes, scarves, fabrics, ceramics and carpets once you understood the protocols of the haggling process which ended up with prices about a half to a third of the original figure. The salesmen were invariably good-natured, never aggressive.
My head was on a swivel in Fes with a myriad of sights all clamouring for attention. We spent two days exploring this ancient imperial city. Founded in the 9th century during the Idrisid dynasty, the city is regarded as the spiritual, cultural, intellectual and religious capital of Morocco. The architecture and craftsmanship of the buildings are mind-boggling.
The royal Palace of Fes is one of the most beautiful in the Arab world with its seven ornate doors of different sizes, richly adorned in bronze and exquisite zellij mosaics flanked with white marble columns. Nearby is the historic Jewish quarter or mellah whose inhabitants have historically lived under the protection of the sultan.
We entered the medina through the grand central arch of the magnificent Bab Boujloud gates decorated in blue ceramics - the colour associated with Fes - as one enters the medina, and green ceramics - the colour of Islam - as one departs.
Fes is home to the world’s oldest university, the University of al-Karaouine and associated mosque, founded in 859 by a woman called Fatima al-Fihri. It became a state university in 1963, and remains a bustling institution of learning today.
The 14th century Madrasa Bou Inania with its characteristic green minaret is one of the few religious places in Morocco open to non-Moslem visitors. Nabil explained the detailed architectural features of the interior – Carrara marble on the floor, zellij mosaics on the walls with cursive script above depicting chapters from the Koran, then carved plasterwork, and cedar from the Atlas Mountains on the ceiling.
The Nejjarine Museum of wood arts and crafts is a former fondouk, a caravanserai where mules and donkeys were once housed on the ground floor and people on the upper floors. The interior is impressive with white pillars supporting carved dark woodwork balconies. I stopped to smile and nod my admiration to a woman whose life’s work is to lovingly dust all the intricate carvings.
The museum showcases a vast collection of traditional artefacts, craftsmen’s tools, children’s toys, Berber locks, musical instruments, and massive antique doors. How I wished I could spirit those stunning doors home with me.
Outside is the beautiful, much photographed 16th century Nejjarine Fountain or Woodworker’s Fountain with its geometric indigo mosaics and carved marble arch.
Fes is also famous for its handcrafts. I loved watching the artisans at work especially the young women hand painting huge pots and urns with tiny filaments of colour, and the men with chisels shaping tiny pieces of mosaic for one of the exquisite creations at the Art Naji pottery and mosaics workshop.
 The array of high-quality jewellery, bronze, brass and silverware was dazzling. A salesman proudly displayed his wares to us while a craftsman expertly tapped out a design on a large brass plate using traditional hand-tools.
The thousand-year-old Chouara Tannery is an iconic landmark in Fes and although on the day we visited, brown seemed to be the predominant dye, the process was utterly fascinating to observe. The tannery processes cow, sheep, goat and camel hide using methods largely unchanged since medieval times. We watched from a balcony above as men, waist deep in dye, tended to the hides in dozens of stone tubs.
Be prepared for a powerful stench and accept the sprigs of rosemary handed to visitors. The hides are immersed in a mixture of cow urine, quick-lime, water and salt, then soaked in water and pigeon droppings which contain ammonia that acts as a softening agent, allowing them to become malleable so they can absorb dye. The tanners use bare feet to knead the hides for up to three hours to achieve the desired softness after which they are placed in pits containing natural vegetable dyes - poppy for red, indigo for blue, henna for orange, cedar wood for brown, mint for green, and saffron for yellow. Pomegranate powder is also rubbed on the hides to turn them yellow, and olive oil to make them shiny.
After drying in the sun, the finished product is sold to craftsmen to make the famous Moroccan babouches (slippers), jackets, wallets, handbags and furniture.
At the end of a day exploring the sights of Fes, I was longing to immerse myself in a cool pool but Nabil seemed to be leading us deeper into the medina. Earlier, he had talked about the blind architecture of the riads, traditional Moroccan houses originally built for extended family groups around a central courtyard which have in modern times been converted into luxury accommodation. Riads have no windows or ‘eyes’ to the outside world – the high walls are blank and therefore ‘blind’ – but once through the doorway into the courtyard, guests are spirited back in time to the grandeur of a past era.
The Riad Res is one such hidden treasure. It was astonishing to one minute be in the crowded, noisy hubbub of the souks and the next in an elegant oasis so tranquil you could hear the fountains tinkling and tea being poured. Deep in the heart of the city’s ancient medina, the riad was once frequented by Fassi nobility. It’s a showpiece of magnificent Andalusian architecture, marvellous mosaics, carved pillars and precious artefacts.
I forgot all about my swim in the pool as I stood in the central courtyard under an enormous chandelier suspended high in the atrium, mesmerised by prisms of light reflected like fragments of rainbow from the myriad of stained glass windows.
Comprised of five former grand Fes residences connected by beautiful courtyards with pools, fountains, mosaic and marble staircases and softly-lit passageways, the riad is a clever amalgam of modern facilities and traditional architecture and furnishings.
Some say Fes is the ‘Mecca of the West’ or the ‘Athens of Africa’ but I say ‘Fes is Fes’. It’s utterly incomparable . . . go there.
Trains operate from daily from Marrakech to Fes and are an inexpensive and reliable way to travel between cities in Morocco.
Justine Tyerman flew Emirates Airlines (www.emirates.com) and travelled on an Ancient Kingdoms tour of Morocco with The Innovative Travel Company, a New Zealand company which specialises in tailor-made tours to Morocco. www.innovativetravel.co.nz


?fl
?
?
0
1
2
3
4
5
6
7
8
9
10
lfY,l"v"Jv
The
New
York
?
???%È
cm
copyright
reserved
botanical
garden
Determined
by
A.
C.
Smith,
193^.
PLANTS
FROM
HARVARD
TROPICAL
GARDEN
SOLEDAD,
CIEN
FUEGOS,
PROVINCE
OF
SANTA
CLARA,
CUBA
No.
8179
Polyscias
obtusa
Harms
Many
stems
2-4
ft.
high.
Collected
for
the
Arnold
Arboretum
by
J.
G.
Jack.
March
12,
193
1.
00198993
00198993
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


| gargle::auth-from-web | Auth when using R in the browser | HTML | source | R code | |
| gargle::gargle-auth-in-client-package | How to use gargle for auth in a client package | HTML | source | R code | |
| gargle::get-api-credentials | How to get your own API credentials | HTML | source | R code | |
| gargle::how-gargle-gets-tokens | How gargle gets tokens | HTML | source | R code | |
| gargle::non-interactive-auth | Non-interactive auth | HTML | source | R code | |
| gargle::request-helper-functions | Request helper functions | HTML | source | R code | |
| gargle::troubleshooting | Troubleshooting gargle auth | HTML | source | R code |


** Copyright (c) 2006, Oliver Schoenborn ** Distributed under the BSD Software License (see accompanying ** LICENSE_IOF_1_0.txt in root folder of library for complete ** terms and conditions).
#include "iof/process_fmt_in.hpp"
#include "iof/process_fmt_out.hpp"
#include "iof/stream_fmt.hpp"
Include dependency graph for fmt_spec.hpp:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Namespaces | |
| namespace | iof |
| namespace | iof::iof_private |
Classes | |
| class | iof::iof_private::formatted< TT > |
| class | iof::fmt_spec |
| Represent a pure "format specification", ie the format specification characters that can appear between a '%' and 's' in a format string. More... | |
Functions | |
| std::ostream & | iof::operator<< (std::ostream &out, const fmt_spec &fmt) |
| Send fmt directly to out std::ostream, without iof::fmtr. | |
| std::istream & | iof::operator>> (std::istream &in, const fmt_spec &fmt) |
| Send fmt to in std::istream; same as fmt.applyTo(out). | |
| template<typename TT> | |
| std::ostream & | iof::operator<< (std::ostream &out, const iof_private::formatted< TT > &fmtdObj) |
| Direct output to a stream. |


We manufacture and supply an extensive collection of Promotional Printed T-Shirts that are accessible in different attractive designs, patterns and colors. These t-shirts have high strength and are fabricated as per the modern fashion trends prevailing in the market. Our complete product range is accessible with outstanding color combinations and can be tailored as per the preference.
As a quality-centric firm, we offer superior quality Promotional Printed Mug. Made using quality ceramics, these cups are sought after their attractive designs, smooth finish and durable standards. These cups are available to the patrons in varied sizes and stipulations. We also modify the complete range, as per the details provided.
Using Eco Natural Canvas Bag to replace an ordinary business card can set you apart from you competitors. Its functionality which can be used for carrying things and features that includes foldable, gusset bottom, long webbing handles will serve as a constant reminder of your company every time they use it.
Cotton Caps With Metal Clasp, a dynamic product available in varied sizes, facilitated with awesome features like curved peak, six panel design, adjustable metal clasp, press stud button, sewed string holes and thus helps to promotes your brand name among your customers with wide range of facilities.
The Scroll Pull Banner Pen has got some of the fascinating features such as premium ballpoint, attractive design, pull out banner, retractable pen, translucent body, pocket pen clip that will help your customers for its better use for writing and thus help in promoting your brand splendidly in the market.
These shiny metal pen are a glossy looking slim body pens which enables a flawless writing style for the user, which has a ballpoint refill inserted into it. This pen has colored metal barrel and smooth grip. The company brand name and the logo will be easily imprinted over the metal barrel of the pen with best printing quality to spread brand awareness.
Keeping your name in front of your clients is one of the powers of a promotional items like a 2 In 1 USB Pens. Able of storing data and having features like durable data storage, metal barrel, executive pen, your name and logo will stay in a visible area.
The right location for presenting your promotional item can impact your results. If the Chrome Ring Twist Action Pen With Stylus, with chrome ring comfort grip, ballpoint pen, twist action, soft silicone stylus and usefulness of writing, is your item, you can ensure that impact is positive.
Since our commencement, we are instrumental in offering exceptional quality Multi Colored Key Chain. These are designed by making use of premium-grade raw material which we obtain from certified vendors of the market. In addition to this, it is highly needed by our patrons for keeping the keys in a secure manner. We made accessible this chain in numerous sizes, shapes, designs and other allied stipulations to meet variegated requirements from our patrons.
We manufactur premium quality Printed Lanyard. These are manufactured at our modern infrastructure facility using the best quality of raw materials. These are checked and approved by professional quality auditors prior to dispatch and are supplied to clients at affordable prices. These are known for their excellent quality, tear-resistance and durability. These are available to clients through our excellent supply network.
These Cotton Towels are dynamic product which offers some of the great features like light weight, super absorbent, high permeability, fluffy feel, thereby creating a brand awareness among your customers by making you a popular brand.
These Bottle right away provides your customers with some of the effective results and splendid features that includes screw on lid, carabiner top, 400 ml, plastic sealed, thereby promoting you as a brand, which can be used as drinking with wide range of facilities.
Transcribe various thoughts, in the classy diaries. It is hard binded and contain total of 80 sheets for writing purposes. It has various other intriguing features such as pen holder loop, ring binder, loose- leaf binder. This product can be used as the superb promotional tool and the debossing screen printing will make your brand name look incredible over it to attract the clients and customers.


WOOD tool promotes an object oriented development paradigm for user interfaces based on web technologies. It uses decomposition of complex user interfaces into user interface components - for short components. Component is the base unit for code reusability that keeps all its files together, in the component directory. It can inherit from components with editable elements - named templates and aggregate components designed for specific reusable tasks - named widgets.
There is no formal limitation on templates inheritance hierarchy. A template can inherit from another template creating an arbitrary long templates chain. The same goes for widgets. A component can aggregate more that one single widget and an widget can aggregate its own widgets, creating a tree of arbitrary complexity. And since template is a component it can use its own widgets tree. Also, an widget is a component too and can inherit from template; not depicted in ASCII diagram below for brevity.
A site page is just a component with  element and has a collection of other components. In fact this structure is a well known OOP design pattern named composite
, depicted in the right.
+-----------+ +--------+ +-----------+ | template +---+--->| widget +--- . . . +--------> component | +-----^-----+ | +--------+ | +-----^-----+ | . . . | | . . . +--------+ | +------+-----+-------------+ | +--->| widget | | | | | +-----------+ +--------+ | +--------+ | +---+--+ +-----+----+ +----+---+ | template | +--->| widget +---+ +---+ page + | template | | widget | +-----^-----+ | +--------+ | +------+ +----------+ +--------+ | | +--- . . . +-----------+ | | component +---+ +-----------+ | +--------+ +--->| widget +--- . . . +--------+
To sum-up, WOOD tool uses major object oriented features, as follow:
Component is designed to break down inherent web interfaces complexity. It is self-containing and fully described and is the basic building block. A component resides in its own directory and all its source, resource and descriptor files are hosted there:
+---------------------------------+ | component | | | | image | +--------+ +-------+ +--------+ | +- media file -> audio | | layout | | style | | script | | | | video | +--------+ +-------+ +--------+ | | | | | | string | +------------+ +-------------+ | | | text | | descriptor | | resources +-----> | color | +------------+ +-------------+ | +- variable ---> dimen +---------------------------------+ | style
theme
,
By convention component name, directory name and its layout, style and descriptor files basename are the same. For example, a component named progress-bar
has progress-bar.htm
layout file and progress-bar.css
style.
Components are designed to work together into complex structures. Structure is described by component relations and a relation is defined using an WOOD operator. Now, considering their relations, there are couple component kinds:
Component promotes reusability via classic OOP paradigms: encapsulation, inheritance and aggregation. Both inheritance and aggregation act upon layouts, so that, when talking about components inheritance/aggregation we actually refer to layouts. Anyway, because of structuring user interface in components, styles are object oriented too in the sense that a component style file contains rules only for that component - a sort of OOP encapsulation.
Note that WOOD requires separation of concerns, especially separation of presentation and content. For this reason component style should define only layout specific rules, all presentational rules being defined under theme
directory. For now this policy is just a good practice recommendation but next versions will enforce it on preview and build.
Both widgets and templates can be reused as part of components library. Also library provides ready to use page templates. When start an empty project just import desired page template and implements its editable elements.
Developer can preview components using any browser; this is true for templates too. Browser is the viewer for WYSIWYG development. Also components are part of building process that generates site pages. Anyway, building templates have not much sense since its functionality is not completely described.
WOOD operators are standard element attributes with predefined names recognized by WOOD tools. Operators are used to define relations between components, like inheritance and aggregation allowing build and preview tools to put together all components into pages. After processing operators are removed from resulting page.
Clearly an operator should have a name and we should avoid name collision with standard (X)HTML5 attribute names. On the other hand, in order to accommodate developer style there are couple naming strategies. See table for supported naming strategy and {@link js.wood.NamingStrategy} class.
| Enum Constant | Name | Description |
| ATTR | Attribute name | Simple attribute name. Because it does not use prefix it is prone to name collision but is simple to use. |
| DATA_ATTR | Custom attribute name | Uses HTML custom attribute name, that is, prefixed with data- . This naming convention is a trade-off between simplicity to use and avoiding name collisions.
|
| XMLNS | XML name space | This is default naming strategy and offer a clear separation for WOOD operator name space. Anyway, add complexity because name space should be declared with WOOD URI: xmlns:wood="js-lib.com/wood" .
|
Default operators naming strategy is XML name space and this is also used in example from this document. Both build and preview have options to select desired naming strategy but selected naming convention is global per project.
Below are listed supported operators with short description. Following sections describe every operator in details. One can observe that with a limited number of operators WOOD is able to describe arbitrary complex component graphs.
| Operator | Description | Operand | Example |
| wood:editable | Define editable area into templates. | Editable area name |

 |
| wood:template | Inject template content into editable area. | Reference to editable area |
 |
| wood:widget | Insert widget layout into calling scope. | Reference to widget |

 |
| wood:param | Used in conjunction with wood:widget and wood:template to define layout parameters list.
|
Parameters list with syntax similar to inline CSS style |

 |
| wood:script | Declare script class, especially page class, to include into generated page. | Qualified script class name |

 |
A component has private resources that could be referenced from source files. This is true for component style too. A style source can use variables, declared into variables declaration XML files. Also media file references can be used, for example background images. Style variables and media files references are first style pre-processing support.
In sample code @image/background
is a reference to an image file located into component directory or global assets. By convention media file reference is the file name but without extension. References @dimen/desktop-width
and @color/text-color
are variables declared into XML files from component directory or global assets. For a discussion about references see Resource and Reference.
body { background-image: url(@image/background); width: @dimen/desktop-width; color: @color/text-color; }
There is also support for responsive design, styles based on media queries - for now only viewport width. A style file can have variant, for example, compo_w800.css
. When processed, content from that file is appended to base page.css
in a media query block for max-width
of 800px.
In example, base style has center text align and styles for devices less than 800px uses left align.
compo.css header { position: absolute; text-align: center; } compo_w800.css header { text-align: left; }
Resulting style file will merge both base and variant style files with media query prefix for styles from variant. For details about media query processing see {@link js.wood.StyleReader}.
compo.css header { position: absolute; text-align: center; } {@literal @}media screen and (max-width : 800px) { header { text-align: left; } }
HTML styling is intrinsically complex. WOOD component based approach breaks complexity in manageable units but is prone to name collision and style overriding. Now, overriding can be on purpose but also by accident and for complex sites can be hard to detect.
In order to avoid accidental overriding WOOD uses namespace for component CSS style file. A namespace is simple an unique name used as element class that prefixes all style rules related to component. Name uniqueness should be ensured by developer but a good practice is to use component script class converted to dash case. For example ro.gnotis.UserPage is converted to ro-gnotis-userpage.
When including child widgets, parent should avoiding using global namespace. Instead every parent section should use namespace on its direct scope. In example below do not use ro-gnotis-userpage
class on body
element but to first and last div
elements.
+------------------------------+  user-page.css | +--------------------------+ |
 .ro-gnotis-userpage .header { | | .ro-gnotis-userpage | |

 background-color: red; | | +----------------------+ | |
 } | | | .header | | | | | +----------------------+ | |

 list-view.css | +--------------------------+ | .js-widget-listview .header { | |
 background-color: green; | +--------------------------+ |

 } | | .js-widget-listview | |
 | | +----------------------+ | |  | | | .header | | | | | +----------------------+ | | | +--------------------------+ | | | | +--------------------------+ | | | .ro-gnotis-userpage | | | +--------------------------+ | +------------------------------+
In depicted context, user page has an header section and include a list view widget somewhere below. List view has its own header. Into generated page, WOOD includes widget style before parent style. This way parent is able to customize widget style, although this technique may be controversial since breaks encapsulation.
Resulting style, after browser processing, may look like:
.js-widget-listview .header { background-color: green; } .ro-gnotis-userpage .header { background-color: red; }
If ro-gnotis-userpage
class would be global on body
element the parent header style would override list view header and its color would be red instead of green.
Encapsulation is achieved by structuring project user interface in self-containing components. A component is fully defined and possess all resources it needs. A direct side effect is that an component is unit testing friendly, see Unit Testing section. Also component acts as a name space. For example, an image from a component may have the same name as an image from another component.
Build and preview processes search for variables and media files only inside component directory. This ensure one can freely change resources from a component without the risk of breaking other components. Anyway, if one really needs global resources there is project asset
directory just for that.
OOP inheritance is emulated using templates with editable elements. An editable is an element with wood:editable
operator; attribute value is that editable name. A component with layout with editable elements is called template. An editable element define an insertion point where content layout will be injected by WOOD tool. Content element is the root of content layout and will literally replace editable element from template. A content element is an element that has wood:template
operator that contains the path to named editable element. In resulting page, template styles are included before content style so that content component can overwrite template styles. Variables are replaced by their defined values at layout and style files reading, on the fly.
Because a template layout file can contain multiple editable elements the path referring to an editable element should include both component path and editable name, e.g. template/page#body
. See below simplified rule and {@link js.wood.EditablePath} for details about path syntax.
editable-path = component-path '#' editable-name
Below ASCII diagram describe component inheritance via template mechanism. For brevity only one editable is figured but a template may have a not limited number of editable elements. A component that uses a template but does not define content for all template editable elements become a template on its turn. This way one can create an arbitrary large inheritance chain; a sub-template can define content for any super-template from hierarchy and can include its own editable elements.
template layout template style +-----------------------+ +----------------+ | . . . +------> style rules | template script | | +----------------+ +-----------------+ | editable element +---------------------------------> behavior | | +---------------+ | template resource +-----------------+ | | wood:editable | | +-------------------+ | +-------^-------+ +------> variables + media | +-----------|-----------+ +-------------------+ | | content style +-----------|-----------+ +---------------+ | +--------+--------+ +------> style rules | content script | | wood:template | | +---------------+ +----------------+ | |-----------------| +---------------------------------> behavior | | | content layout | | content resource +----------------+ | +-----------------+ | +-------------------+ | content element +------> variables + media | | . . . | +-------------------+ +-----------------------+ content layout
Note that multiple inheritance is not supported. A content layout may define content for multiple editable elements but all should belong to the same template.
grand-parent.htm
Grand Parent

  parent.htm

Parent

 child.htm

Child

In above snippet we have three component layout files: child, parent and grand-parent. Child define content for paragraph
editable section from parent. Parent define content for section
editable element from grand parent. Resulted document is below.

Grand Parent

Parent

Child

Child
 and its descendants replaces parent
. Parent
 and its descendants - that now include already inserted child
, replaces grand-parent
.
A template may contain, beside editable areas, @param
parameter references for template customization. For example, a template for a dialog box may have a title and every dialog, based on this dialog template, to have its own title value.
template/dialog/dialog.htm

@param/title

 ...

 ...
 dialog/user/user.htm
 <form> ... </form>

Generated user dialog template will look like below sample code. Body editable is replaces by provided form
and title updated from parameter.

Edit User

 ...
 <form> ... </form>
 ...

See {@link js.wood.LayoutParameters} for parameters list syntax and {@link js.wood.SourceReader} for parameters injection.
OOP aggregation is implemented by inserting layout defined in external components into parent layout. Parent layout defines widget path elements pointing to components defined by this project or imported in library. For performance reasons referring to widgets from remote servers is not supported. If need to use remote components one should import them to this project library. Widget component is a standard component but specifically crafted for reuse.
Both parent and widget components may have styles, resources and scripts. As with inheritance, widgets style are included before parent style so that parent can overwrite and customize widgets.
Widget path elements defined by parent layout acts as insertion points where referred widget layout is inserted. Attributes define by widget layout root element are merged with attributes defined by parent widget path element; parent attributes take precedence. To state it clearly, parent can customize both widget styles and attributes.
Is legal for widget layout to use templates. Also, an widget layout may define its own widget path elements pointing to other widget layouts. There is no restriction on the number of widgets a parent can include. This way a tree of widgets is created; combining both templates and widgets can result in pretty complex components graph.
parent layout +----------------------------+ | widget path element | widget layout | +--------------------+ | +---------------+ | | wood:widget +-----------> . . . | | +--------------------+ | +---------------+ | . . . | +----------------------------+
Here we have a parent with a child that have a child, that is, parent nephew. Parent
 element has wood:widget
operator that contain child widget path. Similar for child
 element. Widget path is a {@link js.wood.CompoPath}.
parent.htm
Parent

  child.htm

Child

 nephew.htm

Nephew

Widgets tree processing is recursive in depth-first order. Nephew
 and its descendants replaces child
 element. Child
 and its descendants - that now include nephew, replaces parent
 element. Resulted document is below.

Parent

Child

Nephew

One may notice that inheritance and aggregation results are identical. And this is indeed true in OOP and as with OOP also aggregation is preferred versus inheritance. In fact inheritance is used mostly for page skeletons; the rest is widgets aggregation.
When an widget is reused in many places it may be necessary to customize every widget instance with specific parameters. For example there may be many lists of objects but every one need to have its specific caption. For this, widget layout has @param
reference that is text replaced with wood:param
parameters list from widget path element.
In sample code, parent has two references to the same child widget but customized with different caption
value. On child widget, caption
parameter is declared with the same name as that used by parent parameters list.
parent.htm
Parent

  child.htm

@param/caption

After processing parent will have two child sections but every section with its own heading value.

Parent

John Doe

Jane Doe

See {@link js.wood.LayoutParameters} for parameters list syntax and {@link js.wood.SourceReader} for parameters injection.
A component grows in a development silo and can be developed as a unit and when integrated is fully functional. Testing is part of interactive development process and as a consequence is enacted by preview.
Component under development can have an unit testing file named preview.htm
. When browser asks for a component, preview process replaces component layout with its preview.htm
content, of course if present. Preview uses component as widget and takes care to display it. There are also preview style and script files, namely preview.css
and preview.js
that support this testing mechanism.
Here is simplified preview for paging
component. In order to test paging functionality it also uses an external widget that display a list of items.

Note that preview
files are used only for development and are not part of distribution. Also build process ignores them.
Resources are external entities used by source files. There are two major kinds of resources: variables and media files. Variables are text replaced with values defined in variables files. A variables file can contain variable of the same type; XML root is the variable type - see {@link js.wood.ResourceType} for supported types. Media are files referenced from sources like images, audio and video files.
A reference is a pointer from a source file to a resource, be it variable or media file. It has a type and a name, uniquely identifying the resource in its scope. Reference scope is the component to which source file belongs plus global assets scope.
Reference syntax is described below. This syntax is the same, no mater the source file type where reference is used: layout, style or script.
reference = MARK resource-type SEP name name = 1CH ; resource-type is defined by {@link js.wood.ResourceType}, to lower case ; terminal symbols definition MARK = "@" ; reference mark SEP = "/" ; reference name separator CH = ALPHA / DIGIT / "-" ; character is US-ASCII alphanumeric and dash ; ALPHA and DIGIT are described by RFC5234, Appendix B.1
As stated variables and media files can be referenced from any source file: layout, style or script. Here are sample usage for all three cases. Note that references are text replaced and where source file syntax requires quotes (") they should be explicitly used.

@string/title

@text/message
 . . .  body { {@literal @}style/page width: {@literal @}dimen/page-width; background-image: url("@image/page-bg"); background-color: {@literal @}color/page-color; . . . } js.ua.System.alert("@string/exception"); this.setRichText("@text/message"); this.logo.setSrc("@image/logo"); this.audioPlayer.play("@audio/beep");
WOOD automates script files includssion into generated pages. For this, scripts code base should be structured on packages and class names should be qualified. Also layout element with user defined class should declare it using data-class
custom attribute. WOOD uses declared qualified name to search for proper script file and include into page.
WOOD supplies two major services: preview and build. Preview is used with a standard web browser and a Tomcat runtime. There is a preview Servlet that redirect browser requests to project source files. Developer change source files and press F5 in browser to see results. Build process prepares site files for production deployment. Note that build outcome are standard web user interface files that can be integrated into any web project.
Source files reside in a project with a predefined files layout, see below section. WOOD tool works only on its own files and ignores all others. This way an WOOD project can be part of a larger, master project - perhaps an Eclipse project. WOOD tools is designed for web user interfaces; server side coding is not in scope. Although WOOD is written in Java and operates using Tomcat, there is no formal restriction regarding the language used for server side logic.
In essence an WOOD project is just a directory with source files. By convention project name is the that directory name.
Current project file system is depicted below. There are four source directories and one build target. There is also a project configuration XML file. It is acceptable to share directories with master project, if any. For example lib can hold Java archives.
/ ; project root /build/site ; site build target directory /gen/ ; optional generated scripts, mostly HTTP-RMI stubs /lib/ ; third-party user interface components and script libraries /res/ ; application user interface resources | /asset ; project assets directory stores global variables and media files | /theme ; UI resources theme for presentational styles ~ ; application defined components /script/ ; application specific scripts structured in packages +-project.xml ; project configuration file
Note that default build target directory is a sub-directory of master project build. This is to allow storing all build files in the same place.
Preview process is supported by {@link js.wood.PreviewServlet} class that is configured to get all requests for a particular project. Every project has its own root context and there is no formal limit on the number of projects from a Tomcat runtime. Note that preview Servlet is not part of project WAR but is integrated into WOOD library that should be installed into Tomcat runtime.
In fact project preview WAR is empty. It should contains only web.xml
descriptor in the standard path. It should declare preview Servlet as context listener and configure request path. Also needs to supply project directory absolute path, as context parameter. See sample below.
<context-param> <param-name>PROJECT_DIR</param-name> <param-value>path/to/project</param-value> </context-param> <listener> <listener-class>js.wood.PreviewServlet</listener-class> </listener> <servlet> <servlet-name>development</servlet-name> <servlet-class>js.wood.PreviewServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>development</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
Project preview WAR creation is not in WOOD library scope. It is delegated to external tools. For example Eclipse plug-in knows to create project preview and deploy it in Tomcat runtime.
This library supplies a {@link js.wood.Builder} class that is designed for integration with external tools. There are extensions for Ant tasks and Eclipse plug-in using this Builder class, but not part of this library distribution.
To use this class, create instance providing project directory then just invoke build(). Optionally, one may set the build number. Build site directory is controlled by build process and is project configurable; it can be obtaining via site path getter.
Builder builder = new Builder(projectDir); builder.setBuildNumber(buildNumber); builder.build(); ... String sitePath = builder.getSitePath();
{@link js.wood.Builder} acts as a bridge between {@link js.wood.Project} and {@link js.wood.BuildFS}. It reads component source and resource files from project, consolidates them into pages then write to build site directory.
Build file system is the directory structure for site files. Different build file systems are supported but a default implementation exists, see {@link js.wood.DefaultBuildFS}.
Default build file system uses separated directories for styles, scripts and media files; all media files are stored in the same place. Pages are placed in build directory root. For multi-language projects, replicates single language directories layout for every language. Language directories have the same language ISO 639-1 name.
/ / /media/ /en/ /script/ | /media/ /style/ | /script/ +-page.htm | /style/ | +-page.htm | /ro/ | /media/ | /script/ | /style/ | +-page.htm
Here is a build directory layout for both single and multi language projects.
Path names used by WOOD obey Java file names convention but with couple syntax constrains. There are reserved character for different semantic extensions. For this reason allowed character set for names is US-ASCII alphanumeric characters, dash (-) and dot (.); dot is for file names with version like js-lib-1.2.3.js
. Also always uses slash (/) for file separator. Note that underscore (_) is used for variants separator and is not allowed in names.
SEP = "/" ; file separator CH = ALPHA / DIGIT / "-" / "." ; character is US-ASCII alphanumeric, dash and dot ; ALPHA and DIGIT are described by RFC5234, Appendix B.1
There are two configuration files affecting page header elements. One is project global with impact on all pages, {@link js.wood.Config} whereas page descriptor defines only page specific settings, see {@link js.wood.Descriptor}. Page descriptor is located into page directory and has the same name as page but with xml
extension.
Page title and description is defined by page descriptor. It title
element is missing uses project / page
display and if description
element is missing uses title
.
In order to have a picture of components relations is helping to draw a diagram; this diagram resemble UML and concentrates on inheritance and aggregation. There are symbols for every component relation, see below.
<-> - editable <[]> - template <o> - widget
And here is a sample diagram
In a web project styles can quickly become complex and need discipline to keep conflicts out. Here are some good practice recommendations for styles handling.
name
or data-name
instead and getByName().


TOGO
ARCHITECTURE
Home
Services
About Us
Projects
News
Contact
© 2020 TOGO by
DuruThemes
News
Our Blog
Trending in Modern Architecture 2020
Event
Dec 28, 2020
Top 5 Insipration Interior Design for Your Kitchen
Design
Dec 23, 2020
Renovation Architecture and Design
Discover
Dec 26, 2020
Top 10 Award Winner Interior 2020
Exterior
Dec 20, 2020
1
2
3


Home
FFF Specials
User Orders
Accepted Orders
Current Orders
Customer
Order
Quantity
Date
Action
Halima
Jikoni fries
3
31/8/2018
accept
decline
Mbishai
Burger
5
31/8/2018
accept
decline
Pruddy
French fries
1
31/8/2018
accept
decline


Commands
- s/S: to mover robot's shoulder
- e/E: to move robot's elbow
- f/F: to move robot's fingers
- r/R: to rotate the arm on the X axis to see it from different angles
- t/T: toggle between solid and wire cubes
- p/P: toggle between perspective and ortho projections


The Pond at Mobile World Congress with Firefox OS
Last week I attended Mobile World Congress in Barcelona, Spain after being invited by Mozilla to show off The Pond (blog post). Originally Mozilla found me through my blog, and asked me to write a post about The Pond on Mozilla Hacks. For Mobile World Congress they were looking for app developers to help showcase Firefox OS, which is where I came in.
Before heading out though, I decided to update the app in a few areas:
Memory Management Update
The first thing I looked at was memory management, and attempted to achieve static memory via object pooling. Unfortunately things didn't go smoothly, though decreasing allocations inside core inner loops aided greatly in reducing the rate at which the garbage collector ran.
Device Scaling via devicePixelRatio
If you're not familiar with mobile web, the following meta tag is used to properly scale websites:
<meta name="viewport" content="width=device-width,user-scalable=no">
However, the problem with this approach is that it scales the canvas as well, causing the rendering to be low resolution. The solution is to scale the canvas size relative to the device pixel ratio, increasing the rendering resolution without changing the physical size of the canvas:
devPixelRatio = window.devicePixelRatio || 1
$canvas.width = window.innerWidth * devPixelRatio
$canvas.height = window.innerHeight * devPixelRatio
ctx = $canv.getContext('2d')
Background Music A while back I created a game called Avabranch, wherein I used a background sound track I found on Sound Cloud. The author of that track, Chrissi Jackson, got in touch with me and offered to create an audio track for The Pond. She did a fantastic job, and got it to me just in time, with the commit going in less than 3 hours before the conference.
Mobile World Congress Surprisingly, the vast majority (I'd say ~90%) of attendees were business people and not developers. Even more surprising was the crazy world of meetings which manifested itself at the conference by means of physical meeting rooms. The first hall was entirely dedicated to meeting rooms, and more were spread out throughout the rest of the halls. That being said, I personally got to speak with some amazing people, including the guy behind js13k games (for which I wrote Senshi), someone from Aviary, and a few people from Line.
Many people were interested in The Pond, which I demoed for those that came to the Firefox OS booth. Additionally, I got to show a few people Zoggle, and got some great responses (Spanish Zoggle might be coming soon!). Overall most people seemed to enjoy the games and were really interested in the technology behind them.
There were also a few interesting products at MWC, including some Tizen and Ubuntu mobile devices and a handful of smart watches which were fun to play with. However, both were trumped by the recently announced $25 Firefox OS phone (which I tested out). The potential impact of the phone is huge, and look forward to the challenge of developing for such a low-end device. Barcelona
And finally I also got to spend some time exploring the beautiful city of Barcelona:


--- layout: not_homepage quote: I don’t have time for hobbies. At the end of the day, I treat my job as a hobby. It’s something I love doing. author: David Beckham --- {% include quote.html quote=page.quote author=page.author %}
Hi, my name is Alvaro Eduardo Alvarez Alcorta and I am a programmer. My first introduction to the programming was during a fundamental course of programming in my first year of university where they taught me all the logic of programming in a program called raptor. It was very exciting because from that class it was easier to develop all the logic during the programming. Since then I've learned various languages and frameworks and built more to-do lists then I can count. I have also worked on different web systems projects.
I am now looking for my next adventure, so feel free to browse the projects section to check out what I've built, shoot me an email or connect on linkedIn.


Salmon Cookie Sales Table!
Home Page
Sales
New Location Form
Type the new location name here:
Enter the minimun customers per day:
Enter the maximum customers per day:
Enter the average cookie sales per hour:
Submit
Observe this table filled with cookie sales data.


Typeface Classification Quiz
Drag the items to the correct blank spaces
(the correct answers will appear once you drag the last item)