Say Hello! Extending Thymeleaf in 5 minutes
Extending Thymeleaf is easy: you only have to create a dialect and add it to your template engine. Let’s see how.
(All the code seen here comes from a working application. You can download the source code of such application from the documentation page)
Dialects
Thymeleaf Dialects are sets of features you can use in your templates. These features include:
- Processing logic specified via processors that apply on specific DOM nodes.
- DOCTYPE translations which allow the automatic conversion of the template’s DOCTYPE declaration into a target one, thus allowing validation both before processing –against a DTD including the dialect’s tags and attributes– and after processing –against a DTD not including these, like e.g. a standard XHTML DTD.
- DOCTYPE resolution entries which are fed into Thymeleaf’s template parsers and allow the resolution of DTD files for the validation of templates (if required) in an offline manner, this is, without the need to perform remote HTTP connections and/or download anything.
All of these features are optional, and a dialect can specify only some of them. For example, your dialect might not need to specify any DOCTYPE translations because you do not plan to allow the ability to validate templates against a DTD including your dialect’s features.
If you’ve seen fragments of code written in the Standard Dialects, you should have noticed that the processable attributes start with th:
. That “th
” is called the dialect prefix, and it means that all tags and attributes processed by that dialect will start with such prefix.
It is important also to note that a Template Engine can be set several dialects at a time, thus allowing the processing of templates including features from all of the specified dialects (think of dialects as a sort of JSP taglibs in steroids). What’s more, some of these dialects can share prefix, effectively acting as an aggregate dialect.
The simplest dialect ever: Say Hello!
Let’s create a dialect for one of our applications. This will be a Spring MVC application, so we will be already using the SpringStandard dialect (have a look at the Thymeleaf + Spring 3 tutorial for more details). But we want to add a new attribute that allows us to say hello to whoever we want, like this:

Hi ya!

The processor
First, we will have to create the attribute processor that will take care of displaying our salutation message.
All attribute processors implement the org.thymeleaf.processor.IProcessor
interface —which marks them as processors— and specify a matcher (IProcessor.getMatcher()
) that implements the org.thymeleaf.processor.IAttributeNameProcessorMatcher
interface —which specifically marks them as attribute processors and allows the use of several engine optimizations—. However, several convenience abstract implementations exist that not only implement the right interfaces, but also ease the development of each type of processor.
Specifically, the AbstractTextChildModifierAttrProcessor
class specializes in attributes that substitute the body of the tag they sit on by a text (which is exactly what we want). So we will extend this class for our attribute processor:
public class SayToAttrProcessor
extends AbstractTextChildModifierAttrProcessor {
public SayToAttrProcessor() {
// Only execute this processor for 'sayto' attributes.
super("sayto");
}
public int getPrecedence() {
// A value of 10000 is higher than any attribute in the
// SpringStandard dialect. So this attribute will execute
// after all other attributes from that dialect, if in the
// same tag.
return 10000;
}
//
// Our processor is a subclass of the convenience abstract implementation
// 'AbstractTextChildModifierAttrProcessor', which takes care of the
// DOM modifying stuff and allows us just to implement this 'getText(...)'
// method to compute the text to be set as tag body.
//
@Override
protected String getText(final Arguments arguments, final Element element,
final String attributeName) {
return "Hello, " + element.getAttributeValue(attributeName) + "!";
}
}
The dialect class
Creating our processor was very easy, but now we will need to create the dialect class, which will be in charge of telling Thymeleaf that our processor is available.
We could make our dialect implement the org.thymeleaf.dialect.IDialect
interface (which is the one every dialect should implement), but instead we will extend a convenience abstract class called AbstractDialect
that already implements all methods from that interface, returning empty values for all of them (so that we only have to override the ones we require).
public class HelloDialect extends AbstractDialect {
public HelloDialect() {
super();
}
//
// All of this dialect's attributes and/or tags
// will start with 'hello:'
//
public String getPrefix() {
return "hello";
}
//
// The processors.
//
@Override
public Set<IProcessor> getProcessors() {
final Set<IProcessor> processors = new HashSet<IProcessor>();
processors.add(new SayToAttrProcessor());
return processors;
}
}
As you can see, we didn’t need to set any DOCTYPE resolution entries or translations. We didn’t need any of those because our dialect is meant to be used together with the SpringStandard dialect, which already includes a useful set of all those things (although we could have defined them here also if for some reason we wanted to be more exhaustive). All our dialect does is specify a prefix (hello
) and our “sayto” attribute processor.
Using the hello dialect
Using our new dialect is very easy. This being a Spring MVC application, we just have to set it at the additionalDialects property of the Template Engine bean, so that it is added to the default SpringStandard dialect:
<bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
<property name="templateResolver" ref="templateResolver" />
<property name="additionalDialects">
<set>
<bean class="thymeleafexamples.sayhello.dialect.HelloDialect"/>
</set>
</property>
</bean>
And our new attribute would work seamlessly:

Hello World!

Want to know more?
Then have a look at “Say Hello Again! Extending Thymeleaf even more in another 5 minutes”.


Convert Fractions to Base(N) in String
Enter your text for conversion here.
Fractions will be detected in the following format:
"1/2"
Choose number base to convert into:
Convert
Supported symbols to match are:


Event Planner
Sign Out
Soccer DM Goals
$900
of
$3000
raised
$0
30%
$3000
My Events
Beach Soccer Tournament
Bake sale
Fundrager
My Tasks
You currently have no tasks.
Claim a task!


.NET Remoting is a Microsoft application programming
interface (API) for interprocess communication. Remoting implementation
is based on the client-server communication pattern and both these
components (client and server) can be implemented as C# scripts.
Remoting is a complex topic, which includes communication protocols,
serialization, objects life cycle and some other particular
implementation aspects. Of course it is not possible to cover all of
them in this document and actually it is not it's purpose. This
document will just describe how to implement very specific Remoting
scenario with C# scripting.
When you use Remoting your server application exposes it's interface to
the client application in the one of the following ways:
- interface is defined in the separate class library assembly
- interface is defined in the server assembly
Of course your choice of protocol
and serialization will affect the way the client is interfacing the
server application. In the examples below Remoting is set to use HTTP
as a transport protocol.
All samples below are from the CS-Script samples library (
Script Library) and they are just slightly modified verion of the MSDN Remoting
CompanyList example
Server (
Samples\Remoting\server.cs)
using System;
using System.Collections.Generic;
using System.Collections;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Http;
public class CompanyLists : MarshalByRefObject
{
private String[] Countries = {"Spain","France","Italy"};
public String[] getCountryList()
{
return Countries;
}
public void addCountryList(string data)
{
List<string> list = new List<string>();
list.AddRange(Countries);
list.Add(data);
Countries = list.ToArray();
}
}
class Script
{
[STAThread]
static public void Main(string[] args)
{
ChannelServices.RegisterChannel(new HttpChannel(8086));
RemotingConfiguration.ApplicationName = "MyRemotingApp";
RemotingConfiguration.RegisterWellKnownServiceType(typeof(CompanyLists), "CompanyLists",
WellKnownObjectMode.Singleton);
Console.WriteLine("Press [Enter] to exit...");
Console.ReadLine();
}
} |
Client (
Samples\Remoting\clientConsole.cs)
//css_pare soapsuds(http://localhost:8086//MyRemotingApp/CompanyLists?WSDL, CompanyLists, -new);
//css_ref CompanyLists.dll;
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Http;
class Script
{
static public void Main(string[] args)
{
CompanyLists cLst = (CompanyLists)Activator.GetObject(typeof(CompanyLists),
"http://localhost:8086/CompanyLists",
WellKnownObjectMode.Singleton);
cLst.addCountryList("Australia");
}
} |
This server code contains partial implementation of the
CompanyLists class. It contains string array
Countries which can be accessed by Remoting clients.
The client code inserts new entry (Australia) into
Countries array with call
addCountryList().
The code is strightforward however there is some interesting point
about this example. The system is implemented as only two scripts, even
though the client and the server application may not be located on the
same PC.
CompanyLists is
not implemented as shared script/assembly, it is merged with the server
implemention. So how in such case client can know the
CompanyLists type?
Interestingly MS
soapsuds.exe
utility is capable of producing assembly (proxy) containing the
implementation of the type exposed by the Remoting server.
CS-Script can prepare such proxy assembly during a script
pre-execution step, so you do not need to do it manually. This is
exactly what the code below does:
| //css_pare soapsuds(http://localhost:8086//MyRemotingApp/CompanyLists?WSDL, CompanyLists, -new); |
And after the proxy assembly (
CompanyLists.dll) is prepared it is referenced by the client script as any other assembly:
| //css_ref CompanyLists.dll; |
See Also
Script Library |
Pre- and Post-execution scripts


Analyzing disparities across Boston's boundaries
The Neponset River, a small stream of water that forms the southern municipal boundary of Boston divides the Boston neighborhood of Mattapan from the town of Milton. While the river itself is very narrow, the two sides could not be further apart.
Data from the Opportunity Atlas was analyzed to determine the differences in opportunity that children growing up on each side of the river have. This data represents the outcomes of children growing up in the selected census tracts who were born between 1978 and 1983, regardless of where they live now. This gives an important insight into how the neighborhood in which one grows up plays a role in determining outcomes for life.
The three outcomes that analyzed are household income, incarceration rate, and percent married.
Household income represents the average annual household income between 2014 and 2015 for people who grew up in these census tracts regardless of where they live now.
Incarceration rate represents the percentage of people who grew up in these census tracts who were in jail or prison on April 1, 2010.
Percent married represents the percentage of people who grew up in these census tracts who are married in 2015.
Each bar on the chart represents one census tract with the Neponset River physically dividing the red and the blue tracts from each other.
Household Income
Incarceration Rate
Percent Married
Based on data from 2010 to 2016
Below are current neighborhood statistics for these census tracts that give a better idea of how they are different.
Household income represents the median household income for households within each census tract in 2012-2016.
Poverty Rate represents the percentage of all residents in these census tracts in 2012-2016 with household incomes below the federal poverty line.
Percent non-white represents the percent of residents in these census tracts who self-identified as a race and ethnicity other than white non-hispanic in 2010.
The Neponset River does in fact divide neighborhoods with very different outcomes. Children who grew up on the Milton side of the river now have more than twice the household income of than those who grew up on the Mattapan side. Children who grew up on the Mattapan side are much more likely to be incarcerated and much less likely to be married.


19 Actors Who Played Their Characters So Flawlessly, We Couldn’t Recognize Them in Other Movies
The job of an actor demands a lot of preparation and dedication. Some give so much of themselves while playing a specific role that the audience ends up associating them with a particular character throughout their careers. But, of course, the same thing happens to us. Who could’ve imagined, for example, that the actor who played the memorable Sirius Black in Harry Potter also played the role of Count Dracula? Or that the protagonist of Boys Don’t Cry is the same incredible boxer in Million Dollar Baby?
Here at Bright Side, we know that the examples are countless, but we’ve built a list of 19 fabulous artists who gave so much of themselves to the character they were interpreting to the extent that it was impossible to recognize them upon first glance in other roles. We can only thank the seventh art for allowing us to enjoy such magic. Just take a look!
1. Hilary Swank
2. Anne Hathaway
3. Madeline Brewer
4. Ralph Fiennes
5. Natalie Portman
6. Zoë Saldaña
7. Famke Janssen
8. Uma Thurman
9. Ryan Reynolds
10. Dakota Fanning
11. Robert Downey Jr.
12. Danny DeVito
13. Sigourney Weaver
14. James McAvoy
15. Jim Carrey
16. Alan Cumming
17. Gary Oldman
18. Tilda Swinton
19. Tom Cruise
After witnessing these great actors transform themselves in an unimaginable way, tell us: Would you recognize them if their names weren’t mentioned as part of the cast? Were you surprised to see the same artists performing in such different roles? Don’t hesitate to share your opinion in the comment section!
Preview photo credit Harry Potter / Warner Bros. Entertainment, Drácula de Bram Stoker / Columbia Pictures


Analog Entertainment is a project group for the University of Utrecht. For our project we made a Unity game called "Paul's Quest"
In our game, which is a blend of the retro game 'Zelda' and the newer 'Beyond two soulds' the player goes on a quest to reunite Pauls physical and his magical force.
Puzzles and combat mechanics fill this amazing 2 - player co-op game and guarentee for hours and hours of fun.
Watch the trailer here!
Feel free to ask us any quesions over e-mail.


You're logged in as an admin in NCSSM Stock Trading Simulator
Manage Users
Manage Classes
Update Admin Info
You're logged in as a student in NCSSM Stock Trading Simulator
powered by opensource project
Update User Info


Version 0.20 (under development)¶
Changed models¶
The following estimators and functions, when fit with the same data and parameters, may produce different models from the previous version. This often occurs due to changes in the modelling logic (bug fixes or enhancements), or in random sampling procedures.
decomposition.IncrementalPCA
in Python 2 (bug fix)isotonic.IsotonicRegression
(bug fix)metrics.roc_auc_score
(bug fix)
Details are listed in the changelog below.
(While we are trying to better inform users by providing this information, we cannot assure that this list is complete.)
Changelog¶
New features¶
Classifiers and regressors
ensemble.GradientBoostingClassifier
andensemble.GradientBoostingRegressor
now support early stopping vian_iter_no_change
,validation_fraction
andtol
. #7071 by Raghav RV- Added
naive_bayes.ComplementNB
, which implements the Complement Naive Bayes classifier described in Rennie et al. (2003). By Michael A. Alcorn.
Model evaluation
- Added the
metrics.balanced_accuracy
metric and a corresponding'balanced_accuracy'
scorer for binary classification. #8066 by @xyguo and Aman Dalmia.
Enhancements¶
Classifiers and regressors
- In
gaussian_process.GaussianProcessRegressor
, methodpredict
is faster when usingreturn_std=True
in particular more when called several times in a row. #9234 by andrewww and Minghui Liu. - Add named_estimators_ parameter in
sklearn.ensemble.voting_classifier
to access fitted estimators. #9157 by Herilalaina Rakotoarison. - Add var_smoothing parameter in
sklearn.naive_bayes.GaussianNB
to give a precise control over variances calculation. #9681 by Dmitry Mottl. - A parameter
check_inverse
was added toFunctionTransformer
to ensure thatfunc
andinverse_func
are the inverse of each other. #9399 by Guillaume Lemaitre.
Model evaluation and meta-estimators
- A scorer based on
metrics.brier_score_loss
is also available. #9521 by Hanmin Qin.
Metrics
metrics.roc_auc_score
now supports binaryy_true
other than{0, 1}
or{-1, 1}
. #9828 by Hanmin Qin.
Linear, kernelized and related models
- Deprecate
random_state
parameter insvm.OneClassSVM
as the underlying implementation is not random. #9497 by Albert Thomas.
Bug fixes¶
Classifiers and regressors
- Fixed a bug in
isotonic.IsotonicRegression
which incorrectly combined weights when fitting a model to data involving points with identical X values. #9432 by Dallas Card - Fixed a bug in
naive_bayes.GaussianNB
which incorrectly raised error for prior list which summed to 1. #10005 by Gaurav Dhingra.
Decomposition, manifold learning and clustering
- Fix for uninformative error in
decomposition.IncrementalPCA
: now an error is raised if the number of components is larger than the chosen batch size. Then_components=None
case was adapted accordingly. #6452. By Wally Gauze. - Fixed a bug where the
partial_fit
method ofdecomposition.IncrementalPCA
used integer division instead of float division on Python 2 versions. #9492 by James Bourbeau. - Fixed a bug where the
fit
method ofcluster.affinity_propagation_.AffinityPropagation
stored cluster centers as 3d array instead of 2d array in case of non-convergence. For the same class, fixed undefined and arbitrary behavior in case of training data where all samples had equal similarity. #9612. By Jonatan Samoocha. - In
decomposition.PCA
selecting a n_components parameter greater than the number of samples now raises an error. Similarly, then_components=None
case now selects the minimum of n_samples and n_features. #8484. By Wally Gauze. - Fixed a bug in
datasets.fetch_kddcup99
, where data were not properly shuffled. #9731 by Nicolas Goix. - Fixed a bug in
decomposition.PCA
where users will get unexpected error with large datasets whenn_components='mle'
on Python 3 versions. #9886 by Hanmin Qin. - Fixed a bug when setting parameters on meta-estimator, involving both a wrapped estimator and its parameter. #9999 by Marcus Voss and Joel Nothman.
Metrics
- Fixed a bug due to floating point error in
metrics.roc_auc_score
with non-integer sample weights. #9786 by Hanmin Qin.
API changes summary¶
Linear, kernelized and related models
- Deprecate
random_state
parameter insvm.OneClassSVM
as the underlying implementation is not random. #9497 by Albert Thomas.
Metrics
- Deprecate
reorder
parameter inmetrics.auc
as it’s no longer required formetrics.roc_auc_score
. Moreover usingreorder=True
can hide bugs due to floating point error in the input. #9851 by Hanmin Qin.
Cluster
- Deprecate
pooling_func
unused parameter incluster.AgglomerativeClustering
. #9875 by Kumar Ashutosh.


|
Laura Skelding/AMERICAN-STATESMAN
Texas senior forward Damion James and freshman guard Avery Bradley will be on alert against Kansas State just as they were against Texas A&M's David Loubeau, center, on Saturday.
|
By Mark Rosner
AMERICAN-STATESMAN STAFF Updated: 11:17 p.m. Sunday, Jan. 17, 2010
Published: 6:57 p.m. Sunday, Jan. 17, 2010 MANHATTAN, Kan. - The Longhorns, three games into their defense of the No. 1 ranking, come to a place where the opponent is formidable, the crowd is raucous, and the referees might just wear out their whistles. They come to face No. 13 Kansas State, an in-your-face team that reflects the personality of its coach, Frank Martin. The Wildcats spend much of their games fouling and shooting free throws. All 12,528 tickets have been sold, and coach Rick Barnes hopes the Longhorns can summon the fortitude Texas A&M showed in the packed Erwin Center on Saturday during a 72-67 loss to the Longhorns in overtime. "It's gonna be flipped Monday," Barnes said. "We're not gonna have the house. I hope we go in with the same intensity A&M brought." Kansas State has 13 consecutive victories at home, its longest streak in Manhattan since winning 20 straight in 1981-82. The Longhorns and Wildcats would not be called rivals, but you couldn't tell by their games in recent seasons. Barnes is 8-4 against Kansas State. The Longhorns have won four of the last six, but five of those games were decided by four points or fewer. Texas has won the last two in Manhattan. K-State has a two-game winning steak in Austin. |


关注这里，如果出现BUG/新版本我们会立即通告 (面板自动每天定时更新)
项目完全开源:
https://github.com/Suwings/MCSManager
使用 MIT License
A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.


Let's be honest, you have no idea what a hot spring is...do you? Well, we do, and we can't wait for you to experience the relaxing warmth of "nature's hot-tubs!" We offer packages that range from all-inclusive hot spring resorts to camping opportunities next to some of the country's last remaining primitive springs.

- Obviously it differs by resort or area, but most hot springs will close by 11pm. If you want later access, be sure to contact your resort for availability
- How hot do the hot springs get?
- Not all hot springs are the same, but the ones on our tours average between 100° and 117° F. Seasons do not affect the hot springs, although temperatures have been known to vary slightly throughout the year. Certain health conditions can limit the enjoyment of the springs, or even become dangerous in certain cases. Please let the resort staff know of any medical conditions.
- Do hot springs really have medicinal benefits?
- It depends on who you ask. The FDA has come out strongly against the majority of claims made by proponents of mineral water treatments. However, studies have shown that inflammation and circulatory problems associated with vascular deficiencies have benefitted from mineral water treatments such as hot springs. Explore California makes no claim as to the medical benefits of hot springs, but we can say from first hand experience that they are relaxing and therapeutic!
- What type of minerals are found in hot springs?
- Although there are always slight differences, most springs contain calcium, magnesium, sodium, potassium, chloride, and sulfur. The sulfur can result in an unpleasant smell if found in high amounts, but is otherwise harmless.
- Are the springs chlorinated?
- It depends. If you attend a hot springs at a resort, it is very likely that the pool or spring will be chlorinated for guests comfort. In the more natural tours we offer, the pools are just that, natural and pristine.


BSP net income declines 14.54%
by Lee C.ChipongianThe Bangko Sentral ng Pilipinas’ (BSP) January-September net income year-on-year was down 14.54 percent to P38.65 billion from ₱45.23 billion last year.
The BSP registered foreign exchange (FX) rate gains – which are realized gains from FX rate fluctuations – of ₱14.37 billion was also down from same period last year of ₱48.80 billion.
Revenues, in the meantime, increased 92 percent year-on-year to ₱95.32 billion with interest income of ₱78.29 billion.
Expenses in the first nine months of the year were also more than same time in 2018 at ₱62.28 billion or 39.1 percent higher year-on-year. Interest expenses rose to ₱33.72 billion.
The central bank’s amended law or Republic Act 11211 (“An Act Amending Republic Act No. 7653, Otherwise Known as the ‘New Central Bank Act,’ and for Other Purposes”) which was approved last February this year has increased the BSP’s capitalization by ₱150 billion, or from P50 billion to ₱200 billion.
This will be funded solely from the declared dividends of the central bank.


I have about 80 short C++ programs (without main) which I would like to
combine into a library. Each has the following structure:
+++start of program
#include "includefnm.h"
...
+++end of program
includefnm.h has some templates so that (I presume) when I compile the
programs individually some code gets copied into the .o file (about
20K). Therefore, when I use the ar program to build a library, I get a
really huge file.
QUESTION: is there a way to copy the code from "includefnm.h" only
once (e.g. with some linker instructions); or is the only solution to
combine by hand the individual programs into one single program with
only one include?
If you have template-based classes and functions, you cannot put their code in a library.
As a generic rule, building a library usually makes your program bigger than leaving your code split in headers/sources.
This is because of some optimizations your compiler may take advantage of, since it knows which functions are needed and which functions can be omitted at link-time (not possible with shared libraries, probably possible with static libraries? not sure)
The memory-saving of libraries is usually a RAM-based save, and usually only for shared libraries.
Tips when trying to make your application smaller:
1. Avoid templates (or use as few templates as possible).
Consider a class that requires a template parameter.
For each parameterlist combination, an entirely new class is generated (!!!).
2. Use virtual inheritance instead of templates where possible.
Using virtual inheritance you can make that common code reusable.
3. Reusable code.
Make tiny functions. Try to keep them under 20 Lines of Code. They can call other tiny functions.
4. No inline.
Inline = bigger program = faster program.
5. Do not make it smaller.
Unless you're working with an embedded environment, there's usually no need to make your program smaller.
I thing ESSGeEich is mistaken about libraries. On Solaris, you want to add your files to the library with
CC -xar -o libname yourObjectFile
. This will include the instantiated template functions, but only if needed: if a copy already exists in the library then it will be left out. There is probably a similar option for your compiler if it's different.
Disclaimer: What I'm about to write is probably irrelevant to you, and to most library writers.
I'm assuming that this code you plan on putting into a library isn't really performance critical, but when building code that is called often, the overhead that virtual functions might not be ideal. 90 percent of the time it shouldn't matter, but when working on low-level systems such as 3D Game Engine renderers where you're sending a large quantity of data to a renderer that sorts out the data and sends it to the GPU in the most cost-effective way as possible. An example of a library that has poor performance due to this (and countless other things) is the rendering engine Orge, which is notorious for having poor performance under heavy loads.
Dynamic memory allocations (using new, or containers of any type (generally)), should probably be kept to a minimum.
__________________________________________
As I said, usually this will not be relevant to you, or your library (depending on the uses for it), but if you do plan to create such a library, I feel you should know this.
@kbw: In one of the books I have recently read, inheritance was used to sacrifice typesafety in a vector-like class, by deriving from a void*-based class as follows:
1 2 3 4 5 6 7 8 9 10 11 12 13
class BaseVector {
void* m_data;
std::uint32_t m_size;
std::uint32_t m_alloc;
protected:
void push_back(void*);
void* at(std::uint32_t) const;
};
template <typename T>
class Vector : public BaseVector {
// ... use BaseVector, casting the void* to T* where required
};
This obviously makes you remake push_back and at in Vector to make it public, but the code inside the function now is so short it can be easily inlined.
(Perhaps, "virtual" inheritance wasn't really "virtual", at least not in this example)
Hello,
Thanks for all the answers. I've probably received so much information that
I will need some time to digest it all. However, I wonder whether I can
make some immediate progress. So let me reiterate my immediate goal:
I would like to reduce the size of the C++ static library I am building.
Using the most direct method of building a static library (produce .o
files, then use ar to collect them into a library) I get a file of
size about 2.3M. On the other hand, a related library with much greater
capabilities written in C has size about 250K. Thus, I have a substantial
"C++ penalty", most probably due to the use of templates.
Regarding that I have received basically two proposals:
(1) (EssGeEich) remove templates from the library; and
(2) (dhayden) use something like
CC -xar -o libname yourObjectFile
in Solaris
Even though (1) is probably the soundest advice, it would require the
rewriting of a lot of code; therefore I would like to investigate the
possibilities of (2).
Since I am using gcc, I looked through the gcc manual, and found that
(one way) to reduce the amount of code generated by the use of templates
is to use the -frepo gcc option. I did that; but I could not determine
what are the further steps in building a static library, once the .rpo
files are generated. The use of ar, as was done previously, reduced the
size of the resulting library only by an insignificant amount. Any
further information would be appreciated.
Regards,
bostjanv
Let's take a step back. Why do you want to reduce the size of the library? What really matters is the size of the executable and I don't think that will change.
Actually, yours is a good question. I suppose that what I want is a feeling
that I'm using the best possible solution; i.e, one that can't be improved
upon significantly. So, if I've reached that point I will simply take it
as a learned lesson in C++.
If I may ask a related question? Hopefully the OP won't mind.
What happens if I write a program that only uses a sin() function, I link to the math library: Does the rest of all the stuff in the math library get optimised out? I am hoping the answer is yes.
If this question turns out to be epic, I will start my own topic.
What happens if I write a program that only uses a sin() function, I link to the math library: Does the rest of all the stuff in the math library get optimised out?
It depends on the compilation environment I suppose but I think the basic unit in a library is the individual object file. So if you use sin() then your program will include everything whatever file sin() is defined in, but not the rest of the library (unless of course sin() refers to other symbols that are defined in other files in the library).
The same is true with your own programs: if you include an object file, the program will include everything in that object file. This is an important point since the effect can snowball in a large system: You use some class for a simple purpose. But the class is defined in one file and includes a complicated bit of code. That code in turn refers to some other bit of complicated code. Next thing you know, your 10 line program has included code for an entire web server.
For this reason sometimes it's worthwhile to break up the implementation of a class into individual files. I wrote an extreme case where a tool actually breaks the implementation files into one method per file so the user program will contain only what is actually needed. This is for code running on a hand-held calculator (the HP-50g).
> a tool actually breaks the implementation files into one method per file
> so the user program will contain only what is actually needed. http://www.cplusplus.com/forum/general/114172/


[index]
(Algebraic Extension Field)
A class represents the algebraic extension field.
(none)
Algebra.AlgebraicExtensionField(field, obj){|x| ... }
::create(k, obj){|x| ... }
Returns the extension field k[x]/(p(x)) of the field k by the polynomial p(x) of the variable x, where obj represents the x.
The class methods ::var, ::def_polys and ::env_ring are defined for the return value.
Example: Create the field F extended by x**2 + x + 1 == 0
from Rational.
require "rational" require "polynomial" require "residue-class-ring" F = Algebra.AlgebraicExtensionField(Rational, "x") {|x| x**2 + x + 1} x = F.var p( (x-1)** 3 / (x**2 - 1) ) #=> -3x - 3
::to_ary
Returns [self, var]
.
Example: Define AlgebraicExtensionField and variables simulteniously
require "rational" require "algebraic-extension-field" F, a = Algebra.AlgebraicExtensionField(Rational, "a") {|a| a**2 + a + 1}
::var
::modulus
::def_polys
Returns the array of ::modulus's of size n. Where self is defined recursively as the AlgebraicExtensionField of height n and base field k0. This method is defined for the residue class ring k[x]/(p(x)) which is the return value of ::create.
Example: Make the extension field of cubic roots of 2, 3, 5 over Rational.
require "algebra" # K0 == Rational K1 = AlgebraicExtensionField(Rational, "x1") { |x| x ** 3 - 2 } K2 = AlgebraicExtensionField(K1, "x2") { |y| y ** 3 - 3 } K3 = AlgebraicExtensionField(K2, "x3") { |z| z ** 3 - 5 } p K3.def_polys #=> [x1^3 - 2, x2^3 - 3, x3^3 - 5] x1, x2, x3 = K1.var, K2.var, K3.var f = x1**2 + 2*x2**2 + 3*x3**2 f0 = f.abs_lift p f0.type #=> (Polynomial/(Polynomial/(Polynomial/Rational))) p f0.type == K3.env_ring #=> true p f #=> 3x3^2 + 2x2^2 + x1^2 p f0.evaluate(x3.abs_lift, x2.abs_lift, x1.abs_lift) #=> x3^2 + 2x2^2 + 3x3^2
::env_ring
::ground
abs_lift
[n]
Returns the coeffcient of degree n. Same as lift[n]
.
Example: Fibonacci Series
require "algebra" t = AlgebraicExtensionField(Integral, "t"){|x| x**2-x-1}.var (0..10).each do |n| p( (t**n)[1] ) #=> 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 end


Website is currently under development. Check back soon to see stunning pictures of wildlife, supplemented by a PhD candidate's insightful descriptions.


2017 Orca SwimRun Core
Men's Wetsuit
Product Code: 57847383
color:
$ 72.00
$ 94.00
1
add to cart
Add to snaptchat


--- layout: photo_post title: Dafne description: Do not be afraid of the sun little girl.  A feast your feelings long hold to welcome. Come to the sun little girl... group: "photo_navigation" path: photo_essays next_project_path: "" ---
{{ page.description }}


{% extends "tjinc/base.html" %} {% load staticfiles %} {% block app_navigation_items %}
End User Document
The purpose of this code is to create an interactive online topographic map that displays the watershed delineation from user-defined outlet points within Utah County. The map also displays previously determined flow-lines based of a DEM of the region. These flowlines are meant for the user to know where to click in order to delineate a watershed. Two additional pages are provided in the side menu for the benefit of the user as help files, including an end user document and technical specifications document.
The watershed delineation tool was formulated in ModelBuilder in ArcMap 10.3. It was then uploaded to the BYU geoserver and is available at geoserver.byu.edu under the TJ Dam Power folder. This tool was then uploaded to the tethys app from various scripts written in HTML and javascript, which were built in a virtual machine (Oracle VM VirtualBox). This code was written in PyCharm. The web app is designed to run in the Tethys portal. If run locally, Tethys must be launched in the virtual machine terminal prior to opening the web browser to view the webpage. Contact either Jacob Fullerton or Trey McGhin to obtain the code at<EMAIL_ADDRESS>and<EMAIL_ADDRESS>respectively.
The code is designed to run in Linux. It can also be run on Mac OSX and Windows, but the installation is slightly different. See http://docs.tethysplatform.org/en/latest/installation.html for installation instructions. The machine requires at least a 64-bit operating system and 8.00 GB of RAM.
This script is published under the MIT license. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including, without limitation, the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The website can be accessed by simply going to <<IP_ADDRESS>> and clicking on the “TJInc Utah County Watershed Delineator.” If the user wants to run the code locally, before navigating to the webpage, you need to launch the Tethys portal in your Linux virtual machine. Open a terminal and execute the following commands:
To view the app, execute the following code:
The user does not need any files prior to launching the website. However, to run the web app locally, you need the web page files (*.html files called ‘home’, ‘base’, ‘help’, and ‘tech’), the application *.py file (called app.py), and the controller. The necessary folder structure is shown in Figure 1 and Figure 2. The tethysapp-tjinc needs to be initialized in the Tethys environment (see the tutorial “Create a New Tethys App Project” in <http://www.tethysplatform.org/>).
Figure 1: Folder structure
Figure 2: Folder structure
In order to run the web app locally, the files mentioned above need to be in the appropriate folders as described in figures 1-3 and the Tethys app needs to be launched via your terminal. The user can access the local website at <http://<IP_ADDRESS>:8000/apps>. The default login credentials is user: student, password: pass.
Once the web application is launched in your browser, the topographic base map will appear with the previously determined flowlines on top, as indicated in Figure 3. In order to delineate the watershed of the user’s choosing, the user will simply need to click with the cursor at any point on the flowlines. Please keep in mind that the user will need to zoom close to be sure to click on the flowlines. Otherwise, the user could click off of the flowlines and not receive an accurate result. Once the user has clicked on the flowlines, the tool will begin the geoprocessing. A progress status will indicate this to the user. In few minutes, the resulting delineated watershed will appear on the topographic map. The spatial extent of this watershed can then be compared to the region by the topographic base map (Figure 4).
Figure 3: Flowlines Basemap
Figure 4: Delineated Watershed


The HistoricalReturnsAlphaModel
buys securities that have a positive trailing return and sells securities that have a negative trailing return. It sets the magnitude of the Insight objects to the trailing rate of change.
AddAlpha(new HistoricalReturnsAlphaModel());
self.AddAlpha(HistoricalReturnsAlphaModel())
The following table describes the arguments the model accepts:
| Argument | Data Type | Description | Default Value |
|---|---|---|---|
lookback |
int |
Historical return lookback period | 1 |
resolution |
Resolution |
The resolution of historical data | Resolution.Daily |
This model cancels all the active insights it has emit for a security when the security has a 0% historical return.
To view the implementation of this model, see the LEAN GitHub repositoryLEAN GitHub repository.


PERL588DELTA
Section: Perl Programmers Reference Guide (1)Updated: 2009-02-12
Index Return to Main Contents
NAME
perl588delta - what is new for perl v5.8.8DESCRIPTION
This document describes differences between the 5.8.7 release and the 5.8.8 release.Incompatible Changes
There are no changes intentionally incompatible with 5.8.7. If any exist, they are bugs and reports are welcome.Core Enhancements
- *
- "chdir", "chmod" and "chown" can now work on filehandles as well as filenames, if the system supports respectively "fchdir", "fchmod" and "fchown", thanks to a patch provided by Gisle Aas.
Modules and Pragmata
- *
-
"Attribute::Handlers" upgraded to version 0.78_02
-
- *
- Documentation typo fix
-
- *
-
"attrs" upgraded to version 1.02
-
- *
- Internal cleanup only
-
- *
-
"autouse" upgraded to version 1.05
-
- *
- Simplified implementation
-
- *
-
"B" upgraded to version 1.09_01
-
- *
- The inheritance hierarchy of the "B::" modules has been corrected; "B::NV" now inherits from "B::SV" (instead of "B::IV").
-
- *
-
"blib" upgraded to version 1.03
-
- *
- Documentation typo fix
-
- *
-
"ByteLoader" upgraded to version 0.06
-
- *
- Internal cleanup
-
- *
-
"CGI" upgraded to version 3.15
-
- *
- Extraneous ``?'' from "self_url()" removed
- *
- "scrolling_list()" select attribute fixed
- *
- "virtual_port" now works properly with the https protocol
- *
- "upload_hook()" and "append()" now works in function-oriented mode
- *
- "POST_MAX" doesn't cause the client to hang any more
- *
- Automatic tab indexes are now disabled and new "-tabindex" pragma has been added to turn automatic indexes back on
- *
- "end_form()" doesn't emit empty (and non-validating) "<div>"
- *
- "CGI::Carp" works better in certain mod_perl configurations
- *
- Setting $CGI::TMPDIRECTORY is now effective
- *
- Enhanced documentation
-
- *
-
"charnames" upgraded to version 1.05
-
- *
- "viacode()" now accept hex strings and has been optimized.
-
- *
-
"CPAN" upgraded to version 1.76_02
-
- *
- 1 minor bug fix for Win32
-
- *
-
"Cwd" upgraded to version 3.12
-
- *
- "canonpath()" on Win32 now collapses foo\.. sections correctly.
- *
- Improved behaviour on Symbian OS.
- *
- Enhanced documentation and typo fixes
- *
- Internal cleanup
-
- *
-
"Data::Dumper" upgraded to version 2.121_08
-
- *
- A problem where "Data::Dumper" would sometimes update the iterator state of hashes has been fixed
- *
- Numeric labels now work
- *
- Internal cleanup
-
- *
-
"DB" upgraded to version 1.01
-
- *
- A problem where the state of the regexp engine would sometimes get clobbered when running under the debugger has been fixed.
-
- *
-
"DB_File" upgraded to version 1.814
-
- *
- Adds support for Berkeley DB 4.4.
-
- *
-
"Devel::DProf" upgraded to version 20050603.00
-
- *
- Internal cleanup
-
- *
-
"Devel::Peek" upgraded to version 1.03
-
- *
- Internal cleanup
-
- *
-
"Devel::PPPort" upgraded to version 3.06_01
-
- *
- "--compat-version" argument checking has been improved
- *
- Files passed on the command line are filtered by default
- *
- "--nofilter" option to override the filtering has been added
- *
- Enhanced documentation
-
- *
-
"diagnostics" upgraded to version 1.15
-
- *
- Documentation typo fix
-
- *
-
"Digest" upgraded to version 1.14
-
- *
- The constructor now knows which module implements SHA-224
- *
- Documentation tweaks and typo fixes
-
- *
-
"Digest::MD5" upgraded to version 2.36
-
- *
- "XSLoader" is now used for faster loading
- *
- Enhanced documentation including MD5 weaknesses discovered lately
-
- *
-
"Dumpvalue" upgraded to version 1.12
-
- *
- Documentation fix
-
- *
-
"DynaLoader" upgraded but unfortunately we're not able to increment its version number :-(
-
- *
- Implements "dl_unload_file" on Win32
- *
- Internal cleanup
- *
- "XSLoader" 0.06 incorporated; small optimisation for calling "bootstrap_inherit()" and documentation enhancements.
-
- *
-
"Encode" upgraded to version 2.12
-
- *
- A coderef is now acceptable for "CHECK"!
- *
- 3 new characters added to the ISO-8859-7 encoding
- *
- New encoding "MIME-Header-ISO_2022_JP" added
- *
- Problem with partial characters and "encoding(utf-8-strict)" fixed.
- *
- Documentation enhancements and typo fixes
-
- *
-
"English" upgraded to version 1.02
-
- *
- the $COMPILING variable has been added
-
- *
-
"ExtUtils::Constant" upgraded to version 0.17
-
- *
- Improved compatibility with older versions of perl
-
- *
-
"ExtUtils::MakeMaker" upgraded to version 6.30 (was 6.17)
-
- *
- Too much to list here; see <http://search.cpan.org/src/MSCHWERN/ExtUtils-MakeMaker-6.30/Changes>
-
- *
-
"File::Basename" upgraded to version 2.74, with changes contributed by Michael Schwern.
-
- *
- Documentation clarified and errors corrected.
- *
- "basename" now strips trailing path separators before processing the name.
- *
- "basename" now returns "/" for parameter "/", to make "basename" consistent with the shell utility of the same name.
- *
- The suffix is no longer stripped if it is identical to the remaining characters in the name, again for consistency with the shell utility.
- *
- Some internal code cleanup.
-
- *
-
"File::Copy" upgraded to version 2.09
-
- *
- Copying a file onto itself used to fail.
- *
- Moving a file between file systems now preserves the access and modification time stamps
-
- *
-
"File::Find" upgraded to version 1.10
-
- *
- Win32 portability fixes
- *
- Enhanced documentation
-
- *
-
"File::Glob" upgraded to version 1.05
-
- *
- Internal cleanup
-
- *
-
"File::Path" upgraded to version 1.08
-
- *
- "mkpath" now preserves "errno" when "mkdir" fails
-
- *
-
"File::Spec" upgraded to version 3.12
-
- *
- "File::Spec-"rootdir()> now returns "\" on Win32, instead of "/"
- *
- $^O could sometimes become tainted. This has been fixed.
- *
- "canonpath" on Win32 now collapses "foo/.." (or "foo\..") sections correctly, rather than doing the ``misguided'' work it was previously doing. Note that "canonpath" on Unix still does not collapse these sections, as doing so would be incorrect.
- *
- Some documentation improvements
- *
- Some internal code cleanup
-
- *
-
"FileCache" upgraded to version 1.06
-
- *
- POD formatting errors in the documentation fixed
-
- *
- "Filter::Simple" upgraded to version 0.82
- *
-
"FindBin" upgraded to version 1.47
-
- *
- Now works better with directories where access rights are more restrictive than usual.
-
- *
-
"GDBM_File" upgraded to version 1.08
-
- *
- Internal cleanup
-
- *
-
"Getopt::Long" upgraded to version 2.35
-
- *
- "prefix_pattern" has now been complemented by a new configuration option "long_prefix_pattern" that allows the user to specify what prefix patterns should have long option style semantics applied.
- *
- Options can now take multiple values at once (experimental)
- *
- Various bug fixes
-
- *
-
"if" upgraded to version 0.05
-
- *
- Give more meaningful error messages from "if" when invoked with a condition in list context.
- *
- Restore backwards compatibility with earlier versions of perl
-
- *
-
"IO" upgraded to version 1.22
-
- *
- Enhanced documentation
- *
- Internal cleanup
-
- *
-
"IPC::Open2" upgraded to version 1.02
-
- *
- Enhanced documentation
-
- *
-
"IPC::Open3" upgraded to version 1.02
-
- *
- Enhanced documentation
-
- *
-
"List::Util" upgraded to version 1.18 (was 1.14)
-
- *
- Fix pure-perl version of "refaddr" to avoid blessing an un-blessed reference
- *
- Use "XSLoader" for faster loading
- *
- Fixed various memory leaks
- *
- Internal cleanup and portability fixes
-
- *
-
"Math::Complex" upgraded to version 1.35
-
- *
- "atan2(0, i)" now works, as do all the (computable) complex argument cases
- *
- Fixes for certain bugs in "make" and "emake"
- *
- Support returning the kth root directly
- *
- Support "[2,-3pi/8]" in "emake"
- *
- Support "inf" for "make"/"emake"
- *
- Document "make"/"emake" more visibly
-
- *
-
"Math::Trig" upgraded to version 1.03
-
- *
- Add more great circle routines: "great_circle_waypoint" and "great_circle_destination"
-
- *
-
"MIME::Base64" upgraded to version 3.07
-
- *
- Use "XSLoader" for faster loading
- *
- Enhanced documentation
- *
- Internal cleanup
-
- *
-
"NDBM_File" upgraded to version 1.06
-
- *
- Enhanced documentation
-
- *
-
"ODBM_File" upgraded to version 1.06
-
- *
- Documentation typo fixed
- *
- Internal cleanup
-
- *
-
"Opcode" upgraded to version 1.06
-
- *
- Enhanced documentation
- *
- Internal cleanup
-
- *
-
"open" upgraded to version 1.05
-
- *
- Enhanced documentation
-
- *
-
"overload" upgraded to version 1.04
-
- *
- Enhanced documentation
-
- *
-
"PerlIO" upgraded to version 1.04
-
- *
- "PerlIO::via" iterate over layers properly now
- *
- "PerlIO::scalar" understands "$/ = """ now
- *
- "encoding(utf-8-strict)" with partial characters now works
- *
- Enhanced documentation
- *
- Internal cleanup
-
- *
-
"Pod::Functions" upgraded to version 1.03
-
- *
- Documentation typos fixed
-
- *
-
"Pod::Html" upgraded to version 1.0504
-
- *
- HTML output will now correctly link to "=item"s on the same page, and should be valid XHTML.
- *
- Variable names are recognized as intended
- *
- Documentation typos fixed
-
- *
-
"Pod::Parser" upgraded to version 1.32
-
- *
- Allow files that start with "=head" on the first line
- *
- Win32 portability fix
- *
- Exit status of "pod2usage" fixed
- *
- New "-noperldoc" switch for "pod2usage"
- *
- Arbitrary URL schemes now allowed
- *
- Documentation typos fixed
-
- *
-
"POSIX" upgraded to version 1.09
-
- *
- Documentation typos fixed
- *
- Internal cleanup
-
- *
-
"re" upgraded to version 0.05
-
- *
- Documentation typo fixed
-
- *
-
"Safe" upgraded to version 2.12
-
- *
- Minor documentation enhancement
-
- *
-
"SDBM_File" upgraded to version 1.05
-
- *
- Documentation typo fixed
- *
- Internal cleanup
-
- *
-
"Socket" upgraded to version 1.78
-
- *
- Internal cleanup
-
- *
-
"Storable" upgraded to version 2.15
-
- *
- This includes the "STORABLE_attach" hook functionality added by Adam Kennedy, and more frugal memory requirements when storing under "ithreads", by using the "ithreads" cloning tracking code.
-
- *
-
"Switch" upgraded to version 2.10_01
-
- *
- Documentation typos fixed
-
- *
-
"Sys::Syslog" upgraded to version 0.13
-
- *
- Now provides numeric macros and meaningful "Exporter" tags.
- *
- No longer uses "Sys::Hostname" as it may provide useless values in unconfigured network environments, so instead uses "INADDR_LOOPBACK" directly.
- *
- "syslog()" now uses local timestamp.
- *
- "setlogmask()" now behaves like its C counterpart.
- *
- "setlogsock()" will now "croak()" as documented.
- *
- Improved error and warnings messages.
- *
- Improved documentation.
-
- *
-
"Term::ANSIColor" upgraded to version 1.10
-
- *
- Fixes a bug in "colored" when $EACHLINE is set that caused it to not color lines consisting solely of 0 (literal zero).
- *
- Improved tests.
-
- *
-
"Term::ReadLine" upgraded to version 1.02
-
- *
- Documentation tweaks
-
- *
-
"Test::Harness" upgraded to version 2.56 (was 2.48)
-
- *
- The "Test::Harness" timer is now off by default.
- *
- Now shows elapsed time in milliseconds.
- *
- Various bug fixes
-
- *
-
"Test::Simple" upgraded to version 0.62 (was 0.54)
-
- *
- "is_deeply()" no longer fails to work for many cases
- *
- Various minor bug fixes
- *
- Documentation enhancements
-
- *
-
"Text::Tabs" upgraded to version 2005.0824
-
- *
- Provides a faster implementation of "expand"
-
- *
-
"Text::Wrap" upgraded to version 2005.082401
-
- *
- Adds $Text::Wrap::separator2, which allows you to preserve existing newlines but add line-breaks with some other string.
-
- *
-
"threads" upgraded to version 1.07
-
- *
- "threads" will now honour "no warnings 'threads'"
- *
- A thread's interpreter is now freed after "$t->join()" rather than after "undef $t", which should fix some "ithreads" memory leaks. (Fixed by Dave Mitchell)
- *
- Some documentation typo fixes.
-
- *
-
"threads::shared" upgraded to version 0.94
-
- *
- Documentation changes only
- *
- Note: An improved implementation of "threads::shared" is available on CPAN - this will be merged into 5.8.9 if it proves stable.
-
- *
-
"Tie::Hash" upgraded to version 1.02
-
- *
- Documentation typo fixed
-
- *
-
"Time::HiRes" upgraded to version 1.86 (was 1.66)
-
- *
- "clock_nanosleep()" and "clock()" functions added
- *
- Support for the POSIX "clock_gettime()" and "clock_getres()" has been added
- *
- Return "undef" or an empty list if the C "gettimeofday()" function fails
- *
- Improved "nanosleep" detection
- *
- Internal cleanup
- *
- Enhanced documentation
-
- *
-
"Unicode::Collate" upgraded to version 0.52
-
- *
- Now implements UCA Revision 14 (based on Unicode 4.1.0).
- *
- "Unicode::Collate-"new> method no longer overwrites user's $_
- *
- Enhanced documentation
-
- *
-
"Unicode::UCD" upgraded to version 0.24
-
- *
- Documentation typos fixed
-
- *
-
"User::grent" upgraded to version 1.01
-
- *
- Documentation typo fixed
-
- *
-
"utf8" upgraded to version 1.06
-
- *
- Documentation typos fixed
-
- *
-
"vmsish" upgraded to version 1.02
-
- *
- Documentation typos fixed
-
- *
-
"warnings" upgraded to version 1.05
-
- *
- Gentler messing with "Carp::" internals
- *
- Internal cleanup
- *
- Documentation update
-
- *
-
"Win32" upgraded to version 0.2601
-
- *
- Provides Windows Vista support to "Win32::GetOSName"
- *
- Documentation enhancements
-
- *
-
"XS::Typemap" upgraded to version 0.02
-
- *
- Internal cleanup
-
Utility Changes
h2xs enhancements
"h2xs" implements new option "--use-xsloader" to force use of "XSLoader" even in backwards compatible modules.The handling of authors' names that had apostrophes has been fixed.
Any enums with negative values are now skipped.
perlivp enhancements
"perlivp" implements new option "-a" and will not check for *.ph files by default any more. Use the "-a" option to run all tests.New Documentation
The perlglossary manpage is a glossary of terms used in the Perl documentation, technical and otherwise, kindly provided by O'Reilly Media, inc.Performance Enhancements
- *
- Weak reference creation is now O(1) rather than O(n), courtesy of Nicholas Clark. Weak reference deletion remains O(n), but if deletion only happens at program exit, it may be skipped completely.
- *
- Salvador Fandin~o provided improvements to reduce the memory usage of "sort" and to speed up some cases.
- *
- Jarkko Hietaniemi and Andy Lester worked to mark as much data as possible in the C source files as "static", to increase the proportion of the executable file that the operating system can share between process, and thus reduce real memory usage on multi-user systems.
Installation and Configuration Improvements
Parallel makes should work properly now, although there may still be problems if "make test" is instructed to run in parallel.Building with Borland's compilers on Win32 should work more smoothly. In particular Steve Hay has worked to side step many warnings emitted by their compilers and at least one C compiler internal error.
"Configure" will now detect "clearenv" and "unsetenv", thanks to a patch from Alan Burlison. It will also probe for "futimes" and whether "sprintf" correctly returns the length of the formatted string, which will both be used in perl 5.8.9.
There are improved hints for next-3.0, vmesa, IX, Darwin, Solaris, Linux, DEC/OSF, HP-UX and MPE/iX
Perl extensions on Windows now can be statically built into the Perl DLL, thanks to a work by Vadim Konovalov. (This improvement was actually in 5.8.7, but was accidentally omitted from perl587delta).
Selected Bug Fixes
no warnings 'category' works correctly with -w
Previously when running with warnings enabled globally via "-w", selective disabling of specific warning categories would actually turn off all warnings. This is now fixed; now "no warnings 'io';" will only turn off warnings in the "io" class. Previously it would erroneously turn off all warnings.This bug fix may cause some programs to start correctly issuing warnings.
Remove over-optimisation
Perl 5.8.4 introduced a change so that assignments of "undef" to a scalar, or of an empty list to an array or a hash, were optimised away. As this could cause problems when "goto" jumps were involved, this change has been backed out.sprintf() fixes
Using the sprintf() function with some formats could lead to a buffer overflow in some specific cases. This has been fixed, along with several other bugs, notably in bounds checking.In related fixes, it was possible for badly written code that did not follow the documentation of "Sys::Syslog" to have formatting vulnerabilities. "Sys::Syslog" has been changed to protect people from poor quality third party code.
Debugger and Unicode slowdown
It had been reported that running under perl's debugger when processing Unicode data could cause unexpectedly large slowdowns. The most likely cause of this was identified and fixed by Nicholas Clark.Smaller fixes
- *
- "FindBin" now works better with directories where access rights are more restrictive than usual.
- *
- Several memory leaks in ithreads were closed. An improved implementation of "threads::shared" is available on CPAN - this will be merged into 5.8.9 if it proves stable.
- *
- Trailing spaces are now trimmed from $! and $^E.
- *
- Operations that require perl to read a process' list of groups, such as reads of $( and $), now dynamically allocate memory rather than using a fixed sized array. The fixed size array could cause C stack exhaustion on systems configured to use large numbers of groups.
- *
- "PerlIO::scalar" now works better with non-default $/ settings.
- *
- You can now use the "x" operator to repeat a "qw//" list. This used to raise a syntax error.
- *
- The debugger now traces correctly execution in eval("")uated code that contains #line directives.
- *
- The value of the "open" pragma is no longer ignored for three-argument opens.
- *
- The optimisation of "for (reverse @a)" introduced in perl 5.8.6 could misbehave when the array had undefined elements and was used in LVALUE context. Dave Mitchell provided a fix.
- *
- Some case insensitive matches between UTF-8 encoded data and 8 bit regexps, and vice versa, could give malformed character warnings. These have been fixed by Dave Mitchell and Yves Orton.
- *
- "lcfirst" and "ucfirst" could corrupt the string for certain cases where the length UTF-8 encoding of the string in lower case, upper case or title case differed. This was fixed by Nicholas Clark.
- *
- Perl will now use the C library calls "unsetenv" and "clearenv" if present to delete keys from %ENV and delete %ENV entirely, thanks to a patch from Alan Burlison.
New or Changed Diagnostics
Attempt to set length of freed array
This is a new warning, produced in situations such as this:
$r = do {my @a; \$#a}; $$r = 503;
Non-string passed as bitmask
This is a new warning, produced when number has been passed as a argument to select(), instead of a bitmask.
# Wrong, will now warn $rin = fileno(STDIN); ($nfound,$timeleft) = select($rout=$rin, undef, undef, $timeout); # Should be $rin = ''; vec($rin,fileno(STDIN),1) = 1; ($nfound,$timeleft) = select($rout=$rin, undef, undef, $timeout);
Search pattern not terminated or ternary operator parsed as search pattern
This syntax error indicates that the lexer couldn't find the final delimiter of a "?PATTERN?" construct. Mentioning the ternary operator in this error message makes it easier to diagnose syntax errors.Changed Internals
There has been a fair amount of refactoring of the "C" source code, partly to make it tidier and more maintainable. The resulting object code and the "perl" binary may well be smaller than 5.8.7, in particular due to a change contributed by Dave Mitchell which reworked the warnings code to be significantly smaller. Apart from being smaller and possibly faster, there should be no user-detectable changes.Andy Lester supplied many improvements to determine which function parameters and local variables could actually be declared "const" to the C compiler. Steve Peters provided new *_set macros and reworked the core to use these rather than assigning to macros in LVALUE context.
Dave Mitchell improved the lexer debugging output under "-DT"
Nicholas Clark changed the string buffer allocation so that it is now rounded up to the next multiple of 4 (or 8 on platforms with 64 bit pointers). This should reduce the number of calls to "realloc" without actually using any extra memory.
The "HV"'s array of "HE*"s is now allocated at the correct (minimal) size, thanks to another change by Nicholas Clark. Compile with "-DPERL_USE_LARGE_HV_ALLOC" to use the old, sloppier, default.
For XS or embedding debugging purposes, if perl is compiled with "-DDEBUG_LEAKING_SCALARS_FORK_DUMP" in addition to "-DDEBUG_LEAKING_SCALARS" then a child process is "fork"ed just before global destruction, which is used to display the values of any scalars found to have leaked at the end of global destruction. Without this, the scalars have already been freed sufficiently at the point of detection that it is impossible to produce any meaningful dump of their contents. This feature was implemented by the indefatigable Nicholas Clark, based on an idea by Mike Giroux.
Platform Specific Problems
The optimiser on HP-UX 11.23 (Itanium 2) is currently partly disabled (scaled down to +O1) when using HP C-ANSI-C; the cause of problems at higher optimisation levels is still unclear.There are a handful of remaining test failures on VMS, mostly due to test fixes and minor module tweaks with too many dependencies to integrate into this release from the development stream, where they have all been corrected. The following is a list of expected failures with the patch number of the fix where that is known:
ext/Devel/PPPort/t/ppphtest.t #26913 ext/List/Util/t/p_tainted.t #26912 lib/ExtUtils/t/PL_FILES.t #26813 lib/ExtUtils/t/basic.t #26813 t/io/fs.t t/op/cmp.t
Reporting Bugs
If you find what you think is a bug, you might check the articles recently posted to the comp.lang.perl.misc newsgroup and the perl bug database at http://bugs.perl.org. There may also be information at http://www.perl.org, the Perl Home Page.If you believe you have an unreported bug, please run the perlbug program included with your release. Be sure to trim your bug down to a tiny but sufficient test case. Your bug report, along with the output of "perl -V", will be sent off to<EMAIL_ADDRESS>to be analysed by the Perl porting team. You can browse and search the Perl 5 bugs at http://bugs.perl.org/
SEE ALSO
The Changes file for exhaustive details on what changed.The INSTALL file for how to build Perl.
The README file for general stuff.
The Artistic and Copying files for copyright information.
Index
- NAME
- DESCRIPTION
- Incompatible Changes
- Core Enhancements
- Modules and Pragmata
- Utility Changes
- New Documentation
- Performance Enhancements
- Installation and Configuration Improvements
- Selected Bug Fixes
- New or Changed Diagnostics
- Changed Internals
- Platform Specific Problems
- Reporting Bugs
- SEE ALSO
This document was created by man2html, using the manual pages.
Time: 05:29:07 GMT, December 24, 2015


FALLEN
Supernatural films all have the same problem, that of making the story seem reasonable. That is quite a challenge. Unfortunately, about the only thing that would make an audience believe FALLEN is that the personable Denzel Washington is the star. He is Detective John Hobbes in an unnamed city (but filmed in Philadelphia.)
Detective Hobbes had witnessed the execution of killer Edgar Reese (Elias Koteas). It is odd that the ever-observant detective (as he himself tells us in a voice over) did not think it strange that Reese seemed to take the impending execution very calmly, even singing "Time Is On My Side" as he is about to be gassed.
Shortly thereafter there occurs a series of murders which although having all the earmarks of Reese's style, are nevertheless the apparent work of other killers. It is Hobbes' assignment to find out what is happening and to put an end to it. Easier said than done as Hobbes ponders whether these are copycat murderers or perhaps something more strange. To help him, he seeks the advice of Greta Milano (Embeth Davitz) who is a professor of theology, well versed in the supernatural. It is she who tells Hobbes that he is dealing with Azazel, an angel who has fallen from grace but who has the ability by a mere touch to invade a person's body. In fact we see him walking along the street, touching people apparently at random as he moves from one human to another.. While it is shown that Azazel is out to get Hobbes, we are never quite told why Hobbes himself appears to be immune to invasion of his body.
The film's ending does provide some surprises but by that time it is too late to be saved.
The supporting cast helps the film but only to a degree. Jonesy (John Goodman) is Hobbes' partner. Donald Sutherland is Lieutenant Stanton in the police department. Lou (James Gandolfini) is the sneaky-looking detective. But all are to no avail.
Directed by Gregory Hoblit
2 bytes
4 Bytes = Superb 3 Bytes = Too good to miss 2 Bytes = Average 1 Byte = Save your money
Copyright 1998 Ben Hoffman
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


Welcome to BurgerWorld!
{{burger.name}}
-
Contains gluten.
Glutenfree.
-
Contains lactose.
Lactose free.
Gluten and lactose free!!
-
Contains {{burger.kCal}} kalories
Customer information
This is where you provide useful information for delivery
Delivery infrormation:
Click in the map!
{{ord.mark}}
Your order!!
-
×
1x {{value}}
Delivery details!:
-
{{key}}: {{value}}


Test Plans are collections of test cases to be executed in one round.
When editing test plans, the results can be dragged and dropped into place.
The new version button will make a clone of the current test plan. The current plan will be marked as deprecated and the new version will contain the previous versions details.
Versions are useful when making major changes and you have the need to retain the status of your old test plan.
The copy funtion makes a new copy of the test plan. The plans starting version will be 1 and the source test plan will not be altered.
A PDF including the test case details is generated.
An RTF document including the test case details is generated. This is useful if you want to edit the results in Microsoft Word
.Assign an execution of a test plan to a user.


MY PAGE
HOME
ABOUT
REPORTS
Lotterie
Flags
Schools
Written reports
ME
STEPHAN'S PROFILE
Name:
Stephan Ngaha
Date of birth:
19941120
Email address:
<EMAIL_ADDRESS>Program:
Software development 2017-2020
School:
Kristianstad University