text:
import typing as t

from elastic_transport import ObjectApiResponse

from ._base import NamespacedClient
from .utils import SKIP_IN_PATH, _quote, _rewrite_parameters

class RollupClient(NamespacedClient):
    @_rewrite_parameters()
    def delete_job(
        self,
        *,
        id: str,
        error_trace: t.Optional[bool] = None,
        filter_path: t.Optional[
            t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
        ] = None,
        human: t.Optional[bool] = None,
        pretty: t.Optional[bool] = None,
    ) -> ObjectApiResponse[t.Any]:
        """
        Deletes an existing rollup job.

        `<https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-delete-job.html>`_

        :param id: The ID of the job to delete
        """
        if id in SKIP_IN_PATH:
            raise ValueError("Empty value passed for parameter 'id'")
        __path = f"/_rollup/job/{_quote(id)}"
        __query: t.Dict[str, t.Any] = {}
        if error_trace is not None:
            __query["error_trace"] = error_trace
        if filter_path is not None:
            __query["filter_path"] = filter_path
        if human is not None:
            __query["human"] = human
        if pretty is not None:
            __query["pretty"] = pretty
        __headers = {"accept": "application/json"}
        return self.perform_request(  # type: ignore[return-value]
            "DELETE", __path, params=__query, headers=__headers
        )

    @_rewrite_parameters()
    def get_jobs(
        self,
        *,
        id: t.Optional[str] = None,
        error_trace: t.Optional[bool] = None,
        filter_path: t.Optional[
            t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
        ] = None,
        human: t.Optional[bool] = None,
        pretty: t.Optional[bool] = None,
    ) -> ObjectApiResponse[t.Any]:
        """
        Retrieves the configuration, stats, and status of rollup jobs.

        `<https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-get-job.html>`_

        :param id: The ID of the job(s) to fetch. Accepts glob patterns, or left blank
            for all jobs
        """
        if id not in SKIP_IN_PATH:
            __path = f"/_rollup/job/{_quote(id)}"
        else:
            __path = "/_rollup/job"
        __query: t.Dict[str, t.Any] = {}
        if error_trace is not None:
            __query["error_trace"] = error_trace
        if filter_path is not None:
            __query["filter_path"] = filter_path
        if human is not None:
            __query["human"] = human
        if pretty is not None:
            __query["pretty"] = pretty
        __headers = {"accept": "application/json"}
        return self.perform_request(  # type: ignore[return-value]
            "GET", __path, params=__query, headers=__headers
        )

    @_rewrite_parameters()
    def get_rollup_caps(
        self,
        *,
        id: t.Optional[str] = None,
        error_trace: t.Optional[bool] = None,
        filter_path: t.Optional[
            t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
        ] = None,
        human: t.Optional[bool] = None,
        pretty: t.Optional[bool] = None,
    ) -> ObjectApiResponse[t.Any]:
        """
        Returns the capabilities of any rollup jobs that have been configured for a specific
        index or index pattern.

        `<https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-get-rollup-caps.html>`_

        :param id: The ID of the index to check rollup capabilities on, or left blank
            for all jobs
        """
        if id not in SKIP_IN_PATH:
            __path = f"/_rollup/data/{_quote(id)}"
        else:
            __path = "/_rollup/data"
        __query: t.Dict[str, t.Any] = {}
        if error_trace is not None:
            __query["error_trace"] = error_trace
        if filter_path is not None:
            __query["filter_path"] = filter_path
        if human is not None:
            __query["human"] = human
        if pretty is not None:
            __query["pretty"] = pretty
        __headers = {"accept": "application/json"}
        return self.perform_request(  # type: ignore[return-value]
            "GET", __path, params=__query, headers=__headers
        )

    @_rewrite_parameters()
    def get_rollup_index_caps(
        self,
        *,
        index: t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]],
        error_trace: t.Optional[bool] = None,
        filter_path: t.Optional[
            t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
        ] = None,
        human: t.Optional[bool] = None,
        pretty: t.Optional[bool] = None,
    ) -> ObjectApiResponse[t.Any]:
        """
        Returns the rollup capabilities of all jobs inside of a rollup index (e.g. the
        index where rollup data is stored).

        `<https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-get-rollup-index-caps.html>`_

        :param index: The rollup index or index pattern to obtain rollup capabilities
            from.
        """
        if index in SKIP_IN_PATH:
            raise ValueError("Empty value passed for parameter 'index'")
        __path = f"/{_quote(index)}/_rollup/data"
        __query: t.Dict[str, t.Any] = {}
        if error_trace is not None:
            __query["error_trace"] = error_trace
        if filter_path is not None:
            __query["filter_path"] = filter_path
        if human is not None:
            __query["human"] = human
        if pretty is not None:
            __query["pretty"] = pretty
        __headers = {"accept": "application/json"}
        return self.perform_request(  # type: ignore[return-value]
            "GET", __path, params=__query, headers=__headers
        )

    @_rewrite_parameters(
        body_fields=True,
        ignore_deprecated_options={"headers"},
    )
    def put_job(
        self,
        *,
        id: str,
        cron: str,
        groups: t.Mapping[str, t.Any],
        index_pattern: str,
        page_size: int,
        rollup_index: str,
        error_trace: t.Optional[bool] = None,
        filter_path: t.Optional[
            t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
        ] = None,
        headers: t.Optional[
            t.Mapping[str, t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]]
        ] = None,
        human: t.Optional[bool] = None,
        metrics: t.Optional[
            t.Union[t.List[t.Mapping[str, t.Any]], t.Tuple[t.Mapping[str, t.Any], ...]]
        ] = None,
        pretty: t.Optional[bool] = None,
        timeout: t.Optional[t.Union["t.Literal[-1]", "t.Literal[0]", str]] = None,
    ) -> ObjectApiResponse[t.Any]:
        """
        Creates a rollup job.

        `<https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-put-job.html>`_

        :param id: Identifier for the rollup job. This can be any alphanumeric string
            and uniquely identifies the data that is associated with the rollup job.
            The ID is persistent; it is stored with the rolled up data. If you create
            a job, let it run for a while, then delete the job, the data that the job
            rolled up is still be associated with this job ID. You cannot create a new
            job with the same ID since that could lead to problems with mismatched job
            configurations.
        :param cron: A cron string which defines the intervals when the rollup job should
            be executed. When the interval triggers, the indexer attempts to rollup the
            data in the index pattern. The cron pattern is unrelated to the time interval
            of the data being rolled up. For example, you may wish to create hourly rollups
            of your document but to only run the indexer on a daily basis at midnight,
            as defined by the cron. The cron pattern is defined just like a Watcher cron
            schedule.
        :param groups: Defines the grouping fields and aggregations that are defined
            for this rollup job. These fields will then be available later for aggregating
            into buckets. These aggs and fields can be used in any combination. Think
            of the groups configuration as defining a set of tools that can later be
            used in aggregations to partition the data. Unlike raw data, we have to think
            ahead to which fields and aggregations might be used. Rollups provide enough
            flexibility that you simply need to determine which fields are needed, not
            in what order they are needed.
        :param index_pattern: The index or index pattern to roll up. Supports wildcard-style
            patterns (`logstash-*`). The job attempts to rollup the entire index or index-pattern.
        :param page_size: The number of bucket results that are processed on each iteration
            of the rollup indexer. A larger value tends to execute faster, but requires
            more memory during processing. This value has no effect on how the data is
            rolled up; it is merely used for tweaking the speed or memory cost of the
            indexer.
        :param rollup_index: The index that contains the rollup results. The index can
            be shared with other rollup jobs. The data is stored so that it doesn't interfere
            with unrelated jobs.
        :param headers:
        :param metrics: Defines the metrics to collect for each grouping tuple. By default,
            only the doc_counts are collected for each group. To make rollup useful,
            you will often add metrics like averages, mins, maxes, etc. Metrics are defined
            on a per-field basis and for each field you configure which metric should
            be collected.
        :param timeout: Time to wait for the request to complete.
        """
        if id in SKIP_IN_PATH:
            raise ValueError("Empty value passed for parameter 'id'")
        if cron is None:
            raise ValueError("Empty value passed for parameter 'cron'")
        if groups is None:
            raise ValueError("Empty value passed for parameter 'groups'")
        if index_pattern is None:
            raise ValueError("Empty value passed for parameter 'index_pattern'")
        if page_size is None:
            raise ValueError("Empty value passed for parameter 'page_size'")
        if rollup_index is None:
            raise ValueError("Empty value passed for parameter 'rollup_index'")
        __path = f"/_rollup/job/{_quote(id)}"
        __body: t.Dict[str, t.Any] = {}
        __query: t.Dict[str, t.Any] = {}
        if cron is not None:
            __body["cron"] = cron
        if groups is not None:
            __body["groups"] = groups
        if index_pattern is not None:
            __body["index_pattern"] = index_pattern
        if page_size is not None:
            __body["page_size"] = page_size
        if rollup_index is not None:
            __body["rollup_index"] = rollup_index
        if error_trace is not None:
            __query["error_trace"] = error_trace
        if filter_path is not None:
            __query["filter_path"] = filter_path
        if headers is not None:
            __body["headers"] = headers
        if human is not None:
            __query["human"] = human
        if metrics is not None:
            __body["metrics"] = metrics
        if pretty is not None:
            __query["pretty"] = pretty
        if timeout is not None:
            __body["timeout"] = timeout
        __headers = {"accept": "application/json", "content-type": "application/json"}
        return self.perform_request(  # type: ignore[return-value]
            "PUT", __path, params=__query, headers=__headers, body=__body
        )

    @_rewrite_parameters(
        body_fields=True,
    )
    def rollup_search(
        self,
        *,
        index: t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]],
        aggregations: t.Optional[t.Mapping[str, t.Mapping[str, t.Any]]] = None,
        aggs: t.Optional[t.Mapping[str, t.Mapping[str, t.Any]]] = None,
        error_trace: t.Optional[bool] = None,
        filter_path: t.Optional[
            t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
        ] = None,
        human: t.Optional[bool] = None,
        pretty: t.Optional[bool] = None,
        query: t.Optional[t.Mapping[str, t.Any]] = None,
        rest_total_hits_as_int: t.Optional[bool] = None,
        size: t.Optional[int] = None,
        typed_keys: t.Optional[bool] = None,
    ) -> ObjectApiResponse[t.Any]:
        """
        Enables searching rolled-up data using the standard query DSL.

        `<https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-search.html>`_

        :param index: The indices or index-pattern(s) (containing rollup or regular data)
            that should be searched
        :param aggregations:
        :param aggs:
        :param query:
        :param rest_total_hits_as_int: Indicates whether hits.total should be rendered
            as an integer or an object in the rest search response
        :param size: Must be zero if set, as rollups work on pre-aggregated data
        :param typed_keys: Specify whether aggregation and suggester names should be
            prefixed by their respective types in the response
        """
        if index in SKIP_IN_PATH:
            raise ValueError("Empty value passed for parameter 'index'")
        __path = f"/{_quote(index)}/_rollup_search"
        __body: t.Dict[str, t.Any] = {}
        __query: t.Dict[str, t.Any] = {}
        if aggregations is not None:
            __body["aggregations"] = aggregations
        if aggs is not None:
            __body["aggs"] = aggs
        if error_trace is not None:
            __query["error_trace"] = error_trace
        if filter_path is not None:
            __query["filter_path"] = filter_path
        if human is not None:
            __query["human"] = human
        if pretty is not None:
            __query["pretty"] = pretty
        if query is not None:
            __body["query"] = query
        if rest_total_hits_as_int is not None:
            __query["rest_total_hits_as_int"] = rest_total_hits_as_int
        if size is not None:
            __body["size"] = size
        if typed_keys is not None:
            __query["typed_keys"] = typed_keys
        __headers = {"accept": "application/json", "content-type": "application/json"}
        return self.perform_request(  # type: ignore[return-value]
            "POST", __path, params=__query, headers=__headers, body=__body
        )

    @_rewrite_parameters()
    def start_job(
        self,
        *,
        id: str,
        error_trace: t.Optional[bool] = None,
        filter_path: t.Optional[
            t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
        ] = None,
        human: t.Optional[bool] = None,
        pretty: t.Optional[bool] = None,
    ) -> ObjectApiResponse[t.Any]:
        """
        Starts an existing, stopped rollup job.

        `<https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-start-job.html>`_

        :param id: The ID of the job to start
        """
        if id in SKIP_IN_PATH:
            raise ValueError("Empty value passed for parameter 'id'")
        __path = f"/_rollup/job/{_quote(id)}/_start"
        __query: t.Dict[str, t.Any] = {}
        if error_trace is not None:
            __query["error_trace"] = error_trace
        if filter_path is not None:
            __query["filter_path"] = filter_path
        if human is not None:
            __query["human"] = human
        if pretty is not None:
            __query["pretty"] = pretty
        __headers = {"accept": "application/json"}
        return self.perform_request(  # type: ignore[return-value]
            "POST", __path, params=__query, headers=__headers
        )

    @_rewrite_parameters()
    def stop_job(
        self,
        *,
        id: str,
        error_trace: t.Optional[bool] = None,
        filter_path: t.Optional[
            t.Union[str, t.Union[t.List[str], t.Tuple[str, ...]]]
        ] = None,
        human: t.Optional[bool] = None,
        pretty: t.Optional[bool] = None,
        timeout: t.Optional[t.Union["t.Literal[-1]", "t.Literal[0]", str]] = None,
        wait_for_completion: t.Optional[bool] = None,
    ) -> ObjectApiResponse[t.Any]:
        """
        Stops an existing, started rollup job.

        `<https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-stop-job.html>`_

        :param id: The ID of the job to stop
        :param timeout: Block for (at maximum) the specified duration while waiting for
            the job to stop. Defaults to 30s.
        :param wait_for_completion: True if the API should block until the job has fully
            stopped, false if should be executed async. Defaults to false.
        """
        if id in SKIP_IN_PATH:
            raise ValueError("Empty value passed for parameter 'id'")
        __path = f"/_rollup/job/{_quote(id)}/_stop"
        __query: t.Dict[str, t.Any] = {}
        if error_trace is not None:
            __query["error_trace"] = error_trace
        if filter_path is not None:
            __query["filter_path"] = filter_path
        if human is not None:
            __query["human"] = human
        if pretty is not None:
            __query["pretty"] = pretty
        if timeout is not None:
            __query["timeout"] = timeout
        if wait_for_completion is not None:
            __query["wait_for_completion"] = wait_for_completion
        __headers = {"accept": "application/json"}
        return self.perform_request(  # type: ignore[return-value]
            "POST", __path, params=__query, headers=__headers
        )

redpajama_set_name: RedPajamaGithub


text:
Not good for man to work alone?
What the church can learn from the expulsion of women from the tech industry
Written by: Rachael Starke
Betty Friedan's book The Feminine Mystique began a movement. By the late 1960s, the love affair American women had with post-war domestic bliss faded, and a nation of housewives was suffering from psychic ennui. The Feminine Mystique was Friedan's clarion call to women to unshackle themselves from the slavish yoke of home and family and chart a path toward a new definition of womanhood, one defined by the same kind of personal and professional agency afforded to men.
This galvanized a generation of women struggling to identify the root cause of their restlessness and catalyzed what today is labeled the second wave of feminism. This era is when American women began redrawing the lines of their spheres of influence to closer match those of men, demanding equal access to employment, political influence—and most infamously—sexual autonomy through access to birth control and legalized abortion.
The primarily male church authorities identified the unifying weak link in these chains of cultural upheaval to be women.
Cultural changes unfurled. Sexual mores and boundaries continued to dissolve, and institutions and industries moved at varying rates of speed to accept and then actively welcome women into their ranks.
All industries except two.
The Church's Automatic Reflex
What secular circles observed to be a new and untested social phenomenon the conservative Christian church considered to be an existential cultural threat. Loosening cultural mores around sexuality and marriage diluted the strength of the nuclear family and normalized sexual sin. When women's pursuit of equal vocational opportunity expanded to the pursuit of pastoral ministry, conservative evangelical leaders considered it to be theological overstepping—a first-order assault on the inerrancy and authority of the scriptures.
The primarily male church authorities identified the unifying weak link in these chains of cultural upheaval to be women, in particular Christian women, who were succumbing to the siren call of secular rebellion. They were, according to many pastors, going against biblical norms and endangering themselves, their homes, their churches, and the culture at large in the process. America was in a moment of cultural crisis that insisted on creeping into sanctuaries, and the church powers decided to act.
In 1988, a group of concerned evangelical leaders gathered in Danvers, Massachusetts, to craft a collective statement that called the church to hold the line on historically and, it argued, scripturally drawn lines around gender roles. As with previous statements on topics like scriptural inerrancy, this statement, christened the Danvers Statement, offered churches and denominations a point of unification and demarcation—a rallying cry toward a Christian vision of the world as God created it to be, and against the deleterious cultural corruption being wrought by feminism.
Among other things, it lamented "the widespread ambivalence regarding the values of motherhood, vocational homemaking, and the many ministries historically performed by women" and called women back to the embrace of these values as their core mission.
Suggested resources for revisiting gender
Dr. Sandra Glahn suggests a few places to start revisiting gender in the church.
Built on selected verses in Genesis 1–2 and Titus 2, the collective framework requires separated spheres of calling—with the sphere of women being the home and the raising of children, and the sphere of men being the workplace, as well as leadership in the home and the church. When men and women work in these bifurcated, "complementary" spheres, it was argued, all of society would flourish as God intended.
The Danvers model of what became known as complementarianism was wholeheartedly embraced by conservative American evangelicals in the decades that followed its publication, birthing an entire industry of conference, books and Bible studies on biblical womanhood.
Technologically Accidental Adoption of the Danvers Statement
The IT community may not have known about the Danvers statement, but they have effectively put it into place.
Today's stereotypical picture of a computer programmer is a T-shirt-and-skinny-jeans wearing white man, a stereotype with merit. According to the Bureau of Labor and Statistics, female representation in the computing industry has been on the decline since the 1990s. Notably, in the engineering (or building) sector of the industry, as well as in the selling sector, women comprise somewhere between 15% to 20% of the workforce.
This means that from our devices to the apps that run on them to the Internet pipes that connect them, the technological infrastructure that drives so much of our life has been predominantly designed and delivered to us by men.
Silicon Valley has been famously working to reverse this trend, albeit with limited success. But subscribers to the Danvers statement should agree that there is little to change because the technology industry represents most closely what the traditional complementarian vision of the workplace should be—one where men work side by side, with the fruits of their work serving the women and children to which they are accountable, and the communities in which they work thriving as they grow and multiply.
The reality is far different.
The Economic and Sociological Consequences
I began my career in the technology industry at Hewlett Packard in the mid-nineties, during the end the Lew Platt era, at the dawning of the Internet age. Platt had famously and tragically become a widowed father of young children while working to lead a growing company. This caused him to implement what then were revolutionary policies around job sharing and remote working. He promoted what became known as "work-life balance."
Two decades later, that world is gone . . .
Absent the balancing ethos of femininity—nurture, community, protection and care for the vulnerable—the hypermasculine ethos of the technology industry has built a world that is unstable, a place where humanity isn't flourishing but failing.
When work is the singular sphere of influence, we forge systems that forget relational responsibilities. For the average Silicon Valley worker today, forty-five to fifty hours of work per week are standard—for senior leaders, fifty- and sixty-hour work weeks are common, and expected. Remote work policies have been largely rescinded, sending more daily drivers back onto already crowded freeways. Our commute times, like our home prices, are among the highest in the nation, and the combination keep people away from their home and community twelve hours a day or more. They have little choice: "affordable" neighborhoods enforce a lifestyle cost of a ninety-minute to two-hour commutes each way.
We may be required to show up for office hours but work never really stops. Work demands keep parents online and unengaged on evenings and weekends. High speed networking, WiFi, and mobile devices are the drivers of always-on-the-clock work expectations. Communication methods like email and instant messaging and social media platforms keep us "productive" and "connected" to work but often at the cost of nourishing personal relationships between friends and spouses.
Children are noticeably bearing the psychological costs too. Silicon Valley teenagers struggling with anxiety, depression, and even suicide at such rates that they've triggered CDC investigations.
When work is the singular sphere of influence, we forge systems that forget relational responsibilities.
Our societies are struggling too. Far from a utopia of familial and community flourishing, a notable feature of Silicon Valley life is camper van communities—families living in campers along streets parallel to major Bay Area freeways. And they're growing. Their occupants are the cafeteria workers, janitors, and other facilities workers, and their children, whose hourly contracting paychecks can't keep up with the stratospheric cost of living, costs driven by the high salaries of the workers whose buildings they maintain. Unable to afford the gas or time required to commute from a more affordable area but needing to be close to their workplace and children's schools, camper communities are the only option some feel they have. While Silicon Valley is certainly building a culture of prosperity for some, it's simultaneously building a culture of poverty and near homelessness for many.
The ethos of the technology industry has become centered on work, but not on the people the work is supposed to benefit. Its focus is on the individual, but not on the family and community to whom the individual is connected. The value is measured for the employee, but not for whom the employees' work is supposed to benefit. And the ethos of the technology industry has not been confined to just Silicon Valley. It has spread like a digital virus into every industry, and every community, not just in America, but all over the globe.
Where did all the women go?
To assume malice and ill-will as if men set out to shape a world where human flourishing hovered under a low ceiling would be silly. God made both men and women to image him and work to cultivate the world he created. Both is exactly the point. The world of technology had a chance to have both men and women influence its creation.
The first computer programmer is widely recognized to be a woman named Ada Lovelace—a daughter of the famed romantic poet Lord Byron and a largely self-taught mathematical genius. So too was the first software engineer, Grace Hopper, and two of the leading figures in the inventions of the frameworks and protocols we know today as the Internet, Radia Perlman and Ann Hardy. In the early decades of the computing revolution, women were an integral part of the work at many levels, ironically titled "computers" for their work doing complex math calculations and managing room-sized punchcard systems.
In her fascinating book, Programmed Inequality, about the rise and decline of the British computing industry, Marie Hicks documents how gender-driven presumptions about the nature of computer work, and the role of women performing it, disrupted the egalitarian inclinations of the early computer industry. In the 1950s and '60s, the mechanics of computer work was so closely associated with women that the UK division of IBM used the term "girl hours" instead of "man hours" to measure its impact. Yet at the same time, expectations about a woman's calling to homemaking after marriage influenced company policies so that women were either pressured or actively made to resign when they married. Eligible men were reluctant to take the roles the women left and so the British computing industry declined.
Thanks to the space race, America's accelerated. As dramatically commemorated in the film Hidden Figures, American determination to beat the Russians in the race to the moon drove US technology companies to include women as mathematicians and computer workers at a far higher rate than other industries. But once again, in the decades that ensued, as the computer engineering field matured and grew in status and salary potential, perception of the value of technical work shifted to be viewed in masculine terms.
This trend accelerated with the rise of the computer nerd, exemplified by the meteoric success of computing pioneers like Steve Wozniak and Bill Gates. Suddenly, men whose mental acuity far outstripped their physical prowess of social skills had their own customized path to power, wealth, and relational success. Thus, in contrast to the slow but steady increases in female representation in other industries over the 1980s and '90s, the technology industry famously experienced the reverse.
Remodeling the God-given Vision of Flourishing
The cultural expulsion of women from the technology industry hasn't done Silicon Valley any favors. And the relegation of men and women to their designated areas hasn't done any for the church either. The companies that craft our platforms and devices, and the startups that chase them, have acknowledged the error of their ways and many are working to change their environments to include women at all levels. The church is primed to join them.
It's time to recognize the ways the church has replaced one half of humanity at odds with the other.
It's time to recognize the ways the church has placed one half of humanity at odds with the other. Unlike the world, we vehemently reject the argument that it's any better for women to work alone than it is for men. The Christian vision of human flourishing is not a vision of replacement but of remodeling—of tearing down infrastructures that have been built on an insufficient, incomplete foundation, and rebuilding them on a better, more integrated one.
We will have to admit that the segregated approach is antithetical to the collective vision of the cultural mandate, and to proclaim the interdependence of each gender on the other for its good is relevant in every realm. The time has come to agree with God that it was not and is not good for man to work alone—that the work needed to fulfill God's command to subdue the world requires men and women to work together.
The world as God made it requires shaping by men and women together. In that collective shaping work we will find ourselves shaped into wholeness—and into holiness—to the praise of his glory.
Rachael Starke
Rachael Starke has lived and worked in Silicon Valley for over eighteen years. She writes about the intersection of the gospel with technology, gender, food, and everything else. You can connect with her on Twitter, LinkedIn, or her blog.
Cover image by rawpixel.
We're not just playing bad guys.

redpajama_set_name: RedPajamaCommonCrawl


This service shows you information about your mobile phone and its capabilities by selecting your mobile phone manufacturer and its model.
The information is displayed in section "Mobile phone information" including a photo of your mobile phone (if available).
The information can be helpfull for example to answer the question: Which specific image, video, music, application or other file formats does my mobile phone supports?


Beth came to the UK for what was meant to be just a few months of travelling in 2012 and just never left.. since then she's spent her time stripping off for our magazines, plus numerous naughty videos & bits and bobs!
Length: 11 mins. 16 secs.
Length: 10 mins. 51 secs.
Length: 10 mins. 23 secs.
Beth Bennett looking so good.


text:
Local permit denied for Woodstock 50 at upstate NY track
Posted: Jul 9, 2019 / 03:29 PM CDT / Updated: Jul 9, 2019 / 10:02 PM CDT
FILE – This March 30, 2004 file photo, shows the grand stands at Vernon Downs in Verona, N.Y. Oneida County Sheriff Rob Maciol is among the local officials and residents expressing concerns about upstate New York's Vernon Downs harness track and casino hosting the 50th anniversary Woodstock festival Aug. 16-18. Vernon Downs could host up to 65,000 people, as opposed to the 150,000 planned for Watkins Glen, and it would not feature camping. (AP Photo/Kevin Rivoli, File)
VERNON, N.Y. (AP) — An upstate New York town has denied a permit to stage the Woodstock 50 festival at a local horse track, saying the application is too late and incomplete.
Organizers can appeal the permit denial to the town's planning board within five days, Vernon town attorney Vincent Rossi said Tuesday. Organizers did not immediately respond to requests for comment.
The denial came a day after opponents of the three-day festival packed a Vernon town board meeting Monday night, voicing concerns about safety and traffic in the rural area. Oneida County Sheriff Rob Maciol told the crowd it would be impossible to ensure public safety on such short notice.
The Vernon Downs racetrack and casino emerged as a possible site for the Aug. 16-18 anniversary festival after the original venue, Watkins Glen International, pulled out last month.
A festival at Vernon Downs could host up to 65,000 people, as opposed to the 150,000 planned for Watkins Glen, and it would not feature camping.
Before the permit denial was announced, Woodstock 50 president Greg Peck said Tuesday that the group is working with law enforcement and public safety officials to address concerns.
"We are confident that this careful planning and consideration of community concerns will result in a safe, world-class festival," Peck said in a prepared release.
The festival has faced other setbacks, including the losses of a financial partner and a production company.
State health officials said last month they had received a mass gathering permit application for the festival. But they said Tuesday that type of permit was not required since there will be no camping.
The festival still needs to ensure it meets public health requirements for public gatherings of more than 5,000 people and must obtain a permit.
New York health officials say they are evaluating information submitted by Woodstock 50 in collaboration with local officials.
Don't Miss / 4 mins ago


text:
Provided by: Mapics/Shutterstock.com
Europe Germany Hannover
Nearby guides
Hannover is a modern metropolis set among countless idyllic little towns and cute villages – with its programme of major events and open-air concerts, the baroque Royal Gardens of Herrenhausen and its top-notch artistic and cultural offerings, this city boasts a range of absorbing leisure activities that scarcely any other city can rival. Among the tourist highlights of the area, surrounding its federal state capital, are Lake Steinhude, the ridge of the Deister Hills or Marienburg Castle, with 66 reasons for your stay in.
Population: City: 530,800
Region: 1,150,000
Currency: 1 Euro = 100 Cents
Search Accommodation: Hotels »
Emergency numbers: European Emergency Number: 110
Fire Brigade / Rescue Coordination Centre: 112
Newspapers: Hannoversche Allgemeine Zeitung
Opening hours: Most shops in pedestrian areas and shopping centres are open Mon-Sat 10am-8pm, while supermarkets tend to be open Mon-Sat 8am-10pm. All shops are closed on Sundays, while museums are closed on Mondays, and restaurants and cafes establish individual opening hours.
Tourist information: Hannover Tourist Information
Ernst-August-Platz 8
info@hannover-tourismus.de
Opening hours: Mon-Fri 9am-6pm. Sat 10am-5pm
Section in Hannover
Do & See
Hannover boasts a selection of tourist attractions that – from unique sights and activities to relaxing gardens and square – attract numerous visitors throughout the whole year. During the day, you can sail on idyllic Lake Steinhude or ride through a picturesque heartland scenery on the back of a horse, and in the evening, big-city delights can be enjoyed at the opera, at a concert or aa variety show. While its museums cover subjects from history and art to literature and music, the architecture of both the city's centre and the outspread areas is a feast for the eyes that also happens – for both, in- and outside – at the State Opera and the State Theatre, which will try and succeed in alluding your taste.
Royal Gardens of Herrenhausen
The Herrenhausen Gardens are an internationally famous ensemble of garden arts and culture that dates back to the end of the 17th century and therefore ranks among the most important historical and best preserved baroque gardens in Europe. Ordered by Electress Sophie of the Palatinate, and inspired by the Sun King Luois XIV, this unique scenery attracts about half a million visitors a year with its wonderful shape and its amazing atmosphere.
Herrenhausen Palace Museum
After being used as a private residence of an heir of the throne, the Herrenhausen Palace Museum reopened in 2013 and, since then, invites visitors to entertainingly explore the facets of the wide-ranging palace and the garden world in Herrenhausen. Displaying ten manorial chambers with precious furniture, sculptures and china as well as oil paintings and portraits, this exhibition will give you an insight into the wealthy way of life back in the day.
Sprengel Museum Hannover
With its extensive selection and its manifold exhibition programme, the Sprengel Museum ranks among the most important museums for contemporary art of the 20th and 21th century. While featuring both temporary and permanent exhibition, this venue also organises events and activities for visitors of all age that allow you to deeply dunk into the world of art craft.
The Red Thread Tour
This 'do-it-yourself' tour will give you the chance to experience the city on your own, and all you have to do is to follow the red thread that is painted on the pavement. Weaving its way through the inner city, this route will pass 36 prime attractions and also gives a proper overview about the city centre's shape and structure. The tour starts and finishes at the Tourist Information, where you can also purchase informative brochures that describe the interesting building and monuments that you will meet along your way.
Although the architectural style implicates the Town Hall in some more majestic time, this monument was built only around 100 years ago, in 1913. Housing the city's government as well as 3D town models which can be visited in the opulent main hall, the unique curving lift to the town hall's dome is the main attraction here: at a 17-degree angle, it covers the 43 metres up to the gallery at the top of the dome which offers a marvellous view of the whole city.
Museum August Kestner
Renamed from Kestner-Museum to Museum August Kestner, in order to avoid confusion with the local art gallery Kestnergesellschaft, this museum was founded in 1889 and, in 1962, rebuilt in its present and highly interesting form. Centered on the collections of August Kestner himself as well as his nephew Hermann, the exhibitions contain four different categories of antiquities: Ancient Egypt, Classical Antiquity, Numismatics and Handicraft.
The historic timber-framed buildings of the Old Town are among the most special sights of the city centre, as strolling through picturesque narrow streets disclose inviting cafés and restaurants as well as exclusive boutiques and cute little shops. While walking around will always make for a great atmosphere, Germany's oldest flea market takes place at the banks of the Leine river every Saturday.
This museum features paintings and sculptures from the Middle Ages to the 20th century along with departments of archaeology, natural history and ethnology, and a vivarium with fish and reptiles. While the exhibitions themselves attract visitors of various interests, the housing monument is also well worth a glance.
Lake Maschsee
Lake Maschsee is one of the city's most popular destinations, and a maritime paradise for everyone who wants to go for a swim, for a ride or for a picnic. While offering a recreational area in the very heart of the city, sports happens both on the water and all around it, for yachting, canoeing and pedal-boating as well as for joggers, skaters and strollers.
Hannover Adventure Zoo
With its seven fantastic theme worlds, Hannover Adventure Zoo is one of the most popular tourist attractions in Northern Germany, and a perfect spot for observing more than 3,000 animals. As the Canadian landscape Yukon Bay, the Sambesi boat trip or the summer toboggan runs are just a few of its highlights, this sight will take up all your day, and all your memories.
Lake Steinhude
Lake Steinhude and its surrounding areas are ideal for water sports, cycling, horse riding, golf and picnics, and also quite interesting when it comes to architecture, art, music, and food culture: from quiet and peaceful spots in Mardorf, Rehburg-Loccum and Hagenburg to more lively bustling Steinhude, these areas are highly popular as to their natural beauty, and their activities and adventures in offer.
Hannover Museum of History
This museum is a goldmine for all those who are interested in the history of both the state and the city: while the permanent exhibition '750 years of Hannover' display the changes down the centuries, the 'History of the City' section traces back the development from a medieval town to a sizable city. The third department informs about the rural life between the 17th and the 20th century while temporary exhibitions feature different themes and numerous events.
Marienburg Castle
This reawakend Sleeping Beauty castle, built back in the day between 1858 and 1867, captivates with its fairy-tale architecture of battlements, towers and turrets, as well as with its almost entirely preserved furnishings. Embedded into the hills of the Calenberger Land, some 20 km south of Hannover, you can here join for a guided tour of the castle as well as enjoy concerts and events, or delicious food in the castle's own restaurant.
Wilhelm Busch – German Museum for Caricature and Drawings
This museum, named after the famous German poet and caricaturist Wilhelm Busch, features the world's largest collection of Busch's works as well as contemporary comic art, illustrations and drawings. Located in the Georgengarten, as part of the Herrenhausen Gardens, this museum invites you to experiencing art first, and relaxing in the sun afterwards.
Deister Hills
South of Hannover, nature and culture abound in and around the largely beech-covered slopes of the Deister reaching up to 405 metres above sea level, and it is filled with birdsong, rustling leaves, and delightful hiking tracks. The hillside paths offer many glimpses of the Calenberger Land stretching out into the distance below, so this is a paradise for hikers, walkers and cyclists.
Hannover Arts Association
Hannover Arts Association annually stages numerous national and international exhibitions reflecting important developments and schools of contemporary art. Founded in 1832 already, with the aim of spreading the sense for Fine Arts, it today has more than 1,200 members and an even bigger client base of regulars that come here for experiencing great art and interesting discussions.


text:
Coding interviews suck. Can we make them better?
by Owen Hughes in Developer on May 11, 2021, 4:36 AM PST
Software engineers have long faced excruciating interview processes that seem rigged to catch them out. So why are they still putting up with them?
Image: iStock/fongfong2
I'm not a developer, but coding interviews sound pretty grim.
You don't have to go far to find stories of candidates fighting their way through to the interview process, only to be flummoxed by a technical question they've never encountered before – or are even likely to see in the real world.
Must-read developer content
Money is still #1 motivation but developers want time and location flexibility too
Developer recruiting report finds that diversity goals often take a back seat to filling open roles quickly
Hiring kit: iOS developer (TechRepublic Premium)
In many ways, it seems like the interview process for programmers is inherently geared against them. Yes, recruiters need to make sure they're finding the right candidates. But on the other hand, why does the process offer so many strange hoops for would-be staff to jump through?
Max Howell is acutely familiar with the problem. After failing an interview at Google in 2015, Howell shared his experience in a tongue-in-cheek Tweet that quickly went viral.
Like many self-taught developers, Howell – who is the creator of popular macOS package manager, Homebrew – doesn't hold a computer science degree. Yet after a successful career history spanning London and the United States, he was contacted by a recruiter who wanted to put him forward for a position on Google's software team.
"I spoke to the recruiter on the phone and I said, 'Look, I don't have computer science. You are aware of that. Right?' So I went in for interview, thinking it's going to be on the things I know, which is software engineering and software architecture," he tells TechRepublic.
Yet upon entering the interview, it dawned on Howell that he was in for a tough ride. "I knew I was in for a whole day of not being able to do that well at anything," he says.
"I guess I shouldn't have believed the recruiter."
Howell's story is one that will be familiar to many developers who have entered a coding interview, only to find themselves faced with tasks or questions that seem unrelated to the role they'll actually be performing.
SEE: How to build a successful developer career (free PDF) (TechRepublic)
A typical coding interview will involve presenting a candidate with a technical problem, which they'll have to solve in real time and in front of the interviewing panel.
While these typically vary from one company to another, one common format is whiteboard coding, whereby a candidate might be asked to provide a solution to a problem involving a binary tree.
It was a binary tree task that drew the ire of Howell in his now-famous tweet. These are a fairly typical part of technical interviews, designed to assess a candidate's ability to solve a programming problem and show their thinking 'out loud'.
Still, most programmers say this isn't representative of anything they'd have to do in their day-to-day job, and say it's an outdated means of assessing candidates that doesn't reflect their skill level.
"These little challenges don't show the greater skill sets, which for me are the ability to construct large programs," says Howell. "It's not about small algorithms. It's about the design of larger systems, and that's way more important."
Howell also sees traditional coding interviews as being reflective of an industry that focuses too much on building at speed. "It's partly because the software industry moves so fast," he says.
"There isn't time to make things solid. But I think it's ironic that in interviews as well, there's a focus on, 'can you make a store algorithm faster?'…What should be more important in my mind is, can you make code that is robust, that doesn't crash, that doesn't have bugs, that doesn't fail? Nobody tests for those things."
The bias problem
Another issue is that technical interviews aren't standardized, meaning they can vary wildly from company to company – making it almost impossible for candidates to prepare fully. As a result, their fate rests largely in the hands of whoever is carrying out the interview on that day.
"The interviews typically are not well thought out and not structured," says Tigran Sloyan, co-founder and CEO of assessment platform CodeSignal.
"What typically happens is, you have a developer whose job it is to evaluate this person. Most developers don't have either practice or understanding of what it means to conduct a structured interview."
When there's so much variability, biases begin making their way into the process, says Sloyan. "Where there's lack of structure, there is more bias, and what ends up happening is if whoever you're interviewing looks like you and talks like you, you [the interviewer] start giving them more hints, you start leading them down the right paths."
The reverse is also true, Sloyan says. "If they don't look like you and talk like you, you might throw them a couple more curveballs, and then good luck making it through that process."
Of course, there are completely legitimate reasons for passing on a candidate. For example, if a company uses a specific programming language, tool or development framework the candidate isn't familiar with, they're unlikely to be taken on, no matter how technically competent they might be in other aspects of programming.
These are the programming languages most in-demand with companies hiring
Hiring developers? Here's how to keep them happy and productive
Future developers and data scientists, check out these courses on Python, JavaScript, Apache Spark and more
Hiring developers is going to be your next big problem
Though focusing too much on tooling also risks excluding promising candidates, Sloyan explains. "If you get too tool-specific, you're eliminating folks who could have easily picked up whatever tool you're working with.
"Let's say you're interviewing for a job as script engineer, and let's say you're using React in-house. If you interview me on React and I'm a very strong Angular engineer, I'll probably fail that interview, just because I haven't done much React.
"But if you interview me on JavaScript, I'll probably do really well, and most strong JavaScript engineers that are good at one of those frameworks can pick up the other with no problem."
Don't focus on the code
It certainly seems that, too often in interviews, the emphasis is on what candidates know, as opposed to how they approach problems and their potential to learn.
Frank Moley, senior technical manager at DataStax, says he banned live coding from his team's interview process because it didn't deliver any value on either side.
Instead, DataStax now runs timed projects, in which a candidate is set a task and then presents what they've put together to the interviewer.
"We still want to see what someone knows right now, but ideally we want to see how you think about things and how you explain your decisions," Moley tells TechRepublic.
"Alongside this, we concentrate on code review and how people respond to and give feedback. This kind of conversation is what you will spend more time on and where you can have the most potential to improve things, but it often gets ignored at the expense of just looking at code."
By getting this peer-reviewed approach into the interview process, both sides can benefit, Moley explains: "As an interviewer, I can see how you think and how open you are to change and learning about things. As an interviewee, you can see how the company and the team approach this, as this will be something that you will potentially be part of."
As to how companies might be able to re-think the interview process, there doesn't seem to be a clear-cut answer. Sloyan thinks the process needs to start at the resume level, with candidates submitting data-based reports based on standardized coding assessments, which hiring managers can use to determine an individual's skill level.
SEE: Hiring kit: Python developer (TechRepublic Premium)
"When you go to the interview, having this data-driven report about the candidate that you're working with versus the resume [alone] prevents the sort of first two-minutes bias that's there when you start off with a resume," he says.
Howell isn't sure there is a straightforward solution. "I honestly don't know if it's a problem that is solvable – to be able to accurately identify whether or not this person fits your job requirements or not," he says.
Howell's long since made his peace with Google. He received an influx of job offers following his now-famous tweet, which he says he sent in the heat of the moment and looks back on regretfully.
"I only had maybe 1,000 followers on Twitter, if that. Most of the time, no one cared what I said, so I just assumed it would be the same as usual," he says.
He has sympathy for those on the recruiting end, too. "I know interviewing is hard; to figure out if someone is a good fit and knows what they need to do or not in a few hours…You need metrics. An easy way to do that is to give them these little puzzles, little programming challenges that you put up on the board. You need ones that are objective, not subjective."
Though he does think this objectivity can be an impediment in some situations. "The problem with the skill that I think is more important, the skill that is vastly more important for modern software development – engineering and architecture – is it's subjective. It's very difficult to objectively score that," he says.
"The way I generally interview people nowadays and make choices is, I look at their GitHub. I see what they've been doing over time. I think that speaks to your ability to create, which is important. That's what you do as a software engineer. Even if you've just submitted some patches here and there, to be able to see how you work – that's valuable."
SEE: How to ace a technical interview: Advice for software developers looking for a new job (TechRepublic)
The problem is that, for the most part, coding interviews remain much the same. While platforms like CodinGame and HackerRank offer more accessible means of training and assessing candidates, technical interviews and real-time coding still play a central role in the hiring process. This means the emphasis is on coding itself, rather than problem-solving.
"Inertia is hard to change. Once the industry gets used to something as a way of going about selection, it just carries over from generation to generation," says Sloyan, who suggests that many software companies still base their interviews on methods used by Silicon Valley firms in the mid-2000s, which were highly theoretical.
"The industry still thinks in this old-school mindset," he adds.
For Google's part, the company no longer asks 'brainteasers' as part of its coding interviews. The company's hiring information suggests the company learned such questions were a poor indicator of how well someone would do on the job, and so scrapped them for good.
Moley suggests that companies spend more time thinking about both the interview process and the person they want to bring into the fold – specifically, whether they're looking for someone simply to plug a skills gap on the team, or someone they want to develop and grow over time.
"Answering that question can help you see how your process works with new hires, and where you can make improvements. Ideally, you should be looking out for people that you can mentor and help over time," says Moley.
"It's all too easy for interviewers to concentrate on specific skills and whether people have them right now. Instead, the focus should be on how the interviewee learns and applies new approaches to solving problems. If you don't look for that, you end up shackling developers to specific technologies that don't keep pace with things."
Developer Essentials Newsletter
From the hottest programming languages to the jobs with the highest salaries, get the developer news and tips you need to know. Weekly
Listen to TechRepublic's Dynamic Developer podcast (TechRepublic)
How to become a developer: A cheat sheet (TechRepublic)
Microservices: A cheat sheet (free PDF) (TechRepublic)
Hiring Kit: .Net developer (TechRepublic Premium)
Programming languages: Developers reveal most loved, most loathed, what pays best (ZDNet)
Programming languages and developer career resources (TechRepublic on Flipboard)
Comment and share: Coding interviews suck. Can we make them better?
Developer CXO Mobility Tech & Work Software Hardware Smart Persons Guides Developer on ZDNet


You, too, can be an angel. For a mere $2, you can buy a share in a Broadway production. It's a musical version of Antoine de St. Exupery's fairy tale, "The Little Prince."
Producer A. Joseph Tandet, the New York lawyer who is president of Little Prince Productions Ltd., says this is the first time as Broadway show has been financed through public offering of shares of stock, rather than the usual limited partnership arrangement.
"We're setting a precedent -- we're opening the theater up, to make it more than just a private club," Mr. Tandet says.
For the individual investor, buying shares has two advantages over becoming a limited partner: One can start smaller with shares, perhaps with only a couple of hundred dollars, and the shares can be sold. If reviews aren't good, you can get out.
For Tandet, selling shares has had the advantage of enabling him to raise $1. 25 million he needs if he's going to mount a "first-class Broadway production" of "The Little Prince" before his option runs out on Aug. 23, 1981.
This would seem rather basic. Not to worry, however.
Three-time Oscar winner John Barry, who has written scores for 60 films, including "Born Free," The Lion in Winter," and several James Bond movies, has been engaged as compose. And Mel Shapiro, whose 1971 Broadway musical production of "Two Gentlemen of Verona" won Tony, Obie, and Drama Desk awards, is to be director.
But there may be other risk factors that give the timid investor pause. The SEC spells them out carefully, 1 through 19. Look at No. 9, for example: "Possible Abandonment of Production.m The Company may abandon the mounting of the production at any time."
Tandet owns subsidiary rights to St Exupery's work, a popular story about a pilot who is forced down in the Sahara and then befriended by a magical little prince from a distant asteroid. He has signed these rights over to Little Prince Productions, and he says that should the Broadway production fail -- or never even open -- the exploitation of the subsidiary rights should generate income. "That's why "The Little Prince's lends itself to this kind of thing."
The SEC, however, is skeptical about that: "In order for the Company to continue operations, the exploitation and licensing of such rights would have to generate substantially more income to the Company than it has to Mr. Tandet to date. No assurance can be made that the Company will be able to generate such increased income."
The Commission warns that Little Prince Productions is a suitable investment only for those who can afford a complete wipeout.
Even a casual observer on the Broadway scene notes how full the theaters have been lately of revivals, revues, and one- person shows. Even a runaway hit may run away and not come back to leave the investors any profit. That's what happened to the musical "Sweeney Todd," which failed to make a hit for investors.
But those who want to invest in "The Little Prince" will have more than the customary backers' party to see the show. Instead of the usual out-of-town tryouts, it will have a month of previews on Broadway. "This way, you can be your own critic. If you see the show and decide you don't like it, you can sell your stock. Or if you do like it, you can go out and buy more," says Mr. Tandet.
And he expects that the value of the shares with fluctuate in response to critics' notices and word-of-mouth advertising. At present all the shares have been sold and the stock is trading, at about the original $2 offering price.
Until Jan. 1, the whole venture is in an SEC-imposed "quiet time," during which Tandet and his associates are not to discuss the production beyond what is stated in the offering circular. The idea is to give the stock time to find its own level, independent to the sort of rumors that could make the value of the shares fluctuate wildly.
But Mr. Tandet says, "everything is coming along very nicely."


text:
Home How To Editing
Editing in 8K: minimum system requirements
Heath McKnight
8K video is here today. With cameras from RED, Canon, Ikegami, Sony and others, and 8K TVs available now, it makes sense that many video content producers and filmmakers are taking a serious look at filming, editing and finishing in 8K. But the important question to be answered is, what kind of system is needed to handle this massive amount of data?
One important thing to note when editing and playing back 8K video —8192 × 4320. There is no need to have the timeline settings at full resolution when editing; utilizing a proxy workflow is a great option. Then you adjust the timeline to full resolution for final render and output.
Keeping the computer up-to-date with the latest operating system, software updates, firmware and drivers will also help improve things. New updates to Final Cut Pro X, Premiere Pro and VEGAS Pro not only improve the software but can also help the NLEs take better advantage of hardware like GPU and accelerator cards, which can manage 8K video better.
Minimum system requirements for each NLE vary, and having a system that is above those requirements is more optional, as we will discuss below.
There are a few different formats of 8K video, including REDCODE RAW—R3D—XAVC-S, ProRes RAW 5, etc., but there are different options when shooting that can increase file size. That will affect how the system handles it, such as higher frame rates, level of compression and HDR.
Major NLEs like FCP X, Premiere Pro and VEGAS Pro can handle many of those formats natively. But, it comes down to the hardware specs of the computer, and if you're editing in proxies or encoding to a different format.
When it comes to processing power and 8K video, in theory, the more the merrier. Editors can upgrade the newest Mac Pro to a 28-core, Intel Xeon W processor, and there are even 32-processor configurations in the aftermarket.
However, without a quality GPU, in many cases, it'll be all for naught. By offloading the high intensity of decoding and debayering 8K to the GPU, it is possible to need a smaller number of processor cores, such as 6 and up. Ideally, 12-core processors and above would be best, including the latest from Intel—Core i6, i7, i9, Xeon, etc.—and AMD—Ryzen Threadripper, etc.
The GPU, or Graphics Processing Unit, is going to handle a lot of the heavy workload when editing and playing back 8K video. A quality GPU can help offload that work from the CPU, helping to smooth out playback, especially when adding effects and filters to the footage.
A quality GPU can help offload that work from the CPU, helping to smooth out playback, especially when adding effects and filters to the footage.
The newest NVIDIA RTX series and AMD Radeon graphics cards are designed to take on heavy tasks, such as editing and playback of 8K video. By offloading much of the work from the CPU to the GPU, playback of full-resolution 8K video can be obtained without any dropped frames, or very little. The right combination of hardware and software is key, so check for drivers and firmware updates.
Accelerator Card
Hardware accelerator cards can help take on even more of a workload from the CPU and GPU. AJA's KONA 5 card and the new Apple Afterburner card, which is available for the new Mac Pro, can significantly help ease the burden of 8K editing and playback.
The Afterburner will take on as much of the work as needed to process 8K video, up to 3 streams of ProRes RAW 8K, and 12 streams of ProRes RAW 4K. Some editors have reported their CPU and GPU usage dropped considerably when the Afterburner card kicked in and took over processing the 8K footage.
Do you need one of these cards if the system has a great GPU? Well, time is money, and these cards could be worthy additions if you're delivering multiple projects on tight deadlines.
The right amount of computer memory is vital to editing any kind of video, and the old adage of more memory equals better performance still holds true. But with 8K video, technically speaking, a computer would need up to 1.5 TB of RAM to operate properly.
However, with the right combination of quality GPU and CPU—and potentially a hardware accelerator card, having a minimum of 16 GB of RAM will suffice, though 64 GB and higher will be better. Editors have been editing 8K video effortlessly in FCP X on the new 16-inch MacBook Pro with an 8-core Intel Core i9, 16 GB of RAM and an AMD Radeon Pro 5500M card with 4 GB of VRAM.
The bandwidth of 8K video, regardless of the format, is massive. In many cases, the resulting files range in size from 10 GB per minute to 20 GB per minute, but that's if frame rate is set to 24p. Move to 60p, HDR and less compression, and the file sizes will be pushing the envelope even further.
To be on the safe side, it's advisable to have a RAID system with 50 TB of available space. You read that right, 50 TB, which will be enough storage for 50 to 80 hours of 8K video, again depending on the frame rate, compression levels, etc. It's very easy to accumulate that much video when shooting a narrative project, documentary or even multiple short-format videos.
It all comes down to pricing and what you can afford that will handle 8K video. A quality Windows laptop could cost $2,700 and above, while a 16-inch MacBook Pro starts at $2,800, both of which should have a quality graphics card, like the NVIDIA RTX series or AMD Radeon.
For a desktop, it's within reason to pay $3,000 and higher, Mac or PC, for a system that can handle 8K video (a well-spec'd Mac Pro runs $15,000 without a monitor). Add $2000 for the Apple Afterburner hardware accelerator card (Mac Pro only), and $3000 for AJA's KONA 5 card.
8K computer monitors are starting to come to market, and they also cost a pretty penny. Dell's UltraSharp options are at 7680 x 4320 and start at $4,000 and up.
As you can see, editing and playback of 8K video is intensive, and the right system can handle it well. But it does come at a cost, as you can guess. Whether building a system or configuring and buying one from a company like Apple or Dell, expect to pay in the thousands.
Heath McKnight has been working in the film and video industry for over 20 years, having directed or produced many feature and short films. He has written about production for doddleNEWS, Videomaker, Macworld, TopTenREVIEWS, and many other sites. He trains and races triathlons as a hobby.
13 tips to speed up your Premiere Pro workflow
The art and science of algorithmic editing
Sergei Eisenstein: the man, the method, the montage
Adobe After Effects vs Premiere: a side by side comparison
How to use Adobe Color to perfect your design
How to effectively maintain continuity throughout your edit
From the earliest days of film, editors have faced the challenge of telling a story through the assemblage of various clips. Because one shot...
Your Step-by-Step Guide to Assembling a Video Editing Computer from Scratch
10 Keyboard Shortcuts to Speed Up Your DaVinci Resolve 14 Workflow
CUDA vs. OpenCL vs. OpenGL
The Basics of Titles and Graphics


text:
Twist & Shout Presents
SLEEPING WITH SIRENS - CHILL OUT SUMMER ACOUSTIC TOUR
The Rocket Summer, Kulick
Sun Aug 5
T.S. Eliot once famously claimed, "Only those who will risk going too far can possibly find out how far one can go."
Risk catalyzes Sleeping With Sirens on their fifth full-length and first for Warner Bros. Records, Gossip. Through taking quantum sonic leaps, the quintet—Kellin Quinn [vocals, keyboards], Jack Fowler [lead guitar], Nick Martin [rhythm guitar], Justin Hills [bass], and Gabe Barham [drums]—reach the artistic heights they began angling for nearly 10 years ago, while amplifying musical hallmarks such as soaring and soul-striking vocals, wildly catchy riffing, and intricate beats.
At its heart, the record reflects not only creative progression, but personal as well…
"The story of Gossip really begins in me transitioning from a boy to a man," admits Kellin. "I grew up basically my entire life playing music in this group. This record is me figuring out who I'm supposed to be as a musician, a husband, and a father. It's a hard, scary, rewarding, and daring process that gets chronicled in the lyrics. Musically, I feel like it's the first Sirens record that sounds specifically like us. We took chances, experimented, and continued to do what we do best: create art. It's something new. It has an authentic sound that we've been working towards all this time."
When it comes to alternative music, the boys have quietly pushed the envelope since the release of their 2010 debut, With Ears to See and Eyes to Hear. Along the way, Sleeping With Sirens' delicate one-two punch of towering melodies and tight musicality galvanized a diehard fan base dubbed "Strays" as they sold a staggering total of 1.5 million albums worldwide. 2013's Feel bowed at #3 on the Billboard Top 200 and boasted a standout collaboration with MGK entitled "Alone." Its 2015 follow-up Madness went Top 15 and earned unanimous acclaim with The New York Times praising how it, "blends tender and anguished in equal measure." Along the way, Alternative Press named them 2014 "Artist of the Year" at the Alternative Press Music Awards, awarded "Kick Me" the 2015 "Song of the Year", and touted them on its cover six times. They've graced the main stages of Warped Tour, Reading & Leeds, and more in addition to Kellin duetting with Pierce The Veil on the gold-certified "King For A Day." After a whirlwind 2016, the guys hunkered down in January 2017 and commenced work on what would become Gossip for the next six months.
The sessions earmarked a few firsts for Sleeping With Sirens. It's the first time that they recorded in multiple states, working everywhere from Los Angeles and Nashville to New Jersey. It's also the first time they collaborated with producer David Bendeth [Paramore, All Time Low]. Often tackling one vocal or guitar part for eight hours straight, the musicians meticulously tapped into what Kellin dubs an "Electric" energy.
"We finally captured the live experience with Bendeth," says the frontman. "We have the production, but there's a rawness that comes through. David is very old school. He really pushed us, and we pushed ourselves. We realized what we could do as artists, and we evolved."
That growth shines through the first single "Legends." Piano and drums resound as Kellin empoweringly chants, "We could be legends after all." It's a triumphant call-to-arms bolstered by swells of hulking hooks and guitar.
"It's about looking at your life and all of the obstacles in front of you and maintaining faith, belief, and love in yourself no matter what," he goes on. "If you want to be somebody great, you must have that confidence. We're in an age where everyone is surrounded by social media and constantly being judged. So strength comes from within. It's a reminder that the work and time will pay off in the end."
Over propulsive clapping on the title track "Gossip," Kellin presciently croons, "I got that new sound and when I come 'round I'll be your nightmare, I'm coming for you don't be scared." It sums up the album's mission statement, proudly addressing the evolution over snapping six-string distortion and the scorching falsetto that turned the conversation towards Sleeping With Sirens in the first place.
"The song discusses what people say about you," he explains. "It correlates to social media again and how humans generally act. Everybody always has an opinion, whether it's good or bad. It's such a different record for us. We took the leap. We stand behind it."
Acoustic guitar slips into an avalanche of glitchy electronics and vocal torrent on "One Man Army," while "Trouble" hinges on a danceable groove and swaggering admission, "I'm in trouble."
"'Trouble' is all about being blinded by what we think is important," continues Kellin. "We get in trouble because we lose sight of what really matters. It's about coming to terms with what matters in life. For me, it's the little things like the moments I get to sleep in my own bed, wake up, and see my daughter or when fans tell me I got them through hard times."
Gossip signals the start of another chapter for the band as well. In 2017, they inked their first major label deal with Warner Bros. Records as Kellin puts it, "They operate like an indie and automatically felt like family. It was like the stars aligned."
Ultimately, the risks yield Sleeping With Sirens' boldest, brightest, and best work to date.
"No matter what anyone says, I want to encourage listeners to take risks of their own," Kellin leaves off. "Our band took a chance. We're going to back it. That's all you can do as an artist. This is my diary. It's who I am."
The Rocket Summer
The Rocket Summer is the solo-project of Bryce Avary who is based in Dallas/Fort Worth, Texas.
Avary is a multi-instrumentalist, singer-songwriter, and producer. He writes and produces every song on his records, and plays every instrument on them.
Sleeping With Sirens - If You Can't Hang (Official Music Video)


text:
Food banks sound alarm on child hunger as Covid crisis drags on
One county in Massachusetts has experienced a projected 168 percent increase in child hunger since 2018.
Child hunger increases and more Massachusetts families rely on food banks
Dec. 27, 2020, 11:00 AM UTC
By Cynthia McFadden and Kenzi Abou-Sabe
WEYMOUTH, Mass. — On a recent Saturday, Shana Savage pulled her car into the line of vehicles snaking their way through the Old South Union Church parking lot. Savage gave birth to her second child this summer. With her husband out of work, they've been struggling to feed their two little boys — ages 6 months and 18 months — let alone themselves.
"Things are really, really tough right now," Savage said as volunteers from the Weymouth Food Pantry loaded a couple of boxes of food into her trunk. "We've been hungry a lot. Without this food bank, we'd probably not eat some nights."
The Savage family is among hundreds of thousands across the country struggling to put enough food on the table during the Covid-19 pandemic.
"We've been hungry a lot. Without this food bank, we'd probably not eat some nights," said Shana Savage.NBC News
More than 50 million people living in America, including 17 million children, are likely to experience food insecurity by the end of the year, according to Feeding America, the country's largest anti-hunger organization. That amounts to 1 in 6 Americans and 1 in 4 children — an increase of nearly 50 percent over last year.
Catherine D'Amato, president and CEO of the Greater Boston Food Bank, said that in her 40 years of working in food banks, the need has never been greater.
"I've been through plenty of disasters ... hurricanes and floods," D'Amato said, but "we haven't seen it so pervasive," with every city, every state, every country involved.
Before the pandemic, the Greater Boston Food Bank was providing about 550 food pantries with about a million pounds of food a week, D'Amato said. Now, deliveries have swelled to 2.5 million pounds of food shipped weekly from its massive and meticulously organized warehouse in South Boston.
One of the areas it serves is Norfolk County, where Weymouth is located. The county has a distinction no one would want: a projected 168 percent rise in child hunger since 2018, according to Feeding America, the biggest increase in the country.
While the pandemic didn't cause the nation's hunger problem, it has made things much worse.
Pam Denholm, the executive director of the Weymouth Food Pantry, said the pressure on pantries has greatly intensified since March.
"The demand has increased dramatically," Denholm said. "All across America, we have these middle-class communities that are being deeply affected."
Lines are filled with people coming for the first time, many of whom have lost their jobs or are working reduced hours and are ashamed to be asking for help, Denholm said.
"We have a large portion of our population who work in the service industry," Denholm said. "I'm talking restaurants, hairdressers, beauticians, nail salons — all these kinds of mom-and-pop stores and mom-and-pop shops and family-run shops that are the most greatly affected right now."
Not far away at the Medway Village Church Food Pantry, director Susan Dietrich said it's much the same.
"We have seen so many new families coming in," said Susan Dietrich.NBC News
"We have seen so many new families coming in, and I will tell you probably the most difficult thing I've seen throughout this pandemic are the families that come and bring their children," Dietrich said. "And to see a mom walk through the door with her three little kids, and they're looking around."
Dietrich paused, her eyes filling with tears.
"And mom's struggling," she added. "She's never done this before, either. So she's trying to keep it together for her children. And she's trying to make sure she can continue to put food on that table. That's something that really, really hits you."
It's something Yahaira Lopez knows about firsthand. She is raising her twin 11-year-old boys, both with unique learning needs, in Randolph.
Yahaira Lopez with her sons.Courtesy Yahaira Lopez
"I kind of always say my house is like a bag of Skittles, you know — it bursts," she said. "It's a fun, chaotic house."
Two years ago, Lopez co-founded a community food pantry after she noticed that many in her town needed help with groceries. Now that she is laid off from her crisis intervention job, she said, she sometimes needs food from the pantry for her own family.
She said dipping into the food supply at the pantry she helped create has been stressful, as she's worried about depriving others.
"I went to college, and you think: 'I went to college. I have this degree. I'm going to get this top-notch job,'" Lopez said. "And then realizing that in this pandemic, I'm no different than so many families throughout America."
Yahaira Lopez working at the pantry.Courtesy Yahaira Lopez
Lopez recounted her predicament with bursts of wry laughter, but she admitted that the pandemic has sometimes left her in tears.
"The issue with being a parent is that you literally don't have time to cry," Lopez said. "Because the minute you break down, your whole house is going to break down."
So Lopez does her crying where her children can't see her — in the bathroom.
But there are people trying to help.
Denholm, the Weymouth Food Pantry director, choked up thinking about one of them: an elderly woman, in her late 80s or early 90s, who lives on a limited income and has been depending on the food bank to supplement her groceries.
Early on in the pandemic, the woman called and said she had noticed that the grocery stores were empty and said "there has to be a family in Weymouth who doesn't have food," Denholm said.
Denholm broke down as she recalled what the elderly woman said next: "If you could please give my food to a family who needs it."
"I mean, who does that?" Denholm said. "Who doesn't have enough for themselves and phones and says: 'There's children who are hungry. Please give them my order'?"
Others have also stepped up to help. Contributions to food banks are soaring. After having seen a story on "NBC Nightly News" featuring the Greater Boston Food Bank, one viewer sent two tractor-trailer loads to help, containing 44 pallets of food.
Back in Medway, Dietrich, the pantry director, said she hopes the government will do more. The uncertain fate of the stimulus package Congress passed last week raises concerns that more families will go hungry.
"Food insecurity is absolutely a need that we need to address," she said. "Our government has put a Band-Aid on it."
Dietrich said that while programs like the government-run SNAP food assistance program help, volunteer efforts shouldn't be seen as the solution.
"This is not how this is supposed to be. And the stigma that people feel, that they are made to feel less than, that they are made to feel like they need to beg for food, is not OK," she said. "And we need to do better, all of us, working together."
Dietrich noted the creation of coronavirus vaccines.
"We are able to solve problems," she said. "We just found a vaccine for a novel coronavirus in less than one year because the entire world was working toward one purpose.
"Imagine what we could do if the world got together and said, 'We need to end food insecurity.' We need to look at all systems that we have in place for how we distribute and manage food and turn it on its head. Because it's not OK that people can go without food," she said.
The vaccines rolled out across the country last week, raising hope that the pandemic might soon end.
But D'Amato, of the Greater Boston Food Bank, said hunger is "a problem that cannot be cured by an inoculation."
"And that means we have to be serious about how we look at it and ensure that Americans are lifted towards financial independence," she said.
D'Amato said that for the many households only one unexpected bill away from insolvency, the pandemic has been a "tipping point."
But she said she believes that even though hunger is a difficult problem, it isn't insoluble. "It simply takes the political will and individual will to make this problem go away," she said.
Meanwhile, the trucks continue to roll out of their Boston warehouse loaded with food destined to fill thousands of empty bellies, many belonging to children too young to understand that Santa won't be able to fix everything that is broken this year.
Cynthia McFadden
Cynthia McFadden is the senior legal and investigative correspondent for NBC News.
Kenzi Abou-Sabe
Kenzi Abou-Sabe is a reporter and producer in the NBC News Investigative Unit.