These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.
Aliyun OSS is widely used among China’s cloud users and this work implemented a new Hadoop compatible filesystem AliyunOSSFileSystem with oss scheme, similar to the s3a and azure support.
Log InvalidTokenException at trace level in DataXceiver#run().
Users:
In Apache Hadoop 3.0.0-alpha1, verification required environment variables with the format of HADOOP_(subcommand)_USER where subcommand was lowercase applied globally. This changes the format to be (command)_(subcommand)_USER where all are uppercase to be consistent with the _OPTS functionality as well as being able to set per-command options. Additionally, the check is now happening sooner, which should make it faster to fail.
Developers:
This changes hadoop_verify_user to require the program’s name as part of the function call. This is incompatible with Apache Hadoop 3.0.0-alpha1.
Introduces a new configuration property, yarn.resourcemanager.amlauncher.log.command. If this property is set to true, then the AM command being launched will be masked in the RM log.
The original implementation of HDFS ACLs applied the client’s umask to the permissions when inheriting a default ACL defined on a parent directory. This behavior is a deviation from the POSIX ACL specification, which states that the umask has no influence when a default ACL propagates from parent to child. HDFS now offers the capability to ignore the umask in this case for improved compliance with POSIX. This change is considered backward-incompatible, so the new behavior is off by default and must be explicitly configured by setting dfs.namenode.posix.acl.inheritance.enabled to true in hdfs-site.xml. Please see the HDFS Permissions Guide for further details.
Users: * Ability to set per-command+sub-command options from the command line. * Makes daemon environment variable options consistent across the project. (See deprecation list below) * HADOOP_CLIENT_OPTS is now honored for every non-daemon sub-command. Prior to this change, many sub-commands did not use it.
Developers: * No longer need to do custom handling for options in the case section of the shell scripts. * Consolidates all _OPTS handling into hadoop-functions.sh to enable future projects. * All daemons running with secure mode features now get _SECURE_EXTRA_OPTS support.
_OPTS Changes:
| Old | New |
|---|---|
| HADOOP_BALANCER_OPTS | HDFS_BALANCER_OPTS |
| HADOOP_DATANODE_OPTS | HDFS_DATANODE_OPTS |
| HADOOP_DN_SECURE_EXTRA_OPTS | HDFS_DATANODE_SECURE_EXTRA_OPTS |
| HADOOP_JOB_HISTORYSERVER_OPTS | MAPRED_HISTORYSERVER_OPTS |
| HADOOP_JOURNALNODE_OPTS | HDFS_JOURNALNODE_OPTS |
| HADOOP_MOVER_OPTS | HDFS_MOVER_OPTS |
| HADOOP_NAMENODE_OPTS | HDFS_NAMENODE_OPTS |
| HADOOP_NFS3_OPTS | HDFS_NFS3_OPTS |
| HADOOP_NFS3_SECURE_EXTRA_OPTS | HDFS_NFS3_SECURE_EXTRA_OPTS |
| HADOOP_PORTMAP_OPTS | HDFS_PORTMAP_OPTS |
| HADOOP_SECONDARYNAMENODE_OPTS | HDFS_SECONDARYNAMENODE_OPTS |
| HADOOP_ZKFC_OPTS | HDFS_ZKFC_OPTS |
Conf HTTP service should set response’s content type according to the Accept header in the request.
WARNING: No release note provided for this change.
WARNING: No release note provided for this change.
The configuration dfs.encryption.key.provider.uri is deprecated. To configure key provider in HDFS, please use hadoop.security.key.provider.path.
A new protobuf field added to RemoteEditLogManifest was mistakenly marked as required. This changes the field to optional, preserving compatibility with 2.x releases but breaking compatibility with 3.0.0-alpha1.
The remaining classes in the org.apache.hadoop.hdfs.client package have been moved from hadoop-hdfs to hadoop-hdfs-client.
Changed Apache Kafka dependency from kafka-2.10 to kafka-clients in hadoop-kafka module.
S3A now provides a working implementation of the FileSystem#createNonRecursive method.
If pipeline recovery fails due to expired encryption key, attempt to refresh the key and retry.
Jackson 1.9.13 dependency was removed from hadoop-tools module.
The default value of yarn.app.mapreduce.client.job.max-retries has been changed from 0 to 3. This will help protect clients from failures that are transient. True failures may take slightly longer now due to the retries.
Disk usage summaries previously incorrectly counted files twice if they had been renamed (including files moved to Trash) since being snapshotted. Summaries now include current data plus snapshotted data that is no longer under the directory either due to deletion or being moved outside of the directory.
This changes the config var cycle detection introduced in 3.0.0-alpha1 by HADOOP-6871 such that it detects single-variable but not multi-variable loops. This also fixes resolution of multiple specifications of the same variable in a config value.
WARNING: No release note provided for this change.
EC policy is now stored in the “system” extended attribute namespace rather than “raw”. This means the EC policy extended attribute is no longer directly accessible by users or preserved across a distcp that preserves raw extended attributes.
Users can instead use HdfsAdmin#setErasureCodingPolicy and HdfsAdmin#getErasureCodingPolicy to set and get the EC policy for a path.
The maximum applications the RM stores in memory and in the state-store by default has been lowered from 10,000 to 1,000. This should ease the pressure on the state-store. However, installations relying on the default to be 10,000 are affected.
If root path / is an encryption zone, the old DistributedFileSystem#getTrashRoot(new Path(“/”)) returns /user/$USER/.Trash which is a wrong behavior. The correct value should be /.Trash/$USER
The unused method getTrashCanLocation has been removed. This method has long been superceded by FileSystem#getTrashRoot.
Bump HTrace version from 4.0.1-incubating to 4.1.0-incubating.
The BookkeeperJournalManager implementation has been removed. Users are encouraged to use QuorumJournalManager instead.
Added permissions to the fs stat command. They are now available as symbolic (%A) and octal (%a) formats, which are in line with Linux.
WARNING: No release note provided for this change.
This mechanism replaces the (experimental) fast output stream of Hadoop 2.7.x, combining better scalability options with instrumentation. Consult the S3A documentation to see the extra configuration operations.
An unnecessary dependency on hadoop-mapreduce-client-shuffle in hadoop-mapreduce-client-jobclient has been removed.
Change FileSystem#listStatus contract to never return null. Local filesystems prior to 3.0.0 returned null upon access error. It is considered erroneous. We should expect FileSystem#listStatus to throw IOException upon access error.
kms-audit.log used to show an UNAUTHENTICATED message even for successful operations, because of the OPTIONS HTTP request during SPNEGO initial handshake. This message brings more confusion than help, and has hence been removed.
Improves the error message when datanode removes a replica which is not found.
Fsck now reports whether a file is replicated and erasure-coded. If it is replicated, fsck reports replication factor of the file. If it is erasure coded, fsck reports the erasure coding policy of the file.
Fixed a bug that made fsck -list-corruptfileblocks counts corrupt erasure coded files incorrectly.
DockerContainerExecutor is deprecated starting 2.9.0 and removed from 3.0.0. Please use LinuxContainerExecutor with the DockerRuntime to run Docker containers on YARN clusters.
This provides a native implementation of XOR codec by leveraging Intel ISA-L library function to achieve a better performance.
Bump the version of third party dependency jaxb-api to 2.2.11.
Interface classes has been changed to Abstract class to maintain consistency across all other protos.
This issue fixes a bug in how resources are evicted from the PUBLIC and PRIVATE yarn local caches used by the node manager for resource localization. In summary, the caches are now properly cleaned based on an LRU policy across both the public and private caches.
HDFS audit logs are formatted as individual lines, each of which has a few of key-value pair fields. Some of the values come from client request (e.g. src, dst). Before this patch the control characters including \t \n etc are not escaped in audit logs. That may break lines unexpectedly or introduce additional table character (in the worst case, both) within a field. Tools that parse audit logs had to deal with this case carefully. After this patch, the control characters in the src/dst fields are escaped.
Hadoop’s javadoc jars should be significantly smaller, and contain only javadoc.
As a related cleanup, the dummy hadoop-dist-* jars are no longer generated as part of the build.
FileSystem#getDefaultUri will throw IllegalArgumentException if default FS has no scheme and can not be fixed.
“getTrashRoot” returns a trash root for a path. Currently in DFS if the path “/foo” is a normal path, it returns “/user/$USER/.Trash” for “/foo” and if “/foo” is an encrypted zone, it returns “/foo/.Trash/$USER” for the child file/dir of “/foo”. This patch is about to override the old “getTrashRoot” of httpfs and webhdfs, so that the behavior of returning trash root in httpfs and webhdfs are consistent with DFS.
Removed jackson 1.9.13 dependency from hadoop-hdfs-project module.
This change reverts YARN-5567 from 3.0.0-alpha1. The exit codes of the health check script are once again ignored.
Strict validations will be done for mandatory parameters for WebHDFS REST requests.
ViewFileSystem#getServerDefaults(Path) throws NotInMountException instead of FileNotFoundException for unmounted path.
The hadoop fs -ls command now prints “Permission denied” rather than “No such file or directory” when the user doesn’t have permission to traverse the path.
Load last partial chunk checksum properly into memory when converting a finalized/temporary replica to rbw replica. This ensures concurrent reader reads the correct checksum that matches the data before the update.
This change reverts YARN-5287 from 3.0.0-alpha1. chmod clears the set-group-ID bit of a regular file hence folder was getting reset with the rights.
Bump commons-configuration version from 1.6 to 2.1
We are sorry for causing pain for everyone for whom this Jackson update causes problems, but it was proving impossible to stay on the older version: too much code had moved past it, and by staying back we were limiting what Hadoop could do, and giving everyone who wanted an up to date version of Jackson a different set of problems. We’ve selected Jackson 2.7.8 as it fixed fix a security issue in XML parsing, yet proved compatible at the API level with the Hadoop codebase –and hopefully everything downstream.
Jackson 1.9.13 dependency was removed from hadoop-yarn-project.
The dependency on the AWS SDK has been bumped to 1.11.45.
The default sync interval within new SequenceFile writes is now 100KB, up from the older default of 2000B. The sync interval is now also manually configurable via the SequenceFile.Writer API.
This introduced a new erasure coding policy named XOR-2-1-64k using the simple XOR codec, and it can be used to evaluate HDFS erasure coding feature in a small cluster (only 2 + 1 datanodes needed). The policy isn’t recommended to be used in a production cluster.
As part of this patch, the Google test framework code was updated to v1.8.0
Removed Jackson 1.9.13 dependency from hadoop-common module.
Tomcat 6.0.46 starts to filter weak ciphers. Some old SSL clients may be affected. It is recommended to upgrade the SSL client. Run the SSL client against https://www.howsmyssl.com/a/check to find out its TLS version and cipher suites.
The default value of “dfs.namenode.fs-limits.max-blocks-per-file” has been reduced from 1M to 10K.
A reencryptEncryptedKey interface is added to the KMS, to re-encrypt an encrypted key with the latest version of encryption key.
Jackson 1.9.13 dependency was removed from hadoop-maven-plugins module.
hadoop-mapreduce-client-core module now creates and distributes test jar.
The DataNode and NameNode MXBean interfaces have been marked as Private and Stable to indicate that although users should not be implementing these interfaces directly, the information exposed by these interfaces is part of the HDFS public API.
The fix for HDFS-11056 reads meta file to load last partial chunk checksum when a block is converted from finalized/temporary to rbw. However, it did not close the file explicitly, which may cause number of open files reaching system limit. This jira fixes it by closing the file explicitly after the meta file is read.
The hadoop-client Maven artifact available in 2.x releases pulls Hadoop’s transitive dependencies onto a Hadoop application’s classpath. This can be problematic if the versions of these transitive dependencies conflict with the versions used by the application.
HADOOP-11804 adds new hadoop-client-api and hadoop-client-runtime artifacts that shade Hadoop’s dependencies into a single jar. This avoids leaking Hadoop’s dependencies onto the application’s classpath.
Fixed a race condition that caused VolumeScanner to recognize a good replica as a bad one if the replica is also being written concurrently.
The following environment variables are deprecated. Set the corresponding configuration properties instead.
| Environment Variable | Configuration Property | Configuration File |
|---|---|---|
| KMS_HTTP_PORT | hadoop.kms.http.port | kms-site.xml |
| KMS_MAX_HTTP_HEADER_SIZE | hadoop.http.max.request.header.size and hadoop.http.max.response.header.size | kms-site.xml |
| KMS_MAX_THREADS | hadoop.http.max.threads | kms-site.xml |
| KMS_SSL_ENABLED | hadoop.kms.ssl.enabled | kms-site.xml |
| KMS_SSL_KEYSTORE_FILE | ssl.server.keystore.location | ssl-server.xml |
| KMS_SSL_KEYSTORE_PASS | ssl.server.keystore.password | ssl-server.xml |
| KMS_TEMP | hadoop.http.temp.dir | kms-site.xml |
These default HTTP Services have been added.
| Name | Description |
|---|---|
| /conf | Display configuration properties |
| /jmx | Java JMX management interface |
| /logLevel | Get or set log level per class |
| /logs | Display log files |
| /stacks | Display JVM stacks |
| /static/index.html | The static home page |
The JMX path has been changed from /kms/jmx to /jmx.
Script kms.sh has been deprecated, use hadoop kms instead. The new scripts are based on the Hadoop shell scripting framework. hadoop daemonlog is supported. SSL configurations are read from ssl-server.xml.
Added two configuration key fs.ftp.data.connection.mode and fs.ftp.transfer.mode, and configure FTP data connection mode and transfer mode accordingly.
WARNING: No release note provided for this change.
Apache Hadoop is now able to switch to the appropriate user prior to launching commands so long as the command is being run with a privileged user and the appropriate set of _USER variables are defined. This re-enables sbin/start-all.sh and sbin/stop-all.sh as well as fixes the sbin/start-dfs.sh and sbin/stop-dfs.sh to work with both secure and unsecure systems.
This patch removes share/hadoop/{hadoop,hdfs,mapred,yarn}/templates directories and contents.
A workaround to avoid dependency conflict with Spark2, before a full classpath isolation solution is implemented. Skip instantiating a Timeline Service client if encountering NoClassDefFoundError.
Hadoop now supports integration with Azure Data Lake as an alternative Hadoop-compatible file system. Please refer to the Hadoop site documentation of Azure Data Lake for details on usage and configuration.


 Enumerable methods can also be chained allowing several methods to work on the same object in the same line, instead of giving each method it's own line. These advantages allow code to be much more concise, elegant and readable, giving Ruby it's reputation for "glittery" code. Let's take a look below at two code snippets that accomplish the same function.
for x in 0...array.length
puts array[x]
end
array.each { |x| puts x }
On the top-left is a standard for loop iterating through an entire array and on the top-right is the Enumerable method #each that does the exact same. It almost seems like the for loop is obsolete because the enumerable method is much easier to read and obviously much more elegant. There are a few isolated instances where loops are used, but in Ruby these enumerable methods are vastly preferred.
The Enumerable#map method accepts a block of code and manipulates each element therein. The methods #map and #collect are exactly the same method except with a different name. The #map method returns a new array filled with whatever the block returned and #map! returns the mutated original array.
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
array.map { |x| print "#{x * x} " }
=> 1 4 9 16 25 36 49 64 81 100
The Enumerable#group_by method essentially breaks and regroups a collection of objects into different groups based on some user-given criteria. It iterates through the block and returns a hash with the key being a boolean and the value being the array of data matching the criteria.
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
puts array.group_by { |x| x > 5}
=> {false=>[1, 2, 3, 4, 5], true=>[6, 7, 8, 9, 10]}
The Enumerable#cycle method cycles through a collection of objects n amount of times. The method will run infinitely if n is set at nil or no value is set at all. If the user sets a non-positive number or does not set a value then the method does nothing. infinitely until the user sets some kind of break condition.
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
array.cycle { |x| print "#{x} " }
=> 1 2 3 4 5 6 7 8 9 10......


cases virus province Western aged respondents study Table fever provinces males samples IgG Yellow Zambia years (.%) North-Western confirmed infection positive reported risk recent survey IgM antibodies conducted females laboratory prevalence sample using vaccination yellow Fever age current having history level persons population previous results survey. total Available Central Health IgG-positive Laboratory North-western PRNT accessed adults attained from: infection. mean months received recruited sampling sero-prevalence seropositive size travelled < (.% Angola Balovale Nile Senegal West YFV analysis area areas children data determine education endemic field flaviviruses mosquitoes number older outside participants potential province. provinces. rates tested viral virus-specific weeks years.


Using file_puts_content(); or similar functions
<?$file = fopen("./lib/xxx.php","w");fwrite($file,"<?phpinfo()?>");fclose($file);phpinfo();?>


Welcome to TraveLux
Please type in a city in the search bar to gain access to the weather. If you want to see what suggested hotels are good for the area and/or the best restaurants in your requested city then fear not! We have a filtered search on the top right corner! We hope you enjoy and find our services well worth your LUXury.


Keywords
Searching for specific words or phrases can be a tedious process for large files. Ctrl+F is a simple solution for when you know the exact word that you want, but what happens when the problem is more complex than that? How can you highlight words that belong to an umbrella category? TAG aims to solve this problem.


Gospel Star, Diana Antwi-Hamilton Shows Off Twin Children As They Mark 9th Birthday
by Ghbase New WriterGospel musician, Diana Antwi-Hamilton has shared a photo of her twin children as they mark their 9th birthday today- December 9.
The award winning artists penned a heartfelt message to express her profound gratitude for having such rare species in her life while bestowing onto them all the good things life has to offer.
She posted;
“9 years ago, you both came into my life and everything changed for the better. I got to be called mother. My joy increased and hasn’t stopped.
Happy birthday to my amazing children M & M Now on this note, I pray for everyone requiring fruitfulness in any area of their lives. You shall abound in every good thing. In Jesus name!”


White asbestos lines many Indonesian buildings and health experts fear a coming cancer 'explosion'
by Anne BarkerAustralia has long since banned the use and import of deadly asbestos. But on our doorstep, builders and factories across Indonesia are still using asbestos in massive volumes, oblivious to the danger.
Key points:
- Indonesia is the second-biggest asbestos importer in the world
- Up to 10 per cent of all buildings in Indonesia contain white asbestos
- The Government says it's up to the building industry to stop using it
The World Health Organisation (WHO) has warned of an 'epidemic' of asbestos-related diseases in South-East Asia.
Yet as more and more countries ban the lethal substance, a powerful industry lobby group is doubling down on efforts to promote one form of asbestos as safe and expand its market in Indonesia and South-East Asia.
The group even claims that chrysotile — commonly known as white asbestos — dissolves in the lungs after 14 days.
About 10 per cent of Indonesian homes have roofs made from white asbestos, a proven carcinogen that can cause cancers including mesothelioma and several other diseases.
The danger is all the more disturbing in a country with the world's fourth-biggest population, and where earthquakes and landslides regularly turn buildings to rubble.
Indonesia says asbestos is like tobacco: it may cause cancer but it isn't banned.
But while smoking is a personal choice, most Indonesians, including workers at 27 asbestos factories across the country, are unaware of the danger of the building material.
Sriyono, 46, who goes by one name, is the public face of Indonesia's impending 'explosion' of asbestos victims.
For 25 years, he worked at an asbestos factory south of Jakarta to support his wife and three children.
His long years of loyalty earned him no gold watch. Instead, he got terminal lung cancer.
Today, Sriyono can no longer work.
The cancer has stripped much of his body weight and strength.
He weighs just 37 kilograms. Once young and fit, he is now skeletal.
"My chest feels so narrow and I can't breathe properly. When I try to do anything active, I get physically tired very easily," he said.
Sriyono is the only Indonesian to have received compensation for asbestos-related disease.
But for him, the $7,200 payment is paltry consolation.
"I'm very angry," he said.
"Until the day I resigned, the company didn't care, they showed me no compassion, they paid no attention. We didn't have proper safety gear. The safety wasn't up to standard."
The danger lurking in Indonesia's homes
A short walk from Sriyono's house shows the shocking extent of asbestos use in Indonesia.
In street after street, houses were covered with roofs of white asbestos sheeting.
In one yard, a piece of broken asbestos lay across a family's water well. Children played nearby.
At another house, the roof sloped so low, residents draped their clothing over it to dry in the sun.
In many homes, asbestos sheeting was broken or worn. Asbestos chips littered the ground.
Indonesia is today the second-biggest asbestos importer in the world, after India.
Approximately 115,000 tonnes of chrysotile a year are used — mostly to produce roof sheeting because of its fire-resistance and durability.
By far the biggest obstacle to a ban on asbestos in Indonesia is the powerful industry lobby group actively pushing to expand its market in the region.
More than 75 per cent of total global consumption of asbestos is now in Asia.
The Chrysotile Information Centre (CIC), based in Bangkok, represents asbestos workers and producers in the world's two big exporting nations, Russia and Kazakhstan.
Not only has the CIC been determined to block efforts to ban chrysotile in Indonesia and other Asian markets, it also actively promotes white asbestos as a safe product.
The CIC argues the manufacturing process is the only area of potential risk, and that this risk can be "controlled" through the use of the right technology.
In a video on its YouTube channel, the CIC claims chrysotile, unlike brown and blue asbestos, "dissolves" in the lungs within a fortnight.
"If it got into the body it will dissolve by itself within two weeks and it would not harm human health," the video states.
The CIC has claimed white asbestos is the "safest commercial fibre."
"The controlled use of chrysotile asbestos and its products is safe for both workers and consumers. Those who oppose chrysotile have no convincing arguments to support banning the mineral," the CIC said.
Yet years of medical research have proven chrysotile can cause any of the diseases related to asbestos exposure.
The ABC contacted CIC for comment, but was yet to receive a response.
Indonesia faces 'huge potential explosion' in disease
International research suggests that for every 20 tonnes of asbestos used, one person will eventually die.
At that rate, almost 6,000 Indonesians a year could potentially develop an asbestos-related cancer.
But a dearth of public information and education means workers and residents have no idea of the health risk.
A campaign by workers' rights groups and the medical profession is hoping to change that.
Local organisations are working with international groups, including Australia's ACTU and APHEDA-Union Aid Abroad, to raise public awareness about asbestos.
They are also lobbying the Indonesian Government to ban its use and importation altogether.
Indonesia's Government said it was aware of the potential danger from asbestos, but said it was the industry itself that needed to be convinced of the need to stop using it.
"Indonesia has huge potential for an explosion of the number of people with exposure to asbestos or asbestos-related disease," said Muhammad Darisman from Indonesia Ban Asbestos Network.
"Ninety per cent is in disaster-prone areas. Asbestos is a dangerous substance when it breaks."
One major challenge in Indonesia is the lack of diagnostic tools to determine how many people already have an asbestos-related disease.
Currently, asbestosis and the thickening of the lung lining can be confirmed through CT scans.
But most of the cancers caused by asbestos can only be confirmed with concrete evidences of exposures to asbestos in the lung tissues or with work histories, which are rarely available in many developing countries.
"We don't have the equipment to make a diagnosis and medical doctors aren't trained to diagnose mesothelioma," said Dr Anna Suraya from the Occupational Doctors Association of Indonesia.
Only six Indonesians, including Sriyono, have been confirmed as having an asbestos-related disease.
Why is white asbestos still legal?
So far, 66 countries including Australia have banned all forms of asbestos.
Canada, once a major exporter, finally banned it last year. Vietnam and Laos are working towards a ban.
International workers' groups have fought for years to have white asbestos listed on the UN's Rotterdam Convention, which regulates the import and export of hazardous chemicals and pesticides.
This would force Russia and other exporters to warn countries like Indonesia if they are buying a dangerous product.
The Convention's own scientific panel recommends white asbestos be listed because of its carcinogenic properties.
But Russia and key allies including Kazakhstan, India, Syria and Cuba, have continually used their power of veto to block the motion since the Rotterdam Convention came into force in 2004.
To bolster its claims that white asbestos is safe, the CIC lobby group has used the fact the substance is not listed.
Australian Phillip Hazelton of APHEDA-Union Aid Abroad, has accused the CIC of deliberately manipulating information to distort the truth.
"The Rotterdam Convention has been hijacked as a chrysotile-asbestos-promotion tool," he said.
"[It] is actually … providing this highly hazardous substance a 'clean bill of health'."
'There's an increase of activity in my lungs'
Asbestos is dangerous for humans for the very reason it was considered a miracle material in building construction: its fibres cannot be burnt or broken down.
The fibres can become stuck in the lungs, and then spread to other organs.
The World Health Organisation's policy on asbestos is unequivocal.
"All forms of asbestos, including chrysotile, are carcinogenic to humans, causing mesothelioma and cancer of the lung, larynx and ovary," the WHO states on its website.
The latest research from the Global Burden of Disease study suggests asbestos is killing more than 220,000 people globally each year.
"Even where it is appropriately regulated, chrysotile-containing building products … release asbestos fibres during the course of building maintenance, demolition … and as a consequence of natural disasters," the WHO said.
Sriyono says doctors have not told him how many years he has left to live.

Contrary to the CIC's claim, there is zero chance his lungs could dissolve the chrysotile fibres in his body.
"They tell me … I have a type of cancer that will get worse over time," Sriyono said.
"Last year I did another medical check-up and the result from the CT scan showed there's an increase of activity in my lungs."
Anti-asbestos groups say thousands — perhaps even tens of thousands — more Indonesians will develop asbestos-related diseases.
But unlike Sriyono, most may never know it was caused by asbestos.


Interface Vector
-
- All Superinterfaces:
java.lang.Cloneable
,java.io.Serializable
- All Known Implementing Classes:
ArrayVector
public interface Vector extends java.lang.Cloneable, java.io.Serializable
The Vector interface. The known implementation is ArrayVector.- Since:
- 1.0.0
- Author:
- Mehul Katpara
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
Vector.Angle
When you work with angles there are two options to get an angle either in degrees or in radian.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Vector
add(java.lang.Number scalar)
The method performs the scalar addition on the vector.Vector
add(java.util.List<Vector> vectors)
The method will add a list of vectors to the current vector.Vector
add(Vector vector)
The method will add a vector to the current vector.double
angle(Vector vector, Vector.Angle angle)
The method returns the angle between two vectors.double
angle(Vector vector, Vector.Angle angle, Rounding.POINT point)
The method returns the angle between two vectors.Vector
cross(Vector vector)
The method returns the cross product of two vectors.double
dot(Vector vector)
The method will return a dot product of two vectors.double
dot(Vector vector, Rounding.POINT point)
The method will return a dot product of two vectors.double[]
getCosines(Vector.Angle angle)
The method calculates the cosines with respect to their dimensional axioms.double[]
getCosines(Vector.Angle angle, Rounding.POINT point)
The method calculates the cosines with respect to their dimensional axioms.int
getDimension()
A dimension of a vector is determined based on the number of elements it holds.double
getMagnitude()
The magnitude of a vector, also known as "norm", is square root of the sum all the vector elements powered by 2.double
getMagnitude(Rounding.POINT point)
The magnitude of a vector, also known as "norm", is square root of the sum all the vector elements powered by 2.Vector
inverse()
The method will return the inverse vector.boolean
isOrthogonal(Vector vector)
If the given vector is orthogonal to the current vector, then it returns true; otherwise it would be false.boolean
isParallel(Vector vector)
If the given vector is parallel to the current vector then it returns the factor; otherwise it will be -1.double
scalarProjection(Vector vector)
The method calculates the scalar project of a given vector onto the current vector.double
scalarProjection(Vector vector, Rounding.POINT point)
The method calculates the scalar project of a given vector onto the current vector.Vector
scale(double scalar)
The method will scale the vector by the given value.Vector
subtract(Vector vector)
The method will subtract a vector from the current vector.java.lang.Number[]
toArray()
The method returns the elements of a vector as an array.java.util.List<java.lang.Number>
toList()
The method returns the elements of a vector as a list ofNumber
.Vector
transpose(int dimension)
The method will transpose vector to another dimension.Vector
vectorProjection(Vector vector)
The method calculates the vector project of a given vector onto the current vector.Vector
vectorRejection(Vector vector)
The method will return a rejection vector from the the given vector.
-
-
-
Method Detail
-
getDimension
int getDimension()
A dimension of a vector is determined based on the number of elements it holds. Such as, a two-dimensional vector could be represented as, (v1, v12); the same as an n-dimensional vector can be represented as (v1, v2,...., vn), where n belongs to the set of natural numbers "N".Many vector operations are dimension dependant, such as addition, subtraction, and multiplication. Which requires two vectors must be in the same dimension.
- Returns:
- the dimension of the vector
-
getMagnitude
double getMagnitude()
The magnitude of a vector, also known as "norm", is square root of the sum all the vector elements powered by 2. A magnitude of a vector is represented by the length of a vector and written as |V| for vector V.For n-dimensional vector, the magnitude is defined as; |v| = sqrt(v1^2 + v2^2 + ... + vn^2).
- Returns:
- the magnitude of the vector
-
getMagnitude
double getMagnitude(Rounding.POINT point)
The magnitude of a vector, also known as "norm", is square root of the sum all the vector elements powered by 2. A magnitude of a vector is represented by the length of a vector and written as |V| for vector V.For n-dimensional vector, the magnitude is defined as; |v| = sqrt(v1^2 + v2^2 + ... + vn^2).
- Parameters:
point
- the value round up to the given decimal point see,Rounding.POINT
- Returns:
- the magnitude of the vector
-
getCosines
double[] getCosines(Vector.Angle angle)
The method calculates the cosines with respect to their dimensional axioms. The number of elements in the returned array will be equal to the number of dimensions.- Parameters:
angle
- The angle, seeVector.Angle
- Returns:
- an array of cosines with respect to axiom.
-
getCosines
double[] getCosines(Vector.Angle angle, Rounding.POINT point)
The method calculates the cosines with respect to their dimensional axioms. The number of elements in the returned array will be equal to the number of dimensions.- Parameters:
angle
- the angle, seeVector.Angle
point
- the rounding point- Returns:
- an array of cosines with respect to axiom.
-
toArray
java.lang.Number[] toArray()
The method returns the elements of a vector as an array.- Returns:
- the array of
Number
-
toList
java.util.List<java.lang.Number> toList()
The method returns the elements of a vector as a list ofNumber
.- Returns:
- the list of
Number
-
isOrthogonal
boolean isOrthogonal(Vector vector)
If the given vector is orthogonal to the current vector, then it returns true; otherwise it would be false.Orthogonality is known as a vector that is perpendicular to the given matrix, i.e. if the vector makes the 90 degrees angle with the current matrix.
- Parameters:
vector
- the vector to check orthogonality- Returns:
- true if it's orthogonal
-
isParallel
boolean isParallel(Vector vector)
If the given vector is parallel to the current vector then it returns the factor; otherwise it will be -1.The parallel vectors have the same direction but different magnitudes, which means the given vector is scaled up or down in the same or opposite direction of the current vector.
If a vector V1 = (v1, v2, ... , vn), and a vector W = (w1, w2, ..., wn); where n belongs to the set of Integers. Then the parallel vectors can be written as; W = a(V); where a is a constant (here "the factor"). i.e (w1, w2, ..., wn) = (av1, av2, ..., avn)
- Parameters:
vector
- the vector to check parallelism- Returns:
- if it's parallel then returns true
-
angle
double angle(Vector vector, Vector.Angle angle)
The method returns the angle between two vectors. The second parameter can be true/false, depending on if you want the angle in degrees (true) or in radian (false).- Parameters:
vector
- the another vector to calculateangle
- the angle either in degree or radian, See,Vector.Angle
- Returns:
- the angle in degrees or radian.
-
angle
double angle(Vector vector, Vector.Angle angle, Rounding.POINT point)
The method returns the angle between two vectors. The second parameter can be true/false, depending on if you want the angle in degrees (true) or in radian (false).- Parameters:
vector
- the another vector to calculateangle
- the angle either in degree or radian, See,Vector.Angle
point
- the decimal point you want to round up to- Returns:
- the angle in degrees or radian.
-
inverse
Vector inverse()
The method will return the inverse vector. The inverse vector satisfy the following equation: V + inverse(V) = 0 (Zero Vector).- Returns:
- the inverse vector
-
scale
Vector scale(double scalar)
The method will scale the vector by the given value. Please not, this operation is mutable.- Parameters:
scalar
- the scalar you want to scale the vector with. if:- scalar > 1 -> The scaled vector will be scaled up in the same direction.
- 0 < scalar < 1 -> The scaled vector is shrunk in the same direction.
- scalar = 0 -> The scaled vector becomes a zero vector.
- -1 < scalar < 0 -> The scaled vector is shrunk but in the opposite direction.
- scalar < -1 -> The scaled vector is scaled up but in the opposite direction.
- Returns:
- the self vector but scaled by the given number.
-
transpose
Vector transpose(int dimension)
The method will transpose vector to another dimension. If the given dimension is less then 2 or the same as the vector's dimension then the method will throwInvalidVectorDimensionException
exception.If I have a two-dimensional vector V = (x, y) and if I transpose the dimension to the 5th dimension then the resulting vector will be, (x, y, 0, 0, 0); the same as if I have a 4-dimensional vector v = (x, y, z, t) and if I try to transpose the vector to the 2nd dimension then the resulting vector will be (x, y).
- Parameters:
dimension
- the dimension to be transposed to- Returns:
- the transposed vector
- Throws:
InvalidVectorDimensionException
- when the given dimension is less than 2 or the same as the given vector dimension
-
add
Vector add(java.lang.Number scalar)
The method performs the scalar addition on the vector.- Parameters:
scalar
- the scalar to add- Returns:
- a resulting vector
-
add
Vector add(Vector vector)
The method will add a vector to the current vector. In order to add another vector, both vectors must in the same dimension.- Parameters:
vector
- the vector to be added- Returns:
- the resulting vector
- Throws:
InvalidVectorDimensionException
- if the vectors have different dimensions
-
add
Vector add(java.util.List<Vector> vectors)
The method will add a list of vectors to the current vector. In order to vectors from the list, all vectors must in the same dimension.- Parameters:
vectors
- the list of vector- Returns:
- the resulting vector
- Throws:
InvalidVectorDimensionException
- if the vectors have different dimensions
-
subtract
Vector subtract(Vector vector)
The method will subtract a vector from the current vector. In order to subtract another vector, both vectors must in the same dimension.- Parameters:
vector
- the vector to be subtracted- Returns:
- the resulting vector
-
dot
double dot(Vector vector)
The method will return a dot product of two vectors. If both vectors are on different dimensions thenInvalidVectorDimensionException
exception is thrown.- Parameters:
vector
- the second vector- Returns:
- the resulting dot product
- Throws:
InvalidVectorDimensionException
- when both products are on different dimensions.
-
dot
double dot(Vector vector, Rounding.POINT point)
The method will return a dot product of two vectors. If both vectors are on different dimensions thenInvalidVectorDimensionException
exception is thrown.- Parameters:
vector
- the second vectorpoint
- the rounding point,Rounding.POINT
- Returns:
- the resulting dot product
- Throws:
InvalidVectorDimensionException
- when both products are on different dimensions.
-
cross
Vector cross(Vector vector)
The method returns the cross product of two vectors. A cross product of two vectors if a new vector, this new vector is perpendicular to both vectors.Please note: if two vectors M and N is given then; M x N != N x M When you switch an order, the resulting vector would be in the opposite direction.
If given vectors are not in 3 dimensions then,
InvalidVectorDimensionException
is thrown.- Parameters:
vector
- the second 3 dimensional vector- Returns:
- the cross product vector
- Throws:
InvalidVectorDimensionException
- when both vectors are in the third dimension.
-
scalarProjection
double scalarProjection(Vector vector)
The method calculates the scalar project of a given vector onto the current vector.Let this vector be V and the given vector be W. The scalar projection is defined as, dot(V, W) / magnitude(V)
- Parameters:
vector
- the projecting vector- Returns:
- the projected scalar
-
scalarProjection
double scalarProjection(Vector vector, Rounding.POINT point)
The method calculates the scalar project of a given vector onto the current vector.Let this vector be V and the given vector be W. The scalar projection is defined as, dot(V, W) / magnitude(V)
- Parameters:
vector
- the projecting vectorpoint
- the rounding point,Rounding.POINT
- Returns:
- the projected scalar
-
vectorProjection
Vector vectorProjection(Vector vector)
The method calculates the vector project of a given vector onto the current vector. This will produce another vector.Let this vector be V and the given vector be W. The vector projection is defined as, [dot(V, W) / magnitude(V)] x V
- Parameters:
vector
- the projecting vector- Returns:
- the projected scalar
-
-


COMPETENCY RELATED INFORMATION
6 of 12
We identified the following competency frameworks based on the job description and additional information you provided. Please select at least one competency framework to use (no more than three). The frameworks you select will help to determine the competency suggestions displayed next.


SELECT
Description
Spark supports a SELECT
statement and conforms to the ANSI SQL standard. Queries are
used to retrieve result sets from one or more tables. The following section
describes the overall query syntax and the sub-sections cover different constructs
of a query along with examples.
Syntax
[ WITH with_query [ , ... ] ]
select_statement [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select_statement, ... ]
[ ORDER BY { expression [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [ , ... ] } ]
[ SORT BY { expression [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [ , ... ] } ]
[ CLUSTER BY { expression [ , ... ] } ]
[ DISTRIBUTE BY { expression [, ... ] } ]
[ WINDOW { named_window [ , WINDOW named_window, ... ] } ]
[ LIMIT { ALL | expression } ]
While select_statement
is defined as
SELECT [ hints , ... ] [ ALL | DISTINCT ] { [ [ named_expression | regex_column_names ] [ , ... ] | TRANSFORM (...) ] }
FROM { from_item [ , ... ] }
[ PIVOT clause ]
[ LATERAL VIEW clause ] [ ... ]
[ WHERE boolean_expression ]
[ GROUP BY expression [ , ... ] ]
[ HAVING boolean_expression ]
Parameters
-
with_query
Specifies the common table expressions (CTEs) before the main query block. These table expressions are allowed to be referenced later in the FROM clause. This is useful to abstract out repeated subquery blocks in the FROM clause and improves readability of the query.
-
hints
Hints can be specified to help spark optimizer make better planning decisions. Currently spark supports hints that influence selection of join strategies and repartitioning of the data.
-
ALL
Select all matching rows from the relation and is enabled by default.
-
DISTINCT
Select all matching rows from the relation after removing duplicates in results.
-
named_expression
An expression with an assigned name. In general, it denotes a column expression.
Syntax:
expression [AS] [alias]
-
from_item
Specifies a source of input for the query. It can be one of the following:
- Table relation
- Join relation
- Table-value function
- Inline table
- Subquery
- File
-
PIVOT
The
PIVOT
clause is used for data perspective; We can get the aggregated values based on specific column value. -
LATERAL VIEW
The
LATERAL VIEW
clause is used in conjunction with generator functions such asEXPLODE
, which will generate a virtual table containing one or more rows.LATERAL VIEW
will apply the rows to each original output row. -
WHERE
Filters the result of the FROM clause based on the supplied predicates.
-
GROUP BY
Specifies the expressions that are used to group the rows. This is used in conjunction with aggregate functions (MIN, MAX, COUNT, SUM, AVG, etc.) to group rows based on the grouping expressions and aggregate values in each group. When a FILTER clause is attached to an aggregate function, only the matching rows are passed to that function.
-
HAVING
Specifies the predicates by which the rows produced by GROUP BY are filtered. The HAVING clause is used to filter rows after the grouping is performed. If HAVING is specified without GROUP BY, it indicates a GROUP BY without grouping expressions (global aggregate).
-
ORDER BY
Specifies an ordering of the rows of the complete result set of the query. The output rows are ordered across the partitions. This parameter is mutually exclusive with
SORT BY
,CLUSTER BY
andDISTRIBUTE BY
and can not be specified together. -
SORT BY
Specifies an ordering by which the rows are ordered within each partition. This parameter is mutually exclusive with
ORDER BY
andCLUSTER BY
and can not be specified together. -
CLUSTER BY
Specifies a set of expressions that is used to repartition and sort the rows. Using this clause has the same effect of using
DISTRIBUTE BY
andSORT BY
together. -
DISTRIBUTE BY
Specifies a set of expressions by which the result rows are repartitioned. This parameter is mutually exclusive with
ORDER BY
andCLUSTER BY
and can not be specified together. -
LIMIT
Specifies the maximum number of rows that can be returned by a statement or subquery. This clause is mostly used in the conjunction with
ORDER BY
to produce a deterministic result. -
boolean_expression
Specifies any expression that evaluates to a result type
boolean
. Two or more expressions may be combined together using the logical operators (AND
,OR
). -
expression
Specifies a combination of one or more values, operators, and SQL functions that evaluates to a value.
-
named_window
Specifies aliases for one or more source window specifications. The source window specifications can be referenced in the widow definitions in the query.
-
regex_column_names
When
spark.sql.parser.quotedRegexColumnNames
is true, quoted identifiers (using backticks) inSELECT
statement are interpreted as regular expressions andSELECT
statement can take regex-based column specification. For example, below SQL will only take columnc
:SELECT `(a|b)?+.+` FROM ( SELECT 1 as a, 2 as b, 3 as c )
-
TRANSFORM
Specifies a hive-style transform query specification to transform the input by forking and running user-specified command or script.
Related Statements
- WHERE Clause
- GROUP BY Clause
- HAVING Clause
- ORDER BY Clause
- SORT BY Clause
- CLUSTER BY Clause
- DISTRIBUTE BY Clause
- LIMIT Clause
- Common Table Expression
- Hints
- Inline Table
- File
- JOIN
- LIKE Predicate
- Set Operators
- TABLESAMPLE
- Table-valued Function
- Window Function
- CASE Clause
- PIVOT Clause
- LATERAL VIEW Clause
- TRANSFORM Clause


Are you sure you want to remove {{'global.country.' + count.country.isoCode2 | translate}} and its associated entries?


All The Heterosexual Nonsense I Was Forced To Endure During Episode 8 Of ‘The Bachelorette’
by Patrick LentonHello, and welcome to Junkee’s recaps of The Bachelorette Australia, where we watch episodes of The Bachelorette Australia and try to pretend we’re OK with all the hetero nonsense we see in front of us.

Related
So, and I cannot stress this enough, why am I crying in the club?
Why am I in mourning. Why was I genuinely, officially, devastatingly SAD after watching an episode of… get this… The Bachelorette Australia?????? This is like that time I had an existential crisis watching Grand Designs (although tbf, that was 98% heartbreak, and only 2% empathy for architectural drama).
This is genuinely the saddest episode of The Bachelorette I have ever watched. I am still reeling. We’ll get into it in a second. I’m sure some other stuff happened, but I’m really not sure what it is — as a repressed and poised young man, it’s going to take me a few days to recover from the sensation of having two simultaneous emotions at once (sadness and… tv watching).
You may have noticed that ONCE AGAIN, my perfect and iconic fellow recapper Rebecca Shaw is not here — there’s a complicated and boring reason for this, but let’s just pretend she’s JUST reached the finale in her re-watch of The L Word, and must seclude herself for several days, as is lesbian culture.
OK, let’s talk.
LEAST ANNOYING/ MY SPECIAL ANGEL BOY
Ciarran
I will do anything for Ciarran. I genuinely have a font of admiration and respect and joyful love for this man.
I honestly believe we would be friends! I think I’m going to try and make this happen. I don’t even see half of my actual friends — this is how much I like this man. I would like to FORMALLY apologise for ranking him as #1 on my “most looks like a magician” list.  He’s an actual wizard. He’s magic.
Need some proof? How does a British man have such perfect teeth? Boggles the mind.
Anyway.
While all the drama from last episode was going on, Ciarran was getting more and more distressed, trying to get Angie’s attention.
Why?
Because his beloved grandmother, who he’d talked about SO beautifully in a previous episode, saying that she’s “his rock”, and that they FaceTime constantly… had died.
 I am genuinely so sad for him.
Him and Angie have an emotional chat, and he tells her that he has to leave to be with his family. Beyond anything else, I can’t imagine trying to grieve on national TV. Grief is such a weird emotion, and it doesn’t follow any rules. You need to be free to experience it however it plays out.
 I think I stan them.
Anyway — this has been a bit of a tribute to this special fairy lad, and because Rebecca Shaw and I are bizarrely united in our love for him, she prepared a statement to include:
“If you had asked me a few short weeks ago if I thought I would not only like, but love, someone from the bachelorette, I would have laughed in your stupid face. But Ciarran defied all odds, not only winning Angie and the nation over, but also me, a bitter man-hating lesbian. I will miss seeing his face and hearing his voice, and I don’t know how I’ll get through the rest of the season without him. RIP.”
Farewell baby! Looking forward to our friendship.
Angie
Can I just say that Angie is a GODDAMN DELIGHT TO WATCH, and I LOVE HER, and I want the best for her. These last two episodes have been really hard for her, and she’s dealt with them like a champ.
That moment where Jamie came back and reiterated his Carlin stance and she just responded with: “Mmmmmm, was it????” Iconic.
NEVER TO ANNOY OR NOT ANNOY AGAIN
Jamie
THANK FUCK. HE’S GONE. BYE. That’s it. No more talk. Let’s forget that he existed.
Special shout out to Matt who said “Jamie’s not the smartest cook in the shed” and it’s both apt and hilarious.
The Bachelorette Australia is on Channel 10 Wednesdays and Thursdays. We will recap every episode like FOOLS.
Patrick Lenton is the Deputy Editor of Junkee. He tweets @patricklenton.


Earned, $tokenSymbol
Spent, $tokenSymbol
Sum of Smart Points in all members' wallets, $tokenSymbol
Smart Points earned by all customers from day 1, $tokenSymbol
Smart Points spent by all customers from day 1, $tokenSymbol
Smart Points Earned
Smart Points Spent
Earned / Spent
Total Balance


CIPHERS
Section: OpenSSL (1)Updated: 2009-09-30
Index Return to Main Contents
NAME
ciphers - SSL cipher display and cipher list tool.SYNOPSIS
openssl ciphers [-v] [-V] [-ssl2] [-ssl3] [-tls1] [cipherlist]DESCRIPTION
The ciphers command converts textual OpenSSL cipher lists into ordered SSL cipher preference lists. It can be used as a test tool to determine the appropriate cipherlist.COMMAND OPTIONS
- -v
- Verbose option. List ciphers with a complete description of protocol version (SSLv2 or SSLv3; the latter includes TLS), key exchange, authentication, encryption and mac algorithms used along with any key size restrictions and whether the algorithm is classed as an ``export'' cipher. Note that without the -v option, ciphers may seem to appear twice in a cipher list; this is when similar ciphers are available for SSL v2 and for SSL v3/TLS v1.
- -V
- Like -V, but include cipher suite codes in output (hex format).
- -ssl3
- only include SSL v3 ciphers.
- -ssl2
- only include SSL v2 ciphers.
- -tls1
- only include TLS v1 ciphers.
- -h, -?
- print a brief usage message.
- cipherlist
- a cipher list to convert to a cipher preference list. If it is not included then the default cipher list will be used. The format is described below.
CIPHER LIST FORMAT
The cipher list consists of one or more cipher strings separated by colons. Commas or spaces are also acceptable separators but colons are normally used.The actual cipher string can take several different forms.
It can consist of a single cipher suite such as RC4-SHA.
It can represent a list of cipher suites containing a certain algorithm, or cipher suites of a certain type. For example SHA1 represents all ciphers suites using the digest algorithm SHA1 and SSLv3 represents all SSL v3 algorithms.
Lists of cipher suites can be combined in a single cipher string using the + character. This is used as a logical and operation. For example SHA1+DES represents all cipher suites containing the SHA1 and the DES algorithms.
Each cipher string can be optionally preceded by the characters !, - or +.
If ! is used then the ciphers are permanently deleted from the list. The ciphers deleted can never reappear in the list even if they are explicitly stated.
If - is used then the ciphers are deleted from the list, but some or all of the ciphers can be added again by later options.
If + is used then the ciphers are moved to the end of the list. This option doesn't add any new ciphers it just moves matching existing ones.
If none of these characters is present then the string is just interpreted as a list of ciphers to be appended to the current preference list. If the list includes any ciphers already present they will be ignored: that is they will not moved to the end of the list.
Additionally the cipher string @STRENGTH can be used at any point to sort the current cipher list in order of encryption algorithm key length.
CIPHER STRINGS
The following is a list of all permitted cipher strings and their meanings.- DEFAULT
- the default cipher list. This is determined at compile time and, as of OpenSSL 1.0.0, is normally ALL:!aNULL:!eNULL. This must be the first cipher string specified.
- COMPLEMENTOFDEFAULT
- the ciphers included in ALL, but not enabled by default. Currently this is ADH. Note that this rule does not cover eNULL, which is not included by ALL (use COMPLEMENTOFALL if necessary).
- ALL
- all cipher suites except the eNULL ciphers which must be explicitly enabled; as of OpenSSL, the ALL cipher suites are reasonably ordered by default
- COMPLEMENTOFALL
- the cipher suites not enabled by ALL, currently being eNULL.
- HIGH
- ``high'' encryption cipher suites. This currently means those with key lengths larger than 128 bits, and some cipher suites with 128-bit keys.
- MEDIUM
- ``medium'' encryption cipher suites, currently some of those using 128 bit encryption.
- LOW
- ``low'' encryption cipher suites, currently those using 64 or 56 bit encryption algorithms but excluding export cipher suites.
- EXP, EXPORT
- export encryption algorithms. Including 40 and 56 bits algorithms.
- EXPORT40
- 40 bit export encryption algorithms
- EXPORT56
- 56 bit export encryption algorithms. In OpenSSL 0.9.8c and later the set of 56 bit export ciphers is empty unless OpenSSL has been explicitly configured with support for experimental ciphers.
- eNULL, NULL
- the ``NULL'' ciphers that is those offering no encryption. Because these offer no encryption at all and are a security risk they are disabled unless explicitly included.
- aNULL
- the cipher suites offering no authentication. This is currently the anonymous DH algorithms. These cipher suites are vulnerable to a ``man in the middle'' attack and so their use is normally discouraged.
- kRSA, RSA
- cipher suites using RSA key exchange.
- kEDH
- cipher suites using ephemeral DH key agreement.
- kDHr, kDHd
- cipher suites using DH key agreement and DH certificates signed by CAs with RSA and DSS keys respectively. Not implemented.
- aRSA
- cipher suites using RSA authentication, i.e. the certificates carry RSA keys.
- aDSS, DSS
- cipher suites using DSS authentication, i.e. the certificates carry DSS keys.
- aDH
- cipher suites effectively using DH authentication, i.e. the certificates carry DH keys. Not implemented.
- kFZA, aFZA, eFZA, FZA
- ciphers suites using FORTEZZA key exchange, authentication, encryption or all FORTEZZA algorithms. Not implemented.
- TLSv1, SSLv3, SSLv2
- TLS v1.0, SSL v3.0 or SSL v2.0 cipher suites respectively.
- DH
- cipher suites using DH, including anonymous DH.
- ADH
- anonymous DH cipher suites.
- AES
- cipher suites using AES.
- CAMELLIA
- cipher suites using Camellia.
- 3DES
- cipher suites using triple DES.
- DES
- cipher suites using DES (not triple DES).
- RC4
- cipher suites using RC4.
- RC2
- cipher suites using RC2.
- IDEA
- cipher suites using IDEA.
- SEED
- cipher suites using SEED.
- MD5
- cipher suites using MD5.
- SHA1, SHA
- cipher suites using SHA1.
- aGOST
- cipher suites using GOST R 34.10 (either 2001 or 94) for authenticaction (needs an engine supporting GOST algorithms).
- aGOST01
- cipher suites using GOST R 34.10-2001 authentication.
- aGOST94
- cipher suites using GOST R 34.10-94 authentication (note that R 34.10-94 standard has been expired so use GOST R 34.10-2001)
- kGOST
- cipher suites, using VKO 34.10 key exchange, specified in the RFC 4357.
- GOST94
- cipher suites, using HMAC based on GOST R 34.11-94.
- GOST89MAC
- cipher suites using GOST 28147-89 MAC instead of HMAC.
CIPHER SUITE NAMES
The following lists give the SSL or TLS cipher suites names from the relevant specification and their OpenSSL equivalents. It should be noted, that several cipher suite names do not include the authentication used, e.g. DES-CBC3-SHA. In these cases, RSA authentication is used.SSL v3.0 cipher suites.
SSL_RSA_WITH_NULL_MD5 NULL-MD5 SSL_RSA_WITH_NULL_SHA NULL-SHA SSL_RSA_EXPORT_WITH_RC4_40_MD5 EXP-RC4-MD5 SSL_RSA_WITH_RC4_128_MD5 RC4-MD5 SSL_RSA_WITH_RC4_128_SHA RC4-SHA SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 EXP-RC2-CBC-MD5 SSL_RSA_WITH_IDEA_CBC_SHA IDEA-CBC-SHA SSL_RSA_EXPORT_WITH_DES40_CBC_SHA EXP-DES-CBC-SHA SSL_RSA_WITH_DES_CBC_SHA DES-CBC-SHA SSL_RSA_WITH_3DES_EDE_CBC_SHA DES-CBC3-SHA SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA Not implemented. SSL_DH_DSS_WITH_DES_CBC_SHA Not implemented. SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA Not implemented. SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA Not implemented. SSL_DH_RSA_WITH_DES_CBC_SHA Not implemented. SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA Not implemented. SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA EXP-EDH-DSS-DES-CBC-SHA SSL_DHE_DSS_WITH_DES_CBC_SHA EDH-DSS-CBC-SHA SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA EDH-DSS-DES-CBC3-SHA SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA EXP-EDH-RSA-DES-CBC-SHA SSL_DHE_RSA_WITH_DES_CBC_SHA EDH-RSA-DES-CBC-SHA SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA EDH-RSA-DES-CBC3-SHA SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 EXP-ADH-RC4-MD5 SSL_DH_anon_WITH_RC4_128_MD5 ADH-RC4-MD5 SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA EXP-ADH-DES-CBC-SHA SSL_DH_anon_WITH_DES_CBC_SHA ADH-DES-CBC-SHA SSL_DH_anon_WITH_3DES_EDE_CBC_SHA ADH-DES-CBC3-SHA SSL_FORTEZZA_KEA_WITH_NULL_SHA Not implemented. SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA Not implemented. SSL_FORTEZZA_KEA_WITH_RC4_128_SHA Not implemented.
TLS v1.0 cipher suites.
TLS_RSA_WITH_NULL_MD5 NULL-MD5 TLS_RSA_WITH_NULL_SHA NULL-SHA TLS_RSA_EXPORT_WITH_RC4_40_MD5 EXP-RC4-MD5 TLS_RSA_WITH_RC4_128_MD5 RC4-MD5 TLS_RSA_WITH_RC4_128_SHA RC4-SHA TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 EXP-RC2-CBC-MD5 TLS_RSA_WITH_IDEA_CBC_SHA IDEA-CBC-SHA TLS_RSA_EXPORT_WITH_DES40_CBC_SHA EXP-DES-CBC-SHA TLS_RSA_WITH_DES_CBC_SHA DES-CBC-SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA DES-CBC3-SHA TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA Not implemented. TLS_DH_DSS_WITH_DES_CBC_SHA Not implemented. TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA Not implemented. TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA Not implemented. TLS_DH_RSA_WITH_DES_CBC_SHA Not implemented. TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA Not implemented. TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA EXP-EDH-DSS-DES-CBC-SHA TLS_DHE_DSS_WITH_DES_CBC_SHA EDH-DSS-CBC-SHA TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA EDH-DSS-DES-CBC3-SHA TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA EXP-EDH-RSA-DES-CBC-SHA TLS_DHE_RSA_WITH_DES_CBC_SHA EDH-RSA-DES-CBC-SHA TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA EDH-RSA-DES-CBC3-SHA TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 EXP-ADH-RC4-MD5 TLS_DH_anon_WITH_RC4_128_MD5 ADH-RC4-MD5 TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA EXP-ADH-DES-CBC-SHA TLS_DH_anon_WITH_DES_CBC_SHA ADH-DES-CBC-SHA TLS_DH_anon_WITH_3DES_EDE_CBC_SHA ADH-DES-CBC3-SHA
AES ciphersuites from RFC3268, extending TLS v1.0
TLS_RSA_WITH_AES_128_CBC_SHA AES128-SHA TLS_RSA_WITH_AES_256_CBC_SHA AES256-SHA TLS_DH_DSS_WITH_AES_128_CBC_SHA Not implemented. TLS_DH_DSS_WITH_AES_256_CBC_SHA Not implemented. TLS_DH_RSA_WITH_AES_128_CBC_SHA Not implemented. TLS_DH_RSA_WITH_AES_256_CBC_SHA Not implemented. TLS_DHE_DSS_WITH_AES_128_CBC_SHA DHE-DSS-AES128-SHA TLS_DHE_DSS_WITH_AES_256_CBC_SHA DHE-DSS-AES256-SHA TLS_DHE_RSA_WITH_AES_128_CBC_SHA DHE-RSA-AES128-SHA TLS_DHE_RSA_WITH_AES_256_CBC_SHA DHE-RSA-AES256-SHA TLS_DH_anon_WITH_AES_128_CBC_SHA ADH-AES128-SHA TLS_DH_anon_WITH_AES_256_CBC_SHA ADH-AES256-SHA
Camellia ciphersuites from RFC4132, extending TLS v1.0
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA CAMELLIA128-SHA TLS_RSA_WITH_CAMELLIA_256_CBC_SHA CAMELLIA256-SHA TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA Not implemented. TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA Not implemented. TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA Not implemented. TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA Not implemented. TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA DHE-DSS-CAMELLIA128-SHA TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA DHE-DSS-CAMELLIA256-SHA TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA DHE-RSA-CAMELLIA128-SHA TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA DHE-RSA-CAMELLIA256-SHA TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA ADH-CAMELLIA128-SHA TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA ADH-CAMELLIA256-SHA
SEED ciphersuites from RFC4162, extending TLS v1.0
TLS_RSA_WITH_SEED_CBC_SHA SEED-SHA TLS_DH_DSS_WITH_SEED_CBC_SHA Not implemented. TLS_DH_RSA_WITH_SEED_CBC_SHA Not implemented. TLS_DHE_DSS_WITH_SEED_CBC_SHA DHE-DSS-SEED-SHA TLS_DHE_RSA_WITH_SEED_CBC_SHA DHE-RSA-SEED-SHA TLS_DH_anon_WITH_SEED_CBC_SHA ADH-SEED-SHA
GOST ciphersuites from draft-chudov-cryptopro-cptls, extending TLS v1.0
Note: these ciphers require an engine which including GOST cryptographic algorithms, such as the ccgost engine, included in the OpenSSL distribution.
TLS_GOSTR341094_WITH_28147_CNT_IMIT GOST94-GOST89-GOST89 TLS_GOSTR341001_WITH_28147_CNT_IMIT GOST2001-GOST89-GOST89 TLS_GOSTR341094_WITH_NULL_GOSTR3411 GOST94-NULL-GOST94 TLS_GOSTR341001_WITH_NULL_GOSTR3411 GOST2001-NULL-GOST94
Additional Export 1024 and other cipher suites
Note: these ciphers can also be used in SSL v3.
TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA EXP1024-DES-CBC-SHA TLS_RSA_EXPORT1024_WITH_RC4_56_SHA EXP1024-RC4-SHA TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA EXP1024-DHE-DSS-DES-CBC-SHA TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA EXP1024-DHE-DSS-RC4-SHA TLS_DHE_DSS_WITH_RC4_128_SHA DHE-DSS-RC4-SHA
SSL v2.0 cipher suites.
SSL_CK_RC4_128_WITH_MD5 RC4-MD5 SSL_CK_RC4_128_EXPORT40_WITH_MD5 EXP-RC4-MD5 SSL_CK_RC2_128_CBC_WITH_MD5 RC2-MD5 SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5 EXP-RC2-MD5 SSL_CK_IDEA_128_CBC_WITH_MD5 IDEA-CBC-MD5 SSL_CK_DES_64_CBC_WITH_MD5 DES-CBC-MD5 SSL_CK_DES_192_EDE3_CBC_WITH_MD5 DES-CBC3-MD5
NOTES
The non-ephemeral DH modes are currently unimplemented in OpenSSL because there is no support for DH certificates.Some compiled versions of OpenSSL may not include all the ciphers listed here because some ciphers were excluded at compile time.
EXAMPLES
Verbose listing of all OpenSSL ciphers including NULL ciphers:
openssl ciphers -v 'ALL:eNULL'
Include all ciphers except NULL and anonymous DH then sort by strength:
openssl ciphers -v 'ALL:!ADH:@STRENGTH'
Include only 3DES ciphers and then place RSA ciphers last:
openssl ciphers -v '3DES:+RSA'
Include all RC4 ciphers but leave out those without authentication:
openssl ciphers -v 'RC4:!COMPLEMENTOFDEFAULT'
Include all chiphers with RSA authentication but leave out ciphers without encryption.
openssl ciphers -v 'RSA:!COMPLEMENTOFALL'
SEE ALSO
s_client(1), s_server(1), ssl(3)HISTORY
The COMPLENTOFALL and COMPLEMENTOFDEFAULT selection options for cipherlist strings were added in OpenSSL 0.9.7. The -V option for the ciphers command was added in OpenSSL 1.0.0.
Index
- NAME
- SYNOPSIS
- DESCRIPTION
- COMMAND OPTIONS
- CIPHER LIST FORMAT
- CIPHER STRINGS
- CIPHER SUITE NAMES
-
- SSL v3.0 cipher suites.
- TLS v1.0 cipher suites.
- AES ciphersuites from RFC3268, extending TLS v1.0
- Camellia ciphersuites from RFC4132, extending TLS v1.0
- SEED ciphersuites from RFC4162, extending TLS v1.0
- GOST ciphersuites from draft-chudov-cryptopro-cptls, extending TLS v1.0
- Additional Export 1024 and other cipher suites
- SSL v2.0 cipher suites.
- NOTES
- EXAMPLES
- SEE ALSO
- HISTORY
This document was created by man2html, using the manual pages.
Time: 05:29:02 GMT, December 24, 2015


Last Updated on October 7, 2016 | configure, Ubuntu,
Solved: Cannot type Chinese in Sublime
Solution on Github.
Solved: How to download thunder files in linux.
Run the following code in Terminal to get the decrypted url address
echo thunderurl|base64 -d
Solved: How to format a USB disk
First, run the following command to check which device boot is the usb disk
sudo fdisk -l
Then, run the following to off-load the usb disk.
umount path/to/dev/sdc4
After that, you can safely format the usb disk using the following command.
sudo mkfs.vfat path/to/dev/sdc4
Solved: How to write an ISO file into your usb disk on Linux
First, refering the last problem, check the location of usb disk and off-load it.
sudo fdisk -l
umount path/to/dev/sdc4
Then, use the following command.
sudo dd if=path/to/iso/file of=path/to/usb/disk/dev/sdc4
It will take a few munites to finish.
Solved: How to make your desktop ssh achievable.
You need to check if ssh server is installed properly. Whether the user is permitted. And other iptable rules that might forbid ssh input/output.
ps -ef | grep sshd
sudo iptables -L
ls -lrt/etc/ssh
To install ssh server, type:
sudo apt-get install openssh-server
If it has not started automantically, start it by:
sudo /etc/init.d/ssh start
The default port number is 22, configure other ports by modifying the configure file located at /etc/ssh/sshd_config, and then restart the ssh server:
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh start
Solved: How to delete files and folders in Linux
To delete files:
rm -f /path/to/file
To delete a folder:
rm -rf /path/to/folder/
Here -r
indicates to delete all the sub-files and sub-folders recursively. While -f
indicates to delete directly.
Solved: How to use ssh in Windows10
Download putty.exe and pscp.exe from here.
Optional, copy the path of these files and add it into your environment path.
You can connect to a host through ssh by simply running putty.exe. Use the following command to transfer files.
pscp -r path/ user@host:
pscp file user@host:
Solved: How to install Tensorflow on Mac OSX
When I tried to install Tensorflow simply by pip
, I found lots of python errors that I cannot solve. Therefore I tried Virtualenv which is python dependent-free and it works just fine!
# Mac OS X
$ sudo easy_install pip
$ sudo pip install --upgrade virtualenv
$ virtualenv --system-site-packages ~/tensorflow
$ source ~/tensorflow/bin/activate # If using bash
$ source ~/tensorflow/bin/activate.csh # If using csh
(tensorflow)$ # Your prompt should change
Just remember to activate the virtual environment each time you want to use Tensorflow.
Solved: The current input timing is not supported by the monitor display
Edit the file at /etc/default/grub
GRUB_GFXMODE=640x480
Then reboot.
Solved: Let git store your password
git config credential.helper store
Solved: How to mount a remote storage in Linux
sudo mount -t nfs IPaddress:/volume1/transfer/ /mnt/
This is all I know so far. If you have any questions, please feel free to email me.


CategoryDocumentI18n
class CategoryDocumentI18n implements ActiveRecordInterface
Constants
| TABLE_MAP |
TableMap class name |
Methods
Applies default values to this object.
Initializes internal state of Thelia\Model\Base\CategoryDocumentI18n object.
Returns whether the object has been modified.
Has specified column been modified?
Get the columns that have been modified in this object.
Returns whether the object has ever been saved. This will be false, if the object was retrieved from storage or was created and then saved.
Setter for the isNew attribute. This method will be called by Propel-generated children and objects.
Whether this object has been deleted.
Specify whether this object has been deleted.
Sets the modified state for the object to be false.
Compares this with another CategoryDocumentI18n
instance. If
obj
is an instance of CategoryDocumentI18n
, delegates to
equals(CategoryDocumentI18n)
. Otherwise, returns false
.
If the primary key is not null, return the hashcode of the primary key. Otherwise, return the hash code of the object.
Get the associative array of the virtual columns in this object
Checks the existence of a virtual column in this object
Get the value of a virtual column in this object
Set the value of a virtual column in this object
Populate the current object from a string, using a given parser format
$book = new Book();
$book->importFrom('JSON', '{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}');
Export the current object properties to a string, using a given parser format
$book = BookQuery::create()->findPk(9012);
echo $book->exportTo('JSON');
=> {"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}');
Clean up internal collections prior to serializing Avoids recursive loops that turn into segmentation faults when serializing
Get the [id] column value.
Get the [locale] column value.
Get the [title] column value.
Get the [description] column value.
Get the [chapo] column value.
Get the [postscriptum] column value.
Set the value of [id] column.
Set the value of [locale] column.
Set the value of [title] column.
Set the value of [description] column.
Set the value of [chapo] column.
Set the value of [postscriptum] column.
Indicates whether the columns in this object are only set to default values.
Hydrates (populates) the object variables with values from the database resultset.
Checks and repairs the internal consistency of the object.
Reloads this object from datastore based on primary key and (optionally) resets all associated objects.
Removes this object from datastore and sets delete attribute.
Persists this object to the database.
Retrieves a field from the object by name passed in as a string.
Retrieves a field from the object by Position as specified in the xml schema.
Exports the object as an array.
Sets a field from the object by name passed in as a string.
Sets a field from the object by Position as specified in the xml schema.
Populates the object using an array.
Build a Criteria object containing the values of all modified columns in this object.
Builds a Criteria object containing the primary key for this object.
Returns the composite primary key for this object.
Set the [composite] primary key.
Returns true if the primary key for this object is null.
Sets contents of passed object to values from current object.
Makes a copy of this object that will be inserted as a new row in table when saved.
Declares an association between this object and a ChildCategoryDocument object.
Get the associated ChildCategoryDocument object
Clears the current object and sets all attributes to their default values
Resets all references to other model objects or collections of model objects.

Details
at line 112
applyDefaultValues()
Applies default values to this object.
This method should be called from the object's constructor (or equivalent initialization method).
at line 121
__construct()
Initializes internal state of Thelia\Model\Base\CategoryDocumentI18n object.
at line 131
boolean
isModified()
Returns whether the object has been modified.
at line 142
boolean
isColumnModified(
string $col)
Has specified column been modified?
at line 151
array
getModifiedColumns()
Get the columns that have been modified in this object.
at line 163
boolean
isNew()
Returns whether the object has ever been saved. This will be false, if the object was retrieved from storage or was created and then saved.
at line 174
setNew(
boolean $b)
Setter for the isNew attribute. This method will be called by Propel-generated children and objects.
at line 183
boolean
isDeleted()
Whether this object has been deleted.
at line 193
void
setDeleted(
boolean $b)
Specify whether this object has been deleted.
at line 203
void
resetModified(
string $col = null)
Sets the modified state for the object to be false.
at line 222
boolean
equals(
mixed $obj)
Compares this with another CategoryDocumentI18n
instance. If
obj
is an instance of CategoryDocumentI18n
, delegates to
equals(CategoryDocumentI18n)
. Otherwise, returns false
.
at line 247
int
hashCode()
If the primary key is not null, return the hashcode of the primary key. Otherwise, return the hash code of the object.
at line 261
array
getVirtualColumns()
Get the associative array of the virtual columns in this object
at line 272
boolean
hasVirtualColumn(
string $name)
Checks the existence of a virtual column in this object
at line 285
mixed
getVirtualColumn(
string $name)
Get the value of a virtual column in this object
at line 302
CategoryDocumentI18n
setVirtualColumn(
string $name,
mixed $value)
Set the value of a virtual column in this object
at line 334
CategoryDocumentI18n
importFrom(
mixed $parser,
string $data)
Populate the current object from a string, using a given parser format
$book = new Book();
$book->importFrom('JSON', '{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}');
at line 357
string
exportTo(
mixed $parser,
boolean $includeLazyLoadColumns = true)
Export the current object properties to a string, using a given parser format
$book = BookQuery::create()->findPk(9012);
echo $book->exportTo('JSON');
=> {"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}');
at line 370
__sleep()
Clean up internal collections prior to serializing Avoids recursive loops that turn into segmentation faults when serializing
at line 382
int
getId()
Get the [id] column value.
at line 393
string
getLocale()
Get the [locale] column value.
at line 404
string
getTitle()
Get the [title] column value.
at line 415
string
getDescription()
Get the [description] column value.
at line 426
string
getChapo()
Get the [chapo] column value.
at line 437
string
getPostscriptum()
Get the [postscriptum] column value.
at line 449
CategoryDocumentI18n
setId(
int $v)
Set the value of [id] column.
at line 474
CategoryDocumentI18n
setLocale(
string $v)
Set the value of [locale] column.
at line 495
CategoryDocumentI18n
setTitle(
string $v)
Set the value of [title] column.
at line 516
CategoryDocumentI18n
setDescription(
string $v)
Set the value of [description] column.
at line 537
CategoryDocumentI18n
setChapo(
string $v)
Set the value of [chapo] column.
at line 558
CategoryDocumentI18n
setPostscriptum(
string $v)
Set the value of [postscriptum] column.
at line 581
boolean
hasOnlyDefaultValues()
Indicates whether the columns in this object are only set to default values.
This method can be used in conjunction with isModified() to indicate whether an object is both modified and has some values set which are non-default.
at line 609
int
hydrate(
array $row,
int $startcol,
boolean $rehydrate = false,
string $indexType = TableMap::TYPE_NUM)
Hydrates (populates) the object variables with values from the database resultset.
An offset (0-based "start column") is specified so that objects can be hydrated with a subset of the columns in the resultset rows. This is needed, for example, for results of JOIN queries where the resultset row includes columns from two or more tables.
at line 659
ensureConsistency()
Checks and repairs the internal consistency of the object.
This method is executed after an already-instantiated object is re-hydrated from the database. It exists to check any foreign keys to make sure that the objects related to the current object are correct based on foreign key.
You can override this method in the stub class, but you should always invoke the base method from the overridden method (i.e. parent::ensureConsistency()), in case your model changes.
at line 676
void
reload(
boolean $deep = false,
ConnectionInterface $con = null)
Reloads this object from datastore based on primary key and (optionally) resets all associated objects.
This will only work if the object has been saved and has a valid primary key set.
at line 716
void
delete(
ConnectionInterface $con = null)
Removes this object from datastore and sets delete attribute.
at line 758
int
save(
ConnectionInterface $con = null)
Persists this object to the database.
If the object is new, it inserts it; otherwise an update is performed. All modified related objects will also be persisted in the doSave() method. This method wraps all precipitate database operations in a single transaction.
at line 944
mixed
getByName(
string $name,
string $type = TableMap::TYPE_PHPNAME)
Retrieves a field from the object by name passed in as a string.
at line 959
mixed
getByPosition(
int $pos)
Retrieves a field from the object by Position as specified in the xml schema.
Zero-based.
at line 1001
array
toArray(
string $keyType = TableMap::TYPE_PHPNAME,
boolean $includeLazyLoadColumns = true,
array $alreadyDumpedObjects = array(),
boolean $includeForeignObjects = false)
Exports the object as an array.
You can specify the key type of the array by passing one of the class type constants.
at line 1041
void
setByName(
string $name,
mixed $value,
string $type = TableMap::TYPE_PHPNAME)
Sets a field from the object by name passed in as a string.
at line 1056
void
setByPosition(
int $pos,
mixed $value)
Sets a field from the object by Position as specified in the xml schema.
Zero-based.
at line 1097
void
fromArray(
array $arr,
string $keyType = TableMap::TYPE_PHPNAME)
Populates the object using an array.
This is particularly useful when populating an object from one of the request arrays (e.g. $_POST). This method goes through the column names, checking to see whether a matching key exists in populated array. If so the setByName() method is called for that column.
You can specify the key type of the array by additionally passing one of the class type constants TableMap::TYPEPHPNAME, TableMap::TYPESTUDLYPHPNAME, TableMap::TYPECOLNAME, TableMap::TYPEFIELDNAME, TableMap::TYPENUM. The default key type is the column's TableMap::TYPEPHPNAME.
at line 1114
Criteria
buildCriteria()
Build a Criteria object containing the values of all modified columns in this object.
at line 1136
Criteria
buildPkeyCriteria()
Builds a Criteria object containing the primary key for this object.
Unlike buildCriteria() this method includes the primary key values regardless of whether or not they have been modified.
at line 1150
array
getPrimaryKey()
Returns the composite primary key for this object.
The array elements will be in same order as specified in XML.
at line 1165
void
setPrimaryKey(
array $keys)
Set the [composite] primary key.
at line 1175
boolean
isPrimaryKeyNull()
Returns true if the primary key for this object is null.
at line 1192
copyInto(
object $copyObj,
boolean $deepCopy = false,
boolean $makeNew = true)
Sets contents of passed object to values from current object.
If desired, this method can also make copies of all associated (fkey referrers) objects.
at line 1217
CategoryDocumentI18n
copy(
boolean $deepCopy = false)
Makes a copy of this object that will be inserted as a new row in table when saved.
It creates a new object filling in the simple attributes, but skipping any primary keys that are defined for the table.
If desired, this method can also make copies of all associated (fkey referrers) objects.
at line 1234
CategoryDocumentI18n
setCategoryDocument(
CategoryDocument $v = null)
Declares an association between this object and a ChildCategoryDocument object.
at line 1262
CategoryDocument
getCategoryDocument(
ConnectionInterface $con = null)
Get the associated ChildCategoryDocument object
at line 1281
clear()
Clears the current object and sets all attributes to their default values
at line 1306
clearAllReferences(
boolean $deep = false)
Resets all references to other model objects or collections of model objects.
This method is a user-space workaround for PHP's inability to garbage collect objects with circular references (even in PHP 5.3). This is currently necessary when using Propel in certain daemon or large-volume/high-memory operations.
at line 1319
string
__toString()
Return the string representation of this object
at line 1329
boolean
preSave(
ConnectionInterface $con = null)
Code to be run before persisting the object
at line 1338
postSave(
ConnectionInterface $con = null)
Code to be run after persisting the object
at line 1348
boolean
preInsert(
ConnectionInterface $con = null)
Code to be run before inserting to database
at line 1357
postInsert(
ConnectionInterface $con = null)
Code to be run after inserting to database
at line 1367
boolean
preUpdate(
ConnectionInterface $con = null)
Code to be run before updating the object in database
at line 1376
postUpdate(
ConnectionInterface $con = null)
Code to be run after updating the object in database
at line 1386
boolean
preDelete(
ConnectionInterface $con = null)
Code to be run before deleting the object in database
at line 1395
postDelete(
ConnectionInterface $con = null)
Code to be run after deleting the object in database
at line 1412
array|string
__call(
string $name,
mixed $params)
Derived method to catches calls to undefined methods.
Provides magic import/export method support (fromXML()/toXML(), fromYAML()/toYAML(), etc.). Allows to define default __call() behavior if you overwrite __call()


Connecting to audio server...
0
players playing!
Wait for question to load!
Option a
Option b
Option c
Option d
Connecting to Socket...


| libnice Reference Manual | ||||
|---|---|---|---|---|
| Top | Description |
#include <stun/usages/ice.h> enum StunUsageIceCompatibility; enum StunUsageIceReturn; size_t stun_usage_ice_conncheck_create (StunAgent *agent
,StunMessage *msg
,uint8_t *buffer
,size_t buffer_len
,const uint8_t *username
,const size_t username_len
,const uint8_t *password
,const size_t password_len
,bool cand_use
,bool controlling
,uint32_t priority
,uint64_t tie
,const char *candidate_identifier
,StunUsageIceCompatibility compatibility
); StunUsageIceReturn stun_usage_ice_conncheck_process (StunMessage *msg
,struct sockaddr *addr
,socklen_t *addrlen
,StunUsageIceCompatibility compatibility
); StunUsageIceReturn stun_usage_ice_conncheck_create_reply (StunAgent *agent
,StunMessage *req
,StunMessage *msg
,uint8_t *buf
,size_t *plen
,const struct sockaddr *src
,socklen_t srclen
,bool *control
,uint64_t tie
,StunUsageIceCompatibility compatibility
); uint32_t stun_usage_ice_conncheck_priority (const StunMessage *msg
); bool stun_usage_ice_conncheck_use_candidate (const StunMessage *msg
);
The STUN ICE usage allows for easily creating and parsing STUN Binding requests and responses used for ICE connectivity checks. The API allows you to create a connectivity check message, parse a response or create a reply to an incoming connectivity check request.
typedef enum { STUN_USAGE_ICE_COMPATIBILITY_RFC5245, STUN_USAGE_ICE_COMPATIBILITY_GOOGLE, STUN_USAGE_ICE_COMPATIBILITY_MSN, STUN_USAGE_ICE_COMPATIBILITY_WLM2009, STUN_USAGE_ICE_COMPATIBILITY_DRAFT19 = STUN_USAGE_ICE_COMPATIBILITY_RFC5245, } StunUsageIceCompatibility;
This enum defines which compatibility modes this ICE usage can use
STUN_USAGE_ICE_COMPATIBILITY_DRAFT19
is deprecated and should not
be used in newly-written code. It is kept for compatibility reasons and
represents the same compatibility as STUN_USAGE_ICE_COMPATIBILITY_RFC5245
| The ICE compatibility with RFC 5245 | |
| The ICE compatibility with Google's implementation of ICE | |
| The ICE compatibility with MSN's implementation of ICE | |
| The ICE compatibility with Windows Live Messenger and Microsoft Office Communicator 2007 R2 implementation of ICE | |
| The ICE compatibility with draft 19 |
typedef enum { STUN_USAGE_ICE_RETURN_SUCCESS, STUN_USAGE_ICE_RETURN_ERROR, STUN_USAGE_ICE_RETURN_INVALID, STUN_USAGE_ICE_RETURN_ROLE_CONFLICT, STUN_USAGE_ICE_RETURN_INVALID_REQUEST, STUN_USAGE_ICE_RETURN_INVALID_METHOD, STUN_USAGE_ICE_RETURN_MEMORY_ERROR, STUN_USAGE_ICE_RETURN_INVALID_ADDRESS, STUN_USAGE_ICE_RETURN_NO_MAPPED_ADDRESS, } StunUsageIceReturn;
Return value of stun_usage_ice_conncheck_process()
and
stun_usage_ice_conncheck_create_reply()
which allows you to see what
status the function call returned.
| The function succeeded | |
| There was an unspecified error | |
| The message is invalid for processing | |
| A role conflict was detected | |
| The message is an not a request | |
| The method of the request is invalid | |
| The buffer size is too small to hold the STUN reply | |
| The mapped address argument has an invalid address family | |
| The response is valid but no MAPPED-ADDRESS or XOR-MAPPED-ADDRESS attribute was found |
size_t stun_usage_ice_conncheck_create (StunAgent *agent
,StunMessage *msg
,uint8_t *buffer
,size_t buffer_len
,const uint8_t *username
,const size_t username_len
,const uint8_t *password
,const size_t password_len
,bool cand_use
,bool controlling
,uint32_t priority
,uint64_t tie
,const char *candidate_identifier
,StunUsageIceCompatibility compatibility
);
Builds an ICE connectivity check STUN message.
If the compatibility is not STUN_USAGE_ICE_COMPATIBILITY_RFC5245, the
cand_use
, controlling
, priority
and tie
arguments are not used.
If the compatibility is not STUN_USAGE_ICE_COMPATIBILITY_WLM2009, the
candidate_identifier
argument is not used.
|
The StunAgent to use to build the request |
|
The StunMessage to build |
|
The buffer to use for creating the StunMessage |
|
The size of the buffer
|
|
The username to use in the request |
|
The length of username
|
|
The key to use for building the MESSAGE-INTEGRITY |
|
The length of password
|
|
Set to TRUE to append the USE-CANDIDATE flag to the request |
|
Set to TRUE if you are the controlling agent or set to
FALSE if you are the controlled agent. |
|
The value of the PRIORITY attribute |
|
The value of the tie-breaker to put in the ICE-CONTROLLED or ICE-CONTROLLING attribute |
|
The foundation value to put in the CANDIDATE-IDENTIFIER attribute |
|
The compatibility mode to use for building the conncheck request |
Returns : |
The length of the message built. |
StunUsageIceReturn stun_usage_ice_conncheck_process (StunMessage *msg
,struct sockaddr *addr
,socklen_t *addrlen
,StunUsageIceCompatibility compatibility
);
Process an ICE connectivity check STUN message and retreive the mapped address from the message
See also stun_usage_ice_conncheck_priority()
and
stun_usage_ice_conncheck_use_candidate()
|
The StunMessage to process |
|
A pointer to a sockaddr structure to fill with the mapped address that the STUN connectivity check response contains |
|
The length of addr
|
|
The compatibility mode to use for processing the conncheck response |
Returns : |
A StunUsageIceReturn value |
StunUsageIceReturn stun_usage_ice_conncheck_create_reply (StunAgent *agent
,StunMessage *req
,StunMessage *msg
,uint8_t *buf
,size_t *plen
,const struct sockaddr *src
,socklen_t srclen
,bool *control
,uint64_t tie
,StunUsageIceCompatibility compatibility
);
Tries to parse a STUN connectivity check request and builds a response accordingly.
In case of error, the msg
is filled with the appropriate error response
to be sent and the value of plen
is set to the size of that message.
If plen
has a size of 0, then no error response should be sent.
|
The StunAgent to use to build the response |
|
The original STUN request to reply to |
|
The StunMessage to build |
|
The buffer to use for creating the StunMessage |
|
A pointer containing the size of the buffer on input.
Will contain the length of the message built on output. |
|
A pointer to a sockaddr structure containing the source address from which the request was received. Will be used as the mapped address in the response |
|
The length of addr
|
|
Set to TRUE if you are the controlling agent or set to
FALSE if you are the controlled agent. |
|
The value of the tie-breaker to put in the ICE-CONTROLLED or ICE-CONTROLLING attribute |
|
The compatibility mode to use for building the conncheck response |
Returns : |
A StunUsageIceReturn value |
uint32_t stun_usage_ice_conncheck_priority (const StunMessage *msg
);
Extracts the priority from a STUN message.
|
The StunMessage to parse |
Returns : |
host byte order priority, or 0 if not specified. |
bool stun_usage_ice_conncheck_use_candidate
(const StunMessage *msg
);
Extracts the USE-CANDIDATE attribute flag from a STUN message.
|
The StunMessage to parse |
Returns : |
TRUE if the flag is set, FALSE if not. |


Hi,
I am new to the forum and I have just started using EmonCMS using my Raspberry Pi. I use a Current Cost Envi to get the Electric usage. My current project will use the RFM12Pi with a EmonTH in my next step to monitor each room temp and if my under floor heating is calling for heat. Also I need to create another Node with a Emon TH to collect Solar warm air collector data from a Nuiare Sunwarm system using DS18B20's
I have seen that a DS2405 can detect on/off state from this guide http://www.jon00.me.uk/onewireintro.shtml a DS2406 is newwer
I have a Drayton digistat 2 (Old ones pre RF) in each room so I would like to measure each room temp and if that room is calling for heat. I would then try to install the Emon TH circuit board behind the existing wall plate and use the same 2xAA batteries that power the Drayton.
Now here is the question for help, would there be a lot of firmware changes required to log the state of the DS2406?
Thanks
Alan.
Re: EmonTH and a DS2406 - Help Needed
Probably. I haven't studied the data sheet for your DS2406, but I'm guessing it's got much the same sort of instructions as the DS18B20. If you look at MartinR's Energy Diverter, you'll see he controls the DS18B20 directly without the use of a library (though he uses the Onewire library), so my thinking is if you read the data sheet, then look at what Martin did, you'll probably be able to integrate that with the emonTH's code, using the same 1-wire bus as the DS18B20.
Re: EmonTH and a DS2406 - Help Needed
Thanks for the reply
I will order the required parts and give it a go and report back soon.


Home About LinuxChix Join LinuxChix LinuxChix Charter Duties of the Tres Chix Solely for Woman? Connect with us Website Feedback Relevant Links Link 1 Link 2 Link 3 Link 4 Link 5


If you pick the blue pill, the story ends, and you can live blissfully in coding ignorance. If you pick the red pill, I will show you how deep the rabbit hole goes.
If you are the type to want to learn it for yourself for free, there are plenty of great options for you to do just that. Codecademy.com is completely free, with message boards to help you when you get stuck.
If you're looking for something a bit more meaty and don't mind paying a little for a more premium service, check out Teamtreehouse.com, which has plenty of excellent videos, excercises, quizzes, and can help you from the ground up.
Finally, if you're like me, and really need that fire lit under you to learn effectively, apply to Dev Bootcamp! A 9-week intensive in locations across 3 great, American cities, DBC can get you where you need to be!


Preparation time
30 mins to 1 hour
Cooking time
over 2 hours
Serves
Serves 4-6
A combination of pork and beef mince and a glass of red wine make for a flavoursome ragù sauce in this luscious lasagne. Mozzarella and parmesan melt to perfection between ragù, pasta sheets and creamy white sauce.
For the ragù sauce, in a large pan, heat the olive oil, add the mince and brown well. Add the red wine to deglaze the pan and cook until it has almost evaporated.
Tip in the onion, carrots and celery and fry for a couple of minutes. Season with salt and pepper, then add the chopped tomatoes and rinse the tin out with water and add the water from the tin to the pan. Lower the heat, cover with a lid and gently simmer for two hours, stirring from time to time.
Preheat the oven to 200C/400F/Gas 6.
For the white sauce, melt the butter in a small pan on a medium heat, stir in the flour with either a wooden spoon or small hand whisk (this will avoid lumps from forming) to form a paste and stir in a little of the milk.
Add the remaining milk, stirring all the time until it begins to thicken to a creamy consistency. Remove from the heat, add salt and pepper and stir in 20g/¾oz of the grated parmesan cheese.
Line an ovenproof rectangular dish of about 22 x 26cm/8½ x 10½in with a little of the ragù sauce, arrange sheets of lasagne over followed by ragù sauce, dots of mozzarella and white sauce and a sprinkling of grated parmesan. Continue to make layers like this until you have finished all the ingredients, ending with a topping of white sauce. Hold back some of the ragù to dot over the top and sprinkle with parmesan cheese.
Cover with foil and bake for 35-40 minutes, or until golden-brown. Remove the foil for the last five minutes of cooking. Allow to rest for a couple of minutes before serving.


{% extends "template.html" %} {% block head %} {% endblock %} {% block content %}
An example:
*Important*: Closing the dialog before sending the email will not add you in the chance to win $$$$


Hello world, this is the best thing that has ever happened to us and I just want to say that I really like what is going on so we can work together and make things happen. I love having the ability to have friends. It is amazing, where is my dad I cannot find him whatsoever.Hello world, this is the best thing that has ever happened to us and I just want to say that I really like what is going on so we can work together and make things happen. I love having the ability to have friends. It is amazing, where is my dad I cannot find him whatsoever.


Apostle
Apostle is a movie starring Dan Stevens, Richard Elfyn, and Paul Higgins. In 1905, a drifter on a dangerous mission to rescue his kidnapped sister tangles with a sinister religious cult on an isolated island.


About Me
I’m an experienced leader turned software developer returning to the workforce after pausing my career to stay at home with my family. I’ve spent the last few years volunteering at my children’s school as a room-parent and working with the PTA. I’m excited to re-enter the workforce and utilize my organizational, collaboration, and new found software development skills to help deliver products/features that drive business and consumer value. I’d love to chat about any opportunities you may have.


Pig Dice
Welcome to the dice corner.
Enjoy the fun side of the game with your friend!
Play Game.
Start
Help
Press the button with the value run to roll the dice.
If the dice returns a value that is 1; player 2 rolls the dice. Else keep tossing.
Press hold to double your scores and pass the dice to the next player.
Whoever reaches 50 scores first wins!
Player 1
Score:
Tally:
Player 2
Score:
Tally:
Run
Hold
Score Board


new Conversation()
The Conversation class represent a conversation between one or multiple person on Curse. It can be a small group conversation, a server channel conversation, a server private conversation, a friend conversation, or a adhoc conversation. If it's a server channel conversation then the channel property is set to the corresponding channel.
Properties:
| Name | Type | Description |
|---|---|---|
ID |
string | Curse UUID of the current Conversation. This ID is shared with the corresponding Channel if it's a server channel conversation. |
client |
Client | Client object used to create this Conversation instance. |
conversationType |
number | Specify the type of the current Conversation following the conversations-v1 ConversationType endpoint definition. Friendship = 0, Group = 1, AdHoc = 2, GroupPrivateConversation = 3. |
channel |
Channel | Corresponding Channel object of the current Conversation if and only if the Conversation is a conversation of an existing channel and not a private conversation. |
- Source:
Methods
deleteMessage(message, callback)
Delete a specified message
Parameters:
| Name | Type | Description |
|---|---|---|
message |
Message | Message object |
callback |
function | Facultative arg, callback: (errors) => {}. This function can take an argument errors that is null or undefined when function ends correctly. |
- Source:
editMessage(newContent, message, callback)
Edit the content of a specified message
Parameters:
| Name | Type | Description |
|---|---|---|
newContent |
string | Text of the new message |
message |
Message | Message object |
callback |
function | Facultative arg, callback: (errors) => {}. This function can take an argument errors that is null or undefined when function ends correctly. |
- Source:
everyHistoryMessages(callback)
Iterate through all the past messages of this conversation. From now to the first message.
Parameters:
| Name | Type | Description |
|---|---|---|
callback |
function | callback: (errors, message, done) => {}.
|
- Source:
Example
myChannel.everyHistoryMessages(function(errors, message, done){
if(errors == null && !done){
//We can handle message history like message notifications
console.log(message.serverTimestamp, message.senderName, message.content);
if(message.content == "stop"){
//This will stop the scrolling when a message with the content stop is found
return false;
}
}
});
sendMessage(messageContent, callback)
send a message to the current conversation.
Parameters:
| Name | Type | Description |
|---|---|---|
messageContent |
string | Text content of the message. |
callback |
function | Facultative arg, callback: (errors) => {}. This function can take an argument errors that is null or undefined when function ends correctly. |
- Source: