text:
<script>
    function bx_mobile_apps_show_main_menu () {
        if ($('.cd-side-nav').size())
            $([$('.cd-side-nav'), $('.cd-nav-trigger')]).toggleClass('nav-is-visible');
        else
            bx_menu_slide_inline('#bx-sliding-menu-sys_site', null, 'site');
    }

    function bx_mobile_apps_show_profile_menu () {
        bx_menu_slide_inline('#bx-sliding-menu-account', null, 'site');
    }

    function bx_mobile_apps_show_add_menu () {
        bx_menu_slide_inline('#bx-sliding-menu-sys_add_content', null, 'site');
    }

    function bx_mobile_apps_show_notifications_menu () {
        bx_menu_slide('bx_notifications_preview', null, 'site', {id:{value:'bx_notifications_preview', force:1}});
    }

    function bx_mobile_apps_show_messenger_menu () {
        document.location = sUrlRoot + 'page.php?i=messenger';
    }

    function bx_mobile_apps_home () {
        if (window.history.length > 1)
            window.history.go(-(window.history.length - 1));
    }

    function bx_mobile_apps_close_sliding_menus () {
        if ($('.bx-sliding-menu-main:visible').size()) // hide sliding menu if they are open
            bx_menu_slide_inline('.bx-sliding-menu-main');
    }

    var sMsg = JSON.stringify(__msg__);
    if ('undefined' !== typeof(window.ReactNativeWebView))
        window.ReactNativeWebView.postMessage(sMsg);
    else
        window.postMessage(sMsg, '*');

    if (window && window.process && window.process.type) { // if run in electron
        const { ipcRenderer, shell } = require('electron')

        // send all notification badges
        ipcRenderer.send('message', __msg__);

        // send messenger badge
        if (typeof window.glBxMessengerOnNotificationChange === 'undefined')
            window.glBxMessengerOnNotificationChange = [];

        window.glBxMessengerOnNotificationChange.push(function (iNewNumberOfUnreadChats) {
            sMsg = {
                'bubbles': {
                    'notifications-messenger': iNewNumberOfUnreadChats,
                },
            };
            ipcRenderer.send('message', sMsg);
        });

        if ($.cookie('memberID')) {
            // force links to open in external browser in electron
            $(document).ready(function () {
                document.querySelector('body').addEventListener('click', event => {
                    let link = event.target.href;
                    if (event.target.tagName.toLowerCase() !== 'a')
                        return;
                    event.preventDefault();
                    shell.openExternal(link);
                });
            });
        }
    }

    // pull to refresh
    $(document).ready(function () {
/*
        if ($('.bx-messenger-block-lots').length)
            glBxMobileDisablePullToRefresh = true;
        if ('undefined' === typeof glBxMobileDisablePullToRefresh || false === glBxMobileDisablePullToRefresh) {
            PullToRefresh.init({
                instructionsPullToRefresh: '__txt_pull_to_refresh__',
                instructionsReleaseToRefresh: '__txt_release_to_refresh__',
                instructionsRefreshing: '__txt_refreshing__',
                onRefresh() {
                    window.location.reload();
                },
            });
        }
*/
        if ('undefined' !== typeof(window.ReactNativeWebView))
            window.ReactNativeWebView.postMessage(JSON.stringify({stop_loading: 1}));
    });
</script>


Abstract : In many applications it is useful to replace the Moore-Penrose pseudoinverse (MPP) by a different generalized inverse with more favorable properties. We may want, for example, to have many zero entries, but without giving up too much of the stability of the MPP. One way to quantify stability is by how much the Frobenius norm of a generalized inverse exceeds that of the MPP. In this paper we derive finite-size concentration bounds for the Frobenius norm of $\ell^p$-minimal general inverses of iid Gaussian matrices, with $1 \leq p \leq 2$. For $p = 1$ we prove exponential concentration of the Frobenius norm of the sparse pseudoinverse; for $p = 2$, we get a similar concentration bound for the MPP. Our proof is based on the convex Gaussian min-max theorem, but unlike previous applications which give asymptotic results, we derive finite-size bounds.


text:
← Black History month: communities and visitors in Tudor England
Stratford-upon-Avon's celebration of Shakespeare on Film →
Stephen Fry's Shakespeare: from Cambridge Footlights to Twelfth Night at Shakespeare's Globe
Posted on October 3, 2012 by Sylvia Morris
It seems Stephen Fry can do no wrong. Whether he's fronting his comedy series QI, writing both fiction and factual books, tweeting, creating radio and TV documentaries or acting, his status as national treasure is assured. Speaking openly about the mental problems which triggered his much-publicised walkout of Simon Grey's play Cell Mates in 1995 has only endeared him to audiences even more. Stage acting has been off his substantial menu ever since, but now he's back.
Fry is playing Malvolio in Shakespeare's Globe's Twelfth Night, a revival of the original practices production staged 10 years ago in 2002. It's a complete sell-out at the Globe, and the press night won't be for several weeks, after it has transferred to the Apollo Theatre. There, in the centre of London's theatreland from November 2 it will be seen in tandem with Richard III.
Reprising their roles from the original production is Mark Rylance playing Olivia (for which he was nominated for an Olivier award) and Paul Chahidi as Maria, and among the rest of the high-profile cast is Roger Lloyd Pack as Sir Andrew Aguecheek. Twelfth Night is one of Shakespeare's most popular comedies and Malvolio, Olivia's uptight steward who is tricked into believing his employer is in love with her, a gift for an actor as popular as Fry.
In spite of the lack of a press night, a few reviews have crept out, from the Daily Telegraph, the Guardian online, and Bardathon. I thought the original production was heavily weighted towards Mark Rylance, easily the most high-profile actor in the cast. It sounds as if the current production is better balanced between the different elements of the play, though nothing I've read suggests that the Viola/Sebastian plot gets much of a look in. The delirious audience reception seems to be well-deserved.
Fry is well known for his encyclopaedic interests and his love of Shakespeare. Earlier this year he recorded a piece in the series My Own Shakespeare for Radio 4.
I'd like to thank Peter Kirwan, who also is responsible for Bardathon, for reminding me of the Shakespeare Masterclass which Fry performed with his great friend Hugh Laurie as part of the Cambridge Footlights back in 1981. Hopefully his rehearsals for Twelfth Night weren't like this.
The sketch remained in the pair's repertoire for several years: a version performed at the Nether Wallop fete in 1984 has also been posted on YouTube.
This entry was posted in Shakespeare on Stage and tagged Mark Rylance, Shakespeare's Globe, Stephen Fry, Twelfth Night. Bookmark the permalink.
One Response to Stephen Fry's Shakespeare: from Cambridge Footlights to Twelfth Night at Shakespeare's Globe
Lucy Beveridge says:
Hmmm. Interesting:). I wonder how he'll pull off the yellow stockings, so to speak? 🙂

redpajama_set_name: RedPajamaCommonCrawl


text:
The hosts vying for Sarah Harris' Studio 10 job: 'Liven things up'
Marni Dixit
·Senior Entertainment & Lifestyle Reporter
After Sarah Harris was announced to be taking over as host of The Project following Carrie Bickmore's departure, people have been wondering who will fill in her role on Studio 10. There are reportedly a number of candidates who are keen on the role, including Studio 10's entertainment presenter Angela Bishop, 55, who has expressed interest.
Meanwhile, Jessica Rowe, 52, and Denise Drysdale, 74, could also return to the show, according to TV commentator Rob McKnight, who also happened to create and produce the show.
Sarah Harris is moving from Studio 10 to co-host The Project, with no announcement just yet as to who will replace her on the morning show. Photo: Instagram/Sarah Harris
"Angela Bishop has proven time and time again she has what it takes to host the show," he told Woman's Day. "Jess and Denise had a great dynamic, so why not bring them back and really liven things up?"
Surprising detail in Carrie Bickmore's Project farewell
Kyle Sandilands blasts The Project host Waleed Aly live on-air: 'Loser'
The Project's Carrie Bickmore reveals brutal swipe from panellist
According to the Daily Mail, a Ten insider hinted it's currently "do or die" for the the show, which needs to pick the best host possible to continue engaging viewers.
Some of the show's other former hosts include Ita Buttrose, Joe Hildebrand and Kerri-Anne Kennerley, with the source saying "executives have dug their heels in for too long", and the show is in desperate need of a makeover.
Angela Bishop is rumoured to take over from Sarah. Photo: Instagram/Angela Bishop
Sarah announced as Carrie's replacement
Sarah is set to join The Project next year for five nights a week, from Sunday to Thursday next year.
"I'm beyond excited to be joining one of Australia's most iconic and agenda-driving shows," she said in a statement. "The Project does news like no other program in Australia and it's exactly the kind of fun and fearless TV I love to make."
The Project has announced Sarah Harris is set to replace Carrie Bickmore in 2023. Photo: Ten
Sarah, who has hosted Studio 10 since 2013, will join Waleed Aly, who will host from Monday to Thursday.
Alongside Waleed and Sarah, Hamish Macdonald will continue to report from around the country and appear on the show every Friday and Sunday night. Georgie Tunny will also appear on the show on Friday nights.
The $41 SKIMS bra dupe you need in your wardrobe
'Life-changing' secret to getting your booty in shape: 'So happy'
Tan and firm your skin for summer with this $50 product
"I can't wait to share the desk with Waleed, Hamish, Georgie and the rest of the team," Sarah added. "I'm excited to shake it up in the new year!"
Waleed added of Sarah, "She's smart. She's warm. She's great fun. That's the trifecta for The Project. Everyone who's worked with Sarah raves about her, and I can't wait to become one of them."


This talk was first given at SMX West in 2015. It details how we took our Internet marketing agency from focusing on link building for SEO purposes, to focusing on content marketing.
These are the lessons we learned and some of the tactics we have evolved after a year of content marketing and more than 10,000 hours billed to customers.
Highlights include a framework with which to think about content marketing (I believe it is a subset of inbound marketing), two questions to ask yourself before investing in any content, and half-a-dozen content marketing tactics that have generated links for us explained.


I am a research scientist at Facebook working on search ranking and retrieval for FB Marketplace. Prior to that, I was leading the data science efforts for the Walmart Exchange (WMX) advertising platform @WalmartLabs, developing a machine learning and data science platform for enterprise at Skytree, and improving Amazon's product search relevance engine at A9.com. Before that, I was developing machine learning techniques with the aim of understanding and modeling of precipitation patterns while teaching and mentoring students as an Assistant Professor of Statistics at Purdue University.
I earned a Ph.D. in Information and Computer Sciences from UC Irvine under the supervision of Padhraic Smyth. I also received postdoctoral training with the Alberta Ingenuity Centre for Machine Learning (AICML) at the University of Alberta.


We are interested in constantly improving our customer service and hearing what you have to say about us. Help us to help you by filling out the form below. We appreciate your time.
What do you like about your residence/our services?
What do you dislike about your residence/our services?


text:
Were Hedge Funds Right About Betting On Edwards Lifesciences Corporation (EW)?
Published on October 9, 2019 at 12:26 pm by Asma UL Husna in Hedge Funds, News
Our extensive research has shown that imitating the smart money can generate significant returns for retail investors, which is why we track nearly 750 active prominent money managers and analyze their quarterly 13F filings. The stocks that are heavily bought by hedge funds historically outperformed the market, though there is no shortage of high profile failures like hedge funds' 2018 losses in Facebook and Apple. Let's take a closer look at what the funds we track think about Edwards Lifesciences Corporation (NYSE:EW) in this article.
Is Edwards Lifesciences Corporation (NYSE:EW) an outstanding investment now? Hedge funds are taking an optimistic view. The number of long hedge fund positions improved by 8 in recent months. Our calculations also showed that EW isn't among the 30 most popular stocks among hedge funds (see the video below). EW was in 33 hedge funds' portfolios at the end of the second quarter of 2019. There were 25 hedge funds in our database with EW holdings at the end of the previous quarter.
Hedge funds' reputation as shrewd investors has been tarnished in the last decade as their hedged returns couldn't keep up with the unhedged returns of the market indices. Our research has shown that hedge funds' large-cap stock picks indeed failed to beat the market between 1999 and 2016. However, we were able to identify in advance a select group of hedge fund holdings that outperformed the market by 40 percentage points since May 2014 through May 30, 2019 (see the details here). We were also able to identify in advance a select group of hedge fund holdings that'll significantly underperform the market. We have been tracking and sharing the list of these stocks since February 2017 and they lost 25.7% through September 30, 2019. That's why we believe hedge fund sentiment is an extremely useful indicator that investors should pay attention to.
Unlike some fund managers who are betting on Dow reaching 40000 in a year, our long-short investment strategy doesn't rely on bull markets to deliver double digit returns. We only rely on hedge fund buy/sell signals. Let's review the recent hedge fund action encompassing Edwards Lifesciences Corporation (NYSE:EW).
What have hedge funds been doing with Edwards Lifesciences Corporation (NYSE:EW)?
Heading into the third quarter of 2019, a total of 33 of the hedge funds tracked by Insider Monkey held long positions in this stock, a change of 32% from one quarter earlier. The graph below displays the number of hedge funds with bullish position in EW over the last 16 quarters. So, let's find out which hedge funds were among the top holders of the stock and which hedge funds were making big moves.
Among these funds, AQR Capital Management held the most valuable stake in Edwards Lifesciences Corporation (NYSE:EW), which was worth $180.2 million at the end of the second quarter. On the second spot was OrbiMed Advisors which amassed $132.1 million worth of shares. Moreover, Healthcor Management LP, Citadel Investment Group, and Partner Fund Management were also bullish on Edwards Lifesciences Corporation (NYSE:EW), allocating a large percentage of their portfolios to this stock.
With a general bullishness amongst the heavyweights, specific money managers were leading the bulls' herd. Healthcor Management LP, managed by Arthur B Cohen and Joseph Healey, initiated the most outsized position in Edwards Lifesciences Corporation (NYSE:EW). Healthcor Management LP had $115 million invested in the company at the end of the quarter. John Overdeck and David Siegel's Two Sigma Advisors also made a $45.3 million investment in the stock during the quarter. The following funds were also among the new EW investors: Karim Abbadi and Edward McBride's Centiva Capital, Perella Weinberg Partners, and Dmitry Balyasny's Balyasny Asset Management.
Let's go over hedge fund activity in other stocks similar to Edwards Lifesciences Corporation (NYSE:EW). These stocks are Delta Air Lines, Inc. (NYSE:DAL), Constellation Brands, Inc. (NYSE:STZ), Moody's Corporation (NYSE:MCO), and Sempra Energy (NYSE:SRE). All of these stocks' market caps are closest to EW's market cap.
DAL 70 7271037 10
STZ 38 1438593 0
MCO 39 7178921 5
SRE 25 1323401 -6
Average 43 4302988 2.25
As you can see these stocks had an average of 43 hedge funds with bullish positions and the average amount invested in these stocks was $4303 million. That figure was $873 million in EW's case. Delta Air Lines, Inc. (NYSE:DAL) is the most popular stock in this table. On the other hand Sempra Energy (NYSE:SRE) is the least popular one with only 25 bullish hedge fund positions. Edwards Lifesciences Corporation (NYSE:EW) is not the least popular stock in this group but hedge fund interest is still below average. Our calculations showed that top 20 most popular stocks among hedge funds returned 24.4% in 2019 through September 30th and outperformed the S&P 500 ETF (SPY) by 4 percentage points. A small number of hedge funds were also right about betting on EW as the stock returned 19% during the same time frame and outperformed the market by an even larger margin.
Is EW A Good Investment Right Now?Is EW A Good Stock To Buy?NYSE:EWYahoo Finance
Johnson & Johnson (JNJ), ACADIA Pharmaceuticals Inc. (ACAD): Healthcare Experts... Should You Avoid Edwards Lifesciences Corporation (EW)?
Should You Avoid Edwards Lifesciences Corp (EW)? German Court Rules In Favor Of Boston Scientific Corporation (BSX) In Patent...
Hedge Fund and Insider Trading News: Steve Cohen, Ray Dalio, David Einhorn,... Edwards Lifesciences Corp (NYSE:EW) Hedge Funds Are Snapping Up


When we entered the scene of Priti and Ankeet's wedding ceremony we were already feeling the vibe of an emotional pull towards them and later got to know from them that they wanted to exhibit the same. ?A wedding that lasts for a few days is supposed to be remembered for a lifetime so we made it a point to capture the important moments that would live for years together before their eyes and play romantic tunes in their life.
Wedding Highlights : Priti & Ankeet | ITC Gardenia Bangalore Wedding from Navin Studio on Vimeo.


An oriental fragrance for contemporary women.
Soft elegant powdery feminine & inviting.
Top notes are caraway patchouli & anise.
Middle notes are iris osmanthus & white musk.
Base notes are cedar sandalwood & vetiver.


Home > General > Don't Miss Night of Fire THIS SATURDAY at Rocky Mountain Raceways!
Don't forget about Rocky Mountain Raceways this weekend! They're having an event they're calling "Night of Fire 2.0." See, the original "Night of Fire" show was rained out last month, so the RMR team will take another crack at it this Saturday. There will be lots of drag racing on the Young Kia Drag Strip, and of course, there will be Jet Cars to light up the night. Racing starts at 11 AM, the Jet Cars and Ed Jones' Jelly Belly wheelstander will run at 5 and 8:30 PM.


text:
package com.github.devnied.emvnfccard.utils;

import com.github.devnied.emvnfccard.enums.SwEnum;
import com.github.devnied.emvnfccard.enums.TagValueTypeEnum;
import com.github.devnied.emvnfccard.exception.TlvException;
import com.github.devnied.emvnfccard.iso7816emv.EmvTags;
import com.github.devnied.emvnfccard.iso7816emv.ITag;
import com.github.devnied.emvnfccard.iso7816emv.TLV;
import com.github.devnied.emvnfccard.iso7816emv.TagAndLength;
import fr.devnied.bitlib.BytesUtils;
import net.sf.scuba.tlv.TLVInputStream;
import net.sf.scuba.tlv.TLVUtil;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.ByteArrayInputStream;
import java.io.EOFException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * List of utils methods to manipulate TLV
 *
 * @author MILLAU Julien
 *
 */
public final class TlvUtil {

	// Class logger
	private static final Logger LOGGER = LoggerFactory.getLogger(TlvUtil.class);

	/**
	 * Method used to find Tag with ID
	 *
	 * @param tagIdBytes
	 *            the tag to find
	 * @return the tag found
	 */
	private static ITag searchTagById(final int tagId) {
		return EmvTags.getNotNull(TLVUtil.getTagAsBytes(tagId));
	}

	// This is just a list of Tag And Lengths (eg DOLs)
	public static String getFormattedTagAndLength(final byte[] data, final int indentLength) {
		StringBuilder buf = new StringBuilder();
		String indent = getSpaces(indentLength);
		TLVInputStream stream = new TLVInputStream(new ByteArrayInputStream(data));

		boolean firstLine = true;
		try {
			while (stream.available() > 0) {
				if (firstLine) {
					firstLine = false;
				} else {
					buf.append("\n");
				}
				buf.append(indent);

				ITag tag = searchTagById(stream.readTag());
				int length = stream.readLength();

				buf.append(prettyPrintHex(tag.getTagBytes()));
				buf.append(" ");
				buf.append(String.format("%02x", length));
				buf.append(" -- ");
				buf.append(tag.getName());
			}
		} catch (IOException e) {
			LOGGER.error(e.getMessage(), e);
		} finally {
			IOUtils.closeQuietly(stream);
		}
		return buf.toString();
	}

	public static TLV getNextTLV(final TLVInputStream stream) {
		TLV tlv = null;
		try {
			int left = stream.available();
			if (left <= 2) {
				return tlv;
			}
			ITag tag = searchTagById(stream.readTag());
			int length = stream.readLength();
			if (stream.available() >= length) {
				tlv = new TLV(tag, length, TLVUtil.getLengthAsBytes(length), stream.readValue());
			}
		} catch (EOFException eof) {
			LOGGER.debug(eof.getMessage(), eof);
		} catch (IOException e) {
			LOGGER.error(e.getMessage(), e);
		} finally {
			IOUtils.closeQuietly(stream);
		}
		return tlv;
	}

	/**
	 * Method used get Tag value as String
	 *
	 * @param tag
	 *            tag type
	 * @param value
	 *            tag value
	 * @return
	 */
	private static String getTagValueAsString(final ITag tag, final byte[] value) {
		StringBuilder buf = new StringBuilder();

		switch (tag.getTagValueType()) {
		case TEXT:
			buf.append("=");
			buf.append(new String(value));
			break;
		case NUMERIC:
			buf.append("NUMERIC");
			break;
		case BINARY:
			buf.append("BINARY");
			break;
		case MIXED:
			buf.append("=");
			buf.append(getSafePrintChars(value));
			break;
		case DOL:
			buf.append("");
			break;
		default:
			break;
		}

		return buf.toString();
	}

	/**
	 * Method used to parser Tag and length
	 *
	 * @param data
	 *            data to parse
	 * @return tag and length
	 */
	public static List<TagAndLength> parseTagAndLength(final byte[] data) {
		List<TagAndLength> tagAndLengthList = new ArrayList<TagAndLength>();
		if (data != null) {
			TLVInputStream stream = new TLVInputStream(new ByteArrayInputStream(data));

			try {
				while (stream.available() > 0) {
					if (stream.available() < 2) {
						throw new TlvException("Data length < 2 : " + stream.available());
					}

					ITag tag = searchTagById(stream.readTag());
					int tagValueLength = stream.readLength();

					tagAndLengthList.add(new TagAndLength(tag, tagValueLength));
				}
			} catch (IOException e) {
				LOGGER.error(e.getMessage(), e);
			} finally {
				IOUtils.closeQuietly(stream);
			}
		}
		return tagAndLengthList;
	}

	public static String prettyPrintAPDUResponse(final byte[] data) {
		return prettyPrintAPDUResponse(data, 0);
	}

	/**
	 * Method used to get the list of TLV inside the parameter tag specified in parameter
	 *
	 * @param pData
	 *            data to parse
	 * @param pTag
	 *            tag to find
	 * @param pAdd
	 *           boolean to indicate if we nned to add the tlv to the return list
	 * @return the list of TLV tag inside
	 */
	public static List<TLV> getlistTLV(final byte[] pData, final ITag pTag, final boolean pAdd) {

		List<TLV> list = new ArrayList<TLV>();

		TLVInputStream stream = new TLVInputStream(new ByteArrayInputStream(pData));

		try {
			while (stream.available() > 0) {

				TLV tlv = TlvUtil.getNextTLV(stream);
				if (tlv == null) {
					break;
				}
				if (pAdd) {
					list.add(tlv);
				} else if (tlv.getTag().isConstructed()) {
					list.addAll(TlvUtil.getlistTLV(tlv.getValueBytes(), pTag, tlv.getTag() == pTag));
				}
			}
		} catch (IOException e) {
			LOGGER.error(e.getMessage(), e);
		} finally {
			IOUtils.closeQuietly(stream);
		}

		return list;
	}

	/**
	 * Method used to get the list of TLV corresponding to tags specified in parameters
	 *
	 * @param pData
	 *            data to parse
	 * @param pTag
	 *            tags to find
	 * @return the list of TLV
	 */
	public static List<TLV> getlistTLV(final byte[] pData, final ITag... pTag) {

		List<TLV> list = new ArrayList<TLV>();

		TLVInputStream stream = new TLVInputStream(new ByteArrayInputStream(pData));

		try {
			while (stream.available() > 0) {

				TLV tlv = TlvUtil.getNextTLV(stream);
				if (tlv == null) {
					break;
				}
				if (ArrayUtils.contains(pTag, tlv.getTag())) {
					list.add(tlv);
				} else if (tlv.getTag().isConstructed()) {
					list.addAll(TlvUtil.getlistTLV(tlv.getValueBytes(), pTag));
				}
			}
		} catch (IOException e) {
			LOGGER.error(e.getMessage(), e);
		} finally {
			IOUtils.closeQuietly(stream);
		}

		return list;
	}

	/**
	 * Method used to get Tag value
	 *
	 * @param pData
	 *            data
	 * @param pTag
	 *            tag to find
	 * @return tag value or null
	 */
	public static byte[] getValue(final byte[] pData, final ITag... pTag) {

		byte[] ret = null;

		if (pData != null) {
			TLVInputStream stream = new TLVInputStream(new ByteArrayInputStream(pData));

			try {
				while (stream.available() > 0) {

					TLV tlv = TlvUtil.getNextTLV(stream);
					if (tlv == null) {
						break;
					}
					if (ArrayUtils.contains(pTag, tlv.getTag())) {
						return tlv.getValueBytes();
					} else if (tlv.getTag().isConstructed()) {
						ret = TlvUtil.getValue(tlv.getValueBytes(), pTag);
						if (ret != null) {
							break;
						}
					}

				}
			} catch (IOException e) {
				LOGGER.error(e.getMessage(), e);
			} finally {
				IOUtils.closeQuietly(stream);
			}
		}

		return ret;
	}

	public static String prettyPrintAPDUResponse(final byte[] data, final int indentLength) {
		StringBuilder buf = new StringBuilder();
		TLVInputStream stream = new TLVInputStream(new ByteArrayInputStream(data));

		try {
			while (stream.available() > 0) {
				buf.append("\n");
				if (stream.available() == 2) {
					stream.mark(0);
					byte[] value = new byte[2];
					try {
						stream.read(value);
					} catch (IOException e) {
					}
					SwEnum sw = SwEnum.getSW(value);
					if (sw != null) {
						buf.append(getSpaces(0));
						buf.append(BytesUtils.bytesToString(value)).append(" -- ");
						buf.append(sw.getDetail());
						continue;
					}
					stream.reset();
				}

				buf.append(getSpaces(indentLength));

				TLV tlv = TlvUtil.getNextTLV(stream);

				if (tlv == null) {
					buf.setLength(0);
					LOGGER.debug("TLV format error");
					break;
				}

				byte[] tagBytes = tlv.getTagBytes();
				byte[] lengthBytes = tlv.getRawEncodedLengthBytes();
				byte[] valueBytes = tlv.getValueBytes();

				ITag tag = tlv.getTag();

				buf.append(prettyPrintHex(tagBytes));
				buf.append(" ");
				buf.append(prettyPrintHex(lengthBytes));
				buf.append(" -- ");
				buf.append(tag.getName());

				int extraIndent = (lengthBytes.length + tagBytes.length) * 3;

				if (tag.isConstructed()) {
					// indentLength += extraIndent; //TODO check this
					// Recursion
					buf.append(prettyPrintAPDUResponse(valueBytes, indentLength + extraIndent));
				} else {
					buf.append("\n");
					if (tag.getTagValueType() == TagValueTypeEnum.DOL) {
						buf.append(TlvUtil.getFormattedTagAndLength(valueBytes, indentLength + extraIndent));
					} else {
						buf.append(getSpaces(indentLength + extraIndent));
						buf.append(prettyPrintHex(BytesUtils.bytesToStringNoSpace(valueBytes), indentLength + extraIndent));
						buf.append(" (");
						buf.append(TlvUtil.getTagValueAsString(tag, valueBytes));
						buf.append(")");
					}
				}
			}
		} catch (IOException e) {
			LOGGER.error(e.getMessage(), e);
		} catch (TlvException exce) {
			buf.setLength(0);
			LOGGER.debug(exce.getMessage(), exce);
		} finally {
			IOUtils.closeQuietly(stream);
		}
		return buf.toString();
	}

	public static String getSpaces(final int length) {
		return StringUtils.leftPad(StringUtils.EMPTY, length);
	}

	public static String prettyPrintHex(final String in, final int indent) {
		return prettyPrintHex(in, indent, true);
	}

	public static String prettyPrintHex(final byte[] data) {
		return prettyPrintHex(BytesUtils.bytesToStringNoSpace(data), 0, true);
	}

	public static String prettyPrintHex(final String in, final int indent, final boolean wrapLines) {
		StringBuilder buf = new StringBuilder();

		for (int i = 0; i < in.length(); i++) {
			char c = in.charAt(i);
			buf.append(c);

			int nextPos = i + 1;
			if (wrapLines && nextPos % 32 == 0 && nextPos != in.length()) {
				buf.append("\n").append(getSpaces(indent));
			} else if (nextPos % 2 == 0 && nextPos != in.length()) {
				buf.append(" ");
			}
		}
		return buf.toString();
	}

	public static String getSafePrintChars(final byte[] byteArray) {
		if (byteArray == null) {
			return "";
		}
		return getSafePrintChars(byteArray, 0, byteArray.length);
	}

	public static String getSafePrintChars(final byte[] byteArray, final int startPos, final int length) {
		if (byteArray == null) {
			return "";
		}
		if (byteArray.length < startPos + length) {
			throw new IllegalArgumentException("startPos(" + startPos + ")+length(" + length + ") > byteArray.length("
					+ byteArray.length + ")");
		}
		StringBuilder buf = new StringBuilder();
		for (int i = startPos; i < startPos + length; i++) {
			if (byteArray[i] >= (byte) 0x20 && byteArray[i] < (byte) 0x7F) {
				buf.append((char) byteArray[i]);
			} else {
				buf.append(".");
			}
		}
		return buf.toString();
	}

	/**
	 * Method used to get length of all Tags
	 *
	 * @param pList
	 *            tag length list
	 * @return the sum of tag length
	 */
	public static int getLength(final List<TagAndLength> pList) {
		int ret = 0;
		if (pList != null) {
			for (TagAndLength tl : pList) {
				ret += tl.getLength();
			}
		}
		return ret;
	}

	/**
	 * Private constructor
	 */
	private TlvUtil() {
	}

}

redpajama_set_name: RedPajamaGithub


text:
Monthly tax outturn data are published here usually just over six weeks after the end of the month, shortly after they are reported to Ministers.
With effect from September 2018's data, we will be aiming to publish each month's tax data by the end of the following month.
Total unconsolidated tax revenue for the five months ended November 2018 was $113 million (0.3%) above the 2018 Half year Economic and Fiscal Update (2018 HYEFU) forecast and $2,797 million (8.3%) greater than last year. Source deductions, GST and Customs and excise duties were above forecast. Corporate tax and net other individuals tax were below forecast.
Total unconsolidated tax receipts for the five months ended November 2018 were $214 million (0.6%) below forecast. Corporate tax was $229 million (4.1%) below forecast. For further details, refer to the Financial Statements of the Government of New Zealand for the Five Months to 30 November 2018.
The figures reported in the spreadsheets below are on an unconsolidated basis, adding to total tax, and differ from the figures reported in the monthly financial statements of the Government. The monthly financial statements are prepared on a consolidated basis, meaning they eliminate tax transactions between Departments, State-owned enterprises and Crown entities. The eliminations are included in Section III in the Monthly History spreadsheet for comparison with the figures in the financial statements of the Government.
The "Monthly history" spreadsheet includes monthly tax receipts and revenue data from July 1990 and July 1993 respectively. Each worksheet tab contains up to four sections. The first section displays monthly cash receipts/accrual revenue by tax type. We have omitted some very minor taxes.


After an extended siesta, Big Roll is back. Webmaster Ed Case, who failed to return to the Frinton-on-Sea Home For Distressed Engineers after an evening stroll one day in 2014, has finally been located camping in a beach hut near Jaywick Sands. His great-niece has explained to him how to use The Cloud so with the help of a large-print instruction book, a thermos and a supply of chocolate chip cookies he is finally able to bring you the updates you all crave.
Welcome to the all-new Big Roll website. Currently under reconstruction – "normal" service will be resumed shortly.
This is the online home of British blues musician Zoot Money. Very much alive and still gigging. Details to follow. In the meantime, here's Zoot talking about the early days.


Mercer's College of Liberal Arts has been working toward a Phi Beta Kappa chapter for years, the release said, and Friday's announcement is the culmination of that work.
"We eagerly anticipate inducting our charter class of students this year, recognizing that they are among the best and brightest in the nation," said Jeff Denny, chairman of Mercer's Phi Beta Kappa application committee, associate dean in the College of Liberal Arts and associate professor of mathematics.
The Mercer chapter will be known as Zeta of Georgia and plans to induct its first members next spring.
To contact writer David Schick, call 744-4382 or find him on Twitter@davidcschick.


This King size Solid Wood Platform Bed Frame in Black Finish would be a great addition to your home. There is no box spring is needed with this solid wood frame. This durable bed frame is designed to replace both your bed frame and mattress foundation. The wood bed frame is a timeless design that will be compatible in your room for many years. Forget the weak squeaking.


Author(s): Eeckhaut, M.C.W.; Putte, B. Van de; Gerris, J.R.M. ; Vermulst, A.A.
The effect of educational differences between partners on marital quality and stability is commonly analysed using difference, or compound measures. This article considers the theoretical foundations for these approaches and examines an alternative approach, diagonal reference models (DRMs). The three methods are then compared empirically, using data on 629 married couples from the survey Child-Rearing and Family in the Netherlands. Difference measures show no effect on marital satisfaction, whereas compound measures and DRMs do show an effect. As DRMs also allow for the quantification of this effect, while being theoretically and methodologically appropriate, they are affirmed the best method.


text:
package iaf.perf.course.day2;

import java.util.concurrent.CyclicBarrier;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

import sun.misc.Contended;

@SuppressWarnings("restriction")
public class FalseSharing {

	private static final int NUM_THREADS = 2;
	static final long WARMUP_ITER = 10_000_000;
	public static final long BENCH_ITER = 1_000_000_000;

	public static void main(String[] args) {

		if (args[0].equals("pad")) {
			System.out.println("Running padded version");
			PaddedLongs longs = new PaddedLongs();
			warmUp(longs);
			benchmark(longs);
		}
		else if (args[0].equals("long")) {
			System.out.println("Running regular version");
			ContendedLongs longs = new ContendedLongs();
			warmUp(longs);
			benchmark(longs);
		}
		else {
			System.out.println("Bad input, must be either pad or long");
		}
	}

	private static void warmUp(Longs longs)
	{
		long s = System.nanoTime();
		for (long i = 0; i < WARMUP_ITER; i++) {
			longs.set1(i);
			longs.set2(i);
		}
		long e = System.nanoTime();
		System.out.println("Warm up time: " + (e-s)/1E6+"ms");
	}

	private static void benchmark(final Longs longs) {
		ExecutorService es = Executors.newFixedThreadPool(NUM_THREADS);
		final CyclicBarrier bar = new CyclicBarrier(NUM_THREADS + 1);
		final CyclicBarrier endBar = new CyclicBarrier(NUM_THREADS + 1);

		es.submit(() -> {
			tryWait(bar);
			for (long i = 0; i < BENCH_ITER; i++) {
				longs.set1(42);
			}
			tryWait(endBar);
		});

		es.submit(() -> {
			tryWait(bar);
			for (long i = 0; i < BENCH_ITER; i++) {
				longs.set2(43);
			}
			tryWait(endBar);
		});

		tryWait(bar);
		long start = System.nanoTime();
		tryWait(endBar);
		long end = System.nanoTime();
		es.shutdown();
		System.out.println("Time: " + (end-start)/1E6 + "ms");
	}

	private static void tryWait(final CyclicBarrier bar) {
		try {
			bar.await();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public long get(ContendedLongs cl) {
		return cl.get1() + cl.get2();
	}

	interface Longs {
		void set1(final long v);
		void set2(final long v);
	}

	private static final class ContendedLongs implements Longs {
		volatile long _1;
		volatile long _2;

		@Override
		public void set1(long v) {
			_1 = v;
		}

		@Override
		public void set2(long v) {
			_2 = v;
		}

		public long get1() {return _1;}
		public long get2() {return _2;}
	}

	private static final class PaddedLongs implements Longs {
		@Contended volatile long _1;
		@Contended volatile long _2;

		@Override
		public void set1(long v) {
			_1 = v;
		}

		@Override
		public void set2(long v) {
			_2 = v;
		}
	}

}


Burr-Rx Mini Disc Brush, Ceramic, 4,500 rpm, 2" x 0.043"
Hollow-End Knot Wire End Brush, Steel, 20,000 rpm, 1 1/8" x 0.0104"
Stem-Mounted Circular Flared End Brushes, Stainless, 16,000 rpm, 3" x 0.006"
Burr-Rx Mini Disc Brush, Ceramic, 4,500 rpm, 2" x 0.055"
Wire Brush Abrasives are heavy duty abrasive products. It includes end brushes, wheel brushes, tube brushes, scratch brushes, cup brushes, wheel brush parts & accessories. Wire brushes are non-loading, so they require very less to no maintenance.
Wire Brush Abrasives are designed for mechanical finishing tasks such as deburring, sharp edge removal, surface refinement, edge contouring, polishing, cleaning and surface wiping.
Cicero Supply offers a wide range of Abrasive Wire Brushes that are available in the current market to fit the custom need of many applications. We offer brands like 3M Abrasive, Mangolia Brush, WEILER, DEWALT, BLACKHAWK, RIDGID, Anchor Brand, Eagle Brush, Advance Brush, GREENLEE, Anderson Brush and Ampco Safety Tools.


text:
Tottenham Hotspur Players
PFA Player of the Year
Son vs Hazard - The incredible stats that show why they should be battling for the top PFA award
The duo have been in sensational form for both clubs so far this season
Rob GuestTottenham Hotspur Writer
Premier League fixtures for March 2019
Don't miss any of the latest and best Spurs news - sign up to the free Tottenham newsletter for updates straight to your inbox
Chelsea and Spurs go head-to-head on Wednesday evening with both teams needing the three points for very different reasons.
Having looked to be bang in the title race when the sides met in the league back in November, the Blues face a fight to seal a place in the Champions League for next season after a dismal run of form.
Chelsea, who do have a game in hand on Arsenal in fourth, are three points away from the top four and another defeat could spell the end for Maurizio Sarri in west London.
Spurs are also desperate to register a win against their rivals after Saturday's shock 2-1 defeat at Burnley that left their title chances in tatters.
Tottenham news live: Spurs eye striker reinforcement and double swoop from London rivals
Ending their horrendous run of 28 years without victory at Stamford Bridge last April with a brilliant 3-1 win, the Lilywhites will need to produce a repeat performance if they stand any chance of lifting the Premier League trophy for the very first time come May.
Son Heung-Min and Eden Hazard have enjoyed good seasons for their respective clubs and both could be key to who ends up with the points come the full-time whistle on Wednesday evening,
Here we take a look at why the duo are potential contenders to be crowned the 2018/19 PFA Player of the Year.
It took a while for Spurs fans to see the best of the 26-year-old after representing South Korea at the start of the campaign.
Managing to avoid the real prospect of doing military service in his home country by winning gold at the Asian Games in September, the Lilywhites also had to do without their attacker at the turn of the year with the Asian Cup taking place in the United Arab Emirates.
Son hasn't looked back since a double against West Ham in the Carabao Cup and a stunning solo goal a few weeks later against Chelsea sparked him into life.
Heung-Min Son celebrates scoring against Chelsea (Image: David Ramos/Getty Images)
The 26-year-old has netted a further 13 goals in all competitions for the Lilywhites this season, and he has played a massive role in the team competing with Man City and Liverpool for the league title.
Outstanding over the Christmas period as Spurs really started to motor on, Son also became the team's main man as he netted crucial goals against Watford, Newcastle and Borussia Dortmund in Harry Kane's absence through injury.
Only five behind his previous best of 21 goals for Spurs in the 2016/17 season, the ex-Bayer Leverkusen man is well on track to beating that tally and he could well do that over the coming weeks.
It's not just his ability to chip in with some crucial goals that has also seen him catch the eye this season.
Son has also proved vital to the team this season by teeing up five goals for his teammates, as well creating four big chances in his 21 league appearances.
New Tottenham 2019/20 Nike home kit: Image of retro-inspired shirt sends Spurs fans crazy
Registering a goal every 132 minutes in the league, Son's has managed to get 22 of his 55 shots on target this season, while he has also recorded a pass completion rate of 84.64%.
Having become such a key part of Mauricio Pochettino's team over the past few seasons, Son may well receive the ultimate accolade from his peers sooner rather than later providing he continues to excel for the Lilywhites.
The Chelsea ace has also been in superb form this season following the appointment of Sarri in the summer.
Whereas it took Son a couple of months to really get going for Spurs, the Belgian was in red-hot form in the opening weeks of the new campaign.
Netting five goals in his opening five league games, including a hat-trick against Cardiff City, Sarri even backed the 28-year-old to win the Premier League Golden Boot and hit 40 goals for the season back in September.
Eden Hazard celebrates his second goal against Huddersfield (Photo by Richard Heathcote/Getty Images)
While Hazard will really struggle to hit those lofty targets set by the Italian as the goals have dried up in recent months, he has been excellent for Chelsea.
Scoring an unforgettable winner against Liverpool in the Carabao Cup back in September as he slalomed through their defence, the Real Madrid target was in sensational form in the final on Sunday and really deserved better as his team lost on penalties to Man City.
So far hitting 15 goals in all competitions for the Blues since August, Hazard was in the headlines at the start of the year as he joined Lionel Messi in becoming the only players in Europe's top five leagues this season to reach double figures for goals and assists.
Taking 22 league games to register those impressive stats, you had to go back nine seasons for a player in the Premier League that registered 10 goals and assists quicker than Hazard.
That man was former Chelsea teammate Cesc Fabregas in 2009/10 during his time with Arsenal.
Well on course to surpassing his previous best of 16 league goals two years ago, a glance at the player's other stats suggest that he should definitely be a contender to pick up the gong he previously won back in 2014/15.
Eriksen and Alderweireld deals, Pochettino's future & next stadium update - Spurs Q&A recap
Still on 10 assists for the season in the league, the Belgian international has created 12 big chances for his teammates since August and played nine through balls, while also putting 75 crosses into the box.
He has touched the ball an incredible 1,831 times - 993 more than Son - in his 25 league games, recording a pass completion rate of 82.8% from his 1,273 passes.
He has also yet to find the back of net from outside the area in the league this season, thus meaning that he is definitely due one sooner rather than later.
Given his impressive stats this season for Chelsea despite their recent struggles, it's hard to believe that he is priced as high as 100/1 with bet365 to win the Player of the Year award.
Consistency could certainly cost him in the race for the gong come the end of the season, but one thing for certain is that he should definitely be a contender for the award.
What Eden Hazard did after Man City loss proves he should replace Azpilicueta as Chelsea captain
Keep up to date with the latest news, features and exclusives from football.london via the free football.london app for iPhone and Android .
Available to download from the App Store and Google Play .
Maurizio Sarri
January Transfer WindowPorro signs, Hincapie bid and Arsenal Caicedo help in Tottenham's dream transfer deadline dayHere we take a look at what a dream transfer deadline day would look like for Antonio Conte and Tottenham as we get ever closer to Tuesday evening's 11pm deadline
Tottenham transfer news LIVE: Pedro Porro medical, Amrabat move, Spence loan, Doherty to Atletico
Pedro Porro breaks his silence on Tottenham deadline day transfer after Sporting CP breakthrough
Sporting CP ace Pedro Porro will sign on the dotted line at Tottenham Hotspur Stadium once he has completed a medical at Hotspur Way on Tuesday
Pedro Porro signs, Harry Maguire enquiry, Djed Spence exit - Tottenham deadline day predictions
The last day of the January 2023 transfer window is finally upon us and it could be a busy one for Tottenham as they bid to improve their squad ahead of the second half of the season
Pedro PorroTottenham's Pedro Porro Sporting CP loan agreement as Spurs close in on deadline day dealPedro Porro will become a Tottenham player on deadline day following protracted transfer talks with Sporting CP in January
Transfer news LIVE on deadline day: Jorginho joining Arsenal, Enzo Fernandez latest, Raphinha to Man Utd
Transfer deadline day is here and it is set to be a very busy one with lots of business to be done in the Premier League and across the world of football.
Matt Doherty in talks to seal Atletico Madrid deadline day loan move from Tottenham
Matt Doherty is set to depart Tottenham on loan with Pedro Porro about to join the club from Sporting CP
football.london Live BlogArsenal transfer news LIVE: Jorginho medical, Lokonga loan, Caicedo 'in London', Cedric moveArsenal transfer deadline day news: Stay tuned as we bring you all the latest transfer rumours and news from the Emirates Stadium on deadline day
JorginhoWhen Jorginho can make his Arsenal debut as £12m Chelsea transfer deadline day move nearsArsenal transfer news: Jorginho looks set for a move to Arsenal as the club agree a transfer deadline day fee with rivals Chelsea for the midfielder
Arsenal transfer news LIVE: Jorginho medical, Lokonga loan, Caicedo 'in London', Cedric move
Arsenal gift Chelsea £12m windfall to fund dream Enzo Fernandez transfer as agreement reached
Arsenal look set to help fund Chelsea's signing of Enzo Fernandez, with Jorginho closing in on a move to the Emirates Stadium before the deadline
The truth behind West Ham's transfer deadline day links with Conor Gallagher and Andre Ayew
West Ham United have been credited with transfer interest in both Chelsea's Conor Gallagher and their former striker Andre Ayew with just hours remaining in the January transfer window


This design-build expansion of the existing and fully operational City of Santa Monica Municipal Bus Maintenance Facility includes a 65,000 sf maintenance building including office space, a 250,000 sf bus parking lot, all new site utilities and landscaping. An electrified glass art wall one city block in length was designed by Dan Courson.
The project has extensive sustainable features including a water treatment, detention and infiltration system; solar panels; reflective roofing; recycled materials and recycled water for irrigation. All this was accomplished while maintaining full operation of the City's existing bus operations during construction.


text:
Q: Docker Wordpress Nginx doesn't serve static files I'm trying to setup my existing wordpress web app using Docker and Nginx + Wordpress:fpm-alpine + Phpmyadmin + Mysql images
By following this tutorial, I've changed the docker-compose.yml file to mount my wp-content files.
The problem is that I can't get Nginx to properly process static files in wp-content (js, css, images..etc),
I keep getting a 404 Not Found error, while the main .php files are working fine
This is my docker-compose file:

version: '3'

services:
  # Database
  db:
    image: mysql:5.7
    volumes:
      - ./db_data:/var/lib/mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
      MYSQL_DATABASE: "${MYSQL_DATABASE}"
      MYSQL_USER: "${MYSQL_USER}"
      MYSQL_PASSWORD: "${MYSQL_PASSWORD}"
    networks:
      - network

  # phpmyadmin
  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    restart: unless-stopped
    ports:
      - '8080:80'
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
      UPLOAD_LIMIT: 1000M
    networks:
      - network

  # Wordpress
  wordpress:
    depends_on:
      - db
    image: wordpress:fpm-alpine
    restart: unless-stopped
    env_file: .env
    environment:
      - WORDPRESS_DB_HOST=db:3306
      - WORDPRESS_DB_USER=$MYSQL_USER
      - WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD
      - WORDPRESS_DB_NAME=$MYSQL_DATABASE
    volumes:
      - wordpress:/var/www/html
      - ./wp-content:/var/www/html/wp-content
      - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
    networks:
      - network

  webserver:
    depends_on:
      - wordpress
    image: nginx:1.15.12-alpine
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - wordpress:/var/www/html
      - ./nginx-conf:/etc/nginx/conf.d
      - certbot-etc:/etc/letsencrypt
    networks:
      - network

  certbot:
    depends_on:
      - webserver
    image: certbot/certbot
    volumes:
      - certbot-etc:/etc/letsencrypt
      - wordpress:/var/www/html
    command: certonly --webroot --webroot-path=/var/www/html --email myemail@domain.com --agree-tos --no-eff-email --staging -d www.mywebsite.com

volumes:
  certbot-etc:
  wordpress:

networks:
  network:
    driver: bridge

Here is my nginx.conf file :

server {
        listen 80;
        listen [::]:80;

        server_name mywebsite.com www.mywebsite.com;

        location ~ /.well-known/acme-challenge {
                allow all;
                root /var/www/html;
        }

        # redirect to HTTPS
        location / {
                rewrite ^ https://$host$request_uri? permanent;
        }
}

server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name mywebsite.com www.mywebsite.com;

        index index.php index.html index.htm;

        root /var/www/html;

        server_tokens off;
         client_max_body_size 75M;

        ssl_certificate /etc/letsencrypt/live/mywebsite.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/mywebsite.com/privkey.pem;

        include /etc/nginx/conf.d/options-ssl-nginx.conf;

        add_header X-Frame-Options "SAMEORIGIN" always;
        add_header X-XSS-Protection "1; mode=block" always;
        add_header X-Content-Type-Options "nosniff" always;
        add_header Referrer-Policy "no-referrer-when-downgrade" always;
        add_header Content-Security-Policy "default-src * data: 'unsafe-eval' 'unsafe-inline'" always;
        # add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
        # enable strict transport security only if you understand the implications

        location / {
                try_files $uri $uri/ /index.php$is_args$args;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass wordpress:9000;
                fastcgi_index index.php;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_path_info;
        }

        location ~ /\.ht {
                deny all;
        }

        location = /favicon.ico {
                log_not_found off; access_log off;
        }

        location = /favicon.svg {
                log_not_found off; access_log off;
        }

        location = /robots.txt {
                log_not_found off; access_log off; allow all;
        }
        location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
                expires max;
                log_not_found off;
        }
}

Is there a way I can configure Nginx to serve static files?

A: I was able to solve the problem by binding the wp-content in the Nginx container, by adding - ./wp-content:/var/www/html/wp-content in Nginx section of my docker-compose.yml file :
webserver:
 depends_on:
   - wordpress
 image: nginx:1.15.12-alpine
 restart: unless-stopped
 ports:
   - "80:80"
   - "443:443"
 volumes:
   - wordpress:/var/www/html
   - ./wp-content:/var/www/html/wp-content # added line
   - ./nginx-conf:/etc/nginx/conf.d
   - certbot-etc:/etc/letsencrypt
 networks:
   - network

Here my final cocker-compose.yml file :
version: '3'

services:
  # Database
  db:
    image: mysql:5.7
    volumes:
      - ./db_data:/var/lib/mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
      MYSQL_DATABASE: "${MYSQL_DATABASE}"
      MYSQL_USER: "${MYSQL_USER}"
      MYSQL_PASSWORD: "${MYSQL_PASSWORD}"
    networks:
      - network

  # phpmyadmin
  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    restart: unless-stopped
    ports:
      - '8080:80'
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
      UPLOAD_LIMIT: 1000M
    networks:
      - network

  # Wordpress
  wordpress:
    depends_on:
      - db
    image: wordpress:fpm-alpine
    restart: unless-stopped
    env_file: .env
    environment:
      - WORDPRESS_DB_HOST=db:3306
      - WORDPRESS_DB_USER=$MYSQL_USER
      - WORDPRESS_DB_PASSWORD=$MYSQL_PASSWORD
      - WORDPRESS_DB_NAME=$MYSQL_DATABASE
    volumes:
      - wordpress:/var/www/html
      - ./wp-content:/var/www/html/wp-content
      - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
    networks:
      - network

  webserver:
    depends_on:
      - wordpress
    image: nginx:1.15.12-alpine
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - wordpress:/var/www/html
      - ./wp-content:/var/www/html/wp-content
      - ./nginx-conf:/etc/nginx/conf.d
      - certbot-etc:/etc/letsencrypt
    networks:
      - network

  certbot:
    depends_on:
      - webserver
    image: certbot/certbot
    volumes:
      - certbot-etc:/etc/letsencrypt
      - wordpress:/var/www/html
    command: certonly --webroot --webroot-path=/var/www/html --email myemail@domain.com --agree-tos --no-eff-email --staging -d www.mywebsite.com

volumes:
  certbot-etc:
  wordpress:

networks:
  network:
    driver: bridge

redpajama_set_name: RedPajamaStackExchange


Turkish pop singer that has received many awards and established fact within the Turkey for his albums Optimum, Sans, and Asklarim Büyük Benden. He was a history vocalist and performed in music halls. He offers participated in Greenpeace protests to safeguard the North Pole. His family members comes from Karadeniz Ereğli, Turkey. In 2016 he started dating Aslı Enver. He offers collaborated with such well-known performers as Tarkan and Shakira.


Hopkins & Jones Pawnbrokers lend on a wide variety of luxury watches. Our watch loans will be based on market values and we endeavor to give you a competitive pawnbroking loan. Rolex watches are among the most popular and saleable timepieces.Rolex watches both new and vintage have a huge following which makes them perfect as collateral for a pawn loan.
The Australian Coastal Watch has been around since Federation to protect the community. We take out personal loans for funding.
Approximately 20% of new car loan originations are made to sub-prime borrowers. These loans were not made by traditional banks or credit unions, but by auto finance companies such as car dealers.
June 14 (Bloomberg) -- Entrepreneur Mark Cuban discusses the U.S. Economy and starting a business with Trish Regan at the Clinton Global Initiative in Chicago on Bloomberg Television's "Street Smart."
Bubba Watson earned his third win of the season last week at the Travelers Championship, and the PGA Tour moves on to Washington D.C. this week for the Quicken Loans National.
San Diego Jewelry Buyers® is one of most respected watch buyers in the country. Sell Rolex watches. Sell Patek Philippe watches. And sell other luxury timepieces with us. We specialize in pre-owned Swiss-made watches and other fine mechanical timepieces.


text:
Henrietta (New York)
Sourced from Wikivoyage. Text is available under the CC-by-SA 3.0 license.
Derivative work by john2690. Other authors listed on source image page.
Henrietta is a town in Monroe County, New York. It contains the hamlets of East Henrietta and West Henrietta.
Tomwsulcer
Henrietta is home to the Rochester Institute of Technology (RIT).
Henrietta is at the junction of Interstate 90 (the New York State Thruway) and Interstate 390.
Not advisable.
Surprisingly possible depending upon where you are going. There is a network of trails that keeps you away from the main roads.
Rochester Genesee Regional Transportation AuthorityHenrietta is served by routes 24/24a, 68, and 91. Two additional routes service the RIT area: Park Point & Perkins Green and Province & Colony Manor. Schedules for each route are available for download.
A car is easily the best way to get around Henrietta. Although traffic is heavy, the roads are fairly wide so you won't sit in traffic much.
LtPowers
Ammodramus
Tinker Homestead and Farm Museum
address: 1585 Calkins Rd
Cobblestone farmhouse built in 1828, now a museum dedicated to farm life in the late 1800s.
Antoinette Louisa Brown Blackwell Childhood Home
address: 1099 Pinnacle Rd
A house built in 1830 that was most notably the childhood home of Antoinette Brown Blackwell, the first female ordained minister in the United States.
Imagine RIT
address: Lomb Memorial Dr
Rochester Institute of Technology's innovation and creativity festival showcases what happens "when the left brain and right brain collide," featuring hundreds of student projects from every corner of the university. Robotics, music, sign language, virtual reality, ecology, and weird science are just a few of the many subject areas covered; in fact, most of the projects take elements from multiple disciplines and combine them in innovative ways. Plenty of food, hands-on exhibits, and kids' activities make for an unbeatable value for a day out.
Lehigh Valley Trail
address: E Henrietta Rd (public parking and trail access)
This recreational trail, which used to be a railroad track, runs from north to south through Henrietta. It is popular with cyclists, runners, and cross-country skiiers. A trail map can be downloaded here.
Sky Zone Rochester
Marketplace Mall
address: 1 Miracle Mile Dr
Has the usual chain stores.
Lori's Natural Foods
address: 900 Jefferson Rd
An organic and natural-food superstore; incredible selection and very good service.
Beers of the World
address: 2599 E Henrietta Rd
A huge selection of both macro and micro brews from all over the world, plus home-brewing supplies. Also has a large display filled with good cigars. Word to the wise: the owners are quite stand-offish, especially to first time customers and some of the beers are not that fresh. Watch out for dust!
El Dorado Mexican Cuisine
Don't be put off by the strip mall location – this place serves up authentic Mexican food at a very reasonable price. Take out available.
Bill Gray's
address: 1225 Jefferson Rd
Biggest location of the city-wide diner chain, including a large game room and outdoor seating.
DiBella's Italian Market
This new flagship location of the very popular Rochester chain includes soups and salads in addition to the usual subs, chips, and cookies.
This fantastic Thai spot features reasonable prices, lightning quick service (seriously, it's like they know what you're going to order before you get there) and food that always tastes uncannily fresh and yummy. The ambiance is not great, with a huge cavernous dining room and terrible, terrible art on the walls, but the food is consistently good and you can always get takeout. Make sure to try the Thai iced tea. No need to bother with reservations. Open for lunch and dinner.
Sticky Lips BBQ Juke Joint
address: 830 Jefferson Rd, Henrietta
Has live music just about every night and a full bar. It was absolutely slammed during its first few months, but crowds have moderated a bit; still, it's not a bad idea to get there early on Friday and Saturday evenings.
MacGregors' Grill & Tap Room
Bar and grill located across from RIT, many beers on tap.
address: 3010 Winton Rd S
A branch of the popular sports bar and grill. The steaks are quite good. Take out available.
address: 2085 Hylan Dr
100% non-smoking studio suites. Indoor pool and spa, free Wi-Fi access, complimentary breakfast.
Country Inn & Suites By Carlson
address: 4635 W Henrietta Rd
Has complimentary breakfast and wi-fi, pets accepted. Offers free shuttle service to/from the airport (M-F 8AM-5PM, by prior arrangement).
DoubleTree by Hilton Rochester
A nice hotel with an incredible six-story glass arboretum (the hotel was called the "Holidome" when it was a Holiday Inn). Well worth stopping in just to see the foliage and landscaping inside. Non-smoking only.
Henrietta Public Library
address: 455 Calkins Rd
Free wi-fi is available on request at the Reference Desk, allowing up to 4 hours of internet access.


The tips below can help you, regardless of where or where you are travelling. This guide can help you each step along the way. Visit www.bestbackpacksforcollege.info if you're interested in how to waterproof a backpack college.
Whether you're traveling within the USA or in a foreign country, always be certain that the cab cabs you utilize are certified with town. A decal is visible from the vehicle's rear seat. Study city-licensed cabs before you travel if you're not certain. In this manner, you can avoid cabs which overcharge their patrons, and save money to do interesting things.
Always bring a pair of earplugs. When it's an person sitting next to you who wishes to go over his dream from the night of the airplane crashing or a child, it helps to have a way.
Study up to and take precautions to safeguard yourself. Some tourist places have theft prices. Before going, it's extremely important that you understand about these items. There are often.
Fall is a wonderful time. When the leaves start to change in their golden color, that is. The weather melts, which makes the air feel crisp. You need to contend with summer tourists. This is the time when you enjoy the beauty and just can slow down your speed of traveling.
You can get a lot of information about where you is traveling and by moving on the online. Before it starts, researching attractions might help 1 plan. Having a strategy in place and information may result in a more pleasurable experience.
If you're considering flying or flying a long distance think about investing in a portable DVD player. On that flight is worth the price the ones may operate as low as $ 75, and the reassurance it purchases you.
Be certain that you obtain travel insurance when going on holiday. Taking this step may cover you in the event that have a health evaluation while or you have to visit the clinic. This is important, if you're currently thinking about engaging in adventure sports or activities.
Travel away from home can make you would like to take a few reminders of home. Be sure you do not bring too much. Consider what you use the maximum. Pack the ones that are most essential.
Why if you invest your time finding somewhere to eat and paying a fortune for a few meals if you have got a day intended? 24 hour room services is offered by most cruise lines. Before you disembark, have fries and a sandwich . As you're out enjoying the sun you can pack it up and use it.
It's necessary to plan before packing your luggage. Everything you've learned here can help you whether you're choosing business or leisure.


Last weekend, the latest Jurassic movie opened to a respectable $148 million, albeit to fairly mixed reviews. Our reviews of the latest LEGO set tie-ins have also been rather mixed, but there are still some gems worth taking a closer look at. 75927 Stygimoloch Breakout is one of the smaller playsets, with only one dinosaur and two minifigures, built from 222 pieces. The set retails for $29.99 in the US ($39.99 in Canada | £34.99 in the UK).
At first glance, the set is easy to dismiss as a generic holding pen with a small laboratory and observation area, but the set has a bit more going for it. Let's take a closer look.
The smallish box includes just two numbered bags, with the dinosaur in its own packaging and the single instruction booklet and the sticker sheet loose in the box.
The sticker sheet includes various industrial and caution stickers that are generic enough to be useful in other contexts, along with more unique stickers like a dinosaur calendar showcasing a sauropod illustration and an X-ray of the dino in the set.
The value and fun in this set aren't in the build process, which follows the easy-to-build model we've compared to LEGO City sets in a different color scheme. Larger pieces also contribute to a quick build, with just 64 steps in under 80 pages.
Despite the simplistic build, the completed holding pen has a surprising amount of detail and some fun play features.
The hexagonal pen has a doorway that slides up and down in tracks attached sideways via brackets to the pen walls. The walls themselves are sturdily built, connecting each segment with clips, allowing you to reconfigure the pen in several different shapes, or connect multiple copies of the set into a larger structure.
The rear of the pen has an open laboratory area with a detailed work desk, featuring a computer and an egg being incubated or examined. A ladder leads to an upper catwalk where the guard can observe the captive dinosaur.
Architects who design structures in the Jurassic Park universe are some of the worst creative minds on the planet, as evidenced by wall panels in all their buildings that easily pop out. The laboratory area has two pop-out wall panels, including one connecting to the pen, allowing the dinosaur to escape.
The wall with a window behind the desk also pops out, and the entire floor tips over.
Stygimoloch Breakout includes just two minifigs, InGen geneticist Dr. Henry Wu (unique to this set) and a park guard. Dr. Wu wears a lab coat with a "Dr." badge hanging from his lapel, while the guard wears dark blue tactical gear identical to the guards in the other Fallen Kingdom sets.
Both characters feature printing on the back of their torsos, and Dr. Wu has an alternate expression on a double-sided head.
The highlight of the set is a brand new Stygimoloch dinosaur, with a unique head mold and printed body. Unlike the Velociraptor, this dinosaur's jaw doesn't open, but the back of its head has openings to attach horns.
As we noted in our Jurassic World dinosaur field guide, Stygimoloch may actually be a juvenile Pachycephalosaurus (scaled up for the movie to look more menacing, of course). Regardless, it's wonderful to have more herbivorous dinosaurs in the Jurassic menagerie.
For builders looking for lots of unique parts to integrate into their own custom creations, you won't find too much beyond large panels and fence pieces. But with plenty of play features, two solid minifigures, and a fantastic new dinosaur, 75927 Stygimoloch Breakout has a lot to offer both adult collectors and younger builders.
75927 Stygimoloch Breakout includes 222 pieces, 2 minifigures, and 1 dinosaur. The set is available now from the LEGO Shop ($29.99 in the US | $39.99 in Canada | £34.99 in the UK), Amazon.com, eBay, BrickLink, and elsewhere.
Saw the film yesterday (meh) and I'm surprised how many sets that were released for this movie didn't have any relationship to the actual plot. This one does (as does the Carnotaurus Gyrosphere Escape, the Indoraptor Rampage at Lockwood Estate, and the T-Rex Transport). I like that they made a set with a new dino mold since the Stygimoloch figures prominently in the story. The rest of the sets seem to be filler, which bothers me. *SPOILER ALERT from this point forward* I would love to have seen a set based on the transport ship using the wide boat hull and a crane loading a triceratops or–better yet–a stegosaurus or other new dinosaur mold onboard. Another set that would have been great would have been the submarine and mosasaur from the opening scene.


text:
Endorsement: Pedersen, Carlson, Hart, Altenberg and Frazier for Lake County Board
Linda Pedersen, left, and Chase Thomas
Marah Altenberg, left, and Soojae Lee, right, are candidates for Lake County Board District 20 in the 2020 election.
Steve Carlson, left, and Carissa Casbon, right, are candidates for Lake County Board District 7 in the 2020 election.
Paras Parekh, left, and Mike Rummel, right, are candidates for Lake County Board District 12 in the 2020 election.
Lauren Fleming, left, and Sandra Hart, right, are candidates for Lake county Board District 13 in the 2020 election.
The Daily Herald Editorial Board
Updated 9/25/2020 9:34 AM
District 1: Pedersen
Two viable candidates seek the Lake County Board District 1 seat. Republican incumbent Linda Pedersen of Antioch faces Democrat Chase A. Thomas of Lake Villa.
Pedersen brings 12 years of board experience to the table serving on multiple committees including building/planning, transportation and finance. She says the Forest Preserve District is on a good path protecting the environment and safeguarding the county's preserves.
Thomas, a trustee on the Lake County Regional Office of Education, is an educator and human services professional at ChanceLight Behavioral Health, Therapy and Education in Algonquin. He is passionate about getting adequate mental health and substance abuse services for residents. He cares about the environment and says he's running to tackle inadequate infrastructure, high taxes and poor delivery of social services.
Since Pedersen has the momentum in place handling the county's COVID-19 issues, she should continue that work. Linda Pedersen is endorsed.
District 7: Carlson
COVID-19 has taken a terrible toll on residents and businesses. And incumbent District 7 board member Steve Carlson of Grandwood Park points out that this is just the beginning: Lake County officials need to be ready to make tough decisions.
While we are impressed by Democratic opponent Carissa Casbon's enthusiasm, as well as her grasp of county issues, we believe Carlson's experience -- coupled with a compassionate yet realistic approach -- makes him best suited to face the challenges ahead. Carlson, a Republican, has a strong record of accomplishments, including his efforts to launch 211 Lake County, a 24-hour information and referral hotline. Plus, he has shown a willingness to work across the aisle and demonstrates respect for differing ideas.
We have enthusiastically endorsed Carlson in the past. We do so again.
District 13: Hart
Sandy Hart made local history in 2018 when she became the first Democrat to be chosen as the Lake County Board chair. The Lake Bluff resident recently has taken flak with regard to issues related to fellow Democrat Terry Wilke, but her contributions include a real push for greater transparency, a focus on mental health and the start of a multiyear capital improvements plan. The county has also begun an analysis of its physical resources with an eye toward finding places to save.
Republican challenger Lauren Fleming brings varied experience as a small-business owner, former chief of staff at the Illinois Department on Aging and former staff member of the Illinois Comptroller's Office. But while she talks about the importance of "building bridges," Fleming's harsh, inflammatory depictions of her opponent and others on the board make her an unlikely crusader for consensus.
We endorse Hart.
District 16: Frazier
Lake County Board incumbent Terry Wilke of Round Lake has come under fire recently for actions related to his post as Avon Township supervisor. That he holds two elected positions -- and seeks reelection to both -- raises serious concerns for us.
Critics, including Republican opponent John Frazier, say Wilke purchased a piece of property and vehicles for the township without approval. Wilke insists he had "direction" from the township, but documents proving that were destroyed. Wilke also has been criticized for receiving mileage reimbursement of almost $1,000 from the county for a vehicle acquired for township business. County board members are automatically reimbursed for mileage, he points out, adding he paid the county back when he discovered that and notified staff he no longer wanted reimbursement.
But questions about the overlap of the two offices underscore why we believe it is a serious mistake, and a disservice to taxpayers, for officials to juggle -- and get paid for -- more than one elected post.
Frazier, a retired military veteran, pledges to be the voice of his constituents. To do that, he will need a stronger grasp of the issues and a deeper understanding of county government. But he makes a good case for a change in District 16, and he has our endorsement.
District 20: Altenberg
Both Lake County Board District 20 candidates agree that residents cannot handle another tax increase. COVID-19 has forced the board to explore budget-cutting measures.
Democratic incumbent Marah Altenberg and Republican challenger Soojae Lee, both of Buffalo Grove, face off on Nov. 3. Altenberg, a former journalist and 20-year county resident, was appointed in March. With little time to learn the ropes, she jumped in approving/distributing $121 million in CARES Act money to help residents, food pantries, school districts and first responders, and she worked on grants and loans for small businesses. She's environmentally conscious and ready to serve.
Lee has a law and business background and is a solid candidate. He promises to "bring transparency, integrity, and efficiency" if elected. He would explore options to automate services and supports a merger of the county recorder and clerk offices for cost reduction.
Since time is critical in handling the fallout of COVID-19, we feel it's best to keep Altenberg in place to continue what she's started. We endorse Marah Altenberg.
Lake County Board


text:
Voice of the masses
RSS for Ogg Vorbis feed
RSS for mp3 feed
Free licence after nine months
Ben Everard | November 18, 2013 | Uncategorized | 18 Comments
A week ago we announced that we were trying to start a new Linux magazine that will make all of its contents available for free after a maximum nine months. The response so far has been phenomenal, and funds have come in far quicker than we expected.
We've been discussed on Hacker News, Reddit, Slashdot, The Register, The Guardian and forums across the web. One question keeps coming up: What do you mean by 'available for free'? Everyone in the open source community knows that this simple word can be loaded with different meanings.
From across the internet, people have been pushing us to be true to free as in freedom. Clem, of Linux Mint fame, has even suggested he'll create an app for browsing the free content if, that is, it's properly free.
We held back on making a concrete statement because we wanted to discuss the matter with various contributors and freelance writers that will help us make the magazine. Last week we realised that we needed to clear up exactly what we would do. It'd be unfair to people funding us to leave it ambiguous any longer.
There's always a temptation to add clauses to licences. Ones that you think won't really affect the freedom, but will protect you a little bit. In our case it was a non-commercial clause. What if, we wondered, a publishing company decided to reprint our articles and make money off our work? Other Linux magazines could carry our articles without paying us a penny.
However, we've been spouting on about the four freedoms for long enough to know that they really do mean something, and it's time to put our IP where our mouth is. Yes, the four freedoms were written to apply to code, but their spirit is easily transferable, and a non-commercial clause is clearly against it.
Today, we can announce that we're going to commit to releasing all of our content under the Creative Commons Attribution-ShareAlike 3.0 Unported no more than nine months after it's published. For anyone unfamiliar with the licence, it's broadly similar in spirit to the GPLv2. That is, you can distribute the content in any way you choose, and you can modify it in any way you like provided that you license your modifications under a sharealike licence (unported just means it's an international license). For more information on the licence, take a look at Creative Commons' text in plain english or the full legal document.
You may have noticed that we've said 'after a maximum of nine months'. We do intend to release some pieces earlier, especially where we think they'll have value for the community. So, if you see something that you think we should release earlier, let us know. If you're a teacher who wants to distribute our content to your students, or a open source software maintainer who'd like to include one of our tutorials in your help pages, get in touch and we'll try to work something out.
Ben Everard
Ben Everard is the co-author of Learning Python with the Raspberry Pi and hacks hardware projects held together with a big dollop of Linux and Free Software glue. He's @ben_everard on Twitter.
Corbin	 November 18, 2013 Reply
This is a brave new territory you guys are venturing into, I sincerely. hope hope you succeed.
Stephen Wheeler	 November 18, 2013 Reply
This is a brave thing to do, but we know instinctively and because we all belong to the Free and Open Source Software community, that it is the right thing to do.
Well done for having the conviction of our shared belief, and I'm sure this is the start of something very special.
David Banks	 November 18, 2013 Reply
Nice work guys. Thanks also for *not* using the NC/ND variants of the CC licenses.
Robin Hood	 November 18, 2013 Reply
The lady I spoke to today at Future publishing sounded as if she'd had several calls cancelling subscriptions. Asked why I was leaving there wasn't a "leaving to stop paying for shareholders xmas pressies' so I had to lie.
Good luck guys. As soon as it's payday I will be subscribing.
Mike Saunders	 November 18, 2013 Reply
Great, thanks a lot!
mdturnerinoz	 November 18, 2013 Reply
I've already abandoned LXF in lieu of Linux Voice: I'd feather wait for LV — even though not out yet — than spend my money on LXF (which I fear, will sadly descend into iniquity due to the mass exodus of so much of its real talent-base).
Looking forward to issue 1 (even though PDF)!
feather == rather (not turning weird(er) here… :0) )
Nicholas Van Wyen	 November 18, 2013 Reply
You really are putting "your IP where our mouth is", and I for one applaud you.
Andres	 November 18, 2013 Reply
I am surprised you did not put a FAQ on why linux voice and not gnu/linux voice.
congratulations keep going and good luck!
worcspaul	 November 20, 2013 Reply
In which case you could say "Have you GNU hurd of GNU/linux voice?"
I'll get my coat…
scott	 November 19, 2013 Reply
Some people say that people buy music games after pirating them and in some cases pirating can be a good. In the same way releasing the magazines 9 months later could help sales.
lager monster	 November 19, 2013 Reply
Just a thought: you could put in a clause that states you can reproduce the articles as long as the ads and links that come with them remain intact.
Kind of like publishing a free news paper, or the free apps on Android.
They are actually funded by the advertisers, everybody wins.
Penguin Fiddler	 November 19, 2013 Reply
It's fantastic to see that the project is progressing so well…
I am checking the funding total on IndieGoGo several times per day – The progress here is fabulous.
I am really looking forward to this week's podcast.
Jon Gibbins	 November 19, 2013 Reply
[insert generic congratulatory message here]!
I'm sorry I couldn't be more descriptive in the above but there really are no other words for it. You're all doing a marvellous thing and my writing of heaps of waffle here just wouldn't do what you're all doing any justice. It's marvellous!
Kenneth Nielsen	 November 19, 2013 Reply
Massive thumbs up on the CC after 9 months. Besides all the other arguments, its also a massive convenience for subscribers, that you can search for the old content on-line. I've already donated and am looking forwards to the first issue.
Saif	 November 19, 2013 Reply
Truly awesome and a great reflection of the ideals of Freedom. I can not see how this magazine can fail. One thing I would humbly suggest (as if I know anything about publishing) is that the articles be structured to allow the reader to cut-out-and-keep in categories e.g. Networking, Programming, System Admin etc So many time I wish I could a locate a vaguely recollected, but suddenly very useful article in my piles of Linux magazines and knowing that this is really hopeless.
And while we are on the topic..ads are of course a useful to sustain a publication…but hey, how about some real community service…a low/no cost personal ads section, lonely geeky hearts, beg, buy, sell etc.
Roland Ward	 November 21, 2013 Reply
Good idea there. The point is that generally information looses value like IT hardware depreciates. The things you write up nine months ago will be less valuable as your "USP" for buying that magazine. Conversely there will be people interested in that article for the next ten years – though the numbers will grow less and less. The fact that they will be available and the fact that they are under a non restrictive licence will ensure that information stays out there. I've recently been fixing a Fedora Core 4 server. It's amazing how much information isn't out there any more when there would have been a plethora six years ago.
I'd also suggest that you don't look at taking on Linux Format directly. I'll probably end up subscribing to both. There's lots of areas that they don't cover – mainly I feel in the area of business IT and servers – which are ripe for well written journalism.
Keith Johnson	 February 21, 2014 Reply
I was going to subscribe to the digital version of LXF, but when I asked about access to their archived editions, I was told this is only available to subscribers of the print edition! I pointed out that this is silly, and told them I would be subscribing to Linux Voice instead, which I have just done.
Good luck to all you guys on your new venture, and looking forward to the first issue.
ERROR: Incorrect or empty reCAPTCHA response, please try again.
Enter the word(s) in the box: Enter the numbers you hear:
Stephen on Voice of the Masses: What are the best laptops for running Linux?
Duncan on Podcast Season 5 Episode 18
Dylan C on Podcast Season 5 Episode 18
Arash on Voice of the Masses: Why is the Linux market share growing?
Will on Podcast Season 5 Episode 18
bri on Podcast Season 5 Episode 18
Interview: Lennart Poettering
Interview: Thomas Voß of Mir
House Price Analysis
Hosting kindly provided by:
Copyright © 2021 Linux New Media USA, LLC..
This website uses cookies to improve your experience. You browser has the ability to block these should you wish. Accept


text:
Blog, Humanitarian Law, Public International Law
The Red Echo Cyberattack: Locating India's Recourse in International Law
In October 2020, a Chinese state-sponsored group known as 'Red Echo' allegedly orchestrated a malware attack that caused a two-hour long power outage in Mumbai, India. This possibility, brought to light in February 2021 by an American cybersecurity watchdog, has since been confirmed by Indian state officials. In this article, I will seek to analyze whether the Mumbai cyberattack constitutes a violation of international law by China, and if so, what response options are available to India.
Was the Red Echo Cyberattack Violative of International Law?
In order for a State act to be considered an 'internationally wrongful act', it must (i) be attributable to the State; and (ii) breach an international obligation of the State [Art. 2, Articles on State Responsibility 2001 ("ASR")]. For the purpose of this piece, I shall assume that Red Echo was indeed responsible for the October 2020 cyberattack, and that this action was attributable to China. Hereon, I will restrict my analysis to the second limb of wrongfulness – i.e., whether China breached an international obligation.
It is generally agreed that the laws governing the legality of resorting to force (jus ad bellum) are applicable to cyberspace (see Tallinn Manual 2.0, Rule 1, 4). In this legal framework, Red Echo's cyber operation may be arguably characterized as a breach of China's obligation to refrain from the use of force against another State (Art. 2(4), UN Charter). However, there is no settled position on the threshold for an act to amount to a 'use of force'. Therefore, an assessment must be made on the basis of customary international law and state practice. The UN General Assembly ('UNGA') has previously suggested that acts which damage infrastructure critical to providing public services, could amount to a use of force. Similarly, multiple States have asserted that a cyberattack could constitute a use of force, depending on its scale and effect (see Finland, New Zealand, and Australia). The Red Echo cyberattack caused a breakdown of public transport and healthcare in Mumbai, both important public services. Therefore, a cyberattack attributable to China would prima facie constitute a 'use of force'.
That being said, a mere 'use of force' does not in itself entitle the recipient state to use self-defensive force unilaterally (i.e., without a UN Security Council Resolution permitting the same). Instead, a higher standard has to be met for the unilateral use of defensive force – the wrongful act committed must amount to an 'armed attack' (Art. 51, UN Charter). An examination of whether the Red Echo cyberattack amounted to an armed attack, or was merely a use of force, is critical in identifying the range of responses available to India in international law.
The threshold for an act to amount to an 'armed attack' is considerably higher than for a 'use of force'. The UNGA has previously referred to military occupation, bombardment, and blockade in its definition of 'acts of aggression' (used interchangeably with 'armed attack') (Art. 3, UNGA Resolution 3314). Therefore, one approach is that the use of violent means is necessary to meet the armed attack standard. In other words, the lens of analysis used is whether the operation in question involved kinetic force, and not merely the scale and effects of said operation. This mode of analysis has since been adopted by the International Court of Justice ("ICJ") to assess the occurrence of an armed attack (see Nicaragua v. United States (1986) ¶195, 210-211; Iran v. United States (2003) ¶51-64). In a paradigm where the focus is on the use of violent means and not scale and effects primarily, cyberattacks ipso facto would not constitute armed attacks. It must be cautioned, however, that to date, the ICJ has not had the occasion to discern an armed attack in the absence of kinetic force.
By contrast, another approach posits that cyberattacks can qualitatively amount to armed attacks, depending on the degree of damage they cause. This relies on the ICJ's interpretation of 'armed attack' in the UN Charter to include any considerable use of force, irrespective of the weapons (or broadly, the means) used (Nuclear Weapons Advisory Opinion ¶39). In this vein, the determination of an armed attack would not be contingent on the medium used, but rather the degree of its impact. Arguably, this latter model is the appropriate framework to evaluate armed attacks for the future, due to the increasing emergence of cyberspace as a battleground. Therefore, the laws governing the use of force must also evolve to account for technologies that inflict damage without the means of kinetic force.
In the specific case of the Red Echo cyberattack, I submit that a case can be made for it to constitute an armed attack in the latter paradigm. It has been documented that during the power grid failure in Mumbai, civic hospitals were forced to curtail operations. This would amount to an attack on the medical infrastructure of one of India's busiest cities during a pandemic, resulting in the deprivation of medical services. By virtue of its scale and effects, I submit that the cyber operation qualifies as an armed attack, rather than a mere use of force. Moreover, instruments in international humanitarian law have also previously recognized the impermissibility of an attack on the medical infrastructure of a State (see Art. 5, 9th Hague Convention). This shows that not only was the cyberattack wrongful in se, but that the resultant targets (hospitals) are also specifically in violation of China's international obligations. In any case, in the next section, I will outline response options available to India in either paradigm, whether or not the cyberattack amounted to an armed attack.
How may India Lawfully Respond?
A response by leave of the UN Security Council is unlikely to materialize, due to China's veto power on that body. India can hence rely on unilateral measures more viably. These may be grouped into acts of retorsion, and acts that are themselves internationally wrongful, but may be justified by relying on certain defenses within international law. Retorsion refers to acts that may be unfriendly, but not violative of international law obligations: such as sanctions, or severing diplomatic relations. Thus, they do not require the State involved to provide any defense or justification. As a result, should India use retorsion as a response, whether the Red Echo cyberattack amounted to even a use of force or an armed attack would be immaterial. On the other hand, there exists a range of available alternative responses (such as conducting counter-cyber operations against China) that are, when taken in isolation, wrongful in international law. However, they may potentially be permitted in certain specific circumstances, the applicability of which I shall discuss next.
First, I consider the resort to forcible measures as 'self-defense'. As discussed previously, the plea of self-defense for a response that is wrongful in international law only arises when the State is responding to an armed attack, and not merely a use of force (Art. 21, ASR; Art. 51, UN Charter). There are two implications of the armed attack threshold here. For one, the responding State may only use non-forcible measures to respond to acts that do not constitute an armed attack. Additionally, should an armed attack occur, the degree of force available as part of the State's right to self-defense is greater than in case of an ordinary response to a use of force by another State. Therefore, in order to resort to a forcible measure as self-defense, India must demonstrate that the Red Echo cyberattack met the high threshold of an armed attack. Another barrier against adopting this recourse would be the temporal limitation of measures taken in self-defense (see Nicaragua v. United States (1986) ¶237). The offending cyberattack occurred and concluded close to a year ago (at the time of writing), by when any reasonable self-defensive measure would also be time-barred.
Second, the plea of necessity as a defense for an internationally wrongful act is a potential option. A State may justify an act that is internationally wrongful, so long as it was performed out of necessity. Necessity requires that the State be protecting an 'essential interest' from a 'grave and imminent peril' (Art. 25, ASR). However, necessity as a defense may only be invoked during the existence of the 'grave and imminent peril', and not after such circumstances have passed (Hungary v. Slovakia ¶54-57). Once the period of necessity has elapsed, the State must adhere to its international law obligations once again (Art. 27(b), ASR). Therefore, even though India can argue that protecting its healthcare system, transport, and energy infrastructure constitutes an 'essential interest', the defense of necessity can no longer be invoked for a response. This is because, irrespective of whether the effects of this cyberattack posed a grave peril, the period of an alleged 'imminence' has elapsed since the conclusion of the initial Red Echo cyberattack.
Third, performing a countermeasure against another internationally wrongful act. A countermeasure is a response that would itself be wrongful in international law, but is permissible so long as it is used to induce a State breaching its international obligations to comply with the same (Art. 49, ASR). In the instant case, a countermeasure could involve targeted 'hack backs' against China's own cyber infrastructure that inhibit its capacity to carry out cyberattacks against India again.
However, in any case, countermeasures differ from necessity defenses on a key count. Unlike necessity, countermeasures are only valid against the State guilty of the initial breach of international obligations (Art. 49(4), ASR). They would thus remain impermissible insofar as they breach obligations owed to third-party states. Critically in the cyber context, an attack that compromises China's cyber infrastructure may also have adverse implications for other Asian economies that are closely integrated with the Chinese infrastructure grid following the Belt and Road Initiative. Therefore, India may find its hands tied should it choose to pursue meaningful countermeasures, due to the potential of breaches against third parties.
The circumstances of the Red Echo cyberattack leave a narrow range of options for India to respond unilaterally. While retorsion as a general response (such as downgrading diplomatic relations) is available, it does not perform the targeted purpose of dissuading future cyberattacks. On the other hand, targeted options such as "hack-backs" that could be justified as countermeasures or necessity may prove controversial, due to the difficulty in satisfying the thresholds to invoke those options. Justifying a response as self-defense may be the most accessible avenue for India to pursue presently, but the characterization of the Red Echo cyber-attack as meeting the armed attack threshold won't necessarily find purchase with the international community.
Importantly, the political costs and benefits of an adopted course of action cannot be separated from the legal. Any discussion of potential response options such as this must also be contextualized within India's diplomatic disposition to China, and the limited avenues that it leaves open. The lack of concrete American responses against Russia following repeated cyberoperations during and after the 2016 elections only goes to show that this is a global phenomenon, meriting greater discourse. That being said, these events present an opportunity for India to state on record its position regarding cyberattacks as armed attacks under international law. Such clarifications would inform State practice and thus customary international law, and continue the trend of States outlining their foreign policy re cyberwarfare (see France, Iran).
Aarohi Chaudhuri is a law student at the National Law School of India University, Bengaluru.
Image: Illustration by Aaron Byrd, NY Times, 'Cyberconflict: Why the Worst Is Yet to Come' (here) [modified].
jindalforinteconlaws 30th Jul 2021 30th Jul 2021 china cyber attack red echo, countermeasures international law china, hague convention cyberattack, India, India china, internationally wrongful act china, Mumbai cyber attack, nuclear weapons advisory opinion, Red Echo Cyberattack, Redecho, use of force, use of force cyberattack
One thought on "The Red Echo Cyberattack: Locating India's Recourse in International Law"
Pingback: To What Extent Does International Law Apply In Cyberspace? – Jindal Forum for International and Economic Laws
Previous Previous post: To Waive or Not Waive? Analysing the Necessity and Challenges of the TRIPS Waiver Proposal
Next Next post: August 2021: Issue 1


text:
Chef Michael Ponzio fell in love with the traditional culinary experience of Italian dining at a very young age.
Michael, who comes from a large, Italian family, grew up in a suburb just outside Chicago. So naturally, his first inspiration in the kitchen was his grandmother. She introduced Michael to classic homestyle cooking and later provided guidance and instruction in perfecting the basics.
Cooking became not only his skill, but his passion as well.
Michael went on to receive his education in Culinary Arts at Kendall College in Chicago.
In 2002, he joined the award-winning team at Spiaggia as a sous-chef working closely with Tony Mantuano. His skill and technique grew immensely during that time.
From there, Michael continued his journey in learning how to master the Chicago culinary scene at restaurants including Volare, Cenitare and Rosebud Restaurant Group; where he worked as the Director of Culinary Operations.
He has traveled all over the country and to several parts of Italy studying everything from handcrafted pastas and pizza to gelato and regional delicacies.
In 2011 Michael authored a cookbook, CIBO: Anybody's Guide to Italian Cooking.
Michael is currently the Executive Chef at Medinah Country Club in Illinois. Medinah, a world-ranked Platinum golf club, provides time-honored club dishes for the traditionalists, as well as progressive plates for the adventurous foodies.
When he's not in the kitchen, Michael spends his time with his wife and three children traveling and nurturing his passion for food and wine.
Michael Ponzio
Watch @nataliefox32 and I make banana Nutella pancakes for #nationalmaplesyrupday and donate to the Greater Chicago… https://t.co/DV5Izm65qn
Basque Cake
Grilled Mexican Street Corn
A Brief Reinvention
Giardiniera: Spicing it up… Chicago Style
Contact Chef Ponzio
© 2016 All rights reserved. Chef Michael Ponzio
Empty sidebar
Please add widgets to this sidebar.
Recipes Posts