JavaScript
---
Jan 18 2014
While there are indeed many differences between JavaScript and Ruby, a lot of those differences are largely syntactic, and not fundamental in terms of the way that we think about structuring logic in the two languages. For instance, one difference is the way hashes are written in Ruby vs. the way that their equivalent (objects) are written in JavaScript. In Ruby, the most conventional way to write a hash (if you were writing the hash all at once from the beginning), is as follows:
Capitals = { "Georgia" => "Atlanta",
"Alabama" => "Montgomery",
"Mississippi" => "Jackson" }
You could also create a new empty hash and then fill its contents as you went along, as follows:
Capitals = Hash.new
Capitals["Georgia"] = "Atlanta"
Capitals["Alabama"] = "Montgomery"
Capitals["Mississippi"] = "Jackson"
In Javascript, the same hash above would be written as an object as follows:
var Capitals = {
"Georgia": "Atlanta",
"Alabama": "Montgomery",
"Mississippi": "Jackson"
}
You can also create objects within objects, like so:
jim.children = {
carson: {name: "Carson"},
carter: {name: "Carter"},
colton: {name: "Colton"}
}


The Ultimate Question
What do you get if you
multiply six by nine
?
Example
When I google "
6 * 9
" the answer should be "
42
".
Look for:
Click on the expand/collapse image
Click on various image in expand/collapse section to see the data behind them
Hover over screen shot for enlarged popup, click on screenshot to expand
Screenshot not displayed for error on the assumption that screenshot has already been taken (see failing demo example for exception handling)


Note App
dark
light
clear
New Note
by Due Date
by Created Date
by Priority
Filters
Completed
Uncompleted
All


Register with Banka
and experience an amazing banking service.
OR
Please sign in to access your Banka account


| Site | Country | City | Status | ||
|---|---|---|---|---|---|
| Something important |<EMAIL_ADDRESS>| France | Paris | ||
| Le Bull Hospital de soleil |<EMAIL_ADDRESS>| France | Paris | ||
| Lestats hospital de la cheese |<EMAIL_ADDRESS>| France | Paris | ||
| London Hospital |<EMAIL_ADDRESS>| Great Britain | London | ||
| London Hospital |<EMAIL_ADDRESS>| Great Britain | London | ||
| Hospital Berlin |<EMAIL_ADDRESS>| Germany | Berlin | ||
| Hospital de la Rue |<EMAIL_ADDRESS>| France | Paris |


{% extends '_base.html' %} {% block title %} 403 Forbidden {% endblock %} {% block content %}
{{ exception }}
Access denied. Make sure you have the correct permissions.


Akufo-Addo calls for another round of consultation on referendum - Minister
President Nana Addo Dankwa Akufo-Addo has called for further consultations to be made regarding the impending referendum which will be held on December 17, 2019.
Deputy Information Minister Pius Enam Hadzide who made this known on Peace FM morning show 'Kokrokoo' said the group will be led by Vice President Dr Mahamudu Bawumia.
"Before the President travelled, he called for another round of consultation which will be led by Vice President Dr Mahamudu Bawumia. The consultation which is to clear the misunderstanding and misconceptions surrounding the referendum has already started and it will involve chiefs, religious leaders, civil societies and many others" he indicated.
Background
The December 17 referendum seeks to amend the law to enable Metropolitan, Municipal and District Chief Executives (MMDCEs) and unit committee members to be elected along political party lines.
However, there seems to be confusion surrounding the referendum and what it actually entails.
An earlier research conducted by the Coalition of Domestic Election Observers (CODEO), indicated that six (6) out of every (10) Ghanaian are unaware of the December 17 elections, let alone what it entails.
Some pundits analysing responses from Ghanaians and a u-turn by the opposition National Democratic Congress (NDC) have called for a suspension of the referendum for consensus to be reached by everyone and for proper education to be made.
The Regional Reorganisation and Development Minister, Dan Botwe has proposed a total withdrawal of the December 17 referendum while Dr. Amoako Baah, a political scientist is calling for a suspension.


Create New Vote
Vote Name:
Start In:
:
:
- or -
Start On:
Duration:
:
:
Question:
Answer {{answer.id}}:
{{mess}}
Current Votes
Create New Vote
Name
Current Winner
Stats
Time Remaining
{{vote.name}}
{{vote.winner}}
{{option.option}} - {{option.percent}}%
{{duration | millisToTime}}


At work I can happily connect to my Azure-hosted Team Foundation Service. But I couldn't do it from home. It says it is looking up identity providers, but the live.com logon screen never shows up. I just see the dreaded TFS31003 error ("Either you have not entered the necessary credentials or your user account does not have permission to connect to Team Foundation Server ").
My home machines are Windows 8 and linked to my personal LiveIDs, not my work logon. Windows 8 likes to connect to lots of Skydrive and lots of other services, storing all those credentials. And Visual Studio picks those rather than allow me to add a new one. Deleting entries in the Windows credentials store didn't work.
How can I force Visual Studio to select the right logon?
In Visual Studio, View>Other Windows>Web Browser
In the browser, go to live.com, and log on.
On mine it automatically logged on with another of my logons, so I signed off, and then signed back in with the correct one.
Now when I tried to connect to the TFS service address, it works.


try RN
This is part 1 of 4 of the React Native series.
Part 1 | Part 2 - RN/Firebase snapshots | Part 3 - RN/Firebase updates
Part 4 - RN & Tape Tests | Repo | Screenshots
Our group of three sat down to discuss what we wanted to pursue for our Telegraph Academy senior project. We created a venn diagram and put up our different goals, technology interests, and interests. We discussed our goals for after the program and a few different proposals before settling in on a social app that uses React Native, d3, Firebase, the Facebook API.
Then we thought... can we pull this off in four weeks?
A few days later, the thought is certainly that we definitely can and that we will contribute to the work that will lead to making react native and firebase even more successful. Kent, one of my teammates, already has corrected a blog that we've used and we are going to keep adding to the blog posts and links that have helped us.
Some of the other links that we have used so far.
On choosing between angular ionic and react native.
React
Build twitter stream with react
React Native
Xcode & Apple
iOS documentation for User Experience/a>
Firebase, OAuth & D3
Here's us
Long story made short: We found all this in less than 2 days. We've been able to parse through it, learn quickly and help others. Even as a new technology, it's clear that the framework achieves it's goal: it makes it easier to make applications and early adopters are excited about it and helping each other. Don't be discouraged to take on anything new!
This is a stub... there's more to come


nips nips2013 nips2013-105 nips2013-105-reference knowledge-graph by maker-knowledge-mining
Source: pdf
Author: Yanshuai Cao, Marcus A. Brubaker, David Fleet, Aaron Hertzmann
Abstract: We propose an efﬁcient optimization algorithm for selecting a subset of training data to induce sparsity for Gaussian process regression. The algorithm estimates an inducing set and the hyperparameters using a single objective, either the marginal likelihood or a variational free energy. The space and time complexity are linear in training set size, and the algorithm can be applied to large regression problems on discrete or continuous domains. Empirical evaluation shows state-ofart performance in discrete cases and competitive results in the continuous case. 1
[1] F. R. Bach and M. I. Jordan. Predictive low-rank decomposition for kernel methods. ICML, pp. 33–40, 2005..
[2] L. Bo and C. Sminchisescu. Twin gaussian processes for structured prediction. IJCV, 87:28– 52, 2010.
[3] Y. Cao, M. A. Brubaker, D. J. Fleet, and A. Hertzmann. Project page: supplementary material and software for efﬁcient optimization for sparse gaussian process regression. www.cs.toronto.edu/˜caoy/opt_sgpr, 2013.
[4] K. Chalupka, C. K. I. Williams, and I. Murray. A framework for evaluating approximation methods for gaussian process regression. JMLR, 14(1):333–350, February 2013.
[5] L. Csat´ and M. Opper. Sparse on-line gaussian processes. Neural Comput., 14:641–668, o 2002.
[6] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. IEEE CVPR, pp. 886–893, 2005.
[7] S. S. Keerthi and W. Chu. A matching pursuit approach to sparse gaussian process regression. NIPS 18, pp. 643–650. 2006.
[8] N. D. Lawrence, M. Seeger, and R. Herbrich, Fast sparse gaussian process methods: The informative vector machine. NIPS 15, pp. 609–616. 2003.
[9] J. J. Lee. Libpmk: A pyramid match toolkit. TR: MIT-CSAIL-TR-2008-17, MIT CSAIL, 2008. URL http://hdl.handle.net/1721.1/41070.
[10] J. Qui˜ onero-Candela and C. E. Rasmussen. A unifying view of sparse approximate gaussian n process regression. JMLR, 6:1939–1959, 2005.
[11] C. E. Rasmussen and C. K. I. Williams. Gaussian processes for machine learning. Adaptive computation and machine learning. MIT Press, 2006.
[12] M. Seeger, C. K. I. Williams, and N. D. Lawrence. Fast forward selection to speed up sparse gaussian process regression. AI & Stats. 9, 2003.
[13] A. J. Smola and P. Bartlett. Sparse greedy gaussian process regression. In Advances in Neural Information Processing Systems 13, pp. 619–625. 2001.
[14] E. Snelson and Z. Ghahramani. Sparse gaussian processes using pseudo-inputs. NIPS 18, pp. 1257–1264. 2006.
[15] M. K. Titsias. Variational learning of inducing variables in sparse gaussian processes. JMLR, 5:567–574, 2009.
[16] C. Walder, K. I. Kwang, and B. Sch¨ lkopf. Sparse multiscale gaussian process regression. o ICML, pp. 1112–1119, 2008. 9


Each service controller needs to be registered with APP. Registration means entering the controller with its ID and its responsible organization in the configurationsetting table of the bssapp database.
The organization responsible for a service controller is usually your own organization. However, it may also be another organization with the technology provider role registered with OSCM. In the controller registration, you specify the organization ID.
You can register a service controller in one of the following ways:
- Using the Web interface of APP:
- In a Web browser, access the base URL of APP, for example, https://<IP_ADDRESS>:8880/oscm-app.
-
Log in with the ID and password of the user you specified for BSS_USER_KEY in the APP configuration settings (see configuration settings or as another administrator of the same organization.
- Specify the IDs of the service controller and of the responsible organization.
- Click Save Configuration to save the settings.
- Using a standard table editor or SQL statements:
Connect to the database with the user ID and password specified for the database access in the db.properties file when configuring APP (see configuring APP. In the configurationsetting table, create the corresponding entries. The SQL statement to do this would be:
INSERT INTO configurationsetting (controllerid, settingkey, settingvalue) VALUES ('<controllerID>', 'BSS_ORGANIZATION_ID', '<organizationID>';
Example:
INSERT INTO configurationsetting (controllerid, settingkey, settingvalue) VALUES ('mycontroller', 'BSS_ORGANIZATION_ID', 'baaf0c7d';


Company profile - Canadian Company Capabilities
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
C.L.E.A.N. - Closed Loop Environmental Alliance Network Inc.
Legal/Operating Name:
C.L.E.A.N. - Closed Loop Environmental Alliance Network Inc.
Mailing Address:
15180 Regional Road 50BOLTON, Ontario
L7E 3E4
Location Address:
15180 Regional Road 50BOLTON, Ontario
L7E 3E4
Tel.:<PHONE_NUMBER>
Tel.:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
Logo
Company Profile
C.L.E.A.N. is a one stop integrated service provider for environmental products and services consisting of alliance partners distributing a wide array of goods and services under the brand name C.L.E.A.N., serving the Print & Graphic, Pharmaceutical, Automotive, Chemical and other Manufacturing sectors.
C.L.E.A.N. develops processes and systems offering its clients a "Closed Loop" approach with a responsible and affordable environmental solution for their environmental needs. An example of this is C.L.E.A.N.'s unique and proprietary CLOSED LOOP SOLVENT RECYCLING SYSTEM for blanket wash in the Print and Graphics industry.
C.L.E.A.N. also provides a variety of products and services through its alliance partners and distributors, such as Absorbent and Spill Containment Products, Environmental Waste Auditors, Training, Emergency Response, Hazardous and Non Hazardous Waste Management and Reclamation services all under one roof.
C.L.E.A.N. chooses its partners carefully making sure that they meet the highest of standards for their clients and customers. C.L.E.A.N.'s alliance partners are ISO 9001 and ISO 14001 registered and their commitment to the environment is a number one priority.
THE MOST SUCCESSFUL PLAYERS in the Environmental industry are defined by both the quality of their work and the range of added value their companies can bring to their customers. C.L.E.A.N.'s alliance partners are an excellent investment. But actually developing this full range of Environmental products and services to make it a reality in your company is a complex and all-consuming process, especially for most companies trying to do it themselves. It involves a great deal of research, investigation, the understanding of you and your business and the list goes on. Fortunately, there's one Network that can help you through this process quickly and efficiently. That Network is C.L.E.A.N. and its alliance partners.
C.L.E.A.N. and its alliance partners can provide your business with a one-source solution for all of your environmental needs under one roof!
Full profile
Full profile
Contact information
Company description
562910 - Remediation Services
562920 - Material Recovery Facilities
562990 - All Other Waste Management Services
Product / Service / Licensing
C.L.E.A.N. and its alliance partners with their expertise and knowledge of blanket wash provide their customers with superior formulations. Together with C.L.E.A.N. alliance partners, C.L.E.A.N. authorized distributors carry these extraordinary environmentally friendly products allowing every printer customer the opportunity to participate in C.L.E.A.N.´s Closed Loop Solvent Recycling System. C.L.E.A.N.´s dedication to the environment has been challenged by none. If a cleaner environment is important to you and your company´s employees, make sure you are part of this program!
The Aquamizer (Fountain Solution Recycling and Wastewater Treatment System)
The Neutralizer (CTP Chemistry Treatment System)
The Petromizer (Shop Towel Solvent Extraction System)
The Chemsaver (CTP Chemistry Recycling System)
C.L.E.A.N.'s authorized service providers deliver the Perchloroethylene in compliance with all of the government regulations.
The C.L.E.A.N. Alliance also imports Virgin Perchloroethylene. Each 20 Ft. container is made up of 80 Drums weighing 318 Kg.
BENEFITING THE ENVIRONMENT.
ALL THE MATERIALS IN THESE FUEL ADDITIVES ARE MADE
FROM RECYCLED WASTE STREAMS.
C.L.E.A.N. Power Additives are a new , innovative, patented technology that produce extremely low polluting fuel additives for consumer and commercial use. This low polluting fuel additive technology has been proven through consistent testing and verification by Environment Canada's Emissions Testing Centre as well as on the race track where in its first full year of use it was used to power a race team to the Overall Points Championship for 2003 in the Thunder Car Series.
C.L.E.A.N. Power Additives Inc. has been able to develop fuels that are produced with the protection of people and the environment in mind by using recycled waste materials and bio components while reducing toxic components of gasoline such as cancer causing benzene. C.L.E.A.N. Power Additives are a clean burning lower polluting additive for gasoline that consist of a blend of naphtha and various oxygenates. It was successfully marketed in Japan over the last four years, and sold through an everexpanding network of retail service stations.
All tests have demonstrated that C.L.E.A.N. Power Additives reduce the emission of several harmful pollutants and Green House Gases (GHGs - CO, CO2, NOx & THC) emitted from motor vehicles while increasing performance and mileage. These results have been demonstrated on the road in Japan and confirmed in tests at Environment Canada facilities here in Canada. Report ERMD 01-26 concluded: "The exhaust emission results indicate a statistically significant reduction in average composite CO, CO2, THC as well as fuel consumption (and) the HWFCT emission results and fuel consumption indicated a statistically significant reduction using C.L.E.A.N. Power Additives." In a typical city driving simulation, C.L.E.A.N. Power Additives reduce total harmful emissions (CO, CO2, NOX & THC) by a minimum of 5.5% and at best by 46.9%. Similar tests in highway driving conditions, demonstrated reduction of total emissions from 6 to 88% compared to gasoline.
NOW, C.L.E.A.N. POWER ADDITIVES ARE READY FOR THE WORLD & NORTH AMERICAN MARKETS!
Price negotiations with International business culture
Overseeing the shipment of goods to clients and quality control inspection
Liaison for clients
C.L.E.A.N. maintains overseas offices in both Shanghai and Hong Kong with several Agents and Brokers world wide. The Canadian operation has offices and warehousing in the Toronto area. C.L.E.A.N. representatives travel overseas on a regular basis providing clients with a "hands on" business management approach. C.L.E.A.N.'s expertise provides their clients comfort for the smooth continuity and coordination of shipments and orders.
Transfer Processing
Collection, Handling, Hazardous and Non Hazardous Waste Transporting
C.L.E.A.N. Waste Management Service Providers provide Ontario Waste Classes listed on its website at http://www.cleanalliance.com/environmentalservices/hazardousnonhazardouswastemanagement.htm
Laboratories Services
C.L.E.A.N.'s authorized Waste Management Services companies provide fully certified environmental testing with state of the art equipment and analytical techniques.
All C.L.E.A.N. Waste Management Service Providers are independent individual companies providing C.L.E.A.N. customers with their services. All of their facilities are fully licensed and insured for managing C.L.E.A.N.'s customer's residual materials responsibly, safely and efficiently. By relying on C.L.E.A.N.'s authorized Waste Management Services companies together with their trained staff and services, C.L.E.A.N. customers liabilities can be minimized in a cost-effective manner.
> Hazardous and Non Hazardous Liquid, Sludge and Solid Waste
(Recycling/Processing or Disposal)
- On-Site waste sampling
- Waste analysis and profiling
- Waste manifesting, preparation of shipping documents
- Waste collection, hazardous and non hazardous waste transporting
- Waste recycling / processing or disposal
> Transportation Service
- Licensed fleet of trucks (vacuum truck, tankers, and vans) handling of all quantities of bulk and containerized liquids and solids
> Small Quantity / Lab - Pack Services
- Chemicals identification and segregation
- Special packaging
- Manifesting and tracking
- Processing and disposal
> Dry Cleaning Services
- Recycling of filters, spent solvents and sludge supply of virgin perchloroethylene
> Waste Solvent Recycling and Supply
- Recycling of nonchlorinated and chlorinated solvents
- Supply of recovered and virgin solvents
> Analytical service
- Wide range of certified testing services
- Waste profiling, water testing and soil testing
- Materials testing and MSDS preparation
> Industrial Site Service
- Vacuum truck service (pumping)
- Tank clean out
- Pit clean out
- Facility clean up and equipment decontamination and dismantling
> On-Site Waste Management
- Chemical waste management team with extensive technological expertise specializes in on-site waste reduction and recycling alternatives
- Performing an evaluation of the current situation
- Proposal of improvements
- Design of the improvements
- Implementation and operation
> On-Site Technical Service
- On-site personnel to perform technical and specialized waste management service duties
> Emergency Response Service
- Spill response service (spill containment, clean up, disposal)
- Spill and tank clean up
C.L.E.A.N.'s authorized service providers also specialize in the following areas: oil recycling, emergency spill clean up, transformer oil recycling services, removal and processing of all of your liquid wastes including interceptor waste, used oil and antifreeze, recycling of used oil filters and plastic containers as well as a full menu of options for parts washers, brake cleaners and paint gun cleaners, assisting in the identification of all waste streams, classifying, separating and inventorying of all waste streams, complete service package on various types of equipment that include various sizes of parts cleaners, solvent recyclers and aqueous brake cleaners and much more...
C.L.E.A.N.'s main service focus is in the following cities and surrounding areas: Greater Toronto Area, North York, Richmond Hill, Thornhill, Vaughn, Barrie, Pickering, East York, Oakville, Hamilton, Mississauga, Bolton, Caledon, Whitby, Scarborough, Etobicoke, Aurora, Markham, Morningside, Ajax, Leaside, High Park, Brampton, Milton, Guelph, Cambridge, Kitchener, Woodstock, Burlington, Ottawa, London, Windsor, Sarnia, Peterborough, Haliburton, Huntsville, Collingwood, Waterloo, Brantford, St. Catharines, Niagra Falls, Simcoe, Chatham & Owen Sound
Audits - including Compliance, Phase 1, due diligence, designtated and hazardous substances, and management systems
Management System development and implementation (ISO 14004, 9001 and OHSAS 18001)
Environmental Aspect and Impact assessments & Research
Training - including WHMIS, Transportation of Dangerous Goods, Auditing, Waste Minimization, Due Diligence and Emergency Response
Air Emission Permitting and Emissions Calculations (including NPRI & Greenhouse Gas Emissions)
Air Dispersion Modeling (including US EPA AERMOD, Screen 3)
Operations Reviews and Risk Assessments
Sustainable Development
Leadership in energy and Environmental Design (LEED) facilitation
Soil Remediation
Contaminated soil and waste is a concern for the environment and C.L.E.A.N. service providers deliver a ready-made, professional solution to this problem through their treatment services.
Technology
C.L.E.A.N. service providers continually explore the most cost-effective methods in the management of soil and waste. Through a number of innovative movements, C.L.E.A.N. service providers have developed a number of technologies that aid the handling, treatment and moving of contaminated soil from sites.
Bioremediation
A highly economic and environmentally friendly remediation process which uses a carefully controlled natural environment to treat contamination.
9110-Fuels, Solid
9135-Liquid Propellants Fuels and Oxidizers, Chemical Base
9999-Miscellaneous Items (includes only those items of Goods which cannot conceivably be classified in any existing Classes)
B100-Air Quality Analyses
B102-Soil Studies
B109-Other Environmental Studies
E000-Environmental Services
E101-Air quality Support Services
E107-Hazardous Substance Analysis
E108-Hazardous Substance Removal, Cleanup, and Disposal Services and Operational Support
E111-Oil Spill Response Including Cleanup, Removal, Disposal and Operational Support
E199-Other Environmental Services
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Contacts
Contact information
Description
Company description
562910 - Remediation Services
562920 - Material Recovery Facilities
562990 - All Other Waste Management Services
Products, services and licensing
Product / Service / Licensing
C.L.E.A.N. and its alliance partners with their expertise and knowledge of blanket wash provide their customers with superior formulations. Together with C.L.E.A.N. alliance partners, C.L.E.A.N. authorized distributors carry these extraordinary environmentally friendly products allowing every printer customer the opportunity to participate in C.L.E.A.N.´s Closed Loop Solvent Recycling System. C.L.E.A.N.´s dedication to the environment has been challenged by none. If a cleaner environment is important to you and your company´s employees, make sure you are part of this program!
The Aquamizer (Fountain Solution Recycling and Wastewater Treatment System)
The Neutralizer (CTP Chemistry Treatment System)
The Petromizer (Shop Towel Solvent Extraction System)
The Chemsaver (CTP Chemistry Recycling System)
C.L.E.A.N.'s authorized service providers deliver the Perchloroethylene in compliance with all of the government regulations.
The C.L.E.A.N. Alliance also imports Virgin Perchloroethylene. Each 20 Ft. container is made up of 80 Drums weighing 318 Kg.
BENEFITING THE ENVIRONMENT.
ALL THE MATERIALS IN THESE FUEL ADDITIVES ARE MADE
FROM RECYCLED WASTE STREAMS.
C.L.E.A.N. Power Additives are a new , innovative, patented technology that produce extremely low polluting fuel additives for consumer and commercial use. This low polluting fuel additive technology has been proven through consistent testing and verification by Environment Canada's Emissions Testing Centre as well as on the race track where in its first full year of use it was used to power a race team to the Overall Points Championship for 2003 in the Thunder Car Series.
C.L.E.A.N. Power Additives Inc. has been able to develop fuels that are produced with the protection of people and the environment in mind by using recycled waste materials and bio components while reducing toxic components of gasoline such as cancer causing benzene. C.L.E.A.N. Power Additives are a clean burning lower polluting additive for gasoline that consist of a blend of naphtha and various oxygenates. It was successfully marketed in Japan over the last four years, and sold through an everexpanding network of retail service stations.
All tests have demonstrated that C.L.E.A.N. Power Additives reduce the emission of several harmful pollutants and Green House Gases (GHGs - CO, CO2, NOx & THC) emitted from motor vehicles while increasing performance and mileage. These results have been demonstrated on the road in Japan and confirmed in tests at Environment Canada facilities here in Canada. Report ERMD 01-26 concluded: "The exhaust emission results indicate a statistically significant reduction in average composite CO, CO2, THC as well as fuel consumption (and) the HWFCT emission results and fuel consumption indicated a statistically significant reduction using C.L.E.A.N. Power Additives." In a typical city driving simulation, C.L.E.A.N. Power Additives reduce total harmful emissions (CO, CO2, NOX & THC) by a minimum of 5.5% and at best by 46.9%. Similar tests in highway driving conditions, demonstrated reduction of total emissions from 6 to 88% compared to gasoline.
NOW, C.L.E.A.N. POWER ADDITIVES ARE READY FOR THE WORLD & NORTH AMERICAN MARKETS!
Price negotiations with International business culture
Overseeing the shipment of goods to clients and quality control inspection
Liaison for clients
C.L.E.A.N. maintains overseas offices in both Shanghai and Hong Kong with several Agents and Brokers world wide. The Canadian operation has offices and warehousing in the Toronto area. C.L.E.A.N. representatives travel overseas on a regular basis providing clients with a "hands on" business management approach. C.L.E.A.N.'s expertise provides their clients comfort for the smooth continuity and coordination of shipments and orders.
Transfer Processing
Collection, Handling, Hazardous and Non Hazardous Waste Transporting
C.L.E.A.N. Waste Management Service Providers provide Ontario Waste Classes listed on its website at http://www.cleanalliance.com/environmentalservices/hazardousnonhazardouswastemanagement.htm
Laboratories Services
C.L.E.A.N.'s authorized Waste Management Services companies provide fully certified environmental testing with state of the art equipment and analytical techniques.
All C.L.E.A.N. Waste Management Service Providers are independent individual companies providing C.L.E.A.N. customers with their services. All of their facilities are fully licensed and insured for managing C.L.E.A.N.'s customer's residual materials responsibly, safely and efficiently. By relying on C.L.E.A.N.'s authorized Waste Management Services companies together with their trained staff and services, C.L.E.A.N. customers liabilities can be minimized in a cost-effective manner.
> Hazardous and Non Hazardous Liquid, Sludge and Solid Waste
(Recycling/Processing or Disposal)
- On-Site waste sampling
- Waste analysis and profiling
- Waste manifesting, preparation of shipping documents
- Waste collection, hazardous and non hazardous waste transporting
- Waste recycling / processing or disposal
> Transportation Service
- Licensed fleet of trucks (vacuum truck, tankers, and vans) handling of all quantities of bulk and containerized liquids and solids
> Small Quantity / Lab - Pack Services
- Chemicals identification and segregation
- Special packaging
- Manifesting and tracking
- Processing and disposal
> Dry Cleaning Services
- Recycling of filters, spent solvents and sludge supply of virgin perchloroethylene
> Waste Solvent Recycling and Supply
- Recycling of nonchlorinated and chlorinated solvents
- Supply of recovered and virgin solvents
> Analytical service
- Wide range of certified testing services
- Waste profiling, water testing and soil testing
- Materials testing and MSDS preparation
> Industrial Site Service
- Vacuum truck service (pumping)
- Tank clean out
- Pit clean out
- Facility clean up and equipment decontamination and dismantling
> On-Site Waste Management
- Chemical waste management team with extensive technological expertise specializes in on-site waste reduction and recycling alternatives
- Performing an evaluation of the current situation
- Proposal of improvements
- Design of the improvements
- Implementation and operation
> On-Site Technical Service
- On-site personnel to perform technical and specialized waste management service duties
> Emergency Response Service
- Spill response service (spill containment, clean up, disposal)
- Spill and tank clean up
C.L.E.A.N.'s authorized service providers also specialize in the following areas: oil recycling, emergency spill clean up, transformer oil recycling services, removal and processing of all of your liquid wastes including interceptor waste, used oil and antifreeze, recycling of used oil filters and plastic containers as well as a full menu of options for parts washers, brake cleaners and paint gun cleaners, assisting in the identification of all waste streams, classifying, separating and inventorying of all waste streams, complete service package on various types of equipment that include various sizes of parts cleaners, solvent recyclers and aqueous brake cleaners and much more...
C.L.E.A.N.'s main service focus is in the following cities and surrounding areas: Greater Toronto Area, North York, Richmond Hill, Thornhill, Vaughn, Barrie, Pickering, East York, Oakville, Hamilton, Mississauga, Bolton, Caledon, Whitby, Scarborough, Etobicoke, Aurora, Markham, Morningside, Ajax, Leaside, High Park, Brampton, Milton, Guelph, Cambridge, Kitchener, Woodstock, Burlington, Ottawa, London, Windsor, Sarnia, Peterborough, Haliburton, Huntsville, Collingwood, Waterloo, Brantford, St. Catharines, Niagra Falls, Simcoe, Chatham & Owen Sound
Audits - including Compliance, Phase 1, due diligence, designtated and hazardous substances, and management systems
Management System development and implementation (ISO 14004, 9001 and OHSAS 18001)
Environmental Aspect and Impact assessments & Research
Training - including WHMIS, Transportation of Dangerous Goods, Auditing, Waste Minimization, Due Diligence and Emergency Response
Air Emission Permitting and Emissions Calculations (including NPRI & Greenhouse Gas Emissions)
Air Dispersion Modeling (including US EPA AERMOD, Screen 3)
Operations Reviews and Risk Assessments
Sustainable Development
Leadership in energy and Environmental Design (LEED) facilitation
Soil Remediation
Contaminated soil and waste is a concern for the environment and C.L.E.A.N. service providers deliver a ready-made, professional solution to this problem through their treatment services.
Technology
C.L.E.A.N. service providers continually explore the most cost-effective methods in the management of soil and waste. Through a number of innovative movements, C.L.E.A.N. service providers have developed a number of technologies that aid the handling, treatment and moving of contaminated soil from sites.
Bioremediation
A highly economic and environmentally friendly remediation process which uses a carefully controlled natural environment to treat contamination.
9110-Fuels, Solid
9135-Liquid Propellants Fuels and Oxidizers, Chemical Base
9999-Miscellaneous Items (includes only those items of Goods which cannot conceivably be classified in any existing Classes)
B100-Air Quality Analyses
B102-Soil Studies
B109-Other Environmental Studies
E000-Environmental Services
E101-Air quality Support Services
E107-Hazardous Substance Analysis
E108-Hazardous Substance Removal, Cleanup, and Disposal Services and Operational Support
E111-Oil Spill Response Including Cleanup, Removal, Disposal and Operational Support
E199-Other Environmental Services


In 1912, the ship RMS Titanic struck an iceberg on its maiden voyage and sank, resulting in the deaths of most of its passengers and crew. In this project, we will explore the RMS Titanic passenger manifest to determine whether someone survived or did not survive.Demographics and passenger information from 891 of the 2224 passengers and crew on board the Titanic Dataset is obtained from kaggle (https://www.kaggle.com/c/titanic/data).
Depending upon weather the passengers survived or did not survive based on the classification of
Shows difference in survival chances of Each indiviudal?
import numpy as np
import pandas as pd
from IPython.display import display
%matplotlib inline
# Load the dataset
files = 'titanic_data.csv'
data_titanic = pd.read_csv(files)
display(data_titanic.head())
From a sample of the RMS Titanic data, we can see the various features present for each passenger on the ship:
NaN
)NaN
)Variable Notes
pclass: A proxy for socio-economic status (SES)
age: Age is fractional if less than 1. If the age is estimated, is it in the form of xx.5
sibsp: The dataset defines family relations in this way... Sibling = brother, sister, stepbrother, stepsister Spouse = husband, wife (mistresses and fiancés were ignored)
parch: The dataset defines family relations in this way... Parent = mother, father Child = daughter, son, stepdaughter, stepson Some children travelled only with a nanny, therefore parch=0 for them.
data =data_titanic
# Show the dataset
display(data.head())
data.info()
From the above info(),We can see columns Age, Cabin and Embarked have missing values.
Handling the missing values:
Ignore the rows with missing data,
Exclude the variable at all or we might substite it with mean or median.
Age 80% of the data is available,which seems a important variable so not to exclude.
Port of embarkation doesn't seem interesting.
cabin 23% of the data so decided to exclude.
PassengerId,Name,fare doesnt seem to contribute to any survival investigation
#exculding some coloumns
del data['Ticket']
del data['Cabin']
del data['Embarked']
del data['Name']
del data['PassengerId']
del data['Fare']
data.describe(include='all')
# Calculate number of missing values
data.isnull().sum()
null_female = data[pd.isnull(data['Age'])]['Sex'] == 'female'
null_male = data[pd.isnull(data['Age'])]['Sex'] == 'male'
print "Total missing age for female:",null_female.sum()
print "Total missing age for male:",null_male.sum()
lets decide should we remove missing age rows or fill the missing values with the mean, I'm going first to split the sample data into 2 samples with missing age and with age and perform a t test
notnull_age = data[pd.notnull(data['Age'])]
null_age = data[pd.isnull(data['Age'])]
Hypothesis
To fill the missing data with mean, i will decide with t test by being sure that passengers in these 2 samples are likely to have the similar survival rate.
If the resulted p value is going to be less than the critical value (with alpha level 0.05), I should reject the null hypothesis and conclude that population means are different not by chance (Ignoring the data of missing data which almost 20% of the data should be neglected).
I'm using the existing in scipy.stats function to perform t test for independent variables:
from scipy.stats import ttest_ind
ttest_ind(notnull_age['Survived'], null_age['Survived'])
p value is than 0.05 which results in rejecting H0 ,so there is a significant difference in mean .So, I'm going to substitute the missing values with the mean age.
print "Age median values by Age and Sex:"
#we are grouping by gender and class and taking median of age so we can replace with corrresponding values instead of NaN
print data.groupby(['Sex','Pclass'], as_index=False).median().loc[:, ['Sex','Pclass', 'Age']]
print "Age values for 5 first persons in dataset:"
print data.loc[data['Age'].isnull(),['Age','Sex','Pclass']].head(5)
# apply transformation: Age missing values are filled with regard to Pclass and Sex:
data.loc[:, 'Age'] = data.groupby(['Sex','Pclass']).transform(lambda x: x.fillna(x.median()))
print data.loc[[5,17,19,26,28],['Age','Sex','Pclass']].head(5)
data['Age'] = data['Age'].fillna(data['Age'].mean())
data.describe(include='all')
We can see that all columns have identical length.
data_s=data
survival_group = data_s.groupby('Survived')
survival_group.describe()
From the above statistics
# Seriously i dont understand why age is 0.42
data_s[data_s['Age'] < 1]
These must be new borns and all survived
import matplotlib.pyplot as plt
import seaborn as sns
# Set style for all graphs
#sns.set_style("light")
#sns.set_style("whitegrid")
sns.set_style("ticks", {"xtick.major.size": 8, "ytick.major.size": 8})
def plot(a,i):
fig=plt.figure() #Plots in matplotlib reside within a figure object, use plt.figure to create new figure
#Create one or more subplots using add_subplot, because you can't create blank figure
ax = fig.add_subplot(1,1,1)
#Variable
ax.hist(data[a],bins = i) # Here you can play with number of bins
plt.title(a + ' distribution')
plt.xlabel(a)
plt.ylabel('Passenger Count')
plt.show()
plot("Age",30)
print "The above distribution of Age seems a little bit deviating from normal distribution"
print
plot("SibSp",8)
print "The above distribution of SibSp seems a right-skewed distribution"
plot("Parch",6)
print "The above distribution of Age seems a right-skewed distribution"
sns.factorplot(x="Sex", y="Age", data=data_s, kind="box", size=7, aspect=.8)\
.set_xticklabels(["Male","Female"])
plt.title('Boxplot of Age grouped by sex')
print "From the below plot we can see there are more elderly men than women and average age for men is higher than women"
From the above plot we can see that gender played an important role in survival of each individaul
Female Survival rate : 74.2%
Male Survival rate: 18.8%
sns.factorplot(x="Pclass", y="Age", data=data_s, kind="box", size=7, aspect=.8)\
.set_xticklabels(["1","2","3"])
plt.title('Boxplot of Age grouped by sex')
print "From the below plot we can see the average age is decreasing from calss 1 to class 3"
From the above plot we can clearly see individuals of different class distibuted for various ages. And the red line shows the average of age for each class
sns.factorplot( 'Sex' , 'Survived', data = data, kind = 'bar')
plt.title('Histogram of Survival rate grouped by Sex')
print "From the plot we can clearly see the survival rate of female is very high"
## GENDER
survivals = pd.crosstab([ data_s.Sex], data_s.Survived.astype(bool))
survivals.plot(kind='bar', stacked=False)
plt.ylabel("Passenger count")
plt.title('Histogram of Passenger count grouped by Sex and survived')
survival = data_s.groupby('Sex')['Survived']
survival.mean()
#PCLASS
survivals = pd.crosstab([data_s.Pclass], data_s.Survived.astype(bool))
survivals.plot(kind='bar', stacked=True)
plt.ylabel("Passenger count")
plt.title('Histogram of Passenger count grouped by Class')
survival=data.groupby(['Pclass'])
survival.mean()
A passenger from Class 1 is about 2.5x times more likely to survive than a passenger in Class 3.
Social-economic standing was a factor in survival rate of passengers.
survivals = pd.crosstab([data_s.Pclass, data_s.Sex], data_s.Survived.astype(bool))
survivals.plot(kind='bar', stacked=True)
survive=data.groupby(['Sex','Pclass'])
plt.ylabel("Passenger count")
plt.title('Histogram of passenger count grouped by sex and Class')
#survive.Survived.sum().plot(kind='barh')
survive.mean()
From the above plot we can see how female individuals are given 1st preference and based on class.
Social-economic standing was a factor in survival rate of passengers by gender
Class 1 - male survival rate: 36.89%
Class 2 - female survival rate: 92.11%
Class 2 - male survival rate: 15.74%
Class 3 - female survival rate: 50.0%
#Age
sns.factorplot(x="Survived", y="Age", hue='Sex', data=data_s, kind="box", size=7, aspect=.8)\
.set_xticklabels(["Expired","Survived"])
plt.title('Boxplot of Age grouped by sex and Survival')
# survive_A=data.groupby(['Sex','Age'])
From the above boxplot and calculated mean:
#Age
# We are dividing the Age data into 3 buckets of (0-18),(18-40),(40-90)
# and labeling them as 'Childs','Adults','Seniors' respectively
data['group_age'] = pd.cut(data['Age'], bins=[0,18,40,90], labels=['Childs','Adults','Seniors'])
data.head(5)
survive_a=data.groupby(['group_age'])
survival_a = pd.crosstab([data.group_age], data_s.Survived.astype(bool))
survival_a.plot(kind='bar', stacked=True)
plt.title('Bar plot of Passenger count grouped by age categories ')
plt.ylabel("Passenger count")
# sns.factorplot(x="group_age", y="Age", hue='Sex', data=data, kind="box", size=7, aspect=.8)
survive_a.mean()
These are percentage of survivors for Group_age
def group(d,v):
if (d == 'female') and (v >= 18):
return 'Woman'
elif v < 18:
return 'child'
elif (d == 'male') and (v >= 18):
return 'Man'
data['Category'] = data.apply(lambda row:group(row['Sex'], row['Age']), axis=1)
data.head(5)
survival_a = pd.crosstab([data.Category], data_s.Survived.astype(bool))
survival_a.plot(kind='bar', stacked=True)
plt.ylabel("Passenger count")
plt.title('Survival by Age category')
data.groupby(['Category']).mean()["Survived"]
Women and children are given importance in the survival of a number of people.
g = sns.factorplot(x="Category", y="Survived", col="Pclass", data=data,
saturation=.5, kind="bar", ci=None, size=5, aspect=.8)
# Fix up the labels
(g.set_axis_labels('', 'Survival Rate')
.set_xticklabels(["Men", "Women","child"])
.set_titles("Class {col_name}")
.set(ylim=(0, 1))
.despine(left=True, bottom=True))
print 'Histogram of Survival rate grouped by Age Category and Class:'
# We are dividing the Age data into 3 buckets of (0-18),(18-40),(40-90)
# and labeling them as 'Childs','Adults','Seniors' respectively
data['group_age'] = pd.cut(data['Age'], bins=[0,18,40,90], labels=['Childs','Adults','Seniors'])
#finding mean Survival rate grouped by 'group_age','Sex'.
df = data.groupby(['group_age','Sex'],as_index=False).mean().loc[:,['group_age','Sex','Survived']]
f, (ax1, ax2,ax3) = plt.subplots(1, 3,figsize=(15,7))
g = sns.barplot(x="group_age", y="Survived", hue="Sex", data=df,ax=ax1)
ax1.set_title('Survival by Age and Sex')
#finding mean Survival rate grouped by 'group_age'.
data2 = data.groupby(['group_age'],as_index=False).mean().loc[:,['group_age','Survived']]
h = sns.barplot(x="group_age",y='Survived', data=data2,ax=ax2)
ax2.set_title('Survival by Age')
#finding mean Survival rate grouped by 'group_age'.
data3 = data.groupby(['group_age'],as_index=False).count().loc[:,['group_age','Survived']]
hh = sns.barplot(x="group_age",y='Survived', data=data3,ax=ax3)
ax3.set_title('Age distribution in Ship')
ax3.set_ylabel('Age Distribution')
for ax in f.axes:
plt.sca(ax)
plt.xticks(rotation=90)
plt.tight_layout()
plt.show()
data_C=data.groupby(['Category',"Pclass"]).mean()
data_C.sort("Survived")["Survived"]
From the above values we can see that the survival rate is increasing from top to bottom. And the from the plot we can see the distribution of survival rate among men ,women and children,based on class.
We observe a order of survival rate based on Age ,Sex and Class:
| children and women of upper class |
|---|
| children and women of middle class |
| women of lower class |
| children of lower class |
| men of upper class |
| finally men of the middle class and lower class have least survival rate |
The analysis seems that , A female with upper social-economic standing (first class) and Children,had the best chance of survival. Age did not seem to be a major factor.Man in third class, had the lowest chance of survival. Women and children of all classes, were mostly having a higher survival rate than men in general.
Limitations:


In general, external file modifications will be detected immediately in the Config
object when a watcher thread is enabled (explained later).
Otherwise, they are detected when a commit is performed.
The Config object maintains an in-memory record of all changes that have been applied to it
through getters and setters.
When the underlying file changes, the new contents are loaded and the in-memory changes are then
applied to the new configuration.
This provides the benefits of real-time updates of configurations while not losing any changes made in the JVM.
If the commit() method is called on the Config objects after the file system
contents have been modified, we will then reload the configuration from the file system, apply the
changes, and then try to save to the file system again (up to 10 times).
If the same entry is both internally and externally modified, the external modification will be
overwritten (although both change events will be seen by listeners).


After days of hushed chanting that “the sky and Government betrayed” him, Baga Paik, Nabarangpur, Odisha left behind his three sons and a loving wife, he killed himself and compelled to do so, whether Damodar Rout, a veteran ruling BJD leader believes it or not. Once Dr. Rout said: ‘Chasi Marena, Adivasi Bhika Magena’ (Neither the farmers suicide nor the tribes are beggars) but what happened in the case of Baga Paik, crushed by debt and took his life out of sheer desperation who had a loan of 56 thousand rupees for cotton farming. I protested a 12-hour sit-in fast in front of dead body to support emotionally to family where SHG members were demanding to recover loan. Parameswar Nayak, Mayurbhanj had moderately large – 3 acres of farming field where he put his heart and hard work into farming. That’s why he couldn’t take the pain of crop failures and accumulating debt and putting his life to death. There are many such instance of farmers commit suicides in Odisha and that even at staggering rate. Odisha farmers hardly grow cash crops but paddy farmers extortionate rates of interest charged by moneylenders is seen as one of the major reasons driving farmers to despair, while Andhra Pradesh, Telangana, Maharastra farmers grow cash crops.
Agriculture land with irrigation facilities in Odisha is very low compared to other States. While 98 per cent of agriculture land is irrigated in Punjab, in Odisha it is very less amount of land has irrigation facilities. Despite promising irrigation to at least 35 per cent of the cultivable land in the state since it came to power 15 years ago, the Naveen Patnaik government has failed to provide assured irrigation, not even a single acre of new land irrigated. It is still just about 14 per cent of the land is irrigated in Odisha. State Government is neglecting agriculture sector during the last 15 years. Odisha has been relegated to the position of second grade State as far as foodgrains production is concerned. The state is facing a severe drought, the government has adopted an anti-farmer approach . The total number of farmer suicides in the state crossed the 100-mark in 2015. However, the state government is denying it. Moreover, Chief Minister didn’t take precise steps to control farmer suicides. They are dying under burden of debt. Farmers continued to commit suicide even after announcement of a drought package by the state government as it was of no use.
The state government had targeted to provide Rs 5,500 crore cooperative loans to farmers during Kharif, only Rs 436 crore loans were made available. Small and marginal farmers as well as share croppers were deprived of getting loans from government agencies, they were forced to take loan from money-lenders at very high rate of interest, adding crop failure and inability to repay loan were prime reasons of suicide by farmers. Farmers’ suicide had scripted a dark chapter in Odisha’s history.
Rather than spending afterwards on relief package to deal with farmer suicides, it will be better to take preventive measures to control this crisis. The preventive measures should be addressed on both social and economic fronts. In this connection, the importance of financial literacy, education, counselling, and medical services cannot be over-emphasised for addressing social causes. However, economic causes leading to erosion in farm income need to be taken up with a sense of urgency. Farm income is exposed to both production and market risks.Hence the real amar ladoo is in getting the farmers ready to face the ruthlessness of a globalized market where everyother country is heavily subsidizing its agriculture to ensure food security, else hapless farmers will keep on dying and people like me will be protesting on the streets.
Written with inputs from Sanjay Kumar Bissoyi.


Cadbury's secret Santa postbox is back so you can send chocolate for free
Christmas is less than a month away (26 days, but who’s counting).
Cadbury is already getting in the festive spirit with the return of its Secret Santa Postal Service, which lets you send chocolate to a friend or family member free of charge.
From 11am to 7pm today only, swing by Riverside West on the South Bank to choose from several flavours of Cadbury and then pop the treat into the purple postbox, and make a loved one smile.
It’s also the perfect opportunity to send a gift to someone you’ve had your eye on, or someone you don’t even like but know you need to get a present for (like your archenemy at work).
Both the service and the chocolate is free, with several flavours to choose from, including original Dairy Milk, Whole Nut, Caramel, Fruit & Nut and Oreo.
Advertisement Advertisement
Unlike Father Christmas, however, Cadbury has a limited reserve – it’s first come, first served.
Get in there fast if you fancy it, as more than 50,000 chocolate bars have already been sent off.
If you’re feeling Grinch-y, there’s nothing stopping you from sending the treats to yourself, though Santa might put you on his naughty list.
In other Christmas news, swing by Covent Garden if you’re after a seasonal experience this December.
Tiffany & Co has just opened an ice rink themed after New York City’s Central Park, with huge replicas of the well-known blue boxes, as well as trees, snow and an ice globe scattered around Covent Garden.
‘Covent Garden is one of the most magical places in London during the Christmas season and we’re delighted to welcome the Tiffany & Co Winter Wonderland to the estate this year,’ said Michelle McGrath, director of Covent Garden.
The space opened yesterday and will run until 1 December, before reopening again from 12 December until 24 December.


GET https://api.bring.com/booking/api/customers.json
https://api.bring.com/booking/api/customers.xml
This can mean that a required field or parameter has not been provided, the value supplied is invalid, or the combination of provided fields is invalid.
| Param | Type | Description | |
|---|---|---|---|
customers
|
Array |
A list of your customer numbers and the services attached to it | |
name
|
String |
The name of the customer account | |
customerNumber
|
String |
The customer UUID, prefixed with the name of the specialist e.g PARCELS_NORWAY, followed by the number | |
countryCode
|
String |
Countrycode in ISO 3166-1 alfa-2 format | |
products
|
Array |
A list of the services that are available to this customer number |
A failed response when the request is unauthenticated


"A burnt child loves the fire," Oscar Wilde was once quoted as saying, and these six words aptly describe his own fatal attraction to the capricious young aristocrat Lord Alfred "Bosie" Douglas. It was a relationship that would ultimately destroy Wilde's career, his family and his health, and yet after all the damage was done, Wilde still sought shelter in Douglas' arms.
What was the appeal? According to "Wilde," adapted by Julian Mitchell from Richard Ellman's biography "Oscar Wilde," it seems to have been a combination of sheer romanticism and all-consuming masochism. As portrayed by the gifted Jude Law (Broadway's "Indiscretions," "Gattaca"), Douglas is almost painfully handsome and often charming. But he's also very much an overgrown rebellious adolescent, prone to temper tantrums and blistering verbal attacks on Wilde, whom Douglas seems to regard as both unworthy of him and also as the perfect weapon to use in his fight against his mad father, the Marquess of Queensberry (Tom Wilkinson).
By the time he met Douglas, Wilde (Stephen Fry) was already married, a father and a bright light in the London theater scene, thanks to the success of "Lady Windemere's Fan." He was also already regarded by polite society as a shady character because of his "dangerous" novel "The Picture of Dorian Gray."
In his lavish telling of a tragic story, director Brian Gilbert holds back very little. "Wilde" does not shy away from showing either Wilde and Douglas carousing in all-male brothels ("I do love you, Oscar, but variety is the spice of life," Douglas huffs as he leads Wilde in) or Wilde's voyeuristic habits.
The film also makes no attempt to conceal the walking paradox that was Wilde himself. Wilde's story "The Selfish Giant" becomes a recurring motif in the scenes showing Wilde's family life: Although he could write a lovely fable about the virtues of being generous, Wilde is depicted as a father too absorbed in his work and love affairs to pay much attention to his sons.
Even more pointedly, although the Irish-born author insists "all my life I've fought against the English vice, hypocrisy," Wilde refused to publicly admit his homosexuality, even going so far as to sue for libel after the Marquess wrote a note alleging he was a "sodomite." The lawsuit -- prompted, of course, by Douglas' hatred of his father -- would ultimately disgrace Wilde and everyone around him.
Fry brings the vulnerable soul beneath Wilde's scathing wit to the surface, making it clear that even though Wilde realized his relationship with Douglas was futile ("you're my catstrophe, my doom," he murmurs to Douglas between kisses) he was powerless to resist. Fry also captures Wilde's poise and imposing physical presence: He truly was the Selfish Giant, not the paunchy little man he's often portrayed as. Law, quickly becoming an actor to watch, has the necessary allure and off-putting petulance the character of Douglas requires, and Wilkinson is suitably frenzied as his bloodthirsty dad. James Sanford
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


Background Color: Change background color of canvas when you select a color.
Line Color: Change line color of polygon drawn on canvas when you select a color.
Step count: You can determine how much iteration must work on Koch algorithm which divides lines into sublines.
Import Canvas: You can import a canvas via a json file you already exported from another canvas.
Export Canvas: You can export the canvas you currently working on via a json file it will automatically downloaded when you click export button.


Indonesia Wants To Become A Tourist Destination For ‘Penis Enlargement Massages’
by Cameron Frew‘Yeah babe I’m just gonna pop out for a massage,’ said the man in Indonesia, with a grin from ear-to-ear.
Advertisements
In the Western world, there’s a method for every ailment. Paracetamol, Ibuprofen, Co-codamol, Piriton: from over-the-counter to prescribed medicine, there’s plenty of ways to help you.
However, Indonesia is a hub for alternative treatment: such as rubbing a coin on your skin to boost blood and oxygen circulation, or getting a massage to enlarge your manhood.
Advertisements
The country’s Minister of Health, Terawan Agus Putranto, declared earlier this week that Indonesia’s traditional forms of medicine should be put at the forefront of tourism to attract people from abroad.
As per Vice, Putranto told local media on Wednesday, November 20:
We must popularise the idea of traditional medicine for tourism. We have an incredible herbal medicine industry that no one knows about outside Indonesia. If we package it correctly, foreigners will be interested.
Among the treatments Putranto would like to promote, there’s Tongkat Ali (a type of leaf said to help boost athletic performance), Purwaceng (similar to viagra), and Mak Erot (penis enlargement massage).
There’s also Kerok, which – as per What’s New Indonesia – involves using ‘a coin and ointment to repetitively rub lines on an individual’s back so that the blood and oxygen circulation under the surface of the skin increases, which, in turn, releases wind from the body’.
Advertisements
The treatment leaves red lines on your back, which disappear after a few days – it’s said that the sicker a person is, the darker the lines will be.
Putranto added:
Don’t underestimate Kerok. If we had 100 rooms and it takes 20 minutes per person, imagine how much revenue that would generate. There are many other cultural gems that we have not exploited because we take them for granted. But to foreigners, it’s something intriguing.

Advertisements
Well, the evidence isn’t exactly extensive. Back in 2011, as per Healthline, men who used Andropenis stretching device six hours a day for four months saw an increase of between 1.8 to 3.1 centimetres in length.
While there’s no harm in stretching exercises, it would appear that achieving a permanent enlargement is much more difficult than a temporary increase.
Either that, or you can get one hell of a massage in Indonesia.
After graduating from Glasgow Caledonian University with an NCTJ and BCTJ-accredited Multimedia Journalism degree, Cameron ventured into the world of print journalism at The National, while also working as a freelance film journalist on the side, becoming an accredited Rotten Tomatoes critic in the process. He’s now left his Scottish homelands and took up residence at UNILAD as a journalist.


WAG THE DOG (1997)
A film review by Steve Kong Copyright 1998 Steve Kong
Ever wonder what happens behind the scenes with Presidential spin control? What happens when a President -- who's up for re-election in a few days -- does something really horrible? How do you deal with this problem? Confront the problem head on? Attack the problem from the side? No, hire a spin control artist and just make people forget about the problem all together.
The President in Wag the Dog has a 17% lead in the polls. But, he has done something wrong. Something completely wrong that will send his 17% lead down the toilet. What's he done? Did he kill someone? Did he steal something? Political policy gone awry? No, think Girl Scout -- actually, Firefly girl. Think young.
So, what's a top Presidential aide, Winifred Ames (Anne Henche), going to do? Bring in the best spin doctor around, Conrad Bream (Robert De Niro). Bream has an idea on how to control the situation -- just steer the attention away from the Firefly girl for long enough to get the President re-elected. And what better to get the attention of the American people than a war? Bream contacts a Hollywood producer, Stanley Motss (Dustin Hoffman), about producing a war. Motss likes the idea and is willing to produce the war. And from here the US goes to war with Albania.
 How Hollywood and politics really do hold hands together. But, it goes a bit farther than that, Wag the Dog shows how Hollywood, politics, and the media in general are holding hands with each other. This is an intelligent film that has something for us to think about, but all the while not burdening us too hard with it.
The actors in Wag the Dog seem to be having a great time.  De Niro gets to play a brilliant and intelligent man who is out to help the President. And he does a great job with this. Henche, coming off her awful performance in I Know What You Did Last Summer, does a great job with her part as the Presidential aide who is willing to do just about anything to get the President re-elected. And Hoffman is just superb as Hollywood producer Motss. Among these leads are many cameos throughout the film which are absolutely hilarious to see. Among the cameos is Kirsten Dunst as an Albanian girl in some news footage, Denis Leary as some sort of creative guy, Willie Nelson as a musical guy, William H. Macy as a CIA guy, Craig T. Nelson as the Presidential opponent, Woody Harrelson as a military guy, and James Belushi as himself.
The script by Hilary Henkin and David Mamet is intelligent and funny. The direction by Barry Levinson is steady. And worth mentioning is the wonderful music by Mark Knopfler. The only nitpicking that I have about the film is the spotty camera work. Most of the camera work is great with the exception of a few shots which just feel wrong -- to be specific there are some quick zooms that felt out of place.
Wag the Dog is definitely a Don't Miss Film. I found myself laughing out loud, along with the audience, during most of the film. The performances are great and the cameos are even better. And you'll want to see the film to find out why dogs wag their tails.
--- steve kong<EMAIL_ADDRESS>find the latest movie reviews at the hard boiled movie page http://boiled.sbay.org/boiled/
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 content %}
You have been invited with email {{ email }} to join this workplace {{ workplace }}, please signup to join
Sign up


Techign Summit
Certificate Generator
Name
Validation Code
Download Certificate
Download your participation certificate.


The REPLACE keyword can be used to completely replace documents in a collection. On a single server, the replace operation is executed transactionally in an all-or-nothing fashion.
If the RocksDB engine is used and intermediate commits are enabled, a query may execute intermediate transaction commits in case the running transaction (AQL query) hits the specified size thresholds. In this case, the query's operations carried out so far will be committed and not rolled back in case of a later abort/rollback. That behavior can be controlled by adjusting the intermediate commit settings for the RocksDB engine.
For sharded collections, the entire query and/or replace operation may not be transactional, especially if it involves different shards and/or database servers.
Each REPLACE operation is restricted to a single collection, and the collection name must not be dynamic. Only a single REPLACE statement per collection is allowed per AQL query, and it cannot be followed by read or write operations that access the same collection, by traversal operations, or AQL functions that can read documents. The system attributes _id, _key and _rev cannot be replaced, _from and _to can.
The two syntaxes for a replace operation are:
REPLACE document IN collection options
REPLACE keyExpression WITH document IN collection options
collection must contain the name of the collection in which the documents should be replaced. document is the replacement document. When using the first syntax, document must also contain the _key attribute to identify the document to be replaced.
FOR u IN users
REPLACE { _key: u._key, name: CONCAT(u.firstName, u.lastName), status: u.status } IN users
The following query is invalid because it does not contain a _key attribute and thus it is not possible to determine the documents to be replaced:
FOR u IN users
REPLACE { name: CONCAT(u.firstName, u.lastName, status: u.status) } IN users
When using the second syntax, keyExpression provides the document identification. This can either be a string (which must then contain the document key) or a document, which must contain a _key attribute.
The following queries are equivalent:
FOR u IN users
REPLACE { _key: u._key, name: CONCAT(u.firstName, u.lastName) } IN users
FOR u IN users
REPLACE u._key WITH { name: CONCAT(u.firstName, u.lastName) } IN users
FOR u IN users
REPLACE { _key: u._key } WITH { name: CONCAT(u.firstName, u.lastName) } IN users
FOR u IN users
REPLACE u WITH { name: CONCAT(u.firstName, u.lastName) } IN users
A replace will fully replace an existing document, but it will not modify the values of internal attributes (such as _id, _key, _from and _to). Replacing a document will modify a document's revision number with a server-generated value.
A replace operation may update arbitrary documents which do not need to be identical to the ones produced by a preceding FOR statement:
FOR i IN 1..1000
REPLACE CONCAT('test', i) WITH { foobar: true } IN users
FOR u IN users
FILTER u.active == false
REPLACE u WITH { status: 'inactive', name: u.name } IN backup
options can be used to suppress query errors that may occur when trying to replace non-existing documents or when violating unique key constraints:
FOR i IN 1..1000
REPLACE { _key: CONCAT('test', i) } WITH { foobar: true } IN users OPTIONS { ignoreErrors: true }
To make sure data are durable when a replace query returns, there is the waitForSync query option:
FOR i IN 1..1000
REPLACE { _key: CONCAT('test', i) } WITH { foobar: true } IN users OPTIONS { waitForSync: true }
In order to not accidentially overwrite documents that have been updated since you last fetched
them, you can use the option ignoreRevs to either let ArangoDB compare the _rev
value and only
succeed if they still match, or let ArangoDB ignore them (default):
FOR i IN 1..1000
REPLACE { _key: CONCAT('test', i), _rev: "1287623" } WITH { foobar: true } IN users OPTIONS { ignoreRevs: false }
The modified documents can also be returned by the query. In this case, the REPLACE
statement must be followed by a RETURN
statement (intermediate LET
statements are
allowed, too). The OLD
pseudo-value can be used to refer to document revisions before
the replace, and NEW
refers to document revisions after the replace.
Both OLD
and NEW
will contain all document attributes, even those not specified
in the replace expression.
REPLACE document IN collection options RETURN OLD
REPLACE document IN collection options RETURN NEW
REPLACE keyExpression WITH document IN collection options RETURN OLD
REPLACE keyExpression WITH document IN collection options RETURN NEW
Following is an example using a variable named previous
to return the original
documents before modification. For each replaced document, the document key will be
returned:
FOR u IN users
REPLACE u WITH { value: "test" }
IN users
LET previous = OLD
RETURN previous._key
The following query uses the NEW
pseudo-value to return the replaced
documents (without some of their system attributes):
FOR u IN users
REPLACE u WITH { value: "test" } IN users
LET replaced = NEW
RETURN UNSET(replaced, '_key', '_id', '_rev')


Featured On
WEBINAR: Kick-Starting your AI Journey with ai4impact X MyEduSolve
x
F(un)employment Series
MyEduSolve Podcast
#KenalanYuk Series
MyEduSolve Event Picks
National Championship Highlight
Our Products
Follow Us On


Bug summary:
cannot calculate BMI
Observed Behavior (a description of what happened with the app):
no result generate after type in values
Expected Behavior (a description of what you expected to happen):
get BMI
Steps to Reproduce (the steps to reproduce the problem):
1. open the app
2. type in the height and weight
3. calculate BMI
Additional information:
Attachments:


climate yield crop attainable yields current change areas Supplementary production analogue changes global cropland area {border-style Fig. SED analogues future px;} regions #ffffff;} Climate results wheat climates large models potential soil crops projections rice data harvested projected water calculated climatic likely maize method used [CO agricultural major mean However, University [], adaptation choice food land present-day use Global Institute Note approach carbon change. grid-cell increase increases intensification period px; suitable technology {font-family Nat. actual available cereal climate, effects font-size high impacts maize, management mid-century model new particularly reference strong value vulnerable Mueller Table annual assess climatically croplands double; drawn effect given growing growth important irrigation location rice, set similar yields, (Methods Change GCM Model RCP Research USA analysis assessments based border-color border-width crops, distribution existing however, imply is, limited low maximum-attainable necessary need number rainfed scenario simulations solid; strongly substantially suitability tropics variable vulnerability wheat, year yields. {font-style {font-weight Acad. Assessment Crop Environ. Fifth Figs Group Natl Nature Proc. Res. Sci. Science West Working area, bold ca. calculate considering courier; dominant economic efforts em; end-of-century ensemble fundamentally gaps generally greater grid-cells identify including intensify knowledge land-use locations magnitude mid-century, modelling northern novel poleward positive possible precipitation precipitation, project pt;} qualitatively reductions respectively, soils substantial taken terrain threshold unless unsuitable using values variability vary whilst yield,


String
struct String
-
Converts a plain ol’ integer index into a
String.IndexType
.Declaration
Swift
public func index(_ i: Int) -> IndexType
Parameters
i
a zero-based character index into this string.
returns
Return Value
a String.IndexType for the same character position.
-
Inserts a new element at a given index in this string.
Declaration
Swift
public mutating func insert(_ newElement: Character, at i: Int)
Parameters
newElement
the character to be added
i
an index into the string 0 <= i <= self.count
-
Inserts the contents of sequence at a given index in this string.
Declaration
Swift
public mutating func insert<S>(contentsOf: S, at i: Int) where S:Collection, S.Iterator.Element == Character
Parameters
newElement
the character to be added
i
an index into the string 0 <= i <= self.count
-
Replaces a range of characters in this string with a given sequence.
Declaration
Swift
public mutating func replaceSubrange<C>(_ subrange: CountableRange<Int>, with newElements:C) where C : Collection, Character == C.Iterator.Element
Parameters
subrange
the range of characters to be replaced
newElements
the replacement sequence
-
Replaces a closed range of characters in this string with a given sequence.
Declaration
Swift
public mutating func replaceSubrange<C>(_ subrange: CountableClosedRange<Int>, with newElements:C) where C : Collection, Character == C.Iterator.Element
Parameters
subrange
the range of characters to be replaced
newElements
the replacement sequence
-
Removes a character at a given index and returns the character
- at: the index of the character to be removed
Declaration
Swift
@discardableResult public mutating func remove(at: Int) -> Character
Return Value
the removed character
-
Removes a closed range of characters from this string
- subrange: the index of the character to be removed
Declaration
Swift
public mutating func removeSubrange(_ subrange: CountableClosedRange<Int>)
-
Removes a range of characters from this string
- subrange: the index of the character to be removed
Declaration
Swift
public mutating func removeSubrange(_ subrange: CountableRange<Int>)
-
The number of characters in this string.
Declaration
Swift
public var count: Int
-
Removes and returns the first character of this string.
Declaration
Swift
@discardableResult public mutating func removeFirst() -> Character
Return Value
the removed character.
-
Removes a number of characters from the beginning of this string.
Declaration
Swift
public mutating func removeFirst(_ n: Int)
Parameters
n
the number of characters to remove
-
Removes a number of characters from the end of this string.
Declaration
Swift
public mutating func removeLast(_ n: Int)
Parameters
n
the number of characters to remove
-
Removes the last character from this string.
Declaration
Swift
@discardableResult public mutating func removeLast() -> Character
Return Value
the removed character
-
Returns the string obtained by removing the first character of this string
Declaration
Swift
public func dropFirst() -> SubstringType
Return Value
the substring of characters after the first character.
-
Returns the string obtained by removing the first
n
characters of this string.Declaration
Swift
public func dropFirst(_ n: Int) -> SubstringType
Parameters
n
the number of characters to remove.
-
Returns the string obtained by removing the last character of this string
Declaration
Swift
public func dropLast() -> SubstringType
Return Value
the substring of characters containing all but the last.
-
Returns the string obtained by removing the last
n
characters of this string.Declaration
Swift
public func dropLast(_ n: Int) -> SubstringType
Parameters
n
the number of characters to remove.


Deadly Locks Hair Boutique
About: John Waters
Current Clients
There are no clients for this stylist. Add one now
Add Client
First Name
Last Name
Update name
Remove stylist
Back
Home


1: /* 2: * Copyright 2001-2010 Stephen Colebourne 3: * 4: * Licensed under the Apache License, Version 2.0 (the "License"); 5: * you may not use this file except in compliance with the License. 6: * You may obtain a copy of the License at 7: * 8: * http://www.apache.org/licenses/LICENSE-2.0 9: * 10: * Unless required by applicable law or agreed to in writing, software 11: * distributed under the License is distributed on an "AS IS" BASIS, 12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13: * See the License for the specific language governing permissions and 14: * limitations under the License. 15: */ 16: package org.joda.time; 17: 18: import java.io.Serializable; 19: 20: import org.joda.convert.FromString; 21: import org.joda.time.base.BaseDuration; 22: import org.joda.time.field.FieldUtils; 23: 24: /** 25: * An immutable duration specifying a length of time in milliseconds. 26: *
 27: * A duration is defined by a fixed number of milliseconds. 28: * There is no concept of fields, such as days or seconds, as these fields can vary in length. 29: * A duration may be converted to a {@link Period} to obtain field values. 30: * This conversion will typically cause a loss of precision however. 31: *
 32: * Duration is thread-safe and immutable. 33: * 34: * @author Brian S O'Neill 35: * @author Stephen Colebourne 36: * @since 1.0 37: */ 38: public final class Duration 39: extends BaseDuration 40: implements ReadableDuration, Serializable { 41: 42: /** Constant representing zero millisecond duration */ 43: public static final Duration ZERO = new Duration(0L); 44: 45: /** Serialization version */ 46: private static final long serialVersionUID =<PHONE_NUMBER>918L; 47: 48: //----------------------------------------------------------------------- 49: /** 50: * Parses a {@code Duration} from the specified string. 51: *
 52: * This parses the format {@code PTa.bS}, as per {@link #toString()}. 53: * 54: * @param str the string to parse, not null 55: * @since 2.0 56: */ 57: @FromString 58: public static Duration parse(String str) { 59: return new Duration(str); 60: } 61: 62: //----------------------------------------------------------------------- 63: /** 64: * Create a duration with the specified number of days assuming that 65: * there are the standard number of milliseconds in a day. 66: *
 67: * This method assumes that there are 24 hours in a day, 68: * 60 minutes in an hour, 60 seconds in a minute and 1000 milliseconds in 69: * a second. This will be true for most days, however days with Daylight 70: * Savings changes will not have 24 hours, so use this method with care. 71: *
 72: * A Duration is a representation of an amount of time. If you want to express 73: * the concepts of 'days' you should consider using the {@link Days} class. 74: * 75: * @param days the number of standard days in this duration 76: * @return the duration, never null 77: * @throws ArithmeticException if the days value is too large 78: * @since 1.6 79: */ 80: public static Duration standardDays(long days) { 81: if (days == 0) { 82: return ZERO; 83: } 84: return new Duration(FieldUtils.safeMultiply(days, DateTimeConstants.MILLIS_PER_DAY)); 85: } 86: 87: /** 88: * Create a duration with the specified number of hours assuming that 89: * there are the standard number of milliseconds in an hour. 90: *
 91: * This method assumes that there are 60 minutes in an hour, 92: * 60 seconds in a minute and 1000 milliseconds in a second. 93: * All currently supplied chronologies use this definition. 94: *
 95: * A Duration is a representation of an amount of time. If you want to express 96: * the concepts of 'hours' you should consider using the {@link Hours} class. 97: * 98: * @param hours the number of standard hours in this duration 99: * @return the duration, never null 100: * @throws ArithmeticException if the hours value is too large 101: * @since 1.6 102: */ 103: public static Duration standardHours(long hours) { 104: if (hours == 0) { 105: return ZERO; 106: } 107: return new Duration(FieldUtils.safeMultiply(hours, DateTimeConstants.MILLIS_PER_HOUR)); 108: } 109: 110: /** 111: * Create a duration with the specified number of minutes assuming that 112: * there are the standard number of milliseconds in a minute. 113: *
 114: * This method assumes that there are 60 seconds in a minute and 115: * 1000 milliseconds in a second. 116: * All currently supplied chronologies use this definition. 117: *
 118: * A Duration is a representation of an amount of time. If you want to express 119: * the concepts of 'minutes' you should consider using the {@link Minutes} class. 120: * 121: * @param minutes the number of standard minutes in this duration 122: * @return the duration, never null 123: * @throws ArithmeticException if the minutes value is too large 124: * @since 1.6 125: */ 126: public static Duration standardMinutes(long minutes) { 127: if (minutes == 0) { 128: return ZERO; 129: } 130: return new Duration(FieldUtils.safeMultiply(minutes, DateTimeConstants.MILLIS_PER_MINUTE)); 131: } 132: 133: /** 134: * Create a duration with the specified number of seconds assuming that 135: * there are the standard number of milliseconds in a second. 136: *
 137: * This method assumes that there are 1000 milliseconds in a second. 138: * All currently supplied chronologies use this definition. 139: *
 140: * A Duration is a representation of an amount of time. If you want to express 141: * the concepts of 'seconds' you should consider using the {@link Seconds} class. 142: * 143: * @param seconds the number of standard seconds in this duration 144: * @return the duration, never null 145: * @throws ArithmeticException if the seconds value is too large 146: * @since 1.6 147: */ 148: public static Duration standardSeconds(long seconds) { 149: if (seconds == 0) { 150: return ZERO; 151: } 152: return new Duration(FieldUtils.safeMultiply(seconds, DateTimeConstants.MILLIS_PER_SECOND)); 153: } 154: 155: /** 156: * Create a duration with the specified number of milliseconds. 157: * 158: * @param millis the number of standard milliseconds in this duration 159: * @return the duration, never null 160: * @since 2.0 161: */ 162: public static Duration millis(long millis) { 163: if (millis == 0) { 164: return ZERO; 165: } 166: return new Duration(millis); 167: } 168: 169: //----------------------------------------------------------------------- 170: /** 171: * Creates a duration from the given millisecond duration. 172: * 173: * @param duration the duration, in milliseconds 174: */ 175: public Duration(long duration) { 176: super(duration); 177: } 178: 179: /** 180: * Creates a duration from the given interval endpoints. 181: * 182: * @param startInstant interval start, in milliseconds 183: * @param endInstant interval end, in milliseconds 184: * @throws ArithmeticException if the duration exceeds a 64 bit long 185: */ 186: public Duration(long startInstant, long endInstant) { 187: super(startInstant, endInstant); 188: } 189: 190: /** 191: * Creates a duration from the given interval endpoints. 192: * 193: * @param start interval start, null means now 194: * @param end interval end, null means now 195: * @throws ArithmeticException if the duration exceeds a 64 bit long 196: */ 197: public Duration(ReadableInstant start, ReadableInstant end) { 198: super(start, end); 199: } 200: 201: /** 202: * Creates a duration from the specified object using the 203: * {@link org.joda.time.convert.ConverterManager ConverterManager}. 204: * 205: * @param duration duration to convert 206: * @throws IllegalArgumentException if duration is invalid 207: */ 208: public Duration(Object duration) { 209: super(duration); 210: } 211: 212: //----------------------------------------------------------------------- 213: /** 214: * Gets the length of this duration in days assuming that there are the 215: * standard number of milliseconds in a day. 216: *
 217: * This method assumes that there are 24 hours in a day, 218: * 60 minutes in an hour, 60 seconds in a minute and 1000 milliseconds in 219: * a second. This will be true for most days, however days with Daylight 220: * Savings changes will not have 24 hours, so use this method with care. 221: *
 222: * This returns getMillis() / MILLIS_PER_DAY. 223: * The result is an integer division, thus excess milliseconds are truncated. 224: * 225: * @return the length of the duration in standard seconds 226: * @since 2.0 227: */ 228: public long getStandardDays() { 229: return getMillis() / DateTimeConstants.MILLIS_PER_DAY; 230: } 231: 232: /** 233: * Gets the length of this duration in hours assuming that there are the 234: * standard number of milliseconds in an hour. 235: *
 236: * This method assumes that there are 60 minutes in an hour, 237: * 60 seconds in a minute and 1000 milliseconds in a second. 238: * All currently supplied chronologies use this definition. 239: *
 240: * This returns getMillis() / MILLIS_PER_HOUR. 241: * The result is an integer division, thus excess milliseconds are truncated. 242: * 243: * @return the length of the duration in standard seconds 244: * @since 2.0 245: */ 246: public long getStandardHours() { 247: return getMillis() / DateTimeConstants.MILLIS_PER_HOUR; 248: } 249: 250: /** 251: * Gets the length of this duration in minutes assuming that there are the 252: * standard number of milliseconds in a minute. 253: *
 254: * This method assumes that there are 60 seconds in a minute and 255: * 1000 milliseconds in a second. 256: * All currently supplied chronologies use this definition. 257: *
 258: * This returns getMillis() / 60000. 259: * The result is an integer division, thus excess milliseconds are truncated. 260: * 261: * @return the length of the duration in standard seconds 262: * @since 2.0 263: */ 264: public long getStandardMinutes() { 265: return getMillis() / DateTimeConstants.MILLIS_PER_MINUTE; 266: } 267: 268: /** 269: * Gets the length of this duration in seconds assuming that there are the 270: * standard number of milliseconds in a second. 271: *
 272: * This method assumes that there are 1000 milliseconds in a second. 273: * All currently supplied chronologies use this definition. 274: *
 275: * This returns getMillis() / 1000. 276: * The result is an integer division, so 2999 millis returns 2 seconds. 277: * 278: * @return the length of the duration in standard seconds 279: * @since 1.6 280: */ 281: public long getStandardSeconds() { 282: return getMillis() / DateTimeConstants.MILLIS_PER_SECOND; 283: } 284: 285: //----------------------------------------------------------------------- 286: /** 287: * Get this duration as an immutable Duration object 288: * by returning this. 289: * 290: * @return this 291: */ 292: public Duration toDuration() { 293: return this; 294: } 295: 296: /** 297: * Converts this duration to a period in days assuming that there are the 298: * standard number of milliseconds in a day. 299: *
 300: * This method assumes that there are 24 hours in a day, 301: * 60 minutes in an hour, 60 seconds in a minute and 1000 milliseconds in 302: * a second. This will be true for most days, however days with Daylight 303: * Savings changes will not have 24 hours, so use this method with care. 304: * 305: * @return a period representing the number of standard days in this period, never null 306: * @throws ArithmeticException if the number of days is too large to be represented 307: * @since 2.0 308: */ 309: public Days toStandardDays() { 310: long days = getStandardDays(); 311: return Days.days(FieldUtils.safeToInt(days)); 312: } 313: 314: /** 315: * Converts this duration to a period in hours assuming that there are the 316: * standard number of milliseconds in an hour. 317: *
 318: * This method assumes that there are 60 minutes in an hour, 319: * 60 seconds in a minute and 1000 milliseconds in a second. 320: * All currently supplied chronologies use this definition. 321: * 322: * @return a period representing the number of standard hours in this period, never null 323: * @throws ArithmeticException if the number of hours is too large to be represented 324: * @since 2.0 325: */ 326: public Hours toStandardHours() { 327: long hours = getStandardHours(); 328: return Hours.hours(FieldUtils.safeToInt(hours)); 329: } 330: 331: /** 332: * Converts this duration to a period in minutes assuming that there are the 333: * standard number of milliseconds in a minute. 334: *
 335: * This method assumes that there are 60 seconds in a minute and 336: * 1000 milliseconds in a second. 337: * All currently supplied chronologies use this definition. 338: * 339: * @return a period representing the number of standard minutes in this period, never null 340: * @throws ArithmeticException if the number of minutes is too large to be represented 341: * @since 2.0 342: */ 343: public Minutes toStandardMinutes() { 344: long minutes = getStandardMinutes(); 345: return Minutes.minutes(FieldUtils.safeToInt(minutes)); 346: } 347: 348: /** 349: * Converts this duration to a period in seconds assuming that there are the 350: * standard number of milliseconds in a second. 351: *
 352: * This method assumes that there are 1000 milliseconds in a second. 353: * All currently supplied chronologies use this definition. 354: * 355: * @return a period representing the number of standard seconds in this period, never null 356: * @throws ArithmeticException if the number of seconds is too large to be represented 357: * @since 1.6 358: */ 359: public Seconds toStandardSeconds() { 360: long seconds = getStandardSeconds(); 361: return Seconds.seconds(FieldUtils.safeToInt(seconds)); 362: } 363: 364: //----------------------------------------------------------------------- 365: /** 366: * Creates a new Duration instance with a different milisecond length. 367: * 368: * @param duration the new length of the duration 369: * @return the new duration instance 370: */ 371: public Duration withMillis(long duration) { 372: if (duration == getMillis()) { 373: return this; 374: } 375: return new Duration(duration); 376: } 377: 378: /** 379: * Returns a new duration with this length plus that specified multiplied by the scalar. 380: * This instance is immutable and is not altered. 381: *
 382: * If the addition is zero, this instance is returned. 383: * 384: * @param durationToAdd the duration to add to this one 385: * @param scalar the amount of times to add, such as -1 to subtract once 386: * @return the new duration instance 387: */ 388: public Duration withDurationAdded(long durationToAdd, int scalar) { 389: if (durationToAdd == 0 || scalar == 0) { 390: return this; 391: } 392: long add = FieldUtils.safeMultiply(durationToAdd, scalar); 393: long duration = FieldUtils.safeAdd(getMillis(), add); 394: return new Duration(duration); 395: } 396: 397: /** 398: * Returns a new duration with this length plus that specified multiplied by the scalar. 399: * This instance is immutable and is not altered. 400: *
 401: * If the addition is zero, this instance is returned. 402: * 403: * @param durationToAdd the duration to add to this one, null means zero 404: * @param scalar the amount of times to add, such as -1 to subtract once 405: * @return the new duration instance 406: */ 407: public Duration withDurationAdded(ReadableDuration durationToAdd, int scalar) { 408: if (durationToAdd == null || scalar == 0) { 409: return this; 410: } 411: return withDurationAdded(durationToAdd.getMillis(), scalar); 412: } 413: 414: //----------------------------------------------------------------------- 415: /** 416: * Returns a new duration with this length plus that specified. 417: * This instance is immutable and is not altered. 418: *
 419: * If the addition is zero, this instance is returned. 420: * 421: * @param amount the duration to add to this one 422: * @return the new duration instance 423: */ 424: public Duration plus(long amount) { 425: return withDurationAdded(amount, 1); 426: } 427: 428: /** 429: * Returns a new duration with this length plus that specified. 430: * This instance is immutable and is not altered. 431: *
 432: * If the amount is zero, this instance is returned. 433: * 434: * @param amount the duration to add to this one, null means zero 435: * @return the new duration instance 436: */ 437: public Duration plus(ReadableDuration amount) { 438: if (amount == null) { 439: return this; 440: } 441: return withDurationAdded(amount.getMillis(), 1); 442: } 443: 444: /** 445: * Returns a new duration with this length minus that specified. 446: * This instance is immutable and is not altered. 447: *
 448: * If the addition is zero, this instance is returned. 449: * 450: * @param amount the duration to take away from this one 451: * @return the new duration instance 452: */ 453: public Duration minus(long amount) { 454: return withDurationAdded(amount, -1); 455: } 456: 457: /** 458: * Returns a new duration with this length minus that specified. 459: * This instance is immutable and is not altered. 460: *
 461: * If the amount is zero, this instance is returned. 462: * 463: * @param amount the duration to take away from this one, null means zero 464: * @return the new duration instance 465: */ 466: public Duration minus(ReadableDuration amount) { 467: if (amount == null) { 468: return this; 469: } 470: return withDurationAdded(amount.getMillis(), -1); 471: } 472: 473: }
| ID | Line | Type | Detected |
|---|---|---|---|
| 17321 | 81 | Replace a constant (Replace 0 with -1(LONG)) | |
| 17320 | 81 | Replace a constant (Replace 0 with 1(LONG)) | |
| 17322 | 81 | Negate jump condition (Replace IFNE with IFEQ) | |
| 17325 | 84 | Replace a constant (Replace 86400000 with 86399999(INT)) | |
| 17324 | 84 | Replace a constant (Replace 86400000 with 86400001(INT)) | |
| 17323 | 84 | Replace a constant (Replace 86400000 with 0(INT)) | |
| 17326 | 84 | Remove method call | |
| 17328 | 104 | Replace a constant (Replace 0 with -1(LONG)) | |
| 17327 | 104 | Replace a constant (Replace 0 with 1(LONG)) | |
| 17329 | 104 | Negate jump condition (Replace IFNE with IFEQ) | |
| 17331 | 107 | Replace a constant (Replace 3600000 with 3600001(INT)) | |
| 17330 | 107 | Replace a constant (Replace 3600000 with 0(INT)) | |
| 17332 | 107 | Replace a constant (Replace 3600000 with 3599999(INT)) | |
| 17333 | 107 | Remove method call | |
| 17334 | 127 | Replace a constant (Replace 0 with 1(LONG)) | |
| 17335 | 127 | Replace a constant (Replace 0 with -1(LONG)) | |
| 17336 | 127 | Negate jump condition (Replace IFNE with IFEQ) | |
| 17339 | 130 | Replace a constant (Replace 60000 with 60001(INT)) | |
| 17338 | 130 | Replace a constant (Replace 60000 with 0(INT)) | |
| 17337 | 130 | Replace a constant (Replace 60000 with 59999(INT)) | |
| 17340 | 130 | Remove method call | |
| 17342 | 149 | Replace a constant (Replace 0 with -1(LONG)) | |
| 17341 | 149 | Replace a constant (Replace 0 with 1(LONG)) | |
| 17343 | 149 | Negate jump condition (Replace IFNE with IFEQ) | |
| 17345 | 152 | Replace a constant (Replace 1000 with 0(INT)) | |
| 17346 | 152 | Replace a constant (Replace 1000 with 999(INT)) | |
| 17344 | 152 | Replace a constant (Replace 1000 with 1001(INT)) | |
| 17347 | 152 | Remove method call | |
| 17348 | 163 | Replace a constant (Replace 0 with 1(LONG)) | |
| 17349 | 163 | Replace a constant (Replace 0 with -1(LONG)) | |
| 17350 | 163 | Negate jump condition (Replace IFNE with IFEQ) | |
| 17352 | 229 | Replace a constant (Replace 86400000 with 0(LONG)) | |
| 17354 | 229 | Replace a constant (Replace 86400000 with 86399999(LONG)) | |
| 17353 | 229 | Replace a constant (Replace 86400000 with 86400001(LONG)) | |
| 17355 | 229 | Replace arithmetic operator (Replace LDIV with LMUL) | |
| 17351 | 229 | Remove method call | |
| 17357 | 247 | Replace a constant (Replace 3600000 with 0(LONG)) | |
| 17359 | 247 | Replace a constant (Replace 3600000 with 3599999(LONG)) | |
| 17358 | 247 | Replace a constant (Replace 3600000 with 3600001(LONG)) | |
| 17360 | 247 | Replace arithmetic operator (Replace LDIV with LMUL) | |
| 17356 | 247 | Remove method call | |
| 17364 | 265 | Replace a constant (Replace 60000 with 60001(LONG)) | |
| 17362 | 265 | Replace a constant (Replace 60000 with 59999(LONG)) | |
| 17363 | 265 | Replace a constant (Replace 60000 with 0(LONG)) | |
| 17365 | 265 | Replace arithmetic operator (Replace LDIV with LMUL) | |
| 17361 | 265 | Remove method call | |
| 17367 | 282 | Replace a constant (Replace 1000 with 1001(LONG)) | |
| 17369 | 282 | Replace a constant (Replace 1000 with 999(LONG)) | |
| 17368 | 282 | Replace a constant (Replace 1000 with 0(LONG)) | |
| 17370 | 282 | Replace arithmetic operator (Replace LDIV with LMUL) | |
| 17366 | 282 | Remove method call | |
| 17371 | 310 | Remove method call | |
| 17372 | 311 | Remove method call | |
| 17373 | 311(1) | Remove method call | |
| 17374 | 327 | Remove method call | |
| 17375 | 328 | Remove method call | |
| 17376 | 328(1) | Remove method call | |
| 17377 | 344 | Remove method call | |
| 17378 | 345 | Remove method call | |
| 17379 | 345(1) | Remove method call | |
| 17380 | 360 | Remove method call | |
| 17381 | 361 | Remove method call | |
| 17382 | 361(1) | Remove method call | |
| 17384 | 372 | Negate jump condition (Replace IFNE with IFEQ) | |
| 17383 | 372 | Remove method call | |
| 17386 | 389 | Replace a constant (Replace 0 with -1(LONG)) | |
| 17385 | 389 | Replace a constant (Replace 0 with 1(LONG)) | |
| 17387 | 389 | Negate jump condition (Replace IFEQ with IFNE) | |
| 17388 | 389(1) | Negate jump condition (Replace IFNE with IFEQ) | |
| 17389 | 392 | Remove method call | |
| 17390 | 393 | Remove method call | |
| 17391 | 393(1) | Remove method call | |
| 17392 | 408 | Negate jump condition (Replace IFNULL with IFNONNULL) | |
| 17393 | 408(1) | Negate jump condition (Replace IFNE with IFEQ) | |
| 17394 | 411 | Remove method call | |
| 17395 | 411(1) | Remove method call | |
| 17397 | 425 | Replace a constant (Replace 1 with 0(INT)) | |
| 17396 | 425 | Replace a constant (Replace 1 with 2(INT)) | |
| 17398 | 425 | Remove method call | |
| 17399 | 438 | Negate jump condition (Replace IFNONNULL with IFNULL) | |
| 17401 | 441 | Replace a constant (Replace 1 with 2(INT)) | |
| 17402 | 441 | Replace a constant (Replace 1 with 0(INT)) | |
| 17400 | 441 | Remove method call | |
| 17403 | 441(1) | Remove method call | |
| 17404 | 454 | Replace a constant (Replace -1 with 0(INT)) | |
| 17405 | 454 | Replace a constant (Replace -1 with -2(INT)) | |
| 17406 | 454 | Remove method call | |
| 17407 | 467 | Negate jump condition (Replace IFNONNULL with IFNULL) | |
| 17409 | 470 | Replace a constant (Replace -1 with 0(INT)) | |
| 17410 | 470 | Replace a constant (Replace -1 with -2(INT)) | |
| 17408 | 470 | Remove method call | |
| 17411 | 470(1) | Remove method call |