Contact details
| Email: |
<EMAIL_ADDRESS>|
| Current position: |
Post-doctoral researcher |
| Place: |
Aachen University (Germany) |
I am interested in the dynamics of the Universe, both at early times
related to the CMB and at late times for the large scale structure.
- SONG
- I am involved in the development of the non-linear Boltzmann code
SONG. This code simulates the early Universe at unrivalled precision
including all standard model species.
- Currently it is used to compute:
- B mode polarisation of the CMB induced from non-linear dynamics after inflation
- Non-Guassianity in the temperature and polarisation of the CMB from non-linear dynamics
- Spectral Distortions in the CMB from reionisation
- Working on this project I have gained valuable experience in
numerical simulations and programming. I also have a good
understanding of numerical mathematics and have designed several new
methods fit for the computations performed by SONG.
- Theoretical Cosmology
- I am working on the theoretical framework related to non-linear simulations.
- My work contributes to developing the framework of second-order
cosmological perturbation theory. I have derived the polarised
non-linear Boltzmann equations.
- I am working on a new formalism for non-linear propagation of photons in curved spaces.
Publications @ CURL
2017
[1] Fidler C and Pitrou C 2017 Kinetic theory of fermions in curved spacetime JCAP 1706 013
[2] Fidler C, Tram T, Rampf C, Crittenden R, Koyama K and Wands D 2017 Relativistic initial conditions for N-body simulations JCAP 1706 043
[3] Adamek J, Brandbyge J, Fidler C, Hannestad S, Rampf C and Tram T 2017 The effect of early radiation in N-body simulations of
cosmic structure formation Mon. Not. Roy. Astron. Soc. 470 303–13
[4] Fidler C, Tram T, Rampf C, Crittenden R, Koyama K and Wands D 2017 General relativistic weak-field limit and Newtonian
N-body simulations JCAP 1712 022
[5] Fidler C and Ringeval C 2017 CMB anisotropies from patchy reionisation and diffuse
Sunyaev-Zel’dovich effects JCAP 1710 026
>
2016
[1] Fidler C, Pettinari G and Pitrou C 2016 Precise numerical estimation of the magnetic field
generated around recombination Phys. Rev. D93 103536
[2] Tram T, Fidler C, Crittenden R, Koyama K, Pettinari G W and Wands D 2016 The Intrinsic Matter Bispectrum in \LambdaCDM JCAP 1605 058
[3] Fidler C, Tram T, Rampf C, Crittenden R, Koyama K and Wands D 2016 Relativistic Interpretation of Newtonian Simulations for
Cosmic Structure Formation JCAP 1609 031
[4] Brandbyge J, Rampf C, Tram T, Leclercq F, Fidler C and Hannestad S 2016 Cosmological N-body simulations including radiation
perturbations
>
2015
[1] Fidler C, Rampf C, Tram T, Crittenden R, Koyama K and Wands D 2015 General relativistic corrections to N-body simulations
and the Zel’dovich approximation Phys. Rev. D92 123517
>


| Total net profit | -109.74 | Gross profit | 0.0 | Gross loss | -109.74 |
| Profit factor | 0.0 | Expected payoff | -3.54 | ||
| Absolute drawdown | -109.74 | Maximal drawdown (%) | 106.58 (-3372.78%) | ||
| Total trades | 31 | Profit trades (% of total) | 0 (0.0%) | Loss trades (% of total) | 31 (100.0%) |
| Long positions (won %) | 25 (0.0%) | Short positions (won %) | 6 (0.0%) | ||
| Largest | profit trade | -1.25 | loss trade | -6.36 | |
| Average | profit trade | 0.0 | loss trade | -3.54 | |
| Minimum | profit trade | 0.0 | loss trade | -1.25 | |
| Maximum | take profit in pips | 342.1 | stop loss in pips | -639.1 | |
| Average | take profit in pips | -78.8 | stop loss in pips | -422.2 | |
| Minimum | take profit in pips | -292.8 | stop loss in pips | -262.3 | |
| Maximum | Reward-Risk | 1.3 | Duration in minutes | 434 | |
| Average | Reward-Risk | 0.2 | Duration in minutes | 56.7 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 0 | |
| Maximum | consecutive wins (profit in money) | 0.0 (0.0) | consecutive losses (loss in money) | 31.0 (-109.74) | |
| Average | consecutive wins | 0.0 | consecutive losses | 31.0 |
| Total net profit | -91.19 | Gross profit | 0.0 | Gross loss | -91.19 |
| Profit factor | 0.0 | Expected payoff | -3.65 | ||
| Absolute drawdown | -91.19 | Maximal drawdown (%) | 88.53 (-3328.2%) | ||
| Total trades | 25 | Profit trades (% of total) | 0 (0.0%) | Loss trades (% of total) | 25 (100.0%) |
| Largest | profit trade | 0.0 | loss trade | -6.36 | |
| Average | profit trade | 0.0 | loss trade | -3.65 | |
| Minimum | profit trade | 0.0 | loss trade | -1.25 | |
| Maximum | take profit in pips | 203.2 | stop loss in pips | -639.1 | |
| Average | take profit in pips | -145.1 | stop loss in pips | -451.9 | |
| Minimum | take profit in pips | -292.8 | stop loss in pips | -297.0 | |
| Maximum | Reward-Risk | 0.6 | Duration in minutes | 434.0 | |
| Average | Reward-Risk | 0.0 | Duration in minutes | 65.2 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 0.0 | |
| Maximum | consecutive wins (profit in money) | 0.0 (0.0) | consecutive losses (loss in money) | 25.0 (-91.19) | |
| Average | consecutive wins | 0.0 | consecutive losses | 25.0 |
| Total net profit | -18.55 | Gross profit | 0.0 | Gross loss | -18.55 |
| Profit factor | 0.0 | Expected payoff | -3.09 | ||
| Absolute drawdown | -18.55 | Maximal drawdown (%) | 15.39 (-487.03%) | ||
| Total trades | 6 | Profit trades (% of total) | 0 (0.0%) | Loss trades (% of total) | 6 (100.0%) |
| Largest | profit trade | 0.0 | loss trade | -3.16 | |
| Average | profit trade | 0.0 | loss trade | -3.09 | |
| Minimum | profit trade | 0.0 | loss trade | -3.0 | |
| Maximum | take profit in pips | 342.1 | stop loss in pips | -307.0 | |
| Average | take profit in pips | 197.7 | stop loss in pips | -298.8 | |
| Minimum | take profit in pips | 59.4 | stop loss in pips | -262.3 | |
| Maximum | Reward-Risk | 1.3 | Duration in minutes | 81.0 | |
| Average | Reward-Risk | 0.7 | Duration in minutes | 21.2 | |
| Minimum | Reward-Risk | Duration in minutes | 0.0 | ||
| Maximum | consecutive wins (profit in money) | 0.0 (0.0) | consecutive losses (loss in money) | 6.0 (-18.55) | |
| Average | consecutive wins | 0.0 | consecutive losses | 6.0 |


Vid
Compass
Sign In
Logout
#
Video
Info
Date
Actions
Number
Video
Info
Date
Actions
Update Video
Default Language:
English
Title:
Description:
Detect
Translated Language:
Afrikaans
Azerbaijani
Indonesian
Malay
Bosnian
Catalan
Czech
Danish
German
Estonian
English
Spanish (Spain)
Basque
French
Galician
Croatian
Zulu
Icelandic
Italian
Swahili
Latvian
Lithuanian
Hungarian
Dutch
Norwegian
Uzbek
Polish
Portuguese (Portugal, Brazil)
Romanian
Albanian
Slovak
Slovenian
Serbian (Latin)
Finnish
Swedish
Vietnamese
Turkish
Belarusian
Bulgarian
Kyrgyz
Kazakh
Macedonian
Mongolian
Russian
Serbian
Ukrainian
Greek
Armenian
Hebrew
Urdu
Arabic
Persian
Nepali
Marathi
Hindi
Bangla
Punjabi
Gujarati
Tamil
Telugu
Kannada
Malayalam
Sinhala
Thai
Lao
Myanmar (Burmese)
Georgian
Amharic
Khmer
Chinese
Chinese (Taiwan)
Japanese
Korean
Add
Translate
Updated translation successfuly
Submit All Translations


| ||||||||||||||||||||
Frequently Asked QuestionsSupport Contract FAQ
[General]
1. How does this commercialisation impact the OpenSSL mission?It doesn't. OpenSSL is not being commercialised and there will not be separate "paid" and "free" versions of the software. The OpenSSL mission of providing a high quality open source cryptographic library for use by anyone under a very business friendly license will not change. The same OpenSSL team members will continue to improve and maintain the OpenSSL product for general use as always. The only commercial aspect that has been introduced is that corporate, institutional, and government users now have the option of purchasing commercial software support for the same open source product that is freely available to everyone. These paid support subscriptions help support the OpenSSL team members actively working on the OpenSSL product and so indirectly benefit the entire user community.
2. What is the target market?We are primarily targeting the commercial vendors with a significant stake in the OpenSSL product who wish to have an assured level of support and to sponsor the continued development and maintenance of OpenSSL. We anticipate that our typical customer will fit most of the follow criteria: a) Is a medium to large software product or services vendor, b) Uses OpenSSL as an important component of those products or services, c) Has an interest in the future stability and development of OpenSSL, d) Has significant on-house technical expertise but recognises that specialised external support wold be cost-effective
3. Why pay for support when I can get it for free?Why indeed? If you're satisfied with the extensive support available from the collaborative community and the expertise, proficiency, and resource availability of your current technical staff then this service is not designed for you. This support contract option is designed for companies that do not have, or cannot spare, the in-house technical resources for utilising or customising OpenSSL, who want the assurance that appropriate technical assistance will be available when needed, and who may not want their technical queries and discussions seen by the entire world.
4. Can we just send a donation instead?Absolutely, donations are welcome and will help make OpenSSL a better product. Please note that the OSF is not a qualified non-profit entity under the U.S. tax code and hence donations from individuals are not tax-deductible. We looked into 501(c)(3) tax exemption; it costs more and takes a long time. Since our primary purpose is to provide services to the commercial and government markets and not to solicit charitable contributions we have elected to defer pursuit of tax exempt status for now.
5. Why hasn't this been done before?Sloth and inertia, basically. Although the demand for such a service has been apparent for some time it took a while to work out how to structure a solution that addressed the legal, financial, and operational issues. [Plans]
1. What is covered by the support plans?All of the support plans are designed to provide technical assistance with use of relatively recently released versions of the OpenSSL product for platforms supported by those versions. Assistance with using the existing API, compile/link errors, runtime problem diagnosis, and portability issues for currently supported platforms would all be covered under the terms of the support contract. Porting to completely new platforms, development of new functionality, or use of OpenSSL in a context clearly not anticipated at the time of release is not covered by the standard plans. Merging of bug or vulnerability fixes from a newer release or the development trunk to an older supported release will generally be covered (the exception being modifications involving significant interface incompatibilities).
2. What if we need new features not covered by the support plan?The incorporation of completely new functionality (new cryptographic algorithms, implementation of new RFCs, etc.) is not covered. However, the OSF can quote a separate development task on a time-and-materials or hourly rate basis.
3. What about support for FIPS140 and the OpenSSL FIPS Object Module?The OpenSSL FIPS Object Module validations are based on source code derived from the baseline OpenSSL product but are not synonymous with that product. FIPS 140-2 presents some unique challenges transcending the more purely technical issues of OpenSSL proper. FPS 140-2 is also of interest to a relatively small subset of the user community. The standard support plans will cover operational problems with OpenSSL in "FIPS compatible" mode but do not cover building of the validated FIPS Object Module itself. Support for the FIPS Object Module, including assistance with building a validated module for a specific platform (if possible) is available with the Premium plan or as a separate support plan that can be negotiated to suit your specific requirements.
4. Why is there no per-incident support option?We are a very low overhead organisation with no front office to handle a significant volume of new customer contacts. All OSF personnel are primarily or exclusively dedicated to providing technical services; we could only support per-incident customers at the expense of the annual support plan subscribers. At this point we don't have a feel for the potential demand for per-incident support and so can't justify the additional staffing such support may require. We may reconsider this position at some point
5. Will subscribers have an inside track on vulnerability announcements?The OpenSSL team will not be deliberately withholding any information from the general open source community for the benefit of paid support plan subscribers. We are not changing our mission! For some types of vulnerabilities the OpenSSL team will work on a fix before making any public announcement. Support plan subscribers will not have any special access to the unannounced details of such vulnerabilities. However, we will alert subscribers to the fact that a patch will be required as soon as we can do so, and will prepare appropriate patches in advance to the extent our knowledge of your specific situation permits. [Services]
1. What about other types of consulting services?OpenSSL team members have been providing consulting and custom software development services on an ad-hoc basis for many years. In fact, it was the increasing demand for such services that led to the creation of the OpenSSL Software Foundation. Consulting service contracts can be provided on a hourly rate for one or more OpenSSL team members, or we can prepare a fixed-price proposal for clearly defined deliverables.
2. What is a "private label" validation?Even though the OpenSSL FIPS Object Module FIPS 140-2 validations were designed for direct use by commercial software vendors, for various reasons some vendors prefer to obtain separate validations for their OpenSSL derived software. That sounds wasteful, and it is, but in fact the majority of all level 1 FIPS 140-2 validated software products are based on OpenSSL. Due to our extensive experience in such validations we can cost-effectively provide the documentation and CMVP test lab interaction for private label validations. [Legal and Financial]
1. Who or what exactly am I contracting with?There is no formal legal entity corresponding with the OpenSSL team itself, which is an informal collaborative association of individuals around the world. We created a legal entity to represent the OpenSSL team members actively participating in the support contract initiative. That entity, the OpenSSL Software Foundation (OSF) will execute the formal support contract agreements and handle the associated business functions. The actual technical support will be provided by OpenSSL team members.
2. Where does the money for support contract subscriptions go?It all goes to the people directly providing the technical support services and to current active OpenSSL team members. There is no investor or parent company syphoning off revenue for other purposes; the OpenSSL Software Foundation was created specifically to support the activities of the OpenSSL team. Even though not all OpenSSL team members will be directly participating in or directly benefiting from the support subscription business all have consented to the arrangement and all will have full access to the financial records (tax filings and bank statements) of the OSF.
3. Are the support plans listed on a GSA schedule?Sorry, no. Frankly the paperwork requirements are too intimidating at this point, and the significant costs of meeting them would have to be passed on to all of our customers. Perhaps someday. [Miscellaneous]
1. What if we need help with proprietary or sensitive information?We recognise that some vendors do not wish to reveal details of their software products or business plans. We will respect non-disclosure restrictions provided such restrictions do not constrain our ability to write and maintain OpenSSL or other software.
2. Why the separate domain name?We're conducting business using the opensslfoundation.com domain name instead of the openssl.org domain name because we want to distinguish the new for-pay support and service activities from the traditional OpenSSL project which will continue as before. We would like to have used the openssl.com domain name but it is taken by someone not associated with the OpenSSL team.
| ||||||||||||||||||||


Search OMDB For Movies
Search
Search For Movie
Search Results
Poster
Title
Year
IMDB ID
Details
Actors


Markdown is a lightweight markup language that you can use to add formatting elements to plaintext text documents. Created by John Gruber in 2004, Markdown is now one of the world’s most popular markup languages.
Using Markdown is different than using a WYSIWYG editor. In an application like Microsoft Word, you click buttons to format words and phrases, and the changes are visible immediately. Markdown isn’t like that. When you create a Markdown-formatted file, you add Markdown syntax to the text to indicate which words and phrases should look different.
For instance, to denote a heading, you add a number sign before it (e.g., # Heading One). Or to make a phrase bold, you add two asterisks before and after it (e.g., this text is bold). It may take a while to get used to seeing Markdown syntax in your text, especially if you’re accustomed to WYSIWYG applications. The screenshot below shows a Markdown file displayed in the Atom text editor.


Find all you can eat recipes, Right here at Nendoro Recipes
We have a range of recipes starting from a Starter Course to a Main Course and a Desserts Course
A great way to use leftover chicken. Even kids love these!
This combines the crunchiness of bacon and water chestnuts with the wonderful flavors of pineapple. We make it right before watching football games, but it doesn't last long
A very simple and easy marinade that makes your shrimp so yummy you don't even need cocktail sauce!  My 2 and 4 year-olds love it and eat more shrimp than their parents! It is also a big hit with company, and easy to prepare. I make this with frozen or fresh shrimp and use my indoor electric grill if the weather is not good for outside grilling. Try it with a salad, baked potato, and garlic bread. You will not be disappointed!!!
Traditional frozen custard recipe--sugar, eggs and milk are cooked, then combined with whipped cream, chilled overnight, and frozen in an ice cream maker.


To create a bot, you'll need to get the certificate chain and the certificate private key, in PEM format, for your bot user. See your System Administrator to request this data.
Scripts used by the bot, check to remove.
Scripts not used by the bot, check to add to bot.


Awwwards Analysis
menu
NOMINEES
HONORABLE MENTION
DEVELOPER AWARD
SITE OF THE DAY
SITE OF THE MONTH
SITE OF THE YEAR
NOMINEES
HONORABLE MENTION
DEVELOPER AWARD
SITE OF THE DAY
SITE OF THE MONTH
SITE OF THE YEAR
Country:
Percentage:
%
Submission:
Population:
▾
sort


You can export your schedule in iCalendar format. The resulting calendar file will include all courses from all terms that you have marked as 'Officially Enrolled' (or for which you are an instructor).


Players
Officials
Tournaments
CS 390 Tournament Style Database
Players
Add New Player
ID
First Name
Last Name
View Tournaments
View Results
Update
Delete
{% for r in rows %}
{{ r.0 }}
{{ r[1] }}
{{ r[2] }}
{% endfor %}


Click the automation tab again to draw a chartJS graph
This is a google and pubnub chart attempt.I've seen samples of both, perhaps I'm missing something simple.
This is a D3 chart attempt.


3.5. fmas.analytic_signal¶
Implements class AnalyticSignal, which uses the frequncy-domain algorithm detailed in [M1999] to compute the complex-valued analytic signal for a real-valued discrete-time field.
- M1999(1,2,3,4)
S. L. Marple, Computing the Discrete-Time Analytic signal via FFT, IEEE Transactions on Signal Processing, 47 (1999) 2600.
-
fmas.analytic_signal.
AS
¶ alias of
fmas.analytic_signal.AnalyticSignal
-
class
fmas.analytic_signal.
AnalyticSignal
(x)¶ Class converting real-valued field to analytic signal.
Implements methods that take a real-valued \(N\)-point discrete-time field \(E\) and provide access to the complex-valued discrete-time analytic signal \(\mathcal{E}\), both in time-domain and Fourier-domain.
Note
The class implements the frequency-domain algorithm specified in [M1999], given by the three-step procedure
1. Compute \(E_\omega\), i.e. the \(N\)-point discrete Fourier-trasform (DFT) of the real-valued discrete-time field \(E\).
2. Compute the \(N\)-point discrete-time analytic signal in the Fourier-domain, given by
\[\begin{split}\mathcal{E}_\omega[m] = \begin{cases} E_\omega[0], & m=0,\\ 2E_\omega[m], & 1\leq m \leq N/2-1,\\ E_\omega[N/2], & m = N/2,\\ 0, & N/2+1 \leq m \leq N - 1. \end{cases}\end{split}\]3. Compute the complex-valued \(N\)-point discrete-time analytic signal \(\mathcal{E}\) using an inverse DFT.
- Parameters
x (
numpy.ndarray
) – Real-valued field \(E\).
-
x
¶ Real-valued field \(E\).
- Type
numpy.ndarray
-
num
¶ Number \(N\) of field points.
- Type
int
-
property
t_rep
¶ Time-domain representation \(\mathcal{E}\) of the analytic signal.
- Type
numpy.ndarray
-
test_orthogonality
()¶ Check if real and imaginary parts are orthogonal.
Real and imaginary parts of the analytic signal must be orthogonal, i.e.
\[\sum_{n=0}^{N-1} \mathsf{Re}(\mathcal{E}[n])\,\mathsf{Im}(\mathcal{E}[n]) = 0,\]see Eq. (7) of [M1999].
-
test_recover_original_field
()¶ Check if real part of analytic signal equals original field.
Real part of the discrete-time analytic signal must be equal to the original field, i.e.
\[\mathsf{Re}(\mathcal{E}[n]) = E[n], \quad 0\leq n\leq N-1,\]see Eq. (6) of [M1999].
-
property
w_rep
¶ Frequency-domain representation \(\mathcal{E}_\omega\) of the analytic signal.
- Type
numpy.ndarray


Verbosity level:
DEBUG
WARNING
OUTPUT
Delay (ms)
Hard-deadline (ms)
Save log file
Nothing
Save statistics
Stats + Page profile
Stats + Page profile + Timing
Save


PM Property Attributes
Unit Images
View Current Tile Image No Current Image
Recommended Size:
640x820
View Current Banner Image
No Current Image
No Current Image
Recommended Size:
1920x812


How does it work?
- Your data is saved locally. You can always pick up where you left off.
- You can use the app without an internet connection.
- All you need is a web browser.
FAQ
Video Tutorials (IMDI)
Video Tutorials (ELDP)
There are some videos on how to create ELDP-CMDI metadata.
First steps (IMDI)
Learn how to use CMDI Maker to generate IMDI metadata with this tutorial.
Mailing List
Stay up to date with latest news about CMDI Maker and subscribe to the mailing list.
E-Mail Support
Get in touch with the developers of CMDI Maker<EMAIL_ADDRESS>Poster
Download the poster that explains it all.
Source Code
View the source code on GitHub.
App
Start the app here.


--- layout: post title: Kamoso is alive! categories: - KDE - Software Libre tags: [] status: publish type: post published: true meta: _edit_last: '2' enclosure: "http://cdn.afiestas.org/wp-content/uploads/2010/11/kamoso2.ogv\r\n10111060\r\nvideo/ogg\r\n" dsq_thread_id: '2226555446' author: login: afiestas email<EMAIL_ADDRESS>display_name: afiestas first_name: Àlex last_name: Fiestas ---
After months of being almost a dead-zombie project now the Kamoso development has been resumed, we can say that it is in better shape than ever! Motivated by the QtGstreamer project, Aleix and I decided to port Kamoso to it and see how it goes (it has been the perfect excuse to revive the project). So far we didn't regret the change. Besides the technology switch (we we're kind of ok with libvlc), the change has given to us new forces to work on the project, let's see what we've got so far:


| Module | ActionView::Helpers::AssetTagHelper |
| In: |
/usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb
|
This module provides methods for generating HTML that links views to assets such as images, javascripts, stylesheets, and feeds. These methods do not verify the assets exist before linking to them:
image_tag("rails.png") # =>  stylesheet_link_tag("application") # => <link href="/stylesheets/application.css?1232285206" media="screen" rel="stylesheet" type="text/css" />
By default, Rails links to these assets on the current host in the public folder, but you can direct Rails to link to assets from a dedicated asset server by setting ActionController::Base.asset_host in the application configuration, typically in config/environments/production.rb. For example, you‘d define assets.example.com to be your asset host this way:
ActionController::Base.asset_host = "assets.example.com"
Helpers take that into account:
image_tag("rails.png") # =>  stylesheet_link_tag("application") # => <link href="http://assets.example.com/stylesheets/application.css?1232285206" media="screen" rel="stylesheet" type="text/css" />
Browsers typically open at most two simultaneous connections to a single host, which means your assets often have to wait for other assets to finish downloading. You can alleviate this by using a %d wildcard in the asset_host. For example, "assets%d.example.com". If that wildcard is present Rails distributes asset requests among the corresponding four hosts "assets0.example.com", …, "assets3.example.com". With this trick browsers will open eight simultaneous connections rather than two.
image_tag("rails.png") # =>  stylesheet_link_tag("application") # => <link href="http://assets2.example.com/stylesheets/application.css?1232285206" media="screen" rel="stylesheet" type="text/css" />
To do this, you can either setup four actual hosts, or you can use wildcard DNS to CNAME the wildcard to a single asset host. You can read more about setting up your DNS CNAME records from your ISP.
Note: This is purely a browser performance optimization and is not meant for server load balancing. See www.die.net/musings/page_load_time/ for background.
Alternatively, you can exert more control over the asset host by setting asset_host to a proc like this:
ActionController::Base.asset_host = Proc.new { |source| "http://assets#{source.hash % 2 + 1}.example.com" } image_tag("rails.png") # =>  stylesheet_link_tag("application") # => <link href="http://assets2.example.com/stylesheets/application.css?1232285206" media="screen" rel="stylesheet" type="text/css" />
The example above generates "assets1.example.com" and "assets2.example.com". This option is useful for example if you need fewer/more than four hosts, custom host names, etc.
As you see the proc takes a source parameter. That‘s a string with the absolute path of the asset with any extensions and timestamps in place, for example "/images/rails.png?1230601161".
ActionController::Base.asset_host = Proc.new { |source| if source.starts_with?('/images') "http://images.example.com" else "http://assets.example.com" end } image_tag("rails.png") # =>  stylesheet_link_tag("application") # => <link href="http://assets.example.com/stylesheets/application.css?1232285206" media="screen" rel="stylesheet" type="text/css" />
Alternatively you may ask for a second parameter request. That one is particularly useful for serving assets from an SSL-protected page. The example proc below disables asset hosting for HTTPS connections, while still sending assets for plain HTTP requests from asset hosts. If you don‘t have SSL certificates for each of the asset hosts this technique allows you to avoid warnings in the client about mixed media.
ActionController::Base.asset_host = Proc.new { |source, request| if request.ssl? "#{request.protocol}#{request.host_with_port}" else "#{request.protocol}assets.example.com" end }
You can also implement a custom asset host object that responds to call and takes either one or two parameters just like the proc.
config.action_controller.asset_host = AssetHostingWithMinimumSsl.new( "http://asset%d.example.com", "https://asset1.example.com" )
By default, Rails appends asset‘s timestamps to all asset paths. This allows you to set a cache-expiration date for the asset far into the future, but still be able to instantly invalidate it by simply updating the file (and hence updating the timestamp, which then updates the URL as the timestamp is part of that, which in turn busts the cache).
It‘s the responsibility of the web server you use to set the far-future expiration date on cache assets that you need to take advantage of this feature. Here‘s an example for Apache:
# Asset Expiration ExpiresActive On <FilesMatch "\.(ico|gif|jpe?g|png|js|css)$"> ExpiresDefault "access plus 1 year" </FilesMatch>
Also note that in order for this to work, all your application servers must return the same timestamps. This means that they must have their clocks synchronized. If one of them drifts out of sync, you‘ll see different timestamps at random and the cache won‘t work. In that case the browser will request the same assets over and over again even thought they didn‘t change. You can use something like Live HTTP Headers for Firefox to verify that the cache is indeed working.
This strategy works well enough for most server setups and requires the least configuration, but if you deploy several application servers at different times - say to handle a temporary spike in load - then the asset time stamps will be out of sync. In a setup like this you may want to set the way that asset paths are generated yourself.
Altering the asset paths that Rails generates can be done in two ways. The easiest is to define the RAILS_ASSET_ID environment variable. The contents of this variable will always be used in preference to calculated timestamps. A more complex but flexible way is to set ActionController::Base.config.asset_path to a proc that takes the unmodified asset path and returns the path needed for your asset caching to work. Typically you‘d do something like this in config/environments/production.rb:
# Normally you'd calculate RELEASE_NUMBER at startup. RELEASE_NUMBER = 12345 config.action_controller.asset_path_template = proc { |asset_path| "/release-#{RELEASE_NUMBER}#{asset_path}" }
This example would cause the following behaviour on all servers no matter when they were deployed:
image_tag("rails.png") # =>  stylesheet_link_tag("application") # => <link href="/release-12345/stylesheets/application.css?1232285206" media="screen" rel="stylesheet" type="text/css" />
Changing the asset_path does require that your web servers have knowledge of the asset template paths that you rewrite to so it‘s not suitable for out-of-the-box use. To use the example given above you could use something like this in your Apache VirtualHost configuration:
<LocationMatch "^/release-\d+/(images|javascripts|stylesheets)/.*$"> # Some browsers still send conditional-GET requests if there's a # Last-Modified header or an ETag header even if they haven't # reached the expiry date sent in the Expires header. Header unset Last-Modified Header unset ETag FileETag None # Assets requested using a cache-busting filename should be served # only once and then cached for a really long time. The HTTP/1.1 # spec frowns on hugely-long expiration times though and suggests # that assets which never expire be served with an expiration date # 1 year from access. ExpiresActive On ExpiresDefault "access plus 1 year" </LocationMatch> # We use cached-busting location names with the far-future expires # headers to ensure that if a file does change it can force a new # request. The actual asset filenames are still the same though so we # need to rewrite the location from the cache-busting location to the # real asset location so that we can serve it. RewriteEngine On RewriteRule ^/release-\d+/(images|javascripts|stylesheets)/(.*)$ /$1/$2 [L]
| JAVASCRIPT_DEFAULT_SOURCES | = | ['prototype', 'effects', 'dragdrop', 'controls', 'rails'].freeze unless const_defined?(:JAVASCRIPT_DEFAULT_SOURCES) |
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 709 709: def self.cache_asset_timestamps 710: @@cache_asset_timestamps 711: end
You can enable or disable the asset tag timestamps cache. With the cache enabled, the asset tag helper methods will make fewer expensive file system calls. However this prevents you from modifying any asset files while the server is running.
ActionView::Helpers::AssetTagHelper.cache_asset_timestamps = false
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 719 719: def self.cache_asset_timestamps=(value) 720: @@cache_asset_timestamps = value 721: end
Register one or more javascript files to be included when symbol is passed to javascript_include_tag. This method is typically intended to be called from plugin initialization to register javascript files that the plugin installed in public/javascripts.
ActionView::Helpers::AssetTagHelper.register_javascript_expansion :monkey => ["head", "body", "tail"] javascript_include_tag :monkey # =>
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 366 366: def self.register_javascript_expansion(expansions) 367: @@javascript_expansions.merge!(expansions) 368: end
Register one or more additional JavaScript files to be included when javascript_include_tag :defaults is called. This method is typically intended to be called from plugin initialization to register additional .js files that the plugin installed in public/javascripts.
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 391 391: def self.register_javascript_include_default(*sources) 392: @@javascript_expansions[:defaults].concat(sources) 393: end
Register one or more stylesheet files to be included when symbol is passed to stylesheet_link_tag. This method is typically intended to be called from plugin initialization to register stylesheet files that the plugin installed in public/stylesheets.
ActionView::Helpers::AssetTagHelper.register_stylesheet_expansion :monkey => ["head", "body", "tail"] stylesheet_link_tag :monkey # => <link href="/stylesheets/head.css" media="screen" rel="stylesheet" type="text/css" /> <link href="/stylesheets/body.css" media="screen" rel="stylesheet" type="text/css" /> <link href="/stylesheets/tail.css" media="screen" rel="stylesheet" type="text/css" />
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 383 383: def self.register_stylesheet_expansion(expansions) 384: @@stylesheet_expansions.merge!(expansions) 385: end
Computes the path to an audio asset in the public audios directory. Full paths from the document root will be passed through. Used internally by audio_tag to build the audio path.
audio_path("horse") # => /audios/horse audio_path("horse.wav") # => /audios/horse.avi audio_path("sounds/horse.wav") # => /audios/sounds/horse.avi audio_path("/sounds/horse.wav") # => /sounds/horse.avi audio_path("http://www.railsapplication.com/sounds/horse.wav") # => http://www.railsapplication.com/sounds/horse.wav
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 581 581: def audio_path(source) 582: compute_public_path(source, 'audios') 583: end
Returns an html audio tag for the source. The source can be full path or file that exists in your public audios directory.
audio_tag("sound") # => <audio src="/audios/sound" /> audio_tag("sound.wav") # => <audio src="/audios/sound.wav" /> audio_tag("sound.wav", :autoplay => true, :controls => true) # => <audio autoplay="autoplay" controls="controls" src="/audios/sound.wav" />
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 703 703: def audio_tag(source, options = {}) 704: options.symbolize_keys! 705: options[:src] = path_to_audio(source) 706: tag("audio", options) 707: end
Returns a link tag that browsers and news readers can use to auto-detect an RSS or ATOM feed. The type can either be :rss (default) or :atom. Control the link options in url_for format using the url_options. You can modify the LINK tag itself in tag_options.
auto_discovery_link_tag # => <link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.currenthost.com/controller/action" /> auto_discovery_link_tag(:atom) # => <link rel="alternate" type="application/atom+xml" title="ATOM" href="http://www.currenthost.com/controller/action" /> auto_discovery_link_tag(:rss, {:action => "feed"}) # => <link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.currenthost.com/controller/feed" /> auto_discovery_link_tag(:rss, {:action => "feed"}, {:title => "My RSS"}) # => <link rel="alternate" type="application/rss+xml" title="My RSS" href="http://www.currenthost.com/controller/feed" /> auto_discovery_link_tag(:rss, {:controller => "news", :action => "feed"}) # => <link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.currenthost.com/news/feed" /> auto_discovery_link_tag(:rss, "http://www.example.com/feed.rss", {:title => "Example RSS"}) # => <link rel="alternate" type="application/rss+xml" title="Example RSS" href="http://www.example.com/feed" />
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 221 221: def auto_discovery_link_tag(type = :rss, url_options = {}, tag_options = {}) 222: tag( 223: "link", 224: "rel" => tag_options[:rel] || "alternate", 225: "type" => tag_options[:type] || Mime::Type.lookup_by_extension(type.to_s).to_s, 226: "title" => tag_options[:title] || type.to_s.upcase, 227: "href" => url_options.is_a?(Hash) ? url_for(url_options.merge(:only_path => false)) : url_options 228: ) 229: end
Web browsers cache favicons. If you just throw a favicon.ico into the document root of your application and it changes later, clients that have it in their cache won‘t see the update. Using this helper prevents that because it appends an asset ID:
<%= favicon_link_tag %>
generates
<link href="/favicon.ico?4649789979" rel="shortcut icon" type="image/vnd.microsoft.icon" />
You may specify a different file in the first argument:
<%= favicon_link_tag 'favicon.ico' %>
That‘s passed to path_to_image as is, so it gives
<link href="/images/favicon.ico?4649789979" rel="shortcut icon" type="image/vnd.microsoft.icon" />
The helper accepts an additional options hash where you can override "rel" and "type".
For example, Mobile Safari looks for a different LINK tag, pointing to an image that will be used if you add the page to the home screen of an iPod Touch, iPhone, or iPad. The following call would generate such a tag:
<%= favicon_link_tag 'mb-icon.png', :rel => 'apple-touch-icon', :type => 'image/png' %>
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 530 530: def favicon_link_tag(source='/favicon.ico', options={}) 531: tag('link', { 532: :rel => 'shortcut icon', 533: :type => 'image/vnd.microsoft.icon', 534: :href => path_to_image(source) 535: }.merge(options.symbolize_keys)) 536: end
Computes the path to an image asset in the public images directory. Full paths from the document root will be passed through. Used internally by image_tag to build the image path:
image_path("edit") # => "/images/edit" image_path("edit.png") # => "/images/edit.png" image_path("icons/edit.png") # => "/images/icons/edit.png" image_path("/icons/edit.png") # => "/icons/edit.png" image_path("http://www.railsapplication.com/img/edit.png") # => "http://www.railsapplication.com/img/edit.png"
If you have images as application resources this method may conflict with their named routes. The alias path_to_image is provided to avoid that. Rails uses the alias internally, and plugin authors are encouraged to do so.
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 551 551: def image_path(source) 552: compute_public_path(source, 'images') 553: end
Returns an html image tag for the source. The source can be a full path or a file that exists in your public images directory.
You can add HTML attributes using the options. The options supports three additional keys for convenience and conformance:
image_tag("icon") # =>  image_tag("icon.png") # =>  image_tag("icon.png", :size => "16x10", :alt => "Edit Entry") # =>  image_tag("/icons/icon.gif", :size => "16x16") # =>  image_tag("/icons/icon.gif", :height => '32', :width => '32') # =>  image_tag("/icons/icon.gif", :class => "menu_icon") # =>  image_tag("mouse.png", :mouseover => "/images/mouse_over.png") # =>  image_tag("mouse.png", :mouseover => image_path("mouse_over.png")) # =>
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 619 619: def image_tag(source, options = {}) 620: options.symbolize_keys! 621: 622: src = options[:src] = path_to_image(source) 623: 624: unless src =~ /^cid:/ 625: options[:alt] = options.fetch(:alt){ File.basename(src, '.*').capitalize } 626: end 627: 628: if size = options.delete(:size) 629: options[:width], options[:height] = size.split("x") if size =~ %r{^\d+x\d+$} 630: end 631: 632: if mouseover = options.delete(:mouseover) 633: options[:onmouseover] = "this.src='#{path_to_image(mouseover)}'" 634: options[:onmouseout] = "this.src='#{src}'" 635: end 636: 637: tag("img", options) 638: end
Returns an html script tag for each of the sources provided. You can pass in the filename (.js extension is optional) of javascript files that exist in your public/javascripts directory for inclusion into the current page or you can pass the full path relative to your document root. To include the Prototype and Scriptaculous javascript libraries in your application, pass :defaults as the source. When using :defaults, if an application.js file exists in your public javascripts directory, it will be included as well. You can modify the html attributes of the script tag by passing a hash as the last argument.
javascript_include_tag "xmlhr" # =>  javascript_include_tag "xmlhr.js" # =>  javascript_include_tag "common.javascript", "/elsewhere/cools" # =>   javascript_include_tag "http://www.railsapplication.com/xmlhr" # =>  javascript_include_tag "http://www.railsapplication.com/xmlhr.js" # =>  javascript_include_tag :defaults # =>   ...
Though it‘s not really recommended practice, if you need to extend the default JavaScript set for any reason (e.g., you‘re going to be using a certain .js file in every action), then take a look at the register_javascript_include_default method.
You can also include all javascripts in the javascripts directory using :all as the source:
javascript_include_tag :all # =>   ...
Note that the default javascript files will be included first. So Prototype and Scriptaculous are available to all subsequently included files.
If you want Rails to search in all the subdirectories under javascripts, you should explicitly set :recursive:
javascript_include_tag :all, :recursive => true
You can also cache multiple javascripts into one file, which requires less HTTP connections to download and can better be compressed by gzip (leading to faster transfers). Caching will only happen if config.perform_caching is set to true (which is the case by default for the Rails production environment, but not for the development environment).
javascript_include_tag :all, :cache => true # when config.perform_caching is false =>   ...    javascript_include_tag :all, :cache => true # when config.perform_caching is true =>  javascript_include_tag "prototype", "cart", "checkout", :cache => "shop" # when config.perform_caching is false =>    javascript_include_tag "prototype", "cart", "checkout", :cache => "shop" # when config.perform_caching is true =>
The :recursive option is also available for caching:
javascript_include_tag :all, :cache => true, :recursive => true
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 332 332: def javascript_include_tag(*sources) 333: options = sources.extract_options!.stringify_keys 334: concat = options.delete("concat") 335: cache = concat || options.delete("cache") 336: recursive = options.delete("recursive") 337: 338: if concat || (config.perform_caching && cache) 339: joined_javascript_name = (cache == true ? "all" : cache) + ".js" 340: joined_javascript_path = File.join(joined_javascript_name[/^#{File::SEPARATOR}/] ? config.assets_dir : config.javascripts_dir, joined_javascript_name) 341: 342: unless config.perform_caching && File.exists?(joined_javascript_path) 343: write_asset_file_contents(joined_javascript_path, compute_javascript_paths(sources, recursive)) 344: end 345: javascript_src_tag(joined_javascript_name, options) 346: else 347: sources = expand_javascript_sources(sources, recursive) 348: ensure_javascript_sources!(sources) if cache 349: sources.collect { |source| javascript_src_tag(source, options) }.join("\n").html_safe 350: end 351: end
Computes the path to a javascript asset in the public javascripts directory. If the source filename has no extension, .js will be appended (except for explicit URIs) Full paths from the document root will be passed through. Used internally by javascript_include_tag to build the script path.
javascript_path "xmlhr" # => /javascripts/xmlhr.js javascript_path "dir/xmlhr.js" # => /javascripts/dir/xmlhr.js javascript_path "/dir/xmlhr" # => /dir/xmlhr.js javascript_path "http://www.railsapplication.com/js/xmlhr" # => http://www.railsapplication.com/js/xmlhr javascript_path "http://www.railsapplication.com/js/xmlhr.js" # => http://www.railsapplication.com/js/xmlhr.js
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 242 242: def javascript_path(source) 243: compute_public_path(source, 'javascripts', 'js') 244: end
Returns a stylesheet link tag for the sources specified as arguments. If you don‘t specify an extension, .css will be appended automatically. You can modify the link attributes by passing a hash as the last argument.
stylesheet_link_tag "style" # => <link href="/stylesheets/style.css" media="screen" rel="stylesheet" type="text/css" /> stylesheet_link_tag "style.css" # => <link href="/stylesheets/style.css" media="screen" rel="stylesheet" type="text/css" /> stylesheet_link_tag "http://www.railsapplication.com/style.css" # => <link href="http://www.railsapplication.com/style.css" media="screen" rel="stylesheet" type="text/css" /> stylesheet_link_tag "style", :media => "all" # => <link href="/stylesheets/style.css" media="all" rel="stylesheet" type="text/css" /> stylesheet_link_tag "style", :media => "print" # => <link href="/stylesheets/style.css" media="print" rel="stylesheet" type="text/css" /> stylesheet_link_tag "random.styles", "/css/stylish" # => <link href="/stylesheets/random.styles" media="screen" rel="stylesheet" type="text/css" /> <link href="/css/stylish.css" media="screen" rel="stylesheet" type="text/css" />
You can also include all styles in the stylesheets directory using :all as the source:
stylesheet_link_tag :all # => <link href="/stylesheets/style1.css" media="screen" rel="stylesheet" type="text/css" /> <link href="/stylesheets/styleB.css" media="screen" rel="stylesheet" type="text/css" /> <link href="/stylesheets/styleX2.css" media="screen" rel="stylesheet" type="text/css" />
If you want Rails to search in all the subdirectories under stylesheets, you should explicitly set :recursive:
stylesheet_link_tag :all, :recursive => true
You can also cache multiple stylesheets into one file, which requires less HTTP connections and can better be compressed by gzip (leading to faster transfers). Caching will only happen if config.perform_caching is set to true (which is the case by default for the Rails production environment, but not for the development environment). Examples:
stylesheet_link_tag :all, :cache => true # when config.perform_caching is false => <link href="/stylesheets/style1.css" media="screen" rel="stylesheet" type="text/css" /> <link href="/stylesheets/styleB.css" media="screen" rel="stylesheet" type="text/css" /> <link href="/stylesheets/styleX2.css" media="screen" rel="stylesheet" type="text/css" /> stylesheet_link_tag :all, :cache => true # when config.perform_caching is true => <link href="/stylesheets/all.css" media="screen" rel="stylesheet" type="text/css" /> stylesheet_link_tag "shop", "cart", "checkout", :cache => "payment" # when config.perform_caching is false => <link href="/stylesheets/shop.css" media="screen" rel="stylesheet" type="text/css" /> <link href="/stylesheets/cart.css" media="screen" rel="stylesheet" type="text/css" /> <link href="/stylesheets/checkout.css" media="screen" rel="stylesheet" type="text/css" /> stylesheet_link_tag "shop", "cart", "checkout", :cache => "payment" # when config.perform_caching is true => <link href="/stylesheets/payment.css" media="screen" rel="stylesheet" type="text/css" />
The :recursive option is also available for caching:
stylesheet_link_tag :all, :cache => true, :recursive => true
To force concatenation (even in development mode) set :concat to true. This is useful if you have too many stylesheets for IE to load.
stylesheet_link_tag :all, :concat => true
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 483 483: def stylesheet_link_tag(*sources) 484: options = sources.extract_options!.stringify_keys 485: concat = options.delete("concat") 486: cache = concat || options.delete("cache") 487: recursive = options.delete("recursive") 488: 489: if concat || (config.perform_caching && cache) 490: joined_stylesheet_name = (cache == true ? "all" : cache) + ".css" 491: joined_stylesheet_path = File.join(joined_stylesheet_name[/^#{File::SEPARATOR}/] ? config.assets_dir : config.stylesheets_dir, joined_stylesheet_name) 492: 493: unless config.perform_caching && File.exists?(joined_stylesheet_path) 494: write_asset_file_contents(joined_stylesheet_path, compute_stylesheet_paths(sources, recursive)) 495: end 496: stylesheet_tag(joined_stylesheet_name, options) 497: else 498: sources = expand_stylesheet_sources(sources, recursive) 499: ensure_stylesheet_sources!(sources) if cache 500: sources.collect { |source| stylesheet_tag(source, options) }.join("\n").html_safe 501: end 502: end
Computes the path to a stylesheet asset in the public stylesheets directory. If the source filename has no extension, .css will be appended (except for explicit URIs). Full paths from the document root will be passed through. Used internally by stylesheet_link_tag to build the stylesheet path.
stylesheet_path "style" # => /stylesheets/style.css stylesheet_path "dir/style.css" # => /stylesheets/dir/style.css stylesheet_path "/dir/style.css" # => /dir/style.css stylesheet_path "http://www.railsapplication.com/css/style" # => http://www.railsapplication.com/css/style stylesheet_path "http://www.railsapplication.com/css/style.css" # => http://www.railsapplication.com/css/style.css
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 410 410: def stylesheet_path(source) 411: compute_public_path(source, 'stylesheets', 'css') 412: end
Computes the path to a video asset in the public videos directory. Full paths from the document root will be passed through. Used internally by video_tag to build the video path.
video_path("hd") # => /videos/hd video_path("hd.avi") # => /videos/hd.avi video_path("trailers/hd.avi") # => /videos/trailers/hd.avi video_path("/trailers/hd.avi") # => /trailers/hd.avi video_path("http://www.railsapplication.com/vid/hd.avi") # => http://www.railsapplication.com/vid/hd.avi
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 566 566: def video_path(source) 567: compute_public_path(source, 'videos') 568: end
Returns an html video tag for the sources. If sources is a string, a single video tag will be returned. If sources is an array, a video tag with nested source tags for each source will be returned. The sources can be full paths or files that exists in your public videos directory.
You can add HTML attributes using the options. The options supports two additional keys for convenience and conformance:
video_tag("trailer") # => <video src="/videos/trailer" /> video_tag("trailer.ogg") # => <video src="/videos/trailer.ogg" /> video_tag("trailer.ogg", :controls => true, :autobuffer => true) # => <video autobuffer="autobuffer" controls="controls" src="/videos/trailer.ogg" /> video_tag("trailer.m4v", :size => "16x10", :poster => "screenshot.png") # => <video src="/videos/trailer.m4v" width="16" height="10" poster="/images/screenshot.png" /> video_tag("/trailers/hd.avi", :size => "16x16") # => <video src="/trailers/hd.avi" width="16" height="16" /> video_tag("/trailers/hd.avi", :height => '32', :width => '32') # => <video height="32" src="/trailers/hd.avi" width="32" /> video_tag(["trailer.ogg", "trailer.flv"]) # => <video><source src="trailer.ogg" /><source src="trailer.ogg" /><source src="trailer.flv" /></video> video_tag(["trailer.ogg", "trailer.flv"] :size => "160x120") # => <video height="120" width="160"><source src="trailer.ogg" /><source src="trailer.flv" /></video>
# File /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/action_view/helpers/asset_tag_helper.rb, line 673 673: def video_tag(sources, options = {}) 674: options.symbolize_keys! 675: 676: options[:poster] = path_to_image(options[:poster]) if options[:poster] 677: 678: if size = options.delete(:size) 679: options[:width], options[:height] = size.split("x") if size =~ %r{^\d+x\d+$} 680: end 681: 682: if sources.is_a?(Array) 683: content_tag("video", options) do 684: sources.map { |source| tag("source", :src => source) }.join.html_safe 685: end 686: else 687: options[:src] = path_to_video(sources) 688: tag("video", options) 689: end 690: end


Results referred to hybrid memory implementations (HM speedups in
Tab. [tab:execGM_HM]) show how the use of shared memory can improve
performances up to 15%, with respect to the implementation that
considers only global memory (GM speedups in Tab. [tab:execGM_HM] ) for
CA space allocation. In addition, the use of the fast_math
option has not produced expected benefits in terms of performances,
especially for the high-performing GTX680, probably due to the relative
low computational intensity rate of the model. Unexpectedly,
experiments executed on the GTX580 have outclassed simulations that
were performed on the GTX 680: even in this case, this is probably due
to the adopted non optimal CUDA occupancy for the considered hardware
[@Kirk2010]. Another reason might be that the GTX680, though having a
number of cores nearly triple respect to the GTX580, has a lesser CUDA
core clock-rate (1006Mhz vs. 1544Mhz of the GTX580). Moreover, as shown
by different benchmarks, the GTX680 has proven to be more suitable for
3D graphic applications than for numerical computations
[@gurusite2013].


Start feeling proud that you're an early adopter of Bitcoin and identify other super bitcoiners within your community #SuperBitcoiner
Find Out MoreThere are a lot going on in Bitcoin world. We've seen bubbles, crashes, good old times when solo mining was a thing and now we've got distracted by the blocksize debate, RBF and unlimited classic XT and a lot more. Bitcoin can't be a form of money if we don't use it to buy stuff, right?
Show Me The SignSuper awesome design by @Phneep, Bitcoinaut.
We made sure we have everything ready before going online!
Anyone holding this keychain, knows more about Bitcoin than 99% of the world.
It’s worth nothing if it wasn't made with Love
Any questions? Need more keychains? for custom inquiries, email us, We'd be happy to give you some human touch in this digital world. a Good old peer to peer interaction.
Are you a Bitcoin activist? Or if you like to whisper click here


Humanitarian
IM Hub
The latest news and innovation in the humanitarian information management sector
About
Subreddit


{% extends 'layout.html' %} {% block title %}{% endblock %} {% block content %}
{{cultureData.why}}
{{cultureData.us_num}} {{cultureData.name}} refugees came to live in America in 2014, and {{cultureData.co_num}} of that number moved to Colorado.
{{cultureData.foods}}
Contact these resource(s) for services such as translation and employee support
{% for resource in cultureResources %}{{resource.name}}
{% endfor %}


FILM TITLE: RIKKI AND PETE DIRECTOR: NADIA TASS COUNTRY: AUSTRALIA ( 1988 ) SUPER FEATURES: MUSIC. ECCENTRICALLY FUNNY. CAST: STEPHEN KEARNY, NINA LANDIS, BRUCE SPENCE WRITTEN BY: DAVID PARKER
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Every once in a while, there is one film, that sort of pops out of nowhere, and one's curiosity is ticked.
Well, when you see a picture on a guy sitting atop a Bentley, steering it with two cords, in the midst of the outback desert, it's got to be interesting and hopefully fun.
IT IS.
A bit weird, the recluse Pete, is the oddball in town, a genius actually, whose best stunts are saved for the 'copers' and the vindictive police chief, who is trying to land his prize catch in jail.
Pete has a sister, and tired of the stuffiness of his father, takes of with his sister, in mom's gift, the Bentley. And his creativity begins coming around, as he has to find a way to earn a few bucks for gasoline, and a place to live. The sister is a good singer, and picks up a few bucks singing in the local pubs, for a dollar or two. And by the end of the film, they have become slightly rich, with the help of Pete's ingenuity. And they end up getting the best of the police chief still chasing him, and having to put up with a maddening Christian lunatic.
The film is fun, the film is weird, and the film is very good.
The music is actually very nice, and well situated, with the songs always linked to the moment at hand.
Bruce Spence ( the gyroscope pilot in Road Warrior ) is excellent as a miner, who joins up with the duo and find a slight gold mine in the process, based on Rikki's details, and knowledge.
Should See It. The inventions and ingenuity are great. Check out the EXTERMINATOR, and when it is used.
3.5 GIBLOONS Copyright (c) Pedro Sena 1994
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Up: Contents
Next: Point-to-Point Communication
Previous: Interaction with Signals
The examples in this document are for illustration purposes only. They are not
intended to specify the standard. Furthermore, the examples have not been
carefully checked or verified.
Up: Contents
Next: Point-to-Point Communication
Previous: Interaction with Signals
Return to MPI-2.2 Standard Index
Return to MPI Forum Home Page
(Unofficial) MPI-2.2 of September 4, 2009
HTML Generated on September 10, 2009


These stories are in HTML format. To read through each one, just click on it.
Twine is a tool for using HTML and CSS to create interactive stories. To view the source code in the original tool, download any of the HTML files, visit Twinery.org, select "Import from File", and upload the downloaded HTML file.


Sample data visualization projects
Announcements:
-
Oct 17: Project 1 restuls are available. Project 2 is out and groups have been assigned.
-
Sep 28: The Project 1 deadline is extended to Oct 9th.
-
Sep 19: We still have class on Wednesday (Sept 21), but no class on Friday (Sept 23). Please review your Wednesday video if you miss it.
-
Sep 6: Each student is required to create an account on the CS5331-004 Piazza: piazza.com/ttu/fall2016/cs5331004
-
Sep 1: Every student (include distant students) needs to send the following information to TA:
- Your full name
- Your photo
- Your program (Phd, Master (which one), and undergraduate)
- How many years into programming
- Contact info: Email, website, and phone number (not required)
- Research of interest
- Nickname (to be appeared on the grade sheet)
-
Aug 29: The first class starts on Monday, August 29th at 3PM in EngCtr 110.
-
Aug 28: Fully funded Phd positions are opened at interactive Data Visualization Lab at TTU (iDVL@TTU). Please contact me if interested.


I am a full-stack developer with a passion for health, wellness and sci-fiction! I offer a unique desire for blending unconventional with practical. My educational background includes Business Administration, Entrepreneurship and Digital Media. I am empowered by an evolving thirst for knowledge and I welcome challenges with a growth mindset. I transitioned into web development because I got an idea for a mobile app. I began research on how to make a mobile app and this was the beginning of my coding journey! Each obstacle in my journey tested my resolve and added to the knowledge I’ve gained. I found I am advancing into someone new. I am always willing to learn and open to sharing my stories. I enjoy motivating people and being a part of their personal development. As I advance further in my web development career, I always want to keep the human element of connection in the forefront.
As a means to destress and leverage my bad eating habits I often try to remain active. I am an active member of my CrossFit gym, and during warmer seasons if I’m not running at India Point Park, then I’m biking the many beautiful yet hidden bike paths of Rhode Island. My active life followed me into the workplace where I was quickly recruited to join my company’s wellness initiative! Tasked to encourage and engage a staff of over 200, I sat on a committee that received seed funding from Massachusetts Working on Wellness to support our first year. Named “The Wellness Committee” we established our presence and engaged our staff via Health Fairs, Lunch and Learns, before and after work activities, and company-wide challenges. Our first year was so successful we were asked to present our journey to the State of Massachusetts and became a permanent part of our organization. I thoroughly enjoyed the journey and served on the committee for three years.
This SPA allows a user to register, log-in, create and submit maintenance requests to property management. The user is able to see a history of their requsts, edit and/or delete. This project has been deployed.
The following are links to projects deployed and in development:
I have educational experience in television, film, radio, internet and corporate media. This includes pre and post-production with work done in Adobe Creative Cloud. The following collection are Digital Media Projects.
I have an extensive background in Audio Engineering. My passion for all things audio led me to enrollment with Full Sail University for Audio Production and continue with Digital Media Production at New England Institute of Technology
Web Developer Fellow
Providence, RI
October 2018 to January 2019
Recently completed a 13-week, 500+ hour Full Stack Web Development Immersive program with General Assembly. We explored working collaboratively via Git/GitHub and remote communications via Slack. Some of the languages and technologies learned include: JavaScript, Ruby, Ruby on Rails, MongoDB, SQL, PostgreSQL, Express.js, Node.js, React, Bootstrap, jQuery, Amazon Web Services, CSS and HTML. Some of the biggest challenges in this program was to tackle problem solving via object oriented programing and learn independently.Payroll Specialist II
Stoughton, MA
February 2013 to September 2018
At Tempus, I processed payroll for various consumer programs funded by MassHealth. Responsibilities include but not limited to reviewing/verifying/correcting time-sheets and new hire paperwork, communicate with internal staff and external agencies regarding payroll issues. Maintained client contact for VIP clients, manage individual program budgets. Develop implementation strategies to ensure compliance to state and federal guidelines. Outside of daily responsibilities, I consult on company-wide initiatives such as our internal Wellness Program, rebranding of website and company name change.Member and Provider Service Associate II
Providence, RI
October 2009 to March 2011
Provided customer service, handle complex inquiries and coordinated tasks with other departments. Reviewed benefits, eligibility, claims data, pharmacy adjudication/formulary issues and grievances for Medicare and non-medicare products. Managed escalated concerns to deal with complex customer and provider issues.Loan Information Associate
Boston, MA
April 2009 to September 2009
Performed credit checks for loan pre-approval. Provided general advice and assistance in completing loan applications, Master Promissory Notes, and routed borrowers to FFELP lenders of choice when necessary. Received emails/fax and submit sensitive documents for proper processing.Customer Service Representative II
East Providence, RI
July 2006 to August 2008
Provided customer service, handle complex inquiries/maintenance to checking, savings and lines of credit accounts. Cross/up-sell products, and promote new products and services.Business Associate
South Attleboro, MA
2005-2006
Finalized customer transactions in cash office. Duties include handling cash, processing finance applications, reviewing sensitive information and providing customer service.Indoor Pool Lifeguard and Pool Operator
Dale City, VA
2002-2004
Worked as lifeguard at an indoor pool. Dutes include open/closing of facility, maintaining services logs, chemically treating water and remainging in compliance with safety licensure.


When you have added your artefact, you can see them in the “Available
Artefacts” bar on the left. Artefacts and their corresponding attributes are separated in disjunct views. More information about this approach are given in the Thesis. Click on the main artefact and set up the attributes
as shown.
The attributes will be available at the bottom of the screen. You don't have to fill
out all of them. Just use the attributes you really need.
Attention: The attributes available can vary, depending on the artefact
you selected.
The first column specifies the name of the attribute.
The next is the data type. You can change the type from the drop-down box,
but it is recommended to use the predefined data types.
Null
Allowed / Amount (%)
You should usually start checking your attribute, whether null values are allowed or
not. If so, tick the checkbox Null Allowed? for this attribute. After
you have clicked the checkbox, the Amount (%) is unlocked and can be
changed. With this option, it is possible to control the amount of
attributes with null values. Integer values from 0 through 100 are allowed. You
should immediately specify the amount (%) of data sets that will not have a
value in the data sets after unlocking the option.
Multiple Values / Upper Bound
The next step is to check, if the attribute can have more than one value.
A real world scenario for this could be multiple authors of a book.
To allow multiple values, click the Multiple Values? checkbox. If this
option is allowed, the “upper bound” value can be changed. This indicates the
maximum values allowed. Let’s say, you enabled the option multiple values
for the attribute author and you changed the upper bound to the
integer value of 3. The DataGenerator can then add up to three authors, which
means that there will be the Authors
Freeman, Frost, Mosley in our example.
Restricted Values
This option doesn't represent the current approach. At the beginning it was developed as a restricted mechanism. It should be possible that only special values are valid for some attributes. To prevent that invalid characters are being generated you can restrict the values. Right now, this is taken over by the fill behaviour ValueFiles.
Exists Dependency
In real world scenarios attributes depend somethimes on other attributes or their values. To model that, a flag for dependencies is gonna be used. This option is available to mark dependencies between attributes. Use this
function to define dependencies while enabled or disabled.
Dependencies To
If the function was unlocked by clicking the checkbox in the Exists
Dependency column and dependencies between attributes have been
identified then these can be defined using constraint-systems.
|


| hitch {pomp} | R Documentation |
The algorithms in pomp are formulated using R functions that access the basic model components
(rprocess
, dprocess
, rmeasure
, dmeasure
, etc.).
For short, we refer to these elementary functions as “workhorses”.
In implementing a model, the user specifies basic model components
using functions, procedures in dynamically-linked libraries, or C snippets.
Each component is then packaged into a ‘pomp_fun’ objects, which gives a uniform interface.
The construction of ‘pomp_fun’ objects is handled by the hitch
function,
which conceptually “hitches” the workhorses to the user-defined procedures.
hitch(
...,
templates,
obsnames,
statenames,
paramnames,
covarnames,
PACKAGE,
globals,
cfile,
cdir = getOption("pomp_cdir", NULL),
on_load,
shlib.args,
compile = TRUE,
verbose = getOption("verbose", FALSE)
)
... |
named arguments representing the user procedures to be hitched.
These can be functions, character strings naming routines in external, dynamically-linked libraries, C snippets, or |
templates |
named list of templates.
Each workhorse must have a corresponding template.
See |
obsnames , statenames , paramnames , covarnames |
character vectors specifying the names of observable variables, latent state variables, parameters, and covariates, respectively. These are only needed if one or more of the horses are furnished as C snippets. |
PACKAGE |
optional character;
the name (without extension) of the external, dynamically loaded library in which any native routines are to be found.
This is only useful if one or more of the model components has been specified using a precompiled dynamically loaded library;
it is not used for any component specified using C snippets.
|
globals |
optional character or C snippet;
arbitrary C code that will be hard-coded into the shared-object library created when C snippets are provided.
If no C snippets are used, |
cfile |
optional character variable.
|
cdir |
optional character variable.
|
on_load |
optional character or C snippet:
arbitrary C code that will be executed when the C snippet file is loaded.
If no C snippets are used, |
shlib.args |
optional character variables.
Command-line arguments to the |
compile |
logical;
if |
verbose |
logical.
Setting |
hitch
returns a named list of length two. The element named
“funs” is itself a named list of ‘pomp_fun’ objects, each of
which corresponds to one of the horses passed in. The element named
“lib” contains information on the shared-object library created
using the C snippets (if any were passed to hitch
). If no C
snippets were passed to hitch
, lib
is NULL
.
Otherwise, it is a length-3 named list with the following elements:
The name of the library created.
The
directory in which the library was created. If this is NULL
, the
library was created in the session's temporary directory.
A character string with the full contents of the C snippet file.
Aaron A. King


Donald John Trump
Résumé
— I'm the most successful person ever to run for the presidency, by far. Nobody's ever been more successful than me. I'm the most successful person ever to run. Ross Perot isn't successful like me. Romney — I have a Gucci store that's worth more than Romney. Sorry losers and haters, but my IQ is one of the highest ― and you all know it!
EXPERIENCE
-
2017
🇺🇸45th president of the United States🇺🇸
-
2016
Won election race with 77 votes more than Clinton, yippe-kee-yay!
-
2015
Became the most important Republican nominating for presidential election run
-
2009
Changed my mind and became Republican again
-
2005
Started Trump University with Michael Sexton and Jonathan Spitalny: no grades, certificates and other bureaucracy, but program offered courses in real estate, asset management entrepreneurship, and wealth creation. 98% students gave positive reviews while studying, however some of these ungrateful gringos filed lawsuits against Trump University after the course. I had to pay $25 million to settle that...
-
-
2002
Acquired the former Hotel Delmonico, which was renovated and reopened in 2004 as the Trump Park Avenue. I sure do like my surname!
-
2001
Completed Trump World Tower and joined the Democratic Party
-
1999
Started buying golf courses. They are very cheap, I have 18 of them now in USA and abroad! Also switched to the Reform Party that year
-
1997
Began a multi-building development along the Hudson River, which was named Trump Place. Me and the other investors sold our shares for $1.8 billion and that was then the biggest residential sale in the history of New York City
-
1996
Acquired the Bank of Manhattan Trust Building, which was a vacant seventy-one story skyscraper on Wall Street. After an extensive renovation, the high-rise was renamed the Trump Building
-
1994
Refrbished the Gulf and Western Building on Columbus Circle, turned it into a 44-story luxury property known as Trump International Hotel and Tower
-
1989-1992
Ran a second hand airline called Trump Shuttle. What a waste of money, I had to sell it, now it is American Airlines Shuttle, btw
-
1989, 1990
Learned about Tour de France and decided to hold my very own Tour de Trump. Is America not great enough for that cycling competition?
-
1988
Acquired the Plaza Hotel in Manhattan for $407 million, invested $50 million to restore the building and boosted it from three-star to four-star hotel (I called it "the Mona Lisa" and sold it for a lot of cash in 1995)
-
1987
🇺🇸Registered as a Republican🇺🇸
-
1985
I bought the Mar-a-Lago estate in Palm Beach and turned it into a private club.You can join if you pay $200K initiation fee (and there is another annual fee for members, it is very expensive to be rich). That year I also opened a casino called Trump Castle. My wife Ivana became a manager, because she is another Trump!
-
1983
I purchased New Jersey Generals, an American football team. I changed team's play schedule and filed an antitrust lawsuit against United States Football League, so NJG are not doing so good now, but back then they were great!
-
1980
Started developing the Trump Tower skyscraper in Manhattan, I payed a crew of undocumented Polish workers to demolish the historic Bonwit Teller store, including art deco features. All this to make architectural critic Paul Goldberger say in 1983 that the tower's atrium is "the most pleasant interior public space to be completed in New York in some years". At the same time I also started a repair job on the Wollman Rink in Central Park and completed the work in three months for $1.95 million, which was $775,000 less than the initial budget!
-
1978
Purchased a 50 percent stake in the derelict Commodore Hotel and turned it into the Grand Hyatt Hotel in 2 years of remodeling
-
1971
Was promoted to president of the company and renamed it The Trump Organization
-
1968
Began my career at my father's real estate development company, Elizabeth Trump & Son
-
PERSONAL LIFE
-
2006
Melania gained United States citizenship 🇺🇸and gave birth to our son🎉, Barron
-
2005
Married her
-
1998
Met my future third wife, Melania Knauss
-
-
1999
Divorced Marla ¯\_(ツ)_/¯
-
1993
Married Marla and had a daughter🎉, we named her Tiffany, because I like Tiffany & Company jewellery as well
-
1992
Started affair with Marla Maples, so I had to divorce. God knows I love nice women, I love them all!
-
1984
🎉Birth of Eric Trump🎉
-
1982
🎉Birth of Ivanka Trump🎉
-
1977
🎉My first son is born. I called him Donald , of course!🎉
-
1977
Married Czech model Ivana Zelníčková
-
MEDIA CAREER
-
2019
Was awarded Worst Actor and Worst Screen Combo at Golden Raspberry Awards for parts in "Death of a Nation" and "Fahrenheit 11/9"
-
2007
Received a star on the Hollywood Walk of Fame for being producer of Miss Universe pageant
-
2005
Performed a song with Megan Mullally at the 57th Primetime Emmy Awards
-
2004-2008
Ran short-form talk radio program "Trumped!" (one to two minutes on weekdays)
-
2003-2015
Produced NBC reality shows "The Apprentice" and "The Celebrity Apprentice"
-
1991
Was awarded Worst Supporting Actor at Golden Raspberry Awards for a part in "Ghosts Can't Do It"
Education
-
2011
Asked friends who are prominent and wealthy alumni of the New York Military Academy to secure my academic records so they could not be seen by anyone, never!
-
1966
Transferred to the Wharton School of the University of Pennsylvania and graduated in May 1968 with a B.S. in economics
-
1964
Started studying in Fordham University
-
1959
Enrolled in the New York Military Academy, a private boarding school, after my parents discovered I made frequent trips into Manhattan without their permission
Languages
Skills
Professional
Personal
Character
Likes😃
Dislikes😞
Wants🤤
My Books
2015
Time to Get Tough: Making America #1 Again;2011
Midas Touch: Why Some Entrepreneurs Get Rich and Why Most Don't;2011
Trump Tower;2011
Think Like a Champion: An Informal Education in Business and Life;2009
-
Never Give Up: How I Turned My Biggest
Challenges into
Success;
2008
Think Big and Kick Ass;2007
Why We Want You to Be Rich;2006
How to Build a Fortune: Your Plan for Success From the World's Most Famous Businessman;2006
The Best Real Estate Advice I Ever Received: 100 Top Experts Share Their Strategies;2006
Trump 101: The Way to Success;2006
The Best Golf Advice I Ever Received;2005
Trump: How to Get Rich;2004
Trump: The Way to the Top: The Best Business Advice I Ever Received;2004
Think Like a Billionaire: Everything You Need to Know About Success, Real Estate, and Life;2004
Trump: The America We Deserve;2000
Trump: The Art of the Comeback;1997
Trump: Surviving at the Top;1990
Trump: The Art of the Deal;1987


--- layout: post title: duchamp reloaded ji lee date: '2010-07-20T00:18:28+01:00' tags: [] tumblr_url: http://backlog.robbevan.com/post/833854907/duchamp-reloaded-ji-lee ---
Duchamp Reloaded - Ji Lee


US troops at Syria base say they’ll keep pressure on Daesh
JERUSALEM: Egyptian officials say Cairo is attempting to de-escalate tensions between Israel and Palestinian militants in Gaza amid the worst bout of fighting there in recent months.
The officials say Egypt's general intelligence agency has stepped up communications and has "opened channels" with the U.S. and the European Union. The officials spoke on condition of anonymity because they were not authorized to brief the media.
Egypt often acts as a mediator between Israel and Gaza militants, and brokered a cease-fire deal in May.
That deal appeared threatened Tuesday after a pre-dawn Israeli airstrike in Gaza killed a senior Islamic Jihad commander.
Militants in Gaza have responded with rockets fired into Israel, and the Israeli military has carried out a number of airstrikes in Gaza.


Header Struct Reference
The Header struct is meant to handle the open protocol header. More...
#include <dji_type.hpp>
Detailed Description
The Header struct is meant to handle the open protocol header.
The documentation for this struct was generated from the following file:
- osdk-core/api/inc/dji_type.hpp


THE JACKAL
A Film Review by James Berardinelli
RATING: ** OUT OF ****
United States, 1997 U.S. Release Date: 111/14/97 (wide) Running Length: 2:02 MPAA Classification: R (Violence, profanity) Theatrical Aspect Ratio: 2.35:1
Cast: Bruce Willis, Richard Gere, Sydney Poitier, Diane Venora, Mathilda May, Tess Harper Director: Michael Caton-Jones Producers: James Jacks, Sean Daniel, Kevin Jarre, and Michael Caton-Jones Screenplay: Chuck Pfarrer based on the motion picture screenplay THE DAY OF THE JACKAL by Kenneth Ross Cinematography: Karl Walter Lindenlaub Music: Carter Burwell U.S. Distributor: Universal Pictures
The public relations people at Universal Pictures are going out of their way to emphasize that THE JACKAL is not a remake of Fred Zinnemann's 1973 masterpiece, THE DAY OF THE JACKAL. While acknowledging that this new motion picture is based on the original, producer James Jacks stressed that the first film's "central premise [serves] as the basis for a whole new suspense thriller." Actually, the more distance the studio places between the two films, the better, because the 1997 production can't hold a candle to the 1973 release, and an attempted comparison only makes the new Bruce Willis/Richard Gere vehicle look worse. Anyone who believes the least inspired remake to star Willis was LAST MAN STANDING (a re-working of A FISTFUL OF DOLLARS/YOJIMBO) may have reason to re-think that position after seeing this movie.
What has survived? Not much, and certainly not any sense of true suspense. THE DAY OF THE JACKAL was a real white-knuckler. THE JACKAL is so lifeless that there are times when it's in danger of putting the audience into a coma. The central idea -- about an expensive assassin being hired to kill a high-profile target -- remains the same. This time, the Jackal is played by an uncharismatic Bruce Willis, whose interpretation does little to efface the mark left by Edward Fox. Beyond the bare-bones plot skeleton, however, screenwriter Chuck Pfarrer has changed a lot, albeit little for the better. And director Michael- Caton Jones, who did wonderful work on both SCANDAL and ROB ROY, fails to connect with this material.
On this occasion, the Jackal is a high-tech killer. His arsenal includes state-of-the-art, computer-controlled weapons, he's plugged into the Internet, and he uses a cellular phone. Like Val Kilmer in THE SAINT, he's a master of disguise, although Willis is recognizable no matter what color his hair is, what clothes he's wearing, or how much makeup he has on. The Jackal's target is a highly-placed person in the United States -- perhaps the director of the FBI, and his asking price for the hit is a cool $70 million. For that, he will do the deed then disappear forever.
But a deputy director at the FBI, Carter Preston (Sydney Poitier), knows that something is up, and he suspects that the Jackal, an almost- mythical killer (at one point, Preston states: "We've never been able to prove if he even exists"), may be involved. So, along with Major Valentina Koslova (Diane Venora), a member of the Russian police force involved in the case, Preston seeks the aid of Declan Mulqueen (Gere), an IRA terrorist serving a prison term for weapons violations. Mulqueen has knowledge that's vital to stopping the Jackal, but there's a catch - - he won't divulge it unless his demands are met. Eventually, Mulqueen is out of jail, albeit in FBI custody, and the chase is on.
The problem is that the chase, which should be a taut nail-biter, is dull. Yes, it zips from country-to-country, globe trotting from Moscow to Helsinki to Montreal to Washington D.C. to Chicago, but, aside from a few interesting explorations into the complexity of the Jackal's methods, there's very little of interest here. In the original THE DAY OF THE JACKAL, the buildup was the payoff. Here, it's just filler while we're waiting for the predictable final show-down between the two leads. And, if you can't guess how that turns out, you don't see many movies.
 Plot contrivances abound as well. Aside from the gaping holes in logic, there's the simple matter of the Jackal's supposed intelligence. I say "supposed," because there are times when he comes across as a borderline-moron. During the course of the film, he has several chances to kill Mulqueen, but what does he do instead? Stares at him for an inordinately long time, then smirks once or twice -- that's the method of a Hollywood invention, not a believable expert. Mulqueen, on the other hand, makes so many brilliant leaps of intuition that one suspects him of having a direct link to the Psychic Network.
The two lead characters, the Jackal and Mulqueen, are described as "ice" and "fire." It's easy to see Willis' performance as icy -- the Jackal is completely emotionless throughout. Gere, on the other hand, doesn't do much to infuse Mulqueen with tangible passion, although the actor is better here than in his recent anti-Chinese flop, RED CORNER (and his Irish brogue is an improvement over some of the recent accents we've been subjected too). In supporting roles, Sydney Poitier exudes more dignity than the film deserves, and Diane Venora is credible as a tough-as-nails MVD officer. Mathilda May has a small role as an old flame of Mulqueen's who knows the secret of his connection to the Jackal.
THE JACKAL starts strongly, but it doesn't take long for the film to devolve into a series of familiar formulas. And, without a sense of mounting tension or at least a few interesting characters, the movie's trajectory propels us into a realm of burgeoning boredom. Despite being 30 minutes shorter than its 1973 inspiration, this incarnation feels three times as long. When it comes to animals, THE JACKAL is just a dog in disguise.
Copyright 1997 James Berardinelli
- James Berardinelli e-mail<EMAIL_ADDRESS>Now with more than 1300 reviews... The ReelViews web site: http://movie-reviews.colossus.net/
"For me, the cinema is not a slice of life, but a piece of cake."
- Alfred Hitchcock
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


{% extends "base.html" %} {% block app_content %}
This page will be organized by the of the educator and will include getting started guides for each.
Settings/roles include:
This section will also include teaching tips, inclusivity guides, links to professional certifications and education standards, and similar types of resources.


| Package | Description |
|---|---|
| net.sf.jasperreports.charts.util |
Contains utility classes for complex chart customization.
|
| net.sf.jasperreports.components.barbecue |
Contains classes for the built-in Barbecue component.
|
| net.sf.jasperreports.components.barcode4j |
Contains classes for the built-in Barcode4J component.
|
| net.sf.jasperreports.components.list |
Contains classes for the built-in List component.
|
| net.sf.jasperreports.components.spiderchart |
Contains classes for the built-in Spider Chart component.
|
| net.sf.jasperreports.engine |
Provides access to the library's main functionality through facade classes for compiling, filling
and exporting reports and also publishes the library's main interfaces and classes.
|
| net.sf.jasperreports.engine.base |
Contains base implementations for the library's main interfaces.
|
| net.sf.jasperreports.engine.export |
Provides utility classes for exporting reports to various popular formats such as
PDF, HTML, RTF, CSV, Excel, DOCX, PPTX, ODT, ODS, XML, Text, etc.
|
| net.sf.jasperreports.engine.export.draw |
Contains classes for drawing elements at export time.
|
| net.sf.jasperreports.engine.export.oasis |
Provides utility classes for exporting reports to Open Document Format, such as
ODT and ODS.
|
| net.sf.jasperreports.engine.export.ooxml |
Provides utility classes for exporting reports to Office Open XML Format, such as
DOCX, XLSX and PPTX.
|
| net.sf.jasperreports.engine.fill |
Contains fill time implementations for the library's main interfaces and the entire
engine used in the filling process (the actual core of JasperReports).
|
| net.sf.jasperreports.engine.util |
Contains utility classes for the core library.
|
| net.sf.jasperreports.j2ee.servlets |
Provides support for built-in JasperReports servlets.
|
| net.sf.jasperreports.renderers |
Contains image renderer implementations.
|
| net.sf.jasperreports.renderers.util |
Contains utility classes for working with image renderers.
|
| net.sf.jasperreports.swing |
Provides support for JasperReports viewer feature.
|
| net.sf.jasperreports.view |
Contains the Jasper viewer implementation.
|
| net.sf.jasperreports.web.util |
Contains utility classes for web applications.
|
| Class and Description |
|---|
| AbstractRenderer |
| AreaHyperlinksRenderable
Image renderer able to produce image maps.
|
| DimensionRenderable
This interface is implemented by renderable objects that want to provide a dimention for the graphics they render,
usually by also implementing the
Graphics2DRenderable interface. |
| Graphics2DRenderable
This interface has a method called
Graphics2DRenderable.render(JasperReportsContext, Graphics2D, Rectangle2D) ,
which gets called by the engine each time it needs to draw the image
on a given device or graphic context. |
| Renderable
Provides functionality for image rendering.
|
| Class and Description |
|---|
| AbstractRenderer |
| DimensionRenderable
This interface is implemented by renderable objects that want to provide a dimention for the graphics they render,
usually by also implementing the
Graphics2DRenderable interface. |
| Graphics2DRenderable
This interface has a method called
Graphics2DRenderable.render(JasperReportsContext, Graphics2D, Rectangle2D) ,
which gets called by the engine each time it needs to draw the image
on a given device or graphic context. |
| Renderable
Provides functionality for image rendering.
|
| Class and Description |
|---|
| Renderable
Provides functionality for image rendering.
|
| Class and Description |
|---|
| AbstractRenderer |
| Graphics2DRenderable
This interface has a method called
Graphics2DRenderable.render(JasperReportsContext, Graphics2D, Rectangle2D) ,
which gets called by the engine each time it needs to draw the image
on a given device or graphic context. |
| Renderable
Provides functionality for image rendering.
|
| Class and Description |
|---|
| Renderable
Provides functionality for image rendering.
|
| Class and Description |
|---|
| AreaHyperlinksRenderable
Image renderer able to produce image maps.
|
| DataRenderable
The
DataRenderable interface has a method called
DataRenderable.getData(JasperReportsContext) ,
which gets called by the engine each time it needs the actual image data either to embed it
directly into the exported documents, or to use it to draw the image or the graphic onto a device
or graphic context. |
| DimensionRenderable
This interface is implemented by renderable objects that want to provide a dimention for the graphics they render,
usually by also implementing the
Graphics2DRenderable interface. |
| Graphics2DRenderable
This interface has a method called
Graphics2DRenderable.render(JasperReportsContext, Graphics2D, Rectangle2D) ,
which gets called by the engine each time it needs to draw the image
on a given device or graphic context. |
| Renderable
Provides functionality for image rendering.
|
| RenderersCache |
| RenderToImageAwareRenderable
This interface should be implemented by renderable object which want to benefit from better resolution and control
the way the graphic context is created when they are converted to image data, during export to certain document formats.
|
| Class and Description |
|---|
| Renderable
Provides functionality for image rendering.
|
| Class and Description |
|---|
| RenderersCache |
| Class and Description |
|---|
| RenderersCache |
| Class and Description |
|---|
| Renderable
Provides functionality for image rendering.
|
| RenderersCache |
| Class and Description |
|---|
| RenderersCache |
| Class and Description |
|---|
| Renderable
Provides functionality for image rendering.
|
| RenderersCache |
| Class and Description |
|---|
| AreaHyperlinksRenderable
Image renderer able to produce image maps.
|
| Renderable
Provides functionality for image rendering.
|
| Class and Description |
|---|
| Renderable
Provides functionality for image rendering.
|
| Class and Description |
|---|
| AbstractRenderer |
| AbstractRenderToImageAwareRenderer |
| AbstractRenderToImageDataRenderer |
| AbstractSvgDataToGraphics2DRenderer
SVG renderer implementation based on Batik.
|
| AreaHyperlinksRenderable
Image renderer able to produce image maps.
|
| BatikFontFamilyResolver |
| BatikRenderer
Deprecated.
Replaced by
ResourceRenderer and DataRenderable . |
| DataRenderable
The
DataRenderable interface has a method called
DataRenderable.getData(JasperReportsContext) ,
which gets called by the engine each time it needs the actual image data either to embed it
directly into the exported documents, or to use it to draw the image or the graphic onto a device
or graphic context. |
| DimensionRenderable
This interface is implemented by renderable objects that want to provide a dimention for the graphics they render,
usually by also implementing the
Graphics2DRenderable interface. |
| Graphics2DRenderable
This interface has a method called
Graphics2DRenderable.render(JasperReportsContext, Graphics2D, Rectangle2D) ,
which gets called by the engine each time it needs to draw the image
on a given device or graphic context. |
| Renderable
Provides functionality for image rendering.
|
| RenderToImageAwareRenderable
This interface should be implemented by renderable object which want to benefit from better resolution and control
the way the graphic context is created when they are converted to image data, during export to certain document formats.
|
| ResourceRenderer |
| SimpleDataRenderer
The is a default implementation for the
DataRenderable interface that
wraps images that come from files or binary image data in JPG, GIF, or PNG format. |
| SimpleRenderToImageAwareDataRenderer
This class a renderable implementation for wrapping SVG data.
|
| Class and Description |
|---|
| DataRenderable
The
DataRenderable interface has a method called
DataRenderable.getData(JasperReportsContext) ,
which gets called by the engine each time it needs the actual image data either to embed it
directly into the exported documents, or to use it to draw the image or the graphic onto a device
or graphic context. |
| Renderable
Provides functionality for image rendering.
|
| RenderersCache |
| Class and Description |
|---|
| AreaHyperlinksRenderable
Image renderer able to produce image maps.
|
| RenderersCache |
| Class and Description |
|---|
| AreaHyperlinksRenderable
Image renderer able to produce image maps.
|
| RenderersCache |
| Class and Description |
|---|
| Renderable
Provides functionality for image rendering.
|
© 2001 - 2016 TIBCO Software Inc. www.jaspersoft.com


Index Dialog¶
Use the Index dialog to create an index on a specified table or materialized view.
The Index dialog organizes the development of a index through the following dialog tabs: General and Definition. The SQL tab displays the SQL code generated by dialog selections.
Use the fields in the General tab to identify the index:
Use the Name field to add a descriptive name for the index. The name will be displayed in the pgAdmin tree control.
Use the drop-down listbox next to Tablespace to select the tablespace in which the index will reside.
Store notes about the index in the Comment field.
Click the Definition tab to continue.
Use the fields in the Definition tab to define the index:
Use the drop-down listbox next to Access Method to select an index type:
Select btree to create a B-tree index. A B-tree index may improve performance when managing equality and range queries on data that can be sorted into some ordering (the default).
Select hash to create a hash index. A hash index may improve performance when managing simple equality comparisons.
Select gist to create a GiST index. A GiST index may improve performance when managing two-dimensional geometric data types and nearest-neighbor searches.
Select gin to create a GIN index. A GIN index may improve performance when managing values with more than one key.
Select spgist to create a space-partitioned GiST index. A SP-GiST index may improve performance when managing non-balanced data structures.
Select brin to create a BRIN index. A BRIN index may improve performance when managing minimum and maximum values and ranges.
Use the Fill Factor field to specify a fill factor for the index. The fill factor specifies how full the selected method will try to fill each index page.
Move the Unique? switch to the Yes position to check for duplicate values in the table when the index is created and when data is added. The default is No.
Move the Clustered? switch to the Yes position to instruct the server to cluster the table.
Move the Concurrent build? switch to the Yes position to build the index without taking any locks that prevent concurrent inserts, updates, or deletes on the table.
Use the Constraint field to provide a constraint expression; a constraint expression limits the entries in the index to those rows that satisfy the constraint.
Use the context-sensitive fields in the Columns panel to specify which column(s) the index queries. Click the Add icon (+) to add a column:
Use the drop-down listbox in Column field to select the name of the column rom the table.
If enabled, use the drop-down listbox to select an available Operator class to specify the type of action performed on the column.
If enabled, move the Sort order switch to specify the sort order:
Select ASC to specify an ascending sort order (the default);
Select DESC to specify a descending sort order.
If enabled, move the Nulls switch to specify the sort order of nulls:
Select First to specify nulls sort before non-nulls;
Select Last to specify nulls sort after non-nulls (the default).
Use the drop-down listbox in the Collation field to select a collation to use for the index.
Use Include columns field to specify columns for INCLUDE clause of the index. This option is available in Postgres 11 and later.
Click the SQL tab to continue.
Your entries in the Index dialog generate a SQL command (see an example below). Use the SQL tab for review; revisit or switch tabs to make any changes to the SQL command.
Example¶
The following is an example of the sql command generated by user selections in the Index dialog:
The example shown demonstrates creating an index named dist_codes that indexes the values in the code column of the distributors table.
Click the Info button (i) to access online help.
Click the Save button to save work.
Click the Cancel button to exit without saving work.
Click the Reset button to restore configuration parameters.


{% include 'base_head.html' %} {% include 'index_head.html' %}
Sinema
The
#1
site to watch free, high-quality movies.
Get Started
Already have an account?
Log in
.