text:
package org.wso2.andes.server.output.amqp0_9_1;

import org.apache.mina.common.ByteBuffer;
import org.wso2.andes.AMQException;
import org.wso2.andes.framing.*;
import org.wso2.andes.framing.abstraction.MessagePublishInfo;
import org.wso2.andes.framing.abstraction.ProtocolVersionMethodConverter;
import org.wso2.andes.framing.amqp_0_91.BasicGetBodyImpl;
import org.wso2.andes.protocol.AMQVersionAwareProtocolSession;
import org.wso2.andes.server.message.AMQMessage;
import org.wso2.andes.server.message.MessageContentSource;
import org.wso2.andes.server.message.MessageTransferMessage;
import org.wso2.andes.server.output.HeaderPropertiesConverter;
import org.wso2.andes.server.output.ProtocolOutputConverter;
import org.wso2.andes.server.protocol.AMQProtocolSession;
import org.wso2.andes.server.queue.QueueEntry;
import org.wso2.andes.transport.DeliveryProperties;

public class ProtocolOutputConverterImpl implements ProtocolOutputConverter
{
    private static final MethodRegistry METHOD_REGISTRY = MethodRegistry.getMethodRegistry(ProtocolVersion.v0_91);
    private static final ProtocolVersionMethodConverter
            PROTOCOL_CONVERTER = METHOD_REGISTRY.getProtocolVersionMethodConverter();

    public static Factory getInstanceFactory()
    {
        return new Factory()
        {

            public ProtocolOutputConverter newInstance(AMQProtocolSession session)
            {
                return new ProtocolOutputConverterImpl(session);
            }
        };
    }

    private final AMQProtocolSession _protocolSession;

    private ProtocolOutputConverterImpl(AMQProtocolSession session)
    {
        _protocolSession = session;
    }

    public AMQProtocolSession getProtocolSession()
    {
        return _protocolSession;
    }

    public void writeDeliver(QueueEntry entry, int channelId, long deliveryTag, AMQShortString consumerTag)
            throws AMQException
    {
        AMQBody deliverBody = createEncodedDeliverBody(entry, deliveryTag, consumerTag);
        writeMessageDelivery(entry, channelId, deliverBody);
    }

    private ContentHeaderBody getContentHeaderBody(QueueEntry entry)
            throws AMQException
    {
        if(entry.getMessage() instanceof AMQMessage)
        {
            return ((AMQMessage)entry.getMessage()).getContentHeaderBody();
        }
        else
        {
            final MessageTransferMessage message = (MessageTransferMessage) entry.getMessage();
            BasicContentHeaderProperties props = HeaderPropertiesConverter.convert(message);
            ContentHeaderBody chb = new ContentHeaderBody(props, BasicGetBodyImpl.CLASS_ID);
            chb.bodySize = message.getSize();
            return chb;
        }
    }

    private void writeMessageDelivery(QueueEntry entry, int channelId, AMQBody deliverBody)
            throws AMQException
    {
        writeMessageDelivery(entry.getMessage(), getContentHeaderBody(entry), channelId, deliverBody);
    }

    private void writeMessageDelivery(MessageContentSource message, ContentHeaderBody contentHeaderBody, int channelId, AMQBody deliverBody)
            throws AMQException
    {

        String channelIdString =  String.valueOf(channelId).intern();
        int bodySize = (int) message.getSize();

        if(bodySize == 0)
        {
            SmallCompositeAMQBodyBlock compositeBlock = new SmallCompositeAMQBodyBlock(channelId, deliverBody,
                                                                             contentHeaderBody);
            writeFrame(compositeBlock);
        }
        else
        {
             /**
             * We used to synchronize the following block, but it is not needed. Skipping that.
             * Leaving the comment so that we know it is removed.
             */
                int maxBodySize = (int) getProtocolSession().getMaxFrameSize() - AMQFrame.getFrameOverhead();

                final int capacity = bodySize > maxBodySize ? maxBodySize : bodySize;
                java.nio.ByteBuffer buf = java.nio.ByteBuffer.allocate(capacity);

                int writtenSize = 0;

                writtenSize += message.getContent(buf, writtenSize);
                buf.flip();
                AMQBody firstContentBody = PROTOCOL_CONVERTER.convertToBody(buf);

                CompositeAMQBodyBlock
                        compositeBlock = new CompositeAMQBodyBlock(channelId, deliverBody, contentHeaderBody, firstContentBody);
                writeFrame(compositeBlock);
                while(writtenSize < bodySize)
                {

                    buf = java.nio.ByteBuffer.allocate(capacity);
                    int oldWrittenSize = writtenSize;
                    writtenSize += message.getContent(buf, writtenSize);

                    if( writtenSize <= oldWrittenSize && writtenSize < bodySize) {
                        throw new AMQException("Unexpected Error while getting message content : " +
                                "This might leads to an infinite loop so exiting the loop forcefully");
                    }
                    buf.flip();
                    writeFrame(new AMQFrame(channelId, PROTOCOL_CONVERTER.convertToBody(buf)));

            }
        }
    }

    private AMQDataBlock createContentHeaderBlock(final int channelId, final ContentHeaderBody contentHeaderBody)
    {

        AMQDataBlock contentHeader = ContentHeaderBody.createAMQFrame(channelId,
                                                                      contentHeaderBody);
        return contentHeader;
    }

    public void writeGetOk(QueueEntry entry, int channelId, long deliveryTag, int queueSize) throws AMQException
    {
        AMQBody deliver = createEncodedGetOkBody(entry, deliveryTag, queueSize);
        writeMessageDelivery(entry, channelId, deliver);
    }

    private AMQBody createEncodedDeliverBody(QueueEntry entry,
                                              final long deliveryTag,
                                              final AMQShortString consumerTag)
            throws AMQException
    {

        final AMQShortString exchangeName;
        final AMQShortString routingKey;

        if(entry.getMessage() instanceof AMQMessage)
        {
            final AMQMessage message = (AMQMessage) entry.getMessage();
            final MessagePublishInfo pb = message.getMessagePublishInfo();
            exchangeName = pb.getExchange();
            routingKey = pb.getRoutingKey();
        }
        else
        {
            MessageTransferMessage message = (MessageTransferMessage) entry.getMessage();
            DeliveryProperties delvProps = message.getHeader().get(DeliveryProperties.class);
            exchangeName = (delvProps == null || delvProps.getExchange() == null) ? null : new AMQShortString(delvProps.getExchange());
            routingKey = (delvProps == null || delvProps.getRoutingKey() == null) ? null : new AMQShortString(delvProps.getRoutingKey());
        }

        final boolean isRedelivered = entry.isRedelivered();

        final AMQBody returnBlock = new AMQBody()
        {

            public AMQBody _underlyingBody;

            public AMQBody createAMQBody()
            {
                return METHOD_REGISTRY.createBasicDeliverBody(consumerTag,
                                                              deliveryTag,
                                                              isRedelivered,
                                                              exchangeName,
                                                              routingKey);

            }

            public byte getFrameType()
            {
                return AMQMethodBody.TYPE;
            }

            public int getSize()
            {
                if(_underlyingBody == null)
                {
                    _underlyingBody = createAMQBody();
                }
                return _underlyingBody.getSize();
            }

            public void writePayload(ByteBuffer buffer)
            {
                if(_underlyingBody == null)
                {
                    _underlyingBody = createAMQBody();
                }
                _underlyingBody.writePayload(buffer);
            }

            public void handle(final int channelId, final AMQVersionAwareProtocolSession amqMinaProtocolSession)
                throws AMQException
            {
                throw new AMQException("This block should never be dispatched!");
            }
        };
        return returnBlock;
    }

    private AMQBody createEncodedGetOkBody(QueueEntry entry, long deliveryTag, int queueSize)
            throws AMQException
    {
        final AMQShortString exchangeName;
        final AMQShortString routingKey;

        if(entry.getMessage() instanceof AMQMessage)
        {
            final AMQMessage message = (AMQMessage) entry.getMessage();
            final MessagePublishInfo pb = message.getMessagePublishInfo();
            exchangeName = pb.getExchange();
            routingKey = pb.getRoutingKey();
        }
        else
        {
            MessageTransferMessage message = (MessageTransferMessage) entry.getMessage();
            DeliveryProperties delvProps = message.getHeader().get(DeliveryProperties.class);
            exchangeName = (delvProps == null || delvProps.getExchange() == null) ? null : new AMQShortString(delvProps.getExchange());
            routingKey = (delvProps == null || delvProps.getRoutingKey() == null) ? null : new AMQShortString(delvProps.getRoutingKey());
        }

        final boolean isRedelivered = entry.isRedelivered();

        BasicGetOkBody getOkBody =
                METHOD_REGISTRY.createBasicGetOkBody(deliveryTag,
                                                    isRedelivered,
                                                    exchangeName,
                                                    routingKey,
                                                    queueSize);

        return getOkBody;
    }

    public byte getProtocolMinorVersion()
    {
        return getProtocolSession().getProtocolMinorVersion();
    }

    public byte getProtocolMajorVersion()
    {
        return getProtocolSession().getProtocolMajorVersion();
    }

    private AMQBody createEncodedReturnFrame(MessagePublishInfo messagePublishInfo,
                                             int replyCode,
                                             AMQShortString replyText) throws AMQException
    {

        BasicReturnBody basicReturnBody =
                METHOD_REGISTRY.createBasicReturnBody(replyCode,
                                                     replyText,
                                                     messagePublishInfo.getExchange(),
                                                     messagePublishInfo.getRoutingKey());

        return basicReturnBody;
    }

    public void writeReturn(MessagePublishInfo messagePublishInfo, ContentHeaderBody header, MessageContentSource message, int channelId, int replyCode, AMQShortString replyText)
            throws AMQException
    {

        AMQBody returnFrame = createEncodedReturnFrame(messagePublishInfo, replyCode, replyText);

        writeMessageDelivery(message, header, channelId, returnFrame);
    }

    public void writeFrame(AMQDataBlock block)
    {
        getProtocolSession().writeFrame(block);
    }

    public void confirmConsumerAutoClose(int channelId, AMQShortString consumerTag)
    {

        BasicCancelOkBody basicCancelOkBody = METHOD_REGISTRY.createBasicCancelOkBody(consumerTag);
        writeFrame(basicCancelOkBody.generateFrame(channelId));

    }

    public static final class CompositeAMQBodyBlock extends AMQDataBlock
    {
        public static final int OVERHEAD = 3 * AMQFrame.getFrameOverhead();

        private final AMQBody _methodBody;
        private final AMQBody _headerBody;
        private final AMQBody _contentBody;
        private final int _channel;

        public CompositeAMQBodyBlock(int channel, AMQBody methodBody, AMQBody headerBody, AMQBody contentBody)
        {
            _channel = channel;
            _methodBody = methodBody;
            _headerBody = headerBody;
            _contentBody = contentBody;

        }

        public long getSize()
        {
            return OVERHEAD + _methodBody.getSize() + _headerBody.getSize() + _contentBody.getSize();
        }

        public void writePayload(ByteBuffer buffer)
        {
            AMQFrame.writeFrames(buffer, _channel, _methodBody, _headerBody, _contentBody);
        }
    }

    public static final class SmallCompositeAMQBodyBlock extends AMQDataBlock
    {
        public static final int OVERHEAD = 2 * AMQFrame.getFrameOverhead();

        private final AMQBody _methodBody;
        private final AMQBody _headerBody;
        private final int _channel;

        public SmallCompositeAMQBodyBlock(int channel, AMQBody methodBody, AMQBody headerBody)
        {
            _channel = channel;
            _methodBody = methodBody;
            _headerBody = headerBody;

        }

        public long getSize()
        {
            return OVERHEAD + _methodBody.getSize() + _headerBody.getSize() ;
        }

        public void writePayload(ByteBuffer buffer)
        {
            AMQFrame.writeFrames(buffer, _channel, _methodBody, _headerBody);
        }
    }

}


Welcome to Wessex Society, the cultural society for the land of Thomas Hardy, King Alfred, Broadchurch, Hot Fuzz and The Wurzels. Here you can buy merchandise, learn about the region, and read our blog. We are entirely patron funded, so if you like what we do, click on the link marked "Become A Patron" and give us some alms.


Grinding Sieve Machine, Wholesale Various High Quality Grinding Sieve Best Factory Direct Sales Moving Hot Quality Gravel Sieve Machine Africa 985 · South Asia 443. sand vibration machine, vibro sand screening machine for Philippines . machine vibrating screen separator Africa 3968 South America 2156.
Apr 12, 2015 Stone crushing plant for sale ,Stone crushing plant Philippines,Stone Barite Grinding Plant in Thailand · Calcium Carbonate Grinding Mills · Energy . Portable Sand and Gravel Separator Engine Driven Screening Plant.
mini hand operated gravel crushing Deze pagina vertalenchina gravel Magnetic Separator for sale,tiny scale stone crushing plant machine mini gravel crusher price. mini . . philippines aquarium sand gravel – Grinding Mill China.
1 result for gravel and sand price in metro manila Philippines; For sale gravel and sand list philippines - Raymond Grinding Mill . gravel sand price list philippines. gravel separator,sand and gravel wash plant from Philippines Alibaba.com.
For example rock crushing equipment cost rock crushing eq . mining in quezon philippines. quarrying in sariaya quezon grinding mill Iron Sand Separators for Sale equipment Iron Ore quezon city philippines. iron ore mining in .
magnetic separator for bentonite professional_Hydraulic Driven Track Mobile Stone Crusher,Mobile . coal, dolomite, feldspar, granite, gravel, gypsum, micro silica, pebble, quartz, slag Mtw Raymond Grinding Mill For Making Powder 1 30tph,Mtw138 . Philippines Used Blast Furnace Slag Mill For Bentonite Buy Blast .
Browse 139 results for crusher on OLX Philippines. Brand new and used for sale.
portable crusher crushing plants crushing portable rock crushers for sale aggregate area local businesses ho restaurant etc find location addresses ph.


text:
How Eicosanoids are synthesizing in Human body
In biochemistry, eicosanoids (preferred IUPAC name icosanoids) are signaling molecules made by oxidation of 20-carbon fatty acids. They exert complex control over many bodily systems such as
In growth during and after physical activity,
Inflammation or immunity after the intake of toxic compounds and pathogens, and
act as messengers in the central nervous system.
The networks of controls that depend upon eicosanoids are among the most complex in the human body.
The first step in the formation of eicosanoid mediators consists in the release of the precursor fatty acids from the membrane phospholipids. This release may happen along several possible metabolic routes (Figure 1.1-1a).
How Eicosanoids are synthesizing in Human body:
Figure 1.1-1:
a) Alternate pathways of Arachidonic acid release
b) cellular locations of enzymes involved in Eicosanoid formation
a: Arachidonic acid may be directly released by phospholipase A2 (PLA2), or alternatively by the successive action of phospholipase C (PLC) and diacylglycerol (DAG) lipase.
b: The major mechanism of release involves a cytosolic phospholipase A2 (cPLA2). An increase of Ca++ in response to an extrinsic signal causes binding of cPLA2 to the nuclear membrane. Cyclooxygenase (COX) and Lipoxygenase (LOX) form their respective intermediates, which are further processed by cytosolic enzymes to prostaglandins (PG), thromboxanes (TG), and leukotrienes (LT), respectively.
The major physiological mechanism of release consists in the activation of a Cytosolic phospholipase A2 (cPLA2) by Ca++ in response to an extracellular signal. cPLA2 then attaches to the nuclear (and probably ER) membranes, which appear to be the major reservoir of Arachidonic acid and its analogs.
What are Lipids ? What are the Importance in Human Body
Lipid Metabolism: Simple Smart Guide and Notes
The formation of the most important Eicosanoid derivatives of Arachidonic acid and its analogs is initiated by cyclooxygenases (Cox) and lipoxygenases (Lox):
Cyclooxygenase, also called prostaglandin H synthase, converts arachidonic acid first into prostaglandin G2 (PGG2) and then PGH2. PGH2 is the common precursor of prostaglandins E2 and F2, and of prostaglandin I2 (prostacyclin). It is also the precursor of thromboxane A2 (TXA2). Therefore, cyclooxygenase is the single most important enzyme and drug target in eicosanoid metabolism.
Lipoxygenase 5 converts arachidonic acid into 5-hydroperoxy-eicosatetraenoic acid (5-HPETE), which is the precursor of leukotrienes. Leukotrienes are formed mainly in leukocytes, e.g. macrophages and granulocytes, and they are potent pro-inflammatory mediators. Suppression of leukotriene synthesis with inhibitors of lipoxygenases is a fairly recent therapeutic principle in the treatment of asthma and chronic inflammation.
12- and 15-HPETE are formed by the corresponding lipoxygenases 12 and 15. They can be reduced to hydroxy- eicosatetraenoic acids (HETEs) and further converted to lipoxins (cf Figure 1.2-5). H have their own receptors and physiological roles, but they are not presently in the focus of interest of drug therapy or development.
Eicosanoids derived by lipoxygenases. a: Mechanism of reaction, illustrated for 15-lipoxygenase.
Abstraction of a hydrogen atom by a non-heme iron in the active site leads to a carbon radical intermediate, which subsequently reacts with an oxygen π radical.
b: Products of the three lipoxygenases (5-, 12-, and 15-lipoxygenase).
The initial hydroperoxy products (HPETE = hydroperoxyeicosatetraenoic acid) are reduced by glutathione peroxidases to hydroxy derivatives (HETE). HETEs may have signalling roles of their own, and they may also be converted further to lipoxins.
This conversion is initiated by another lipoxygenase, as shown here for 5-lipoxygenase (5-Lox) acting on 15-HETE. 5-HPETE is also the precursor of the leukotrienes.
The major 'classical' drug target in prostaglandin metabolism is cyclooxygenase, which occurs in several isoforms: Cox-1, Cox-2, and apparently in some mammals Cox-3. This is due to the central role of its product prostaglandin H2 as a precursor of multiple eicosanoid mediators (Figure 1.1-3).
Structures of prostaglandin H2 and its derivatives. PG, prostaglandin; TX, thromboxane.
The synthesis of PGH2 occurs in two separate successive reactions (Figure 1.1-2), for which there are two separate active sites on the cyclooxygenase molecule.
Essential Fatty Acids Definition and Notes in Biology
Fatty Acid Synthesis: Activation, Steps and Control
The two reactions catalyzed by cyclooxygenase. For each of these reactions, there is a separate active site.
The first reaction – also referred to as the cycloxygenase reaction – introduces two peroxy groups, one endoperoxide (forming a ring with carbons 9-11) and a hydroperoxide attached to position 15.
Fatty acids : Building Blocks of Fats and Oils
Biosynthesis of Saturated Fatty acids Notes
The resulting product– prostaglandin G2– is quite unstable, yet it is able to dissociate from the enzyme and to rebind to the second active site of the same or another enzyme molecule. There, the hydroperoxide is reduced to a simple hydroxy group, at the expense of two equivalents of reduced glutathione. This second step is called the peroxidase reaction.
Spatial relationship of the two active sites in cyclooxygenase 1.
a: Heme (green, with iron in magenta) and arachidonic acid (white, space-filling) bound within the peroxidase and the cyclooxygenase sites, respectively.
b: Location of three important amino acid residues within the cyclooxgenase active site. Note that Tyr 385 is positioned between the two active sites.
c: Space-filling representation of arachidonic acid (yellow), Tyr 385 (white), and heme (green).
The two active sites of cyclooxygenase are located close to each other (Figure 1.1-4a), and it is believed that this proximity is important in the 'priming' of the cyclooxygenase site. The first step in the cyclooxygenase reaction (Figure 1.1-5) is initiated by a tyrosyl radical (Tyr385 in cyclooxygenase 1; Figure 1.1-4b,c).
Catalytic mechanism of the cyclooxygenase reaction, leading from arachidonic acid (top left) to prostaglandin G2 (top right). Y· and YH represent Tyr 385.
Molecular oxygen reacts in its π-radical form.
Note that this is only the first one of the two reactions catalyzed by cyclooxygenase.
This tyrosyl radical will not exist in a newly translated enzyme molecule, and once it is there, it may be lost due to capture of a hydrogen from somewhere else than the substrate. There thus has to be a mechanism for its formation or regeneration. This mechanism is provided by the heme in the peroxidase active site.
The heme radical cation, which forms as an intermediate during the peroxidase reaction, can abstract a hydrogen atom from the tyrosine -OH group, which thus may act as a reductant in place of one of the glutathione molecules normally functioning as cosubstrates (Figure 1.1-6b).
Overview of the peroxidase reaction of cyclooxygenase. a: Prostaglandin G2 enters the peroxidase active site after leaving the cyclooxygenase site.
It is reduced by heme, which thereby is converted into the cation radical form (red).
The heme is reduced in turn by glutathion (GSH) in a stepwise fashion. b: 'Priming' of the cyclooxygenase site.
The heme cation radical abstracts a hydrogen atom from Tyr 385, which thereby replaces one glutathione.
The prostaglandin G (PGG) that is required to form the heme cation radical in the first place must be provided by another enzyme molecule. (AA-H: arachidonic acid)
The peroxidase reaction (Figure 1.1-6a) can function in the absence of cyclooxygenase activity, because the intermediate product (prostaglandin G2) can be provided by another enzyme molecule.
In accord with this model, a sample of cyclooxygenase, when expressed recombinantly and in the absence of arachidonic acid substrate, will initially be inactive, but it will exhibit 'burst' kinetics upon first contact with arachidonic acid, due to the cascading activation of more and more enzyme molecules by PGG2.
Phenylketonuria (PKU): What is PKU and its Treatment

redpajama_set_name: RedPajamaCommonCrawl


By Jereme Thomas - December 26,2013.
Frogmo first made its debut as a company in 2007 and over the past 6 years has grown exponentially in the number of clients and amount of services we have been able to provide. It's been a busy and productive 6 years and we have always strived to put our clients and their needs as a top priority. Which is why, after several years in the making, the official Frogmo blog is finally ready to launch.
As a provider of SEO and web development services, the Frogmo team understands how important it is to utilize social media and provide personal stories, such as blog posts, that our visitors and potential customers can relate to. The goal of our blog is to provide up-to-date and relevant information that our readers will find useful and can put into practice free of charge. Our team is constantly reading, listening, and learning the newest strategies and trends in web development so that we can provide the best advice and services possible to our clients.
We hope by reading this blog you too will gain some insight into the world of SEO and web development and also get to know our team and our business a little bit better. Happy reading and welcome to the blog!


With almost year round sunshine, Southern Baja California will marvel you with its incredible beauty, golden beaches and enchanting desert landscape. The Pacific Ocean and Sea of Cortez invite you to enjoy its turquoise waters. Hidden caves, bird sanctuaries and stunning views are just some of the attractions of the area. You can enjoy great sport fishing or playing on one of the challenging golf courses, or taking a stroll and discover the many natural beauties of the region.
Eyalet Konaklama vergisi 3 %. Only Credit Cards accepted.
Hizmet vergisi 6 ABD doları. Only Credit Cards accepted.
Mandatory Service Charge Fee US$6.00 per room per night.


Hospitals, doctor's surgeries and other health professionals are under constant pressure to stay within already stretched budgets, so medical equipment leasing plays an important role in ensuring that the health sector has the equipment it needs to continue providing vital services.
Medical equipment leasing means that the cost of investment can be broken down into manageable monthly payments thus relieving strain on existing resources and budgets. A finance lease also means that equipment can be easily upgraded enabling practices to stay ahead of advances in technology and in addition valuable cash remains in the business.
With all payments being fixed for the duration of the Agreement medical equipment leasing is the perfect way to accurately budget monthly expenditure and payments are 100% allowable against pre tax profits.


text:
Home Hacking Avoiding the pitfalls of operating a honeypot
Avoiding the pitfalls of operating a honeypot
So, you've had enough. You are fed up with hackers and have decided to go "active" in identifying and taking them down. While the sentiment is certainly justifiable in these difficult times, the old adage of "look before you leap" could not apply more than in this context.
Any type of active cyber defense, such as creating and operating a honeypot, can create potential liability and open a business up to action by one or more regulators. At its foundation, the honeypot is designed to mislead and misrepresent its nature to entice a hacker into engaging with it. To accomplish that, the honeypot must be constructed to appear to be a legitimate entity (e.g., a bank, a consumer products business, etc.).
It's one thing to do that in the context of a third-party hacker intending to do harm. It is quite another when the third party has no harmful intent, but merely stumbles upon the honeypot thinking it to be a valid website. Even if the third-party is a hacker, deploying active measures like collecting information about the attacker or, worse yet, attempting to place phone-home or other technologies onto the attacker's own systems may violate applicable privacy laws and may, themselves, result in the operator of the honeypot violating state and federal anti-hacking laws.
While there have been various attempts to enact legislation in support of active cyber defense tactics, such as honeypots, none have yet to become actual laws. The operation of a honeypot is never without inherent risk. These risks can, however, be mitigated to a certain extent by following these guidelines:
Minimize misleading material and data collected
Ensure the domain name for the honeypot and the name of the associated fictitious business are not identical to or confusingly similar to real businesses, which could violate state and federal laws relating to trademarks and business names. This can be done through internet searches and queries to trademark databases.
In most instances, the honeypot will have an associated web site designed to depict the target business. As with any web site, ensure you have all rights necessary to display the content on the site (e.g., if there are photos of individuals, appropriate consents and releases should be obtained).
Avoid use of terms describing the business that may be the subject of state or federal regulation (e.g., stating the business is a savings and loan company, credit union, or a bank).
Include standard terms and conditions on the site, strictly limiting liability and making clear that interactions with the site may be recorded and used for the creation of reports and statistics (i.e., that the visitor interacting with the site has no expectation of privacy with regard to those interactions). Essentially, these terms are used to obtain "consent" from the hacker to track their movements and actions. The effectiveness of such a consent in this context has yet to be validated by any court, but, at least, it provides a potential defense in the event the hacker brings a claim against you.
Include a privacy policy, as required by some states, specifically tailored to permit broad uses of data collected about visitors to the site. Again, these terms are intended to serve as "consent," but, as noted above, this approach has not been validated by any court.
Construct the site such that an innocent visitor is not prompted to reveal personally identifiable information (other than the IP address from which they are communicating) or misled to their detriment (e.g., provided information that they may act upon and incur a loss). Sites that are purely "brochureware" are the least likely to create liability. While those permitting extensive interactions (e.g., completion of site registration and other activities), have higher likelihood of liability.
With regard to data collected about a hacker's activities on the site, never disseminate personally identifiable information to any third party, other than law enforcement. Uses of aggregated or de-identified data are described below.
Bear in mind that, while remote, a hacker could, theoretically, sue for fraud and other causes of action as a result of being misled as to the content and purpose of the site.
Don't become a hacker yourself
Operators of honeypots sometimes desire to trick the hacker into downloading phone-home and other technologies for purposes of identifying the hacker and/or better tracking their movements. Understand that downloading programming and other technology onto someone's systems or attempting to access their systems without their knowledge or consent almost certainly violates state and federal anti-hacking laws (e.g., the federal Computer Fraud and Abuse Act) – even if done in the context of cyber security. Penalties for these activities can be substantial and harsh. Never engage in such activities without the involvement and direction of law enforcement.
Don't violate privacy/electronic communication laws
As noted above, be very careful about the information collected in connection with the honeypot. Privacy laws, particularly the General Data Protection Regulation (GDPR) and federal Electronic Communications Privacy Act (ECPA), have very broad application and extend to IP addresses and, even, business contact information. Using this information may be strictly limited and present the potential for enforcement actions and liability. Except for interactions with law enforcement, uses of personally identifiable information should be strictly avoided. Only aggregated or de-identified information should be used, particularly in the context of any published reports or statistics regarding operation of the honeypot.
The law regarding entrapment is complicated, but if someone creates a situation intended solely to snare a wrongdoer, there is the potential for an argument this constitutes entrapment. In such a case, law enforcement may decline to take action on information gained from the honeypot.
While most businesses create honeypots for the very beneficial reason of identifying and, potentially, having hackers prosecuted. There are very real dangers in doing so. The business may open itself up to potential claims from the hacker, subject itself to regulatory action, or, even, find itself prosecuted for hacking. Think carefully before moving forward with any honeypot project. Involve legal counsel and, potentially, consult with law enforcement.
AvoidinghoneypotOperatingpitfalls
CyberwarCon – the future of nation‑state nastiness
Vulnerabilities Found In Aircraft Warning Lights Triggering Hacking Attacks
How a bank got hacked (a study in...
How a small business should respond to a...
Capital One hack shows difficulty of defending against...
Beware rogue email rules and forms
Sharks and phishers are circling, looking to snag...
What are the security implications of Elon Musk's...
Stealing money in the digital age: The dark...
11 prime DEF CON and Black Hat talks...
Lack of belief will doom crytpocurrency
What's a botnet? When armies of contaminated IoT...
Capital One hack shows difficulty of defending...
11 prime DEF CON and Black Hat...
What's penetration testing? 10 hacking instruments the...


text:
Home Website Review Must Love Ice Cream Review (January) Check If It Is Legit Or...
Must Love Ice Cream Review (January) Check If It Is Legit Or A Scam Website?
Must Love Ice Cream Review
In our Must Love Ice Cream Review We have discussed all the important points of the site to make it easier for consumers to understand the product in a clear manner. For the latest updates, visit our blog.
Hello, readers! The winter season is upon us. Do you like eating ice cream during the winter months? Are you contemplating what we're asking you? Since in the discussion we're talking about a site that provides various ice-cream flavors.
The website has gained attention from both Canada and the United States and Canada. The Must Love Ice Cream Review we look at its benefits, drawbacks and the authenticity of the product in the next section. Continue reading the review.
What is a Must. Do you like a website?
It's an online shopping website, however it is one of a kind. It does not specialize with electronics, clothing accessories, clothing such as. however, it does deal in ice-creams. You've got saliva in your mouth in order to learn about this site's products.
The website was developed by two of their best friends. They had a original idea of selling ice cream via the internet. They guarantee the quality of the ice creams. Additionally, they provide various ice-cream flavors and sprinkles.
However, consumers must be aware that is Should Love Ice cream legit or any kind of scam.
To learn the most important facts about must. Love's website
URL of the website http://must.love.
The website portal was the mark as on 13/10/2020.
This domain is set to be removed at 13/10/2023
email address Not found.Not found.
Address of the official website We were unable to find the correct address for its official website.
Shipping Policy Once your order has been shipped the order will take between about 1-2 days for it to reach your doorstep.
Free shipping It provides free worldwide shipping for orders over $60or more.
A social media profile On the home page we came across a the logo of social media, and when we clicked it, we saw an advertisement page on a social website.
Telephone number to study Must Love Ice Cream Review The developer didn't mention the phone number on the site's contact details.
Shipping cost: It costs $15 for every purchase of less than $60.
Shipping regions – We deliver in all 50 U.S. states and Washington D.C. We do not deliver to P.O. boxes.
Return policy The return policy is not listed.
Refund Policy– Not found.
Payment options Pay-Pal, Debit Card Credit Card.
Pros of Must.Love Website:
It is HTTPS secured.
We could not locate any engine that denies.
The negatives of Must.Love Website:
It's a very young domain.
On the official website of the website, there is no information that is provided on the relevant guidelines.
To find out Is Have Ice-Cream legitimate or a fraud:
Many customers have encountered scams when shopping online and suffered financial losses. Additionally, we recommend to verify the website's authenticity prior to shopping and save money. We will also study certain aspects of the site to determine the credibility of the website and whether it's trustworthy or a scam. Let's examine the website thoroughly
Domain age: The site was been up and running since the 13th of October in 2020, and it's a one-year-old website.
Credibility Score The Trust score for is very good, with 60 percent..
Trustworthy Official URL: To study the Must Love Ice Cream Review, we cannot find the official address of the site.
A valid number for contact: Buyers cannot find a valid contact number within its contact feature.
The Social Media Preference We discovered its page of promotion within the social media website.
Website The owner's name is Hannah Mollie and Mollie are both best friends and the web's creators.
Percentage of Copyrighted Content: The web portal copied 100 percent of content from another website.
Alexa Ranking: As per Alexa the world's most popular ranking site has a 538,628 in the last 90 days.
Based on the above information it is not possible to say this site is authentic.
You must verify the Have Ice Cream Review-
After reviewing reviews on the website We found a number of favorable comments on the social media marketing page. Additionally, it has an outstanding trust score which signifies it is followed by a large number of buyers and is a favorite with its competitors.
The relevant information, such as policies and official addresses is not available, which raises doubts about the authenticity of the website.
The Closing Statement:
The site offers numerous products such as CASHHEW COOKIE
Lack of accurate information and the absence of Must Love Ice Cream Review, is not a good thing for the website.
Also Read: Quevos Reviews (January 2022) Check If It Is Legit Or A Scam Website?
Previous articleQuevos Reviews (January 2022) Check If It Is Legit Or A Scam Website?
Next articleMiloquilling Reviews (January 2022) Check If It Is Legit Or A Scam Website?


Trump Rages Against Fake Everything - Do You Share His Anger?
What's fake is Donald Trump! He's a spoiled brat, so whenever anyone criticizes him his response is fake news! His adolescence behavior is very frustrating, this is by far the worst president in US history. Wake up Trump supporters!


text:
Pareophora pruni är en stekelart som först beskrevs av Carl von Linné 1758.  Pareophora pruni ingår i släktet Pareophora, och familjen bladsteklar. Arten är reproducerande i Sverige.

Källor

Bladsteklar
pruni

redpajama_set_name: RedPajamaWikipedia


text:
Q: Counting with IR sensors on the Arduino I'm to make a autonomous watercraft that collects debris (ping pong balls) as part of a group task. I thought it might be useful to track how much debris the watercraft captures. It's basically a catamaran design where the balls flow under it and into a net. An idea was to set up an IR sensor underneath that tracks how many balls flow in, the only problem being it would just add to the count if one was to flow out. We tossed around an idea of having two IR sensors that could tell the direction the balls were travelling i.e. if the first then second sensor were triggered it was going in and vice versa. There is only room for one ball wide underneath the watercraft. What might be the best way of programming the ball count on the Arduino using two sensors? Or how should the sensors be set up; one immediately after each other, a gap a ball wide in-between or even wider?

A: The accepted practice here is to ask more specific questions, however I do quite a bit of work with industrial automation as well as hobby programing so I will see if I can help you get started.
To determine the direction of something moving past 2 sensors you should place the sensors so that they are just wider than one ball.  You can tell what direction the object is going by seeing which sensor goes on first.
You will need to catch a couple of border line cases as well:  if a ball trigers one sensor then head back the way it came (waiting for the second sensor may not happen).  You can catch 2 balls coming in at once as both sensors will stay on.
Hope this gets you started.

redpajama_set_name: RedPajamaStackExchange


text:
City of Cleveland extends curfew through Tuesday night following Saturday riots
Volunteers clean up broken glass at Wonder Bar on E. Fourth Street after Saturday's protests over the death of George Floyd.Joshua Gunter, cleveland.com
By Jane Morice | jmorice@cleveland.com
CLEVELAND, Ohio – Cleveland Mayor Frank Jackson has extended the city's curfew, imposed Saturday night after riots broke out downtown, through Tuesday night.
The curfew, which was slated to expire at 8 a.m. Monday, now runs through 8 p.m. Tuesday, according to a press release from the Jackson administration.
The area affected by the curfew has also been extended to include the central business district of downtown Cleveland, as well as the Market District of Cleveland's Ohio City neighborhood.
No one is allowed on the streets of these areas, whether walking or driving. Officials provided for limited exceptions for cleanup and those who live and work downtown. However, they encouraged those who live and work in the area to also stay home.
The curfew was originally put into place at 8 p.m. Saturday to contain the chaos that broke out following an otherwise peaceful rally demanding justice in the wake of the police killing of George Floyd in Minneapolis. The curfew was extended throughout the day Sunday so that city crews, as well as volunteers and business employees, could clean up the destruction caused by vandals and looters.
The press release Sunday night also presented more details regarding the law enforcement efforts during and after the Saturday rally. Sixty-five adults and one juvenile were arrested. They are jailed and facing charges including aggravated rioting, vandalism, disorderly conduct and curfew violations, the city said.
The Cleveland fire department responded Saturday to two building fires; 10 vehicle fires, including four police cars and 11 other fires, such as dumpsters and ticket booths set ablaze, the news release says. Additionally, city paramedics took 20 people to area hospitals for various injuries, and while several first responders were injured, none reported serious injuries, the city said.
The city said pepper spray and tear gas were deployed on the protesters outside the Justice Center only after "multiple orders given by law enforcement to disperse were ignored." But cleveland.com reporters at the rally did not hear any dispersal orders, nor were they tweeted.
Jackson and Cleveland Police Chief Calvin Williams plan to hold a media briefing at 9:30 p.m. Sunday to further address the ongoing situation in the city. You can watch the briefing on the city's Facebook page.
Protestors at Cleveland George Floyd demonstration organized in advance, denounced violence
Cleveland officials provide no proof that rioters were out-of-towners, no info on 65 arrests downtown
Suburban shopping centers closed after downtown Cleveland protests turn violent


I love wandering through the garden each morning and looking at all the blossoms! We don't have a lot of produce yet, but it is exciting thinking about the fruits and vegetables that are on their way. I wonder how many visitors can identify these plants just by looking at the blossoms! 1. 2. 3….


A rent increase from the local school district could force one of Western Canada's oldest school houses — and a pre-school co-op — to close its doors.
The Strawberry Vale Co-op Preschool currently pays $230 a month for its working space in Saanich, outside of Victoria. But the local school district, which owns the building that houses the preschool, intends to increase the rent by nearly 500 per cent.
But parents are fighting the rent hike. Families are holding what they're calling a "Play In" outside of the school district office, before preschool representatives have the chance to present their argument to the board.
"We're going to ask formally for an extension so we can work with them to come to an agreement that works for everybody," said pre-school vice-president Angie Hentze.
Changes from BC Hydro could make adopting solar power tougher in B.C.
BC Hydro has announced changes to its net-metering program, and the Vancouver Renewable Energy Cooperative is raising concerns that the changes will make it more difficult to install solar power in B.C.
About 95 percent of the projects under net-metering are solar energy projects. The immediate change would limit the size of projects based on the utility customer's electrical consumption in the prior year.
BC Hydro has stated that this change won't have a major affect on new participation since most projects would fall below this threshold. However, the submission as it is written will create additional hurdles for many new applicants and prevent some important new projects from going forward, says the co-op.
The New School in New York City has announced that the Platform Co-operativism Consortium has received a Google.org grant for pioneering work on Platform Co-operativism.
The grant supports the economic development of cooperatives in the digital economy. That includes designing open source tools that will support platform co-ops working in sectors such as child care, elder care, home services, and recycling. Platform co-ops are websites or apps that are owned and democratically governed by workers and/or users.


text:
Q: Android app with many diagrams - memory issue I have an Android app with several activities and within those activities are around 16 diagrams (JPEGs approx 1200px x 800px, around 300kb each). There are a maximum of 3 diagrams per activity.
I am using BitmapFactory to load the images and scale them accordingly and it's all working fine on devices of all sizes (including devices with small memory).
My question is, I am wanting to add more activities, and another 16 diagrams (again, no more than 3 per activity). Will this make a difference to the memory management for my app? I realise my overall app install size will be larger, but in terms of the amount of RAM the app uses, will it stay the same?
My thinking is that the RAM only loads the diagrams in the activity that is currently being viewed so really it's only 3 that are being loaded at once? So in theory would another 16 images make a difference to my app performance?
Thanks!

A: The amount of RAM usage will increase with the increase of number of processes and images in the activity. You can monitor use application and each activity using android monitor which may highlight the RAM usage for your application w.r.t activities.

A: I created a second version of my app with 50% less activities and diagrams and tested this and the average RAM was about the same so this pretty much answers my own question, that the RAM use would not increase by increasing the activities and number of images.


Dropping the audience right into the center of a turbulent time in recent history without explaining how anyone ended up there or why, Clint Eastwood's Invictus demands that viewers take an awful lot for granted, in good faith and little else.
A recounting of events during the transformative period in which the iconic former political prisoner Nelson Mandela served as president of post-apartheid South Africa from 1994-1999, Invictus, somewhat like apartheid itself, is plagued with a narrative divide that never quite comes together. And in effect, despite some truly uplifting moments, seems unable to decide whether it wants to be a sports movie or a political biopic.
Morgan Freeman is Nelson Mandela in Invictus, the internationally heralded anti-apartheid leader who struggled from his prison cell on Robben Island for nearly thirty years, where he was sent on charges of sedition, to end apartheid in South Africa. Ironically, Mandela would then rise to the highest position in a very recently oppressive land, nearly a decade and a half before the notion that a black man could ever be president came to fruition in the US, a country at least publicly having prided itself on being way more politically advanced than South Africa.
Adapted from the John Carlin book, Playing the Enemy, and borrowing its title from British writer William Ernest Henley's 1875 poem with the famous lines, 'I am the master of my fate: I am the captain of my soul' – that Mandela cherished pondering in his jail cell, Invictus would have benefited immensely if it had taken time to borrow more substantially from the historical record as well. As such, the resolution of the country's profound post-apartheid racial divide is conceived simplistically as key political progress essentially scored via victorious rugby games. And establishing ultimate social reconciliation, not as a meeting of minds between Mandela and say, a white political counterpart, but rather between the president and the captain of the South African rugby team. Sports nut mania or pro-Afrikaner prison Stockholm syndrome? And in effect athletic competition as the great uniter. If only history were that easy to repair.
In this manner, the long and arduous struggle of Mandela, along with the anti-apartheid ANC resistance movement, is trivialized, despite Freeman's otherworldly characterization of Mandela in icon-speak. This, while the ANC is portrayed simply as a disgruntled collection of sourpusses with unimportant grievances, and in serious need of anger management classes. While the ANC and Mandela's own ideological roots in Marxism are white-washed away, so to speak, with the strangely disappearing elephant in the room – communism – getting a dainty spin in that other frequently uttered 'c' word – 'comrade ' – clearly a substitute code word here for communism.
And never mind that South Africa's racial divide continues with widespread economic inequity, rampant crime and corruption, and a still firmly economically entrenched powerful white elite. In other words, kiss and make up truth and reconciliation in the service of the status quo.
Also ironic, is another movie out this year painting quite a different, socially chaotic portrait of South Africa – District 9. And interesting as well, is that legendary guy in his own right, Dirty Harry aka Clint, cleaning up his vigilante act here as a newly emerged champion of peace and against retaliation. Even as he just treated us with seeming relish last year to the prolonged suffering of a man condemned to death by hanging in Changeling. And, without a thought about the way this country tends to thrive on a culture of vengeance, with the highest prison population in the world, and disproportionately filled by far, with African American inmates.


Have you seen the Roly Poly Pinafore pattern by Imagine Gnats? It's a super cute, simple and versatile piece that is perfect for layering, adding fun details and showcasing awesome fabrics. Rachael of Imagine Gnats and the creator of this pattern has rounded up some of her friends to help show off all their versions of this fun pinafore! I decided to make one for Yuki to use as an apron/art smock!
The pinafore is fully reversible, and one of the best parts is begin able to mix and match and pair fabrics together. I chose a bright reddish-orange to go with this cute raindrop fabric. Somehow when I saw the fabric, it reminded me of painting. The large pouch pocket is not part of the pattern, but something I added myself for Yuki to hold paintbrushes, chalk, pens or other art supplies in.
The pattern comes with in seam pockets, which I omitted for this version, but is definitely a great option if you're making this as a tunic.
For the other side, I used a cream linen for the main fabric and some cute Japanese print that I got at Daiso (the Japanese equivalent to a dollar store) for the pocket and fabric covered buttons. I love the little pleat in the middle and the sweet criss crossed back.
Unfortunately, I only got a few pictures of Yuki in the smock so far, but the fit is great and she loves having a special apron like mama!
And it kept her shirt clean while being stylish! Score!
I know she'll get a lot of use out of this and I look forward to whipping up a few more! If you're interested, you can buy the PDF pattern here. And be sure to check out all the other stops on the Roly-Poly-Along blog tour. It started yesterday and will continue for three weeks! My current favorite is this adorable raindrop pinafore by Stephanie of The Crafty Kitty. TOO CUTE! And looking at the other bloggers joining the tour, I know there is bound to be a lot of other awesome and creative pinafores. OH and many of them are giving away copies of the pattern too (like the link above), so be sure to check out details on the blogs for your chance to win!
Thanks Rachael for the awesome pattern!!


text:
Shantanu Moitra
Shantanu Moitra National Film Awards Awarded In 2014
Shantanu Moitra is an Indian music director who has composed music for the Hindi film industry, and is most known for his score in films Parineeta (2005), Hazaaron Khwaishein Aisi (2005), Lage Raho Munnabhai (2006) and 3 Idiots (2009), and private albums, Mann ke Manjeere and Ab ke Saawan sung by Shubha Mudgal. In 2014, he received the National Film Award for Best Music Direction (Background Score) for Na Bangaaru Talli. He was born on 22 January 1968 in Lucknow, Uttar Pradesh, India. Shantanu Moitra began his film career in 2002 Hindi films 'Pyar Ki Dhun' released in 2002 and first breakthrough performance in 2005 Hindi film 'Parineeta' for the film, he won the Filmfare RD Burman Award for New Music Talent. He has also composed for first Bengali movie 'Antaheen'. He has also music composed for Vidhu Vinod Chopra Hindi movie 'Lage Raho Munna Bhai' (2006), '3 Idiots' (2009), and also worked with Indipop albums like as Ab Ke Saawan, Mann Ke Manjeere: An Album of Women's Dreams for Breakthrough, and Sapna Dekha Hai Maine (2003).


text:
/**
 * Document.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
 */

package com.sforce.soap._2006._04.metadata;

public class Document  extends com.sforce.soap._2006._04.metadata.MetadataWithContent  implements java.io.Serializable {
    private java.lang.String description;

    private boolean internalUseOnly;

    private java.lang.String keywords;

    private java.lang.String name;

    private boolean _public;

    public Document() {
    }

    public Document(
           java.lang.String fullName,
           byte[] content,
           java.lang.String description,
           boolean internalUseOnly,
           java.lang.String keywords,
           java.lang.String name,
           boolean _public) {
        super(
            fullName,
            content);
        this.description = description;
        this.internalUseOnly = internalUseOnly;
        this.keywords = keywords;
        this.name = name;
        this._public = _public;
    }

    /**
     * Gets the description value for this Document.
     *
     * @return description
     */
    public java.lang.String getDescription() {
        return description;
    }

    /**
     * Sets the description value for this Document.
     *
     * @param description
     */
    public void setDescription(java.lang.String description) {
        this.description = description;
    }

    /**
     * Gets the internalUseOnly value for this Document.
     *
     * @return internalUseOnly
     */
    public boolean isInternalUseOnly() {
        return internalUseOnly;
    }

    /**
     * Sets the internalUseOnly value for this Document.
     *
     * @param internalUseOnly
     */
    public void setInternalUseOnly(boolean internalUseOnly) {
        this.internalUseOnly = internalUseOnly;
    }

    /**
     * Gets the keywords value for this Document.
     *
     * @return keywords
     */
    public java.lang.String getKeywords() {
        return keywords;
    }

    /**
     * Sets the keywords value for this Document.
     *
     * @param keywords
     */
    public void setKeywords(java.lang.String keywords) {
        this.keywords = keywords;
    }

    /**
     * Gets the name value for this Document.
     *
     * @return name
     */
    public java.lang.String getName() {
        return name;
    }

    /**
     * Sets the name value for this Document.
     *
     * @param name
     */
    public void setName(java.lang.String name) {
        this.name = name;
    }

    /**
     * Gets the _public value for this Document.
     *
     * @return _public
     */
    public boolean is_public() {
        return _public;
    }

    /**
     * Sets the _public value for this Document.
     *
     * @param _public
     */
    public void set_public(boolean _public) {
        this._public = _public;
    }

    private java.lang.Object __equalsCalc = null;
    public synchronized boolean equals(java.lang.Object obj) {
        if (!(obj instanceof Document)) return false;
        Document other = (Document) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        boolean _equals;
        _equals = super.equals(obj) &&
            ((this.description==null && other.getDescription()==null) ||
             (this.description!=null &&
              this.description.equals(other.getDescription()))) &&
            this.internalUseOnly == other.isInternalUseOnly() &&
            ((this.keywords==null && other.getKeywords()==null) ||
             (this.keywords!=null &&
              this.keywords.equals(other.getKeywords()))) &&
            ((this.name==null && other.getName()==null) ||
             (this.name!=null &&
              this.name.equals(other.getName()))) &&
            this._public == other.is_public();
        __equalsCalc = null;
        return _equals;
    }

    private boolean __hashCodeCalc = false;
    public synchronized int hashCode() {
        if (__hashCodeCalc) {
            return 0;
        }
        __hashCodeCalc = true;
        int _hashCode = super.hashCode();
        if (getDescription() != null) {
            _hashCode += getDescription().hashCode();
        }
        _hashCode += (isInternalUseOnly() ? Boolean.TRUE : Boolean.FALSE).hashCode();
        if (getKeywords() != null) {
            _hashCode += getKeywords().hashCode();
        }
        if (getName() != null) {
            _hashCode += getName().hashCode();
        }
        _hashCode += (is_public() ? Boolean.TRUE : Boolean.FALSE).hashCode();
        __hashCodeCalc = false;
        return _hashCode;
    }

    // Type metadata
    private static org.apache.axis.description.TypeDesc typeDesc =
        new org.apache.axis.description.TypeDesc(Document.class, true);

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("http://soap.sforce.com/2006/04/metadata", "Document"));
        org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("description");
        elemField.setXmlName(new javax.xml.namespace.QName("http://soap.sforce.com/2006/04/metadata", "description"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("internalUseOnly");
        elemField.setXmlName(new javax.xml.namespace.QName("http://soap.sforce.com/2006/04/metadata", "internalUseOnly"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("keywords");
        elemField.setXmlName(new javax.xml.namespace.QName("http://soap.sforce.com/2006/04/metadata", "keywords"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("name");
        elemField.setXmlName(new javax.xml.namespace.QName("http://soap.sforce.com/2006/04/metadata", "name"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("_public");
        elemField.setXmlName(new javax.xml.namespace.QName("http://soap.sforce.com/2006/04/metadata", "public"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
    }

    /**
     * Return type metadata object
     */
    public static org.apache.axis.description.TypeDesc getTypeDesc() {
        return typeDesc;
    }

    /**
     * Get Custom Serializer
     */
    public static org.apache.axis.encoding.Serializer getSerializer(
           java.lang.String mechType,
           java.lang.Class _javaType,
           javax.xml.namespace.QName _xmlType) {
        return
          new  org.apache.axis.encoding.ser.BeanSerializer(
            _javaType, _xmlType, typeDesc);
    }

    /**
     * Get Custom Deserializer
     */
    public static org.apache.axis.encoding.Deserializer getDeserializer(
           java.lang.String mechType,
           java.lang.Class _javaType,
           javax.xml.namespace.QName _xmlType) {
        return
          new  org.apache.axis.encoding.ser.BeanDeserializer(
            _javaType, _xmlType, typeDesc);
    }

}

redpajama_set_name: RedPajamaGithub


text:
Sharper teeth for the European Court of Human Rights?
According to Alex Bailin QC and Alison Macdonald writing in The Guardian, the European Court of Human Rights will soon have much needed power to filter cases at an early stage, and therefore begin to clear its huge backlog of cases:
Fortunately, in January a significant stalemate was broken when Russia finally ratified a six-year-old provision which will speed up the court's processing of cases. Protocol 14 provides for a more robust and rapid filter of weak cases, with a single judge having the power to declare wholly unmeritorious cases inadmissible, without any right of appeal. "Repetitive cases" can also be blocked if a relevant ruling on similar issues has already been given. Most controversially, the court can also refuse to hear cases in which the applicant has suffered "no significant disadvantage", providing the case was properly considered by the domestic courts in the relevant state. Russia had previously blocked the entry into force of Protocol 14 in protest at what it considered were "political rulings" of the Strasbourg court, primarily relating to the conduct of its operations in Chechyna.
One immediate effect which the change will have on the UK, according to the authors, is in relation to prisoners voting rights. Until now, even though the Court has criticised the UK in relation to this issue, the criticisms have not led to an actual change in UK policy. However, as a result of Protocol 14:
The Committee of Ministers can refer a case back to the European court if it considers that the state has not fully complied with a decision of the court. If the court agrees, the committee can decide to take action against the state for noncompliance – including, in theory, suspension or expulsion from the Council of Europe
Will prisoners sue if denied voting rights?


text:
Home > News > Libraries
ALA 2017: Why The Future of Tech Will Be Female
By Andrew Albanese |
In a powerful opening keynote at the 2017 ALA Annual Conference in Chicago, Reshma Saujani, founder of the national nonprofit Girls Who Code, told librarians that getting young girls interested in technology is the key to a better future—and she urged them to help her change a culture that is pushing girls away from coding, and computers.
"I believe that if you teach girls to code, they can march off into the middle class," Saujani said. Unfortunately, she explained, over the last two decades, the number of women in tech—one of the nation's most vital economic sectors—is dropping.
"Today, less than 18% of computer science graduates are women, and the number of women in our technology workforce is actually declining," Saujani observed. "That's crazy. At a time when we are relying on American women to take care of their families, to pay the mortgage, to put food on the table, to make sure their children get a great education, we are missing out on women."
Sauajani noted that there are currently more than 500,000 open computer science jobs the U.S., but that U.S. schools graduate only about 40,000 computer science majors a year, compared to China which graduated 350,000 last year alone. And for women, the problem is even more significant. Last year, just 7,000 U.S. women graduated with a major in computer science, she said, despite women making up more 50% of the labor force, more than 50% of college graduates, and more than 40% of breadwinners in America.
It wasn't always this way. "In the 1980s, 37% of computer science graduates were women," Saujani told librarians. "In fact, if you walked into any of America's gaming camps in the 1980s, it was half girls, and half boys." So what happened?
A big part of the problem, she explained, is the culture. Saujani pointed to the birth of the "brogrammer" in the 1980s, through films like Weird Science, and Revenge of the Nerds. "Little girls looked at that image and said, not only do I not want to be him I don't want to be friends with him," she said, to laughter. "And at some point, it became fashionable for girls to say 'I hate math, I hate science.' You can walk into Forever 21 here on Lakeshore drive right now and buy a t-shirt that says 'I'm allergic to algebra'."
But, just as it has with representations of other professions, that can change in computer science, too. Saujani pointed out that in the late 1970s, less than 10% of doctors and lawyers were women. But as more female doctors and lawyers appeared on TV and in the culture, that changed. "You cannot be, what you cannot see," she said.
I remember going to a lot of computer science classes and seeing hundreds of boys clamoring to be the next Steve Jobs or Mark Zuckerbeg, and I thought, where are the girls?
More broadly, Saujani pointed to how girls are raised—the subject of her popular TED Talk. "I think that we raise our girls to be perfect and we were raise our boys to be brave," she said. "From a very young age, we teach our girls to smile pretty play it safe, get all A's, don't get your dress dirty. And we teach our boys to jump off the top of the monkey bars."
Saujani told librarians how her own personal journey inspired her to teach girls to code. Her parents were refugees, kicked out of Uganda during Idi Amin's purge in the early 70s. Because they were engineers—badly needed in America—they were granted residence, outside of Chicago. "Every day, no matter how tired my father was, he'd put me in the car and drive me to Schaumburg Public Library, and he'd read to me from books about Dr. King, Mahatma Gandhi, Eleanor Roosevet," she recalled. "And I decided then that I wanted to give back to this nation that saved my parents lives."
She went on to law school, and a job at a powerhouse New York firm—which she hated. "It was 2008, and I was watching my mentor Hillary Clinton give her first concession speech, and she had this line, that just because I failed doesn't mean you shouldn't try. I literally felt like she was speaking to me. So, I walked in my boss's office, quit and my job and at 33 I ran for United States Congress—in a New York City Democratic primary against an 18-year incumbent."
She was badly defeated. But that run actually led to the formation of Girls Who Code. "When you run for office, you visit a lot of schools, and I remember going to a lot of computer science classes and seeing hundreds of boys clamoring to be the next Steve Jobs or Mark Zuckerbeg, and I thought, where are the girls?" she said. "Where were we in this industry that was shaping our collective future?"
In 2012, she started Girls Who Code with 20 girls in a New York classroom. It has now reached over 40,000 girls across the country. This summer, Girls Who Code will run 80 classrooms in 11 cities as well as after school classes in all 50 states. In all the program will reach 1600 girls this summer, half of which are under the poverty line. And some 15% of those clubs are in libraries.
"It's working," Saujani reported, telling librarians that 93% of the girls in the summer immersion program go on to major or minor in computer science or a closely-related field, and on average those girls go on to teach other girls about coding. And this Summer, she will publish a nonfiction book for young readers, Girls Who Code: Learn to Code and Change the World, as well as a series of fiction books for young girls with Penguin Random House.
She told librarians she is writing the fiction books because it is important for her to create stories that girls could embrace. "I don't have to tell this audience that literary representation matters," she said. "I wanted to make sure that the girl saw themselves in these characters."
She closed with a plea to librarians—please help. "At a time with a feels like our schools and libraries are under attack, we need to make sure that we stand up and fight. I want you to help start a club every single one of your libraries," she said. "I'm only standing here because a librarian saw something in me, and I'm asking you—I'm enlisting you to help solve this problem. To make sure that every girl just like me has a chance at the American dream, has a shot at one of those 21st Century jobs, has a chance to build the next amazing company, or cure cancer. We can do this together."


text:
Forgotten Tulsa
Tulsa Signs
Coney Island-Now and Then
A tradition since 1926, the Coney Island Hot Weiner shop is the second-oldest continuously operated restaurant in Tulsa (after Ike's Chili). Coney Island was originally located in the Tulsa World building at 311 S. Boulder. In 1946 the restaurant moved to 108 W. 4th St. and in 1995 moved to 123 W. Fourth St in the former Downtowner Motel. The restaurant moved back to 108 W. 4th Street in 2012 as the motel was slated to be torn down to make way for a parking lot (because Downtown Tulsa needs more of those!) In 2015 Coney Island will find a new home in the Brady District.
When I photographed the former Downtowner Motel in 2008 it was rundown and neglected. It would have been nice if someone had been able to save this example of mid century architecture and return it to its former glory as a motel. Part of the reason I started Forgotten Tulsa was to document locations just like this-places that now just exist in pictures and in memories.
Started in 2007, Forgotten Tulsa's goal is to document the city's rich history. Any pictures that I have not created will be credited. All suggestions and memories are encouraged and appreciated. Follow on Instagram @forgottentulsa.
Art In Tulsa
Tulsa History


After finishing the last 3 baby knits (buttons, too! just waiting on sunshine for photos), I've been hunting around for the next project. I wasn't sure I wanted to knit another baby knit. I really want to knit a sweater for myself, but figure I should wait to see what my body will look like post-delivery. I made some progress on the Summer Anklets, the blue/orange socks I recently started; but then wanted to photograph the colors in the skein (again, waiting on sunshine), so that's on hold.
Instead of starting a bunch of new projects, I decided to look at my WIP's and finish something if possible. My WIP list jumped up to 22 with the baby knits -- not good!
Pseudo, because I stranded the main color instead of joining a new ball of yarn.
I've sewn the lining, but, being totally clueless about sewing linings, it's on the smallish side. I'd like to sew another lining that fits better. After all this work, it makes sense to, no?
I spent a good hour trying to figure out why my first post wouldn't appear. It worked fine on my local test setup, but no matter what I did, just wouldn't show up! Finally, I added a test post and it showed up right away! But the post time was one hour earlier. Aha. Time zone difference. I want my hour back!
Once I realized the striping effect of their yarn (I bought 3 different skeins), I wanted a different pattern for the next one that would make it less... stripey. I tried the Short Row Rib scarf on Magknits but the colors were too strong for the pattern (at least for me).
But I liked the three row rib thing going on, so I frogged, cast on length-wise, and did the whole thing in three row rib. The colors are still too bright for me, but I like how they blend more. It's a good length scarf, too, will make a nice gift.
Here are a few cashmere scarves that I knit as gifts. All are handdyed by Danette Taylor, and took 2 skeins. (Which is to say, I used 2 skeins and stopped when I ran out. If cashmere weren't so durned expensive, I would probably use 2 1/4 or 2 1/2 skeins.) They are wonderfully soft and buttery, to wear and to knit! They were all knit on #13 needles over 13-14 stitches.
This first is in her Azaleas colorway. This one is going to my mum. Simple seed stitch pattern. One skein is more red, but I wasn't too concerned.
The next two are in her Summer Rain colorway; the first is... hmm, what is it called, elongated seed stitch? I think there's a name for it... The second is just seed stitch. These are "wedding thank you" gifts to be sent out soon.
And finally, the bag! I knit this on the road and finished it a couple of days before we came home. It was meant for the camera, so in the end, not so useful. Yet. I used Debbie Bliss Cotton Denim, about 1.5 skeins, knit on #5 needles. Liked the yarn, but wasn't so crazy about it on #5's, too small. But, wanted a tight knit so the bag wouldn't stretch out.


text:
Imaging a single molecule - a tiny leap forward for nanotech
By bmahfood 9:00 AM nanotechnology No comments
Mail Online - August 28, 2009, by Clair Bates
The delicate inner structure of a pentacene molecule has been imaged with an atomic force microscope
It may look like a piece of honeycomb, but this lattice-shaped image is the first ever close-up view of a single molecule.
Scientists from IBM used an atomic force microscope (AFM) to reveal the chemical bonds within a molecule.
'This is the first time that all the atoms in a molecule have been imaged,' lead researcher Leo Gross said.
The researchers focused on a single molecule of pentacene, which is commonly used in solar cells. The rectangular-shaped organic molecule is made up of 22 carbon atoms and 14 hydrogen atoms.
In the image above the hexagonal shapes of the five carbon rings are clear and even the positions of the hydrogen atoms around the carbon rings can be seen.
To give some perspective, the space between the carbon rings is only 0.14 nanometers across, which is roughly one million times smaller than the diameter of a grain of sand.
Read entire story>>
Follow me on Twitter. Technological Singularity and Futurism is updated often; the easiest way to get your regular dose is by subscribing to our news feed. Stay on top of all our updates by subscribing now via RSS or Email.


The local Labour Party-controlled council gave the go-ahead for its demolition, the day before a planned demonstration and in blatant disregard for the historical significance and beauty of the artwork. Local opposition expressed in an online petition attracted thousands of signatures in less than a month.
In fact, the mural was situated in an underground walkway leading to John Frost Square, named after one of the Chartist leaders in Wales and a couple hundred metres from the main fighting that took place at the Westgate Hotel.
The architectural and artistic significance of the mural, produced by Kenneth Budd (1925-1995), was explained to the World Socialist Web Site by his son, Oliver, also a mosaic artist.
Budd said that several of his father's other works had also been demolished. These include some of those produced during the redevelopment of the UK's second largest city, Birmingham, in the 1960s—the English Civil War (Battle of Birmingham, 1643), the J. F. Kennedy Memorial and the Colmore Circus Industrial mural.
That Newport City council pressed ahead regardless of the mosaic's destruction is linked to a number of factors. Increasingly, cash-starved councils are handing over control of city centres and their public spaces to private companies whenever redevelopment takes place—as in the case of Cabot Circus in Bristol and Liverpool One, which covers 34 streets in the heart of Liverpool. Newport, which has the highest number of closed High Street shops per head of the population of any city in Europe, is going down the same route.
Anything that detracts from the pursuit of profit is swept away. Rules and regulations are enforced by uniformed private security officers amid round-the-clock surveillance. A host of activities such as cycling, rollerblading, taking photographs and political protest are banned.
The Occupy movement in London, for example, ended up camping on the steps of St. Paul's Cathedral because Paternoster Square, in which the stock exchange was located, had been privatised a few years before.
However, the Newport mural's destruction is in large measure due to its symbolic significance to the developers and the Labour Party.
The Newport Rising, on November 4, 1839, a few months after Parliament had rejected the six-point Charter calling for voting reform, was the last major armed rebellion in mainland Britain. As the Times of the day reported, several thousand Chartists had marched from across South Wales into Newport. Sources suggest they were demanding the release of fellow Chartists imprisoned in the Westgate Hotel. When they surrounded the hotel, troops and special constables fired on them, leaving 22 dead and many more wounded.
The Chartist leaders, including Frost, were convicted of high treason and sentenced to be hung, drawn and quartered. But after protests from all over the country, the sentence was reduced to transportation for life. Other uprisings were also planned in Sheffield, the East End of London and Bradford.
"The era of Chartism is immortal in that over the course of a decade it gives us in condensed and diagrammatic form the whole gamut of proletarian struggle—from petitions in parliament to armed insurrection.… As the Chartists tossed the sentimental preachers of 'moral force' aside and gathered the masses behind the banner of revolution so the British proletariat is faced with ejecting reformists, democrats and pacifists from its midst and rallying to the banner of a revolutionary overturn," Trotsky explained.
This is precisely why big business and a party committed to the defence of big business, Labour, was so keen for the mural to be destroyed.


text:
HomeEventsInnovation and collaboration key to addressing in-water cleaning issues
Innovation and collaboration key to addressing in-water cleaning issues
Source: press release, 5 October 2020
6 October 2020 Editor Events 0
Jotun's Geir Axel Oftedahl advocates a proactive holistic approach to improving in-water cleaning practices (photo: PortPIC)
According to the International Maritime Organization (IMO), poor hull and propeller performance is currently estimated to account for around 9% of the world's fleet energy costs and corresponding greenhouse gas emissions. This translates to about USD 10 billion in additional fuel costs for the world fleet, every year. Fouling also contributes to the transfer of invasive aquatic species between different environments.
Industry stakeholders at PortPIC stress importance of more innovation, collaboration and aligned initiatives to shape sustainable solutions for in-water cleaning. This was the main message from the inaugural In-Port Inspection & Cleaning Conference (PortPIC) held 14-15 September, organised by Jotun and DNV GL.
In his opening address, Geir Axel Oftedahl, business development director, Jotun Marine Coatings raised the issue of biofouling and emphasised, "There's an increasing focus on biofouling and environmental regulations will only get tougher." He urged all stakeholders to take action. "The economic and environmental impact of fouling, combined with the stringent regulations, are likely to drive up the demand for effective and innovative hull coatings and performance monitoring systems, as well as the deployment of advanced cleaning and inspection methods as the authorities become increasingly sensitive to biosecurity risks."
Oftedahl's message centred on taking a holistic, collective approach to improving in-water cleaning practices. "An increasing number of companies and organisations are developing new technologies and solutions. This is very encouraging; however, we believe all stakeholders should try to find common agreement on best practices and standards and that these are adopted as widely as possible. A joined-up approach will benefit the industry and have an enormous impact in the battle against biofouling."
"The message to ship operators is simple," said Volker Bertram, senior project manager, DNV GL Maritime, "They should clean ship hulls and propellers more frequently." But he recognised that "with current cleaning technology and standard antifouling paints, frequent cleaning may lead to premature depletion of the paints and subsequent loss of protection. In addition, biocides, paint particles and biofouling may be released into the environment. Hence the many port authorities around the world no longer allow in-water cleaning."
"Any solution to the current dilemma will require change – change in technology, change in business practice, change in legislation. A big first step is bringing the various stakeholders together: ship owners and operators, port managers, coating and cleaning providers, researchers and legislators, each with their own perspective. By pooling the expertise, a larger picture evolves, and the perception of issues and possible solutions is sharpened. And that's why we have taken the initiative to establish PortPIC," added Oftedahl.
As the issue of biofouling risk and in-water cleaning increases in importance, there is no lack of leadership as industry leading companies and organisations are taking initiatives to support customers and industry.
Startling innovation
Earlier this year, Jotun introduced its new Jotun Hull Skating Solutions. Developed in partnership with technology and shipping partners, the fouling-prevention system is an innovative and sustainable means to help ship operators maintain always clean hulls in the most challenging operations. A primary component of the new solution is the onboard Jotun HullSkater, the first robotic technology that has been purposed designed for proactive cleaning. In combination with advanced antifouling and associated services, the new solution will help ship operators combat early stage fouling, significantly reducing fuel costs, greenhouse gas emissions and the spread of invasive species, pointed out Oftedahl.
Expanding on the proactive cleaning approach, Oftedahl said, "The method most operators use to clean their hulls has not changed over the years. And while traditional, reactive cleaning is useful, this time-honored approach is not optimal since cleaning often occurs long after the fouling has attached to the hull surface. So there is also a need for proactive solutions to ensure the early removal of hull fouling before it becomes a problem. That was our starting point in the conception of Jotun Hull Skating Solutions – a desire to create a definitive solution to this pressing issue, one that wouldn't just deal with the problem, but rather prevent it."
Simon Doran, managing director of HullWiper, firmly believes underwater robotic cleaning is set to play a bigger role to combat fouling issues. "We've seen alternative approaches introduced, including the use of Remotely Operated Vehicles (ROV) hull cleaning, which is becoming widely available. This is not surprising since greater regulation is seeing more and more ports prohibiting traditional hull cleaning or restricting divers to daylight hours only and this is influencing the development of alternatives hull cleaning methods."
"ROVs are a cost-effective and environmentally friendly option. They collect pollutants removed from the vessel's submerged areas for disposal in an environmentally approved and eco-friendly manner onshore. Because no divers are used, they can clean ships during bunker delivery or cargo loading/discharging cargo operations, saving valuable time for vessels. An ROV with a fouling collection system may be granted permission to clean vessels in ports where traditional cleaning is prohibited," added Doran.
Change is underway
ROVs and new technologies were the focus of the forum session on Day 1 of the conference. The technologies are there but widespread uptake will take time was the general consensus. It was also acknowledged that change is underway as the traditional practice presents a range of challenges including safety concerns, damage to coatings and limitations in cleaning locations because of increased environmental restrictions on hull cleaning.
"We can expect new combinations of technologies coming together for in-water inspection and cleaning. Foremost, robotic cleaning has seen stellar growth over the past decade, with industry-mature applications appearing and competing in various countries. But do they match the today's coating technology? And are regulators and port authorities up to date on the technology?" questioned DNV GL's Volker Bertram.
"In short, the answer is the time-honoured 'it is complicated'. Cleaning technology needs to be matched to the coating on ships, aligned with environmental policies imposed by ports, with affordable and feasible solutions. There is wide consensus that this can be reached, but the devil lurks in the detail, and international, multi-disciplinary solutions have always required time and cross-fertilisation to come to fruition. Jotun's Hull Skating Solutions may be an indication of what a 'revhullutionary' future may hold," opined Bertram.
Meanwhile, Sonihull's Darren Jones stressed how a proactive holistic approach in planning and operating in line with the direction of IMO Biofouling Guidelines and utilising next generation and greener technologies can benefit, rather than hamper the industry. "The issue of biofouling is clearly a complex one and no one technology on its own is the solution. A fundamental and material change in market and technological cooperation is required in the marine industry in order to respond to the challenges biofouling brings," argued Jones and added, "It's imperative that operators and ports insist on cooperative working across technology providers, coatings companies, ultrasonic systems OEMs, cleaners and others. Demand side will dictate the behaviours of supply side."
New regulations on the horizon
Certainly, the growing concern around biofouling and invasive species at IMO and national levels is focusing consideration on hull cleaning and has led to more owners and operators re-thinking their current coating and cleaning strategies. With stricter regulations on the horizon, they will need to document and record what hull management measures they have taken to bring more transparency towards port authorities and other stakeholders, including charterers.
Representatives from the Flemish ports (Zeebrugge, Antwerp, North Sea Port, Flanders) also gave an update on the development of their underwater cleaning policies. "Sustainability is becoming ever more important therefore we welcome companies which develop new technologies that contribute to more environmentally friendly shipping," said Jasper Cornelis, Port of Zeebrugge.
"Last summer, a joint policy on underwater cleaning in the Flemish ports was launched in the three partner ports. It concerns both hull cleaning and propeller polishing. The uniform framework ensures that market players are assessed in an equal manner, with equal requirements, like test procedures and acceptance criteria. Each test procedure consists of an 'ex situ test' (under laboratory conditions) and an 'in situ test' (on a ship in dock water) in which different criteria are tested. Once the acceptance criteria are reached, installation-specific licences can be granted which are valid in the three Flemish ports," explained Cornelis, together with Luc Van Espen, Antwerp Port Authority.
Since the start of the joint policy, three companies have obtained a licence for propeller polishing operations and two companies for hull cleaning operations. "Through this project, which continues to evolve due to new insights, the Flemish ports are making their contribution to a greener future, both for the climate and for the bio-marine environment. We are hoping for an international policy to convince everyone of the opportunities of these new techniques and the possible gains they will bring, for example, in terms of ships fuel consumption (up to 15% less), without compromising the marine environment in the ports where they get underwater cleaned," added Karen Polfliet, North Sea Port Flanders Authority.
Guidelines and standards for in-water cleaning
For shipowners, the need is for development of best practices and standards for improved in-water cleaning along with some uniformity in regulation. "Biofouling is the next big challenge for the industry," said Aron Frank Sørensen, head of marine environment, BIMCO. "There is a definite need for an in-water cleaning standard with capture because the results of cleanings by companies vary, and the quality needs to be improved. Also, in-water cleaning is only allowed in a few locations around the world and there's an increasing tendency for coastal and port states to have rules which prohibits it. With this in mind, we have developed the standard together with industry stakeholders and we strongly believe the industry will gain from it."
The standard includes detailed procedures for the planning and execution of in-water cleaning with capture said Sørensen and emphasised "in-water cleaning is an important part of the ship's biofouling management process. The standard introduces an approval process for cleaning companies to ensure that a cleaning is carried out safely and in an environmentally sustainable manner."
In addition to the BIMCO standard, a number of international collaborations are working on guidelines and standards for hull cleaning, including NACE, ACT/MERC and the IMarEST. A guideline specifically for proactive cleaning has also been developed by Jotun with support from industry stakeholders. Also, the IMO took another step towards biofouling controls when it led the establishment of the GloFouling Partnership project last year.
Call for alignment
Looking towards the future, most participants agreed that the need is now to work towards the alignment of standards and regulations that the owners say is so vital. "With many international regulators working on the introduction of new regulations, it is hoped that the input from industry stakeholders will positively affect the hull cleaning industry. At the same time, various organisations have started on tackling partial aspects of in-water cleaning and aligning these initiatives will be important to avoid similar, but disparate guidelines or policies," warned Oftedahl.
Picking up on that and the mood of collaboration that was apparent throughout PortPIC, Bertram suggested that it would be through such initiatives that progress will be made. "In-water cleaning touches on many disciplines, including marine biology, robotics, naval architecture, chemistry, commercial contracts, international law and regulations to name a few. Interdisciplinary platforms and forums like PortPIC are needed to enhance knowledge transfer and get the kind of international and interdisciplinary cooperation required to shape sustainable solutions for in-water cleaning," he concluded.
The In-Port Inspection & Cleaning Conference (PortPIC) is a new platform for in depth, cross-discipline talks about how to improve the quality and safety of in-water cleaning.
Driven by Jotun and DNV GL, the conference is community-like and provides an opportunity for industry experts and practitioners to discuss and share advances, challenges and opportunities in this important field.
The 2-day conference was held in Hamburg 14-15 September and was organised around the theme "In-water cleaning – Yes, but how and where?" and covered subjects as varied as technology developments and solutions, environmental regulations, port policies, and cleaning guidelines and standards.
The response to the first PortPIC has been very good, despite the handicap of COVID-19. Over 50 industry stakeholders participated in the conference, which had a workshop character with experts from overseas joining virtually via video presentations.
By establishing PortPIC, Jotun, DNV GL and supporting sponsors are working together to take a proactive role in shaping sustainable solutions for in-water cleaning.
DNV GL
World-first technology to boost renewable energy maintenance survey
New all-electric Niagara Falls tour ferries powered by ABB enter service
Potential and benefits of blue ammonia as a clean fuel of the future
13 August 2021 Editor Analysis, Featured Comments Off on Potential and benefits of blue ammonia as a clean fuel of the future
According to the latest edition of the GECF Global Gas Outlook 2050 [1], the demand for natural gas is expected to increase by 50% from 3,950 billion cubic metres (bcm) in 2019 to 5,920 bcm […]
One Sea white paper sets agenda for autonomous ship safety regulation
21 June 2021 Editor Maritime/Offshore, Technology 0
A new white paper from the One Sea Ecosystem outlines the significant contribution autonomous ship technology can make to improving maritime safety and highlights the urgent need for a revised regulatory framework. One Sea, the […]
Atlantic Offshore protects against cyber threats with Fleet Secure Endpoint
17 June 2020 Editor Contracts, Maritime/Offshore, Technology 0
North Sea operator Atlantic Offshore has put its levels of cyber resilience substantially ahead of approaching International Maritime Organization requirements for ship owners, after adopting Fleet Secure Endpoint from Inmarsat to protect against ongoing cyber […]