The Project Objective remains to provide Core stem cell facilities, expertise and services for the UCR research community.
This year has been devoted to hiring staff to operate the Core, purchasing and setting up Core equipment, officially opening the Core for stem cell research, and teaching two stem cell culturing courses in the Core. On August 1, 2010, we hired an Academic Coordinator to oversee operation of the Core. He played a vital role in purchasing equipment and preparing for the opening of the Core. In addition, the Academic Coordinator has been responsible for day-to-day operations of the Core since it opened for general use, for training users, and for overseeing the Core staff. Between August 1, 2009 and the official opening on January 29, 2010, we evaluated and purchased most of the equipment for the lab, had equipment installed, and underwent training on the new equipment. The Core offers three cell culture suites, an equipment room, an analytical room, a microscopy room, and a cytogenetics workstation. In September 2009, the Core hosted the CIRM site visit team which toured the facility prior to its completion. In December, we hired a temporary staff member who also helped prepare the lab for opening in January. The UCR Stem Cell Core Facility opened officially on January 29th 2010, and a day long Grand Opening event was held. This was attended by over 200 people from UCR, other California campuses, high school teachers, and members of the community. The Grand Opening featured tours of the Core, information on accessing and using the Core, lectures, a poster session, and an image contest. We also launched a website for the Core which contains complete information on the facility, as well as the resources and services offered by the Core. The website can be found at www.stemcellcore.ucr.edu . The Core also set up a Sales and Services operation to enable users to buy most items needed for their research from the Core. This has been very successful and has facilitated use of the Core. Since the official opening, we have had extensive use of the Core equipment and culture facilities. We have provided lab space for culturing stem cells for faculty who can not culture in their home labs. Users can also purchase stem cell cultures from the Core for their research. We also offer state-of-the art equipment which has been extensively used by our stem cell labs at UCR. Some of our equipment is available only at the UCR Core (e.g., we have a Nikon BioStation CT that enables high content collection of time lapse video data of dynamic cellular processes). In April, we taught a one week hands-on laboratory course to Bridges students from California Polytechnical Institute (Pomona), and in June, we taught a two week human embryonic stem cell culturing course for credit (CMDB 211) to UCR graduate students. The Core hired two new temporary staff this July. These staff help with inventories, ordering, maintaining and passaging cultures, and free-up time for the Academic Coordinator to work with faculty and students on their projects. Data collected in the Core were presented in posters at the annual meetings of the International Society for Stem Cell Biology in June 2010, and a paper using Core equipment was published in May 2010. Our faculty have been using the Core to conduct research dealing with differentiation of bone cells, wound healing, differentiation of endoderm, scaling up procedures for growth of pluripotent stem cells, creating new lines of reporter cells, creating induced pluripotent stem cells, and evaluation of environmental toxicants using stem cells. To bring stem cell information to the local community, the Core has been engaged in numerous outreach activities. We have hosted many tours through the Core and provided information and help to others in the Riverside/San Bernardino area who are working with stem cells. We are currently preparing to offer workshops on the use of Core equipment to introduce new users to the capabilities of the Core and to facilitate use of the Core.
This year was spent hiring staff to assist in operation of the Core, purchasing Core equipment, helping researchers begin stem cell projects, hosting CIRM Bridges students, teaching stem cell culturing courses, and taking full advantage of the research facilities offered by the Core. Our Academic Coordinator oversees daily operation of the Core, trains new users, and oversees the Core staff. Two temporary staff supported the Core from June 2010 through the early part of 2011. These staff helped with inventories, ordering, maintaining and passaging cultures, and thereby freed-up time for the Academic Coordinator to work with faculty and students on their projects. A new staff member, highly experienced in cell culture, was hired in April 2011 and currently provides support to the Academic Coordinator and users of the Core. The Core offers three cell culture suites, an equipment room, an analytical room, a microscopy room, and a cytogenetics workstation. The Core also offers state-of-the art equipment which has been extensively used by our stem cell labs at UCR. Some of our equipment is available only at the UCR Core (e.g., the Nikon BioStation CT that enables high content collection of time lapse video data of dynamic cellular processes). The Core was very fortunate this year to receive about 1700 square feet of new space adjacent to the existing Core. This new space, the Stem Cell Core Annex I, will provide us with a conference room, storage space, a new culture room, microscope room, and additional office space for Core users. The addition of this new space will greatly enhance Core operations, enable growth, and allow us to expand Core activities in the future. The Core offered a stem cell culturing class during spring quarter which was taken by CIRM Bridges students and UCR graduate students. We accepted our first group of CIRM Bridges students from California State University at San Bernardino this spring. The Bridges students are currently doing internships in UCR host labs. The Core also supported a new course in live cell imaging and analysis (EE272) which used human embryonic stem cells in most of its lab projects. The Core continues to offer a Sales and Services operation to enable users to buy most items needed for their research from the Core at a reduced cost to the user. This has been very successful and has facilitated use of the Core. The Core facilities have received extensive use and have provided lab space for faculty who cannot culture cells in their home labs. Users have also purchased stem cell cultures from the Core for their research projects. Data collected in the Core were presented in posters at the numerous meetings this year, and our stem cell laboratories published 17 new papers that included data collected in the Core. Our faculty have been using the Core to conduct research dealing with osteogenesis, wound healing, primordial germ cell differentiation, testing scaffolds for tissue repair, differentiation of endoderm, differentiation of microglia, scaling up procedures for growth of pluripotent stem cells, and evaluation of environmental toxicants using stem cells. The Core has created 35 new lines of induced pluripotent stem cells (iPSC) from human fibroblast and 8 iPSC lines from COPD patients. The latter lines open the opportunity for Core users to study COPD in a dish. The Core has also created reporter lines of hESC and human iPSC which are available to stem cell researchers. To bring stem cell information to the local community, the Core has been engaged in numerous outreach activities. We have hosted tours through the Core, given lectures at local universities, and provided information and help to others in the Riverside/San Bernardino/Palm Springs area who are working with stem cells. The Core maintains a website which contains complete information on the facility, as well as the resources and services offered by the Core (www.stemcellcore.ucr.edu).
This year the Core provided facilities and training to an increasing number of stem cell research labs. We have added four new stem cell labs to our Stem Cell Center at UCR, and each lab has undergone training in the Core and had their lab members perform work in the Core. The new labs all have an interest in developing scaffolding for growing stem cells in 3-dimensions and have made innovative progress in this area. We have also offered hands-on training courses to 12 CIRM Bridges students from two universities and to five UCR graduate students. Five new CIRM Bridges students began their internships on our campus this year, and two CIRM interns from last year have continued on to complete a full year of training at UCR. The latter two students have received Master's degrees and are now entering PhD programs. We have continued to develop new reporter lines in the Core and to make these available to other users and we have further characterized our RIV9 induced pluripotent stem cell line. This year we added a significant amount of space to the Core, almost doubling it in size. This space now accommodates several pieces of equipment, including the flow cytometer, microplate reader, Luminex, and karyotyping workstation. The new space also provides office space for students and an upgraded conference room. Users of the Core have presented their work at numerous conferences and published their data in a wide range of journals. UCR was instrumental in forming the Inland Empire Stem Cell Consortium to bring together stem cell researchers in our geographic area. We continue to maintain an up-to-date a website for the Core which contains complete information on the facility, as well as the resources and services offered by the Core. The website can be found at www.stemcellcore.ucr.edu. The Core also operates Sales and Service to enable users to buy most items needed for their research directly from the Core. This has been very successful and has facilitated stem cell work on our campus. Our faculty have been using the Core to conduct research dealing with differentiation of bone cells, wound healing, differentiation of endoderm, scaling up procedures for growth of pluripotent stem cells, creating new lines of reporter cells, creating induced pluripotent stem cells, development of 3-dimentsional scaffolds, angiogenesis, and evaluation of environmental toxicants using stem cells. To bring stem cell information to the local community, the Core has been engaged in outreach activities. We have hosted many tours through the Core and provided information and help to others in the Riverside/San Bernardino area who are working with stem cells.
This year the UCR Stem Cell Core hired new staff to assist in operation of the Core, revamped the organization of the Core to improve it operation, provided space and cells for stem cell research, helped researchers develop their stem cell projects, hosted CIRM Bridges students, hired new staff, and took full advantage of the research facilities offered by the CIRM-funded Core. Our new Academic Coordinator oversees daily operation of the Core, trains new users, and oversees the Core staff. She has been involved in implementing changes to facilitate operation, interface with the Office of Research, develop new training opportunities in the Core, and upgrade Core equipment. A permanent staff position was filled in the fall, and this person helps with daily operation of the Core, provides cells to Core users, maintains inventories and places orders. A temporary position was filled to help with reorganization of Core Sales and Services, upgrade the website, and help with equipment maintenance and repair. The Core offers three cell culture suites, an equipment room, an analytical room, a microscopy room, and a cytogenetics workstation. The Core also offers state-of-the art equipment which has been extensively used by our stem cell labs at UCR. Some of our equipment (e.g., the Nikon BioStation CT) has also been used by stem cell labs at Loma Linda University and our Core provides storage for cells generated by a local Biotech company. Last year, the Core was fortunate to receive about 1700 square feet of new space adjacent to the existing Core. This new space, the Stem Cell Core Annex I, provides us with a conference room (which was upgraded this year), storage space, a microscope room, and additional office space for Core users. The addition of this new space has greatly enhanced Core operations, enabled growth, and allowed us to expand Core activities. This year we moved much of our expendable supply inventory into the Annex space and thereby freed-up valuable floor space in the main Core making operations in the culture area easier to perform and creating a better sterile environment. The Core is preparing to offer a stem cell culturing class this September to UCR students. We accepted six new CIRM Bridges students from California State University at San Bernardino this spring, and they do part of their work in the Core. The Core also supported a course in live cell imaging and analysis (EE272) which used human embryonic stem cells in all of its lab projects. The Core continues to offer a Sales and Services operation to enable users to buy most items needed for their research from the Core at a reduced cost to the user. The inventory system for Sales and Services was upgraded this year, and the method for distribution and storage of our inventory was improved. This has greatly facilitated use of the Core. The Core facilities have received extensive use and have provided lab space for faculty who cannot culture cells in their home labs. Four labs from the College of Engineering work in the Core daily and have assigned spaces. Users can also request the Core grow cells for their research projects to help move projects along efficiently. Data collected in the Core were presented in platform and poster sessions at the numerous meetings this year, and five of these presentations won first place awards. The laboratories using the Core published 22 papers this year that incorporated stem cell work done in the Core. Three of our stem cell graduate students who use the Core won NSF pre-doctoral fellowships and one graduate student received an NIH pre-doctoral fellowship to support her work with stem cells. Our faculty have been using the Core to conduct research dealing with osteogenesis, wound healing, primordial germ cell differentiation, testing scaffolds for tissue repair, differentiation of endoderm, scaling up procedures for growth of pluripotent stem cells, and evaluation of environmental toxicants using stem cells. The Core has created 35 new lines of induced pluripotent stem cells (iPSC) from human fibroblasts. The Core has also created reporter lines of hESC and human iPSC which are available to stem cell researchers. To bring stem cell information to the local community, the Core has been engaged in outreach activities. We have hosted tours through the Core, given lectures at local universities, and provided information and help to others in the Riverside/San Bernardino/Palm Springs area who are working with stem cells. The Core maintains a website which contains complete information on the facility, as well as the resources and services offered by the Core (www.stemcellcore.ucr.edu).
During 2013-14, the UCR Stem Cell Core revamped the organization of the Core to improve it operation, registered all Core users, provided space and cells for stem cell research, helped researchers develop their stem cell projects, upgraded and serviced equipment, hosted CIRM Bridges students, offered a hands-on human embryonic stem cell training class twice, trained new staff, evaluated cells lines derived in the Core, beta tested new culture medium, laid the ground work for isolating new lines of human embryonic stem cells, presented at scientific meetings, engaged in outreach activities, and took full advantage of the research facilities offered by the CIRM-funded Core. Our Academic Coordinator oversaw daily operation of the Core, created standard operating protocols for all major Core equipment, trained new users, offered monthly training on equipment, organized a vendor show, and oversaw the Core staff. She interfaced with the Office of Research to complete the paperwork necessary for deriving new human embryonic stem cell lines. A permanent staff technician helped with daily operation of the Core, provided cells to Core users, maintained inventories, handled operations and billing for Sales & Services, trained users on equipment in the Core, and placed orders for the Core. A part-time administrative assistant helped with reorganization of Core Sales and Services, upgrading the website, upgrading computers and troubleshooting computers problems, and helped with equipment maintenance and repair. The Core offers three cell culture suites, an equipment room, an analytical room, a microscopy room, and a cytogenetics workstation. The Core also offers state-of-the art equipment which has been extensively used by our stem cell labs at UCR. Some of our equipment (e.g., the Nikon BioStation CT) has also been used by stem cell labs at Loma Linda University, and our Core provides storage for cells generated by a local Biotech company. This year, the Stem Cell Core Annex, which is new space acquired several years ago, was upgraded with new flooring. Workstations in the Annex were also upgraded with new image processing software. The Core has organized a two-day hands-on training session for video analysis software that will take place this August. The Core also taught a hands-on stem cell culturing class in September to UCR students and again offered this class to both CIRM Bridges students and UCR in the spring quarter (2014). We accepted three new CIRM Bridges students from California State University at San Bernardino this spring, and they do part of their work in the Core. The Core continues to offer a Sales and Services operation to enable users to buy most items needed for their research from the Core at a reduced cost to the user. The inventory system for Sales and Services was upgraded, and the method for distribution and storage of our inventory was improved. This has greatly facilitated use of the Core. The Core facilities have received extensive use and have provided lab space for faculty who cannot culture cells in their home labs. Four labs from the College of Engineering work in the Core daily and have assigned spaces. Users can also request the Core grow cells for their research projects to help move projects along efficiently. Data collected in the Core were presented in platform and poster sessions at the numerous meetings this year, and a number of these presentations won awards. The laboratories using the Core published 22 papers in a broad spectrum of engineering and life science journals. Two of our stem cell graduate students who use the Core won pre-doctoral fellowships from the NSF and Tobacco-Related Disease Program of California. Our faculty have been using the Core to conduct research dealing with osteogenesis, wound healing, testing scaffolds for tissue repair, differentiation of endoderm, scaling up procedures for growth of pluripotent stem cells, modulating differentiation will tunable scaffolds, identifying stem cell factors that promote motility, and evaluation of environmental toxicants using stem cells. This year the Core evaluated the pluripotency and differentiation capability of the induced pluripotent stem cells that we derived previously. The Core website has been fully upgraded and contains complete information on the facility, as well as the resources and services offered by the Core (www.stemcellcore.ucr.edu). The Core introduced karyotyping into its repertoire of services and now performs karyotyping and g-banding in house. To bring stem cell information to the local community, the Core has been engaged in outreach activities. We have hosted tours through the Core, given lectures at local universities, provided information and help to others in the Riverside/San Bernardino/Palm Springs area who are working with stem cells and participated in events sponsored by patient advocate groups.
During 2014-15, the UCR Stem Cell Core's goal was to provide a Core Facility where users could come and efficiently complete their projects, obtain new data and do work that would lead to significant new publications and grant funding. We also provided hands-on training both through private instruction and through our graduate course in human embryonic stem cell culture (CMDB 211). All Core users went through registration and bootcamp training. The Core provided space and cells for stem cell research, helped researchers develop their stem cell projects, upgraded and serviced equipment, hosted CIRM Bridges students, offered a hands-on human embryonic stem cell training class, trained new staff, evaluated cells lines derived in the Core, continued beta tested new culture medium and wrote a white paper on test results, laid the ground work for isolating new lines of human embryonic stem cells, presented at scientific meetings, engaged in outreach activities, and took full advantage of the research facilities offered by the CIRM-funded Core. Our Academic Coordinator oversaw daily operation of the Core, provided standard operating protocols for all major Core equipment, trained new users, offered monthly training on equipment, and oversaw the Core staff. She interfaced with the Office of Research to complete the paperwork necessary for deriving new human embryonic stem cell lines. A permanent staff technician helped with daily operation of the Core, provided cells to Core users, maintained inventories, handled operations and billing for Sales & Services, trained users on equipment in the Core, and placed orders for the Core. A part-time administrative assistant helped with reorganization of Core Sales and Services, upgrading the website, upgrading computers and troubleshooting computers problems, and helped with equipment maintenance and repair. The Core offers three cell culture suites, an equipment room, an analytical room, a microscopy room, and a cytogenetics workstation. The Core also offers state-of-the art equipment which has been extensively used by our stem cell labs at UCR. Some of our equipment (e.g., the Nikon BioStation CT) has also been used by stem cell labs at Loma Linda University, and our Core provides storage for cells generated by a local Biotech company. Workstations in the Stem Cell Core Annex were also upgraded with new image processing software. The Core also taught a hands-on stem cell culturing class in the spring quarter (2015). We accepted five new CIRM Bridges students from California State University at San Bernardino this spring and one from California State University at the Channel Islands. The interns do part of their work in the Core. The Core continues to offer a Sales and Services operation to enable users to buy most items needed for their research from the Core at a reduced cost to the user. The inventory system for Sales and Services was upgraded, and the method for distribution and storage of our inventory was improved. The Core facilities received extensive use and provided lab space for faculty who cannot culture cells in their home labs. Four labs from the College of Engineering and one lab from the School of Medicine have assigned spaces in the Core. Users can also request the Core grow cells for their research projects to help move projects along efficiently. Data collected in the Core were presented in platform and poster sessions at the numerous meetings this year, and a number of these presentations won awards. The laboratories using the Core published 22 papers in a broad spectrum of engineering and life science journals. Our faculty have been using the Core to conduct research dealing with osteogenesis, wound healing, testing scaffolds for tissue repair, differentiation of endoderm, scaling up procedures for growth of pluripotent stem cells, modulating differentiation will tunable scaffolds, identifying stem cell factors that promote motility, and evaluation of environmental toxicants using stem cells. This year the Core evaluated the pluripotency and differentiation capability of the iPSC that we derived previously. The Core website has been fully upgraded and contains complete information on the facility, as well as the resources and services offered by the Core (www.stemcellcore.ucr.edu). We have hosted tours through the Core, given lectures at local universities, provided information and help to others in the Riverside/San Bernardino/Palm Springs area who are working with stem cells and participated in events sponsored by patient advocate groups.
During 2015-16, the UCR Stem Cell Core continued to provide culture space, instrumentation, and services to stem cell laboratories at UCR and in the surrounding area. We also provided hands-on training both through private instruction and through our graduate course in human embryonic stem cell culture (CMDB 211). All Core users went through registration and bootcamp training. The Core provided space and cells for stem cell research, helped researchers develop their stem cell projects, upgraded and serviced equipment, hosted CIRM Bridges students, offered a hands-on human embryonic stem cell training class, trained new staff, evaluated cells lines derived in the Core, laid the ground work for isolating new lines of human embryonic stem cells, presented at scientific meetings, engaged in outreach activities, and took full advantage of the research facilities offered by the CIRM-funded Core. Our Core Manager oversaw daily operation of the Core, provided standard operating protocols for all major Core equipment, trained new users, offered monthly training on equipment, and oversaw the Core staff. She interfaced with Core users on a daily basis to facilitate operation of the Core and to troubleshoot problems as they arose. A part-time administrative assistant helped with daily operation of the Core, maintained inventories, handled operations and billing for Sales & Services, placed orders for the Core, upgraded the website, upgraded computers, and helped with equipment maintenance and repair. The Core offers three cell culture suites, an equipment room, an analytical room, a microscopy room, and a cytogenetics workstation. The Core also offers state-of-the art equipment which has been extensively used by our stem cell labs at UCR. Some of our equipment (e.g., the Nikon BioStation CT) has also been used by stem cell labs at Loma Linda University, and our Core provides storage for cells generated by a local Biotech company. This year, we acquired a new flow cytometer which is much faster and user friendly than our previous model. Workstations in the Stem Cell Core Annex were also upgraded with new image processing software. The Core also taught a hands-on stem cell culturing class in the spring quarter (2016). We accepted two new CIRM Bridges students from California State University at San Bernardino this spring and CIRM Bridges intern from California State University at the Channel Islands entered our Environmental Toxicology Graduate Programs this spring quarter. The Core continues to offer Sales and Services to enable users to buy most items needed for their research from the Core at a reduced cost to the user. The inventory system for Sales and Services was upgraded, and the method for distribution and storage of our inventory was improved. The Core facilities received extensive use and provided lab space for faculty who cannot culture cells in their home labs. Four labs from the College of Engineering and one lab from the School of Medicine have assigned spaces in the Core. Users can also request the Core grow cells for their research projects to help move projects along efficiently. Data collected in the Core were presented in platform and poster sessions at the numerous meetings this year, and a number of these presentations won awards. The laboratories using the Core published 30 papers this year in a broad spectrum of engineering and life science journals. Our faculty have been using the Core to conduct research dealing with osteogenesis, wound healing, testing scaffolds for tissue repair, differentiation of endoderm, scaling up procedures for growth of pluripotent stem cells, modulating differentiation will tunable scaffolds, identifying stem cell factors that promote motility, and evaluation of environmental toxicants using stem cells. This year the Core evaluated the pluripotency and differentiation capability of the iPSC that we derived previously. The Core website has been fully upgraded and contains complete information on the facility, as well as the resources and services offered by the Core (www.stemcellcore.ucr.edu). We have hosted tours through the Core, given lectures at local universities, provided information and help to others in the Riverside/San Bernardino/Palm Springs area who are working with stem cells and participated in events sponsored by patient advocate groups.


text:
package org.apache.storm.scheduler.resource;

import org.apache.storm.Config;
import org.apache.storm.generated.Bolt;
import org.apache.storm.generated.SpoutSpec;
import org.apache.storm.generated.StormTopology;
import org.apache.storm.scheduler.Cluster;
import org.apache.storm.scheduler.ExecutorDetails;
import org.apache.storm.scheduler.Topologies;
import org.apache.storm.scheduler.TopologyDetails;
import org.apache.storm.scheduler.WorkerSlot;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;

public class ResourceUtils {
    private static final Logger LOG = LoggerFactory.getLogger(ResourceUtils.class);

    public static Map<String, Map<String, Double>> getBoltsResources(StormTopology topology, Map topologyConf) {
        Map<String, Map<String, Double>> boltResources = new HashMap<String, Map<String, Double>>();
        if (topology.get_bolts() != null) {
            for (Map.Entry<String, Bolt> bolt : topology.get_bolts().entrySet()) {
                Map<String, Double> topology_resources = parseResources(bolt.getValue().get_common().get_json_conf());
                checkIntialization(topology_resources, bolt.getValue().toString(), topologyConf);
                boltResources.put(bolt.getKey(), topology_resources);
            }
        }
        return boltResources;
    }

    public static Map<String, Map<String, Double>> getSpoutsResources(StormTopology topology, Map topologyConf) {
        Map<String, Map<String, Double>> spoutResources = new HashMap<String, Map<String, Double>>();
        if (topology.get_spouts() != null) {
            for (Map.Entry<String, SpoutSpec> spout : topology.get_spouts().entrySet()) {
                Map<String, Double> topology_resources = parseResources(spout.getValue().get_common().get_json_conf());
                checkIntialization(topology_resources, spout.getValue().toString(), topologyConf);
                spoutResources.put(spout.getKey(), topology_resources);
            }
        }
        return spoutResources;
    }

    public static void checkIntialization(Map<String, Double> topology_resources, String Com, Map topologyConf) {
        checkInitMem(topology_resources, Com, topologyConf);
        checkInitCPU(topology_resources, Com, topologyConf);
    }

    public static void checkInitMem(Map<String, Double> topology_resources, String Com, Map topologyConf) {
        if (!topology_resources.containsKey(Config.TOPOLOGY_COMPONENT_RESOURCES_ONHEAP_MEMORY_MB)) {
            topology_resources.put(Config.TOPOLOGY_COMPONENT_RESOURCES_ONHEAP_MEMORY_MB,
                    org.apache.storm.utils.Utils.getDouble(topologyConf.get(Config.TOPOLOGY_COMPONENT_RESOURCES_ONHEAP_MEMORY_MB), null));
            debugMessage("ONHEAP", Com, topologyConf);
        }
        if (!topology_resources.containsKey(Config.TOPOLOGY_COMPONENT_RESOURCES_OFFHEAP_MEMORY_MB)) {
            topology_resources.put(Config.TOPOLOGY_COMPONENT_RESOURCES_OFFHEAP_MEMORY_MB,
                    org.apache.storm.utils.Utils.getDouble(topologyConf.get(Config.TOPOLOGY_COMPONENT_RESOURCES_OFFHEAP_MEMORY_MB), null));
            debugMessage("OFFHEAP", Com, topologyConf);
        }
    }

    public static void checkInitCPU(Map<String, Double> topology_resources, String Com, Map topologyConf) {
        if (!topology_resources.containsKey(Config.TOPOLOGY_COMPONENT_CPU_PCORE_PERCENT)) {
            topology_resources.put(Config.TOPOLOGY_COMPONENT_CPU_PCORE_PERCENT,
                    org.apache.storm.utils.Utils.getDouble(topologyConf.get(Config.TOPOLOGY_COMPONENT_CPU_PCORE_PERCENT), null));
            debugMessage("CPU", Com, topologyConf);
        }
    }

    public static Map<String, Double> parseResources(String input) {
        Map<String, Double> topology_resources = new HashMap<String, Double>();
        JSONParser parser = new JSONParser();
        LOG.debug("Input to parseResources {}", input);
        try {
            if (input != null) {
                Object obj = parser.parse(input);
                JSONObject jsonObject = (JSONObject) obj;
                if (jsonObject.containsKey(Config.TOPOLOGY_COMPONENT_RESOURCES_ONHEAP_MEMORY_MB)) {
                    Double topoMemOnHeap = org.apache.storm.utils.Utils
                            .getDouble(jsonObject.get(Config.TOPOLOGY_COMPONENT_RESOURCES_ONHEAP_MEMORY_MB), null);
                    topology_resources.put(Config.TOPOLOGY_COMPONENT_RESOURCES_ONHEAP_MEMORY_MB, topoMemOnHeap);
                }
                if (jsonObject.containsKey(Config.TOPOLOGY_COMPONENT_RESOURCES_OFFHEAP_MEMORY_MB)) {
                    Double topoMemOffHeap = org.apache.storm.utils.Utils
                            .getDouble(jsonObject.get(Config.TOPOLOGY_COMPONENT_RESOURCES_OFFHEAP_MEMORY_MB), null);
                    topology_resources.put(Config.TOPOLOGY_COMPONENT_RESOURCES_OFFHEAP_MEMORY_MB, topoMemOffHeap);
                }
                if (jsonObject.containsKey(Config.TOPOLOGY_COMPONENT_CPU_PCORE_PERCENT)) {
                    Double topoCPU = org.apache.storm.utils.Utils.getDouble(jsonObject.get(Config.TOPOLOGY_COMPONENT_CPU_PCORE_PERCENT), null);
                    topology_resources.put(Config.TOPOLOGY_COMPONENT_CPU_PCORE_PERCENT, topoCPU);
                }
                LOG.debug("Topology Resources {}", topology_resources);
            }
        } catch (ParseException e) {
            LOG.error("Failed to parse component resources is:" + e.toString(), e);
            return null;
        }
        return topology_resources;
    }

    private static void debugMessage(String memoryType, String Com, Map topologyConf) {
        if (memoryType.equals("ONHEAP")) {
            LOG.debug(
                    "Unable to extract resource requirement for Component {} \n Resource : Memory Type : On Heap set to default {}",
                    Com, topologyConf.get(Config.TOPOLOGY_COMPONENT_RESOURCES_ONHEAP_MEMORY_MB));
        } else if (memoryType.equals("OFFHEAP")) {
            LOG.debug(
                    "Unable to extract resource requirement for Component {} \n Resource : Memory Type : Off Heap set to default {}",
                    Com, topologyConf.get(Config.TOPOLOGY_COMPONENT_RESOURCES_OFFHEAP_MEMORY_MB));
        } else {
            LOG.debug(
                    "Unable to extract resource requirement for Component {} \n Resource : CPU Pcore Percent set to default {}",
                    Com, topologyConf.get(Config.TOPOLOGY_COMPONENT_CPU_PCORE_PERCENT));
        }
    }

    /**
     * print scheduling for debug purposes
     * @param cluster
     * @param topologies
     */
    public static String printScheduling(Cluster cluster, Topologies topologies) {
        StringBuilder str = new StringBuilder();
        Map<String, Map<String, Map<WorkerSlot, Collection<ExecutorDetails>>>> schedulingMap = new HashMap<String, Map<String, Map<WorkerSlot, Collection<ExecutorDetails>>>>();
        for (TopologyDetails topo : topologies.getTopologies()) {
            if (cluster.getAssignmentById(topo.getId()) != null) {
                for (Map.Entry<ExecutorDetails, WorkerSlot> entry : cluster.getAssignmentById(topo.getId()).getExecutorToSlot().entrySet()) {
                    WorkerSlot slot = entry.getValue();
                    String nodeId = slot.getNodeId();
                    ExecutorDetails exec = entry.getKey();
                    if (!schedulingMap.containsKey(nodeId)) {
                        schedulingMap.put(nodeId, new HashMap<String, Map<WorkerSlot, Collection<ExecutorDetails>>>());
                    }
                    if (schedulingMap.get(nodeId).containsKey(topo.getId()) == false) {
                        schedulingMap.get(nodeId).put(topo.getId(), new HashMap<WorkerSlot, Collection<ExecutorDetails>>());
                    }
                    if (schedulingMap.get(nodeId).get(topo.getId()).containsKey(slot) == false) {
                        schedulingMap.get(nodeId).get(topo.getId()).put(slot, new LinkedList<ExecutorDetails>());
                    }
                    schedulingMap.get(nodeId).get(topo.getId()).get(slot).add(exec);
                }
            }
        }

        for (Map.Entry<String, Map<String, Map<WorkerSlot, Collection<ExecutorDetails>>>> entry : schedulingMap.entrySet()) {
            if (cluster.getSupervisorById(entry.getKey()) != null) {
                str.append("/** Node: " + cluster.getSupervisorById(entry.getKey()).getHost() + "-" + entry.getKey() + " **/\n");
            } else {
                str.append("/** Node: Unknown may be dead -" + entry.getKey() + " **/\n");
            }
            for (Map.Entry<String, Map<WorkerSlot, Collection<ExecutorDetails>>> topo_sched : schedulingMap.get(entry.getKey()).entrySet()) {
                str.append("\t-->Topology: " + topo_sched.getKey() + "\n");
                for (Map.Entry<WorkerSlot, Collection<ExecutorDetails>> ws : topo_sched.getValue().entrySet()) {
                    str.append("\t\t->Slot [" + ws.getKey().getPort() + "] -> " + ws.getValue() + "\n");
                }
            }
        }
        return str.toString();
    }
}

redpajama_set_name: RedPajamaGithub


Bedazzle your favorite crafts with buttons! Crest Buttons feature round metal shapes with shank backs, embossed crest designs on their fronts, and slightly aged gray finishes. Sew them onto jackets, vests, bags, hats, and t-shirts!


Each week I write a new article to support members of our three wonderful groups on Facebook, The Artists Exchange, The Artists Directory, and The Artist Hangout. This week we take what has become my annual deep dive into using social media to effectively get your art seen.
Regular readers will know that I frequently write about harnessing the power of social media to sell more art. Often I know it can be a dry subject and we are all looking for easier ways to manage our online lives but like anything else in the art world, nothing is ever very easy. Add in some technology and geek speak and the subject becomes less fun. I know, so I promise I will try and keep the geek speak out of this week's article!
I totally get that social media is fun for five minutes but it can then become a bit of a drag filled with politics, fake news, drama where there really shouldn't be drama, and memes. There's a lot of noise that we like to tune out on social media and it's this noise that makes the task of promoting our work even more difficult because we have to somehow break through it and we have to compete with hilarious cat videos.
As soon as anything gets too difficult to do people become more inclined to not bother with doing it at all, or they will look for short cuts. This isn't just on social media, it happens with everything in life and just like water, people frequently take the path of least resistance, and because humans are inherently impatient, we don't always want to expend a lot of effort and get so little in return especially when positive results either don't happen or they take too long to start bearing fruit.
I know the feeling. Spend an hour on social media thinking up a clever post, then cross post it in multiple groups, and then spend the next hour checking its performance and before you know it and two hours later you might have ten likes and two comments. Let's break that down, that's the equivalent of a like every twelve minutes and a comment every sixty-minutes. Was that really worth spending two hours of your life on?
Well it could be if anyone had made a purchase or if the post contributes to an overall and longer-term social media strategy but often it's just a post out on its own. I call these the silo posts, and there are a lot of them on social media. I also call these disposable posts because after those initial two hours or however long they happened to surface elsewhere, once the initial buzz is over they just sit on your timeline and then they become abandoned.
The only time these posts will ever surface again is either when Facebook reminds you that the post was a disaster in a year or two on the posts anniversary, or when someone visits your page or timeline and spends hours trawling through everything that you have posted and makes a random like or comment.
The difficulty for us artists is that there are two-billion people connected to the platform and a huge proportion are actively using it. That means that there are a lot of posts and a lot of noise that we have to cut through and having a really loud voice isn't enough on its own to make that cut. It's not all bad but we just have to understand a little about what makes the platform tick so that we can really start to harness its power and get results.
I often hear that Facebook isn't the free for all that it once was, organic reach has declined and that's absolutely true. But the numbers of people using the platform went up dramatically which meant that the noise on the platform grew ever louder. It became a complicated monster of a machine so changes had to be made or we would never be seen or heard at all.
That's what social media and not just Facebook has become, we might not like it but we really should be thankful. Imagine if we constantly saw the same posts in our timelines from everyone. Not only would it take forever to find anything new but our timelines would be jam packed with old content and if everything appeared we would never see anything from anyone we really care about. To figure out why we only see what we see on the platform we have to look under the hood.
Something or some kind of system or process has to be in place to sort out what's relevant to you and to the other two-billion people on the platform who will all have their own version of what is relevant to them. This task would be impossible for a human or even an army of humans to do. So instead the platform does this sorting and selecting through the algorithm together with an army of humans which might not always be perfect but without either in place we would never see anything at all.
Technically this really is as good as it gets at the moment, there are no magic buttons, but there are lots of bad actors who take advantage of any technical weakness. It often reminds me of the saying in the IT industry, it's not the tech, it's the people, or the problem exists between the keyboard and the chair.
The algorithm is a closely guarded secret or rather what it does and how it works is a closely guarded secret. Everyone knows it exists but no one really knows what it looks for with any certainty. Facebook do give out clues periodically, you just have to know where to look.
The short cut that a lot of people take to find out how it works though is to keep an eye open for those posts that say something along the lines of: "Facebook now only shows your posts to 25 friends" and end with the words "copy and paste this status and leave an hi or an emoji". That last line on any post is often the give-away that the post is really just a load of the proverbial otherwise known as spam.
What we do know about the algorithm is that it definitely doesn't work like that. It's really not that clever, but it is clever enough to realise when it is being gamed. These posts are structured in a way to gain reactions and shares and the creators of these posts will know that more reactions and comments equate to more reach, and more shares reinforce people's perceptions that something must be true or false because of something called social-proof.
It happens with fake news stories which are structured in the same way or those posts that say if you don't copy and paste and then share the post then a unicorn will die. This is the same way that fake news spreads and it is how scams gain traction. Add in social conditioning and you have the plot line of a best-selling thriller.
It happens with other things in life outside of social media too, humans constantly look for social proof because it is hard-wired into our DNA to look for it. We look for things that we want to believe are true or that have some resonance with how we think as individuals. Anything that confirms our deep held belief, whether or not it's true is something that provides us with validation. The posts are just the smoke and mirrors that take advantage of this little trait that we have.
The only places that you will really get any insight into the inner workings of the algorithm are both places owned and maintained by Facebook themselves. The first place is the developer's website which you can find here.
It is here where you will find lots of technical information that is given to those who have an interest in developing applications for the platform. You will find some geeky references about SDKs which mean Service Development Kits and other stuff that most people don't really need to know about, but occasionally there will be a nugget of information that gives you a better idea of how the platform works and what the algorithm will be looking for. This part of Facebook is geared towards those with a deeper technical understanding of the platform so some of it might not be relevant to you unless you are developing Facebook apps but it is still worth the occasional look.
The second place to find information, and this one is a lot easier to understand if you are not technical, is the official Facebook News Room which you can find right here.
The most useful information is perhaps tucked away a little deeper in the product section of the news room and the information found there is very well written even for those who don't have any technical skills in this area. You can find the product page right here. It is here where all of the major announcements are made and it will give you a much clearer idea of the new features Facebook are introducing.
While you are on that site it's always worth taking a look at their community and social impact section. There's a heap of bad news that always flows from media outlets around Facebook, some of it is warranted but other times the press really do only present a biased single sided view of the issues.
I'm not one for sticking up for Facebook for Facebook's sake, if they do silly or even seriously dubious things then I am usually first in line to call them out. But we do have to remember that for many people Facebook is their only means of communicating with the outside world and the platform often does good things too. So take a look at their community and social impact section right here, because it is here where they frequently call themselves out when they know that they did something that wasn't quite right and they showcase the good work that goes on in communities.
So now we have a better idea of just why that algorithm does what it does, what else do we know?
The algorithm seems to work differently for everyone. If you select certain topics or people then it will be looking out for posts covering those topics and from those people. Great news because it means that your own timeline of other people's posts is much tidier and more relevant, but not such great news if you need to promote your art via social media.
So it's worth knowing another couple of basic principles of the algorithm and how it works if we want to use it effectively.
Ads on Facebook have a relevancy score. It's a little like a credit reference check and it's also one of the biggest reasons why spending twenty-bucks on running a Facebook ad campaign without knowing exactly what you are doing is just a waste of twenty-bucks. Google have a similar system in place via AdSense except they call their version of the score, a Quality Score.
If we lived in a perfect world then the system would let us know what the relevancy or quality scores are and exactly how they correlate to whatever ad you are posting. That world doesn't exist so it's really difficult to wrap your head around something which is both so opaque and complex. In short though, these scores are the metrics that determine when and where your ad gets served.
A relevance score of one means that your ad is not targeted to a relevant audience and will perform really badly. If the score was nearer 8 or 9 there is a better chance of your ad reaching the right audience and being served. There is a great blog from Wordstream that goes into much more detail about relevance scores which you can read right here.
What we also know is that similar metrics are used for other posts on social media too, they're sort of the same in that the principles of surfacing posts are similar but not quite. What we believe the algorithm does and based on a lot of information where Facebook have publicly stated that they are focussing on relevancy, is that those people who react and engage with your posts will see them more often than those who don't.
This is good, but it's also a bit not so good. It means that your Facebook friends who are your actual "friends" or the people who are most engaged with you are more likely to see your latest post than someone who has never heard of you, even if your post is set to public. Setting a post to public essentially means that the public can see it, but they don't necessarily see it appear in their timelines and they will only see it if you post in say a public group or they actively search for it.
So it's bad in that unless your art buyers are your friends or unless you are a member of a public group with active buyers and an engaged community, it is really unlikely that too many people will ever get to see your post.
But then it gets good again so don't let the panic set in just yet but this is where it also gets a little complicated. When you first post that meme of say a cat, it will surface on your friend's timelines. They have friends too, and if your friends share it with their friends then suddenly a set of your friends most engaged friends will then get to see it. If they then share your post, at that point their friends will start to see it. And yes, it's a headache, but think of it this way.
The more engagement your post gets, the more it surfaces elsewhere and the more people will see it. It really is as simple as that.
That's why I have been saying that engagement is the key to Facebook and gaining reach. If no one is engaging with you, no one is sharing your posts, then what you have in Facebook is more like a digital diary.
Now here's where it gets really good and a little simpler still. Firstly you really shouldn't be using a personal profile as a marketing tool because that goes against Facebook's community standards. So this means that you have to have a Facebook page. We also call these fan pages, business pages and hard work.
You can use these for marketing and they are infinitely more discoverable by the average person on Facebook who might also be your buyer and especially if you use them to provide value which could be as simple as sharing a life-hack or a recipe or anything that provides someone with a reason to want to take a look and hopefully engage.
Yes I hear what you are thinking, didn't Facebook kill pages and stop supporting them or didn't organic reach bottom out? Firstly, no. Facebook pages are still around and well and truly alive. Secondly yes, organic reach bottomed out and the big publishers took a huge hit when they started getting fewer likes and most of them complained.
The point they missed entirely was that whilst they got fewer likes, it meant that the hundred likes they did get were arriving from people who were more engaged with what they had to say. The changes made things more difficult to reach new people and gain followers, but followers who follow a page today are more likely than they used to be to be engaged with the page. You do however have to work much harder at producing the type of content they want to engage with.
If people are engaged they will like, love, wow and comment and if they are engaged enough they will share something that they find of value or that resonates with them, or they think that their friends should see.
How do we create an engaging post every five minutes?
The answer to that is we don't have to. You can spend an hour sharing a post across every group and then hope that enough people engage so that it surfaces on more timelines. This is quite literally a fishing trip, or you can go straight for the social jugular and create fewer but more engaging posts. This increases relevancy, hopefully people share it, and when they do the chances of finding new people to follow you and give you a like become increasingly more possible and probable.
If you can create an engaging post every five minutes then there is no problem at all in doing that but think back to the credit score system of relevancy. If you are confident that's what people want then go ahead and post away, there are no golden ratios of the number either minimum or maximum. What we do know though is that it will probably raise a few flags if you are acting in a way that imitates the actions of a spammer. You need to find your balance but then you need to be able to sustain it.
There are publishers who have millions of followers who post only two or three times each day, and there are others who post once or twice each week and others who post on the hour. It really is about five things.
Of course there are other factors too such as social proof, and when we look at how influencers use their social profiles we can determine that things like being authentic are important, but in reality it's mostly all about ethical persuasion. Don't worry, I'm not going to go into that topic here anytime soon, but if you really want to begin to understand how to create really engaging content then you might want to take a read about the TARES test which you can do here.
The TARES Test is an acronym that consists of the five principles of: Truthfulness (of the message), Authenticity (of the persuader), Respect (for the persuadee), Equity (of the persuasive appeal) and Social Responsibility (for the common good). That my friends is something that when applied to social media can have a huge impact and it's something that good marketing people and social media super-stars and successful influencers will be aware of.
I have been involved with algorithms for years outside of my art. I have written about them, given keynotes on them and they evolve so quickly that they could all work very differently tomorrow or even in ten minutes time.
The simple answer is that they are designed to do a specific or even multiple tasks very quickly and they can be produced so that people are less able to game them. They are increasingly using technologies such as machine learning to evolve and what we know from a computer-science perspective that machine-learning algorithms learn by testing and figuring out how people react to those tests. The machine is teaching the machine by learning from what you do.
There are ways though that will make things better. Knowing who your audience should be is the obvious one and my advice to anyone who creates art with the intention of ever selling it is to do two things.
A lot of people swear by search engine optimisation (SEO), but like ads, unless you know what you are doing it really is better to focus on quality first and finding out where your people are.
You can also create what I like to term as unicorn content. This is content that always does better than any other content you produce, and then you need to breed more unicorns. I call it unicorn content because it's difficult to do and not very post you create will become the next unicorn.
To get an idea about what might become your next unicorn post though you need to dig around the data that Facebook pages or any other business accounts on social media have about your posts. Pinterest have a great analytics platform which confirmed to me who I thought my audience might be. Facebook have Insights but this is not available on personal profiles, you have to have a page.
With these analytics you can start to formulate a clearer picture of who is and isn't engaging with your posts, but be mindful because just as posts need to be constantly created, your analytics need to be constantly checked. Again, no immediate short cuts here but having the data to base future posts on will save you heaps of wasted time and it will make any relevancy scores increase because what you produce is more likely to be more relevant.
So now we have the quality posts, we also have some data, and we have a page. What else do we need to do?
Building engagement on your page is critical in this process. It's also a catch-22 because you can't get engagement until you build relevant content and you can't get engagement if you don't engage back. You can't do this bit on your own because you can't really have a conversation with yourself on social media. Oh wait, it already feels like we do sometimes.
So you have to engage with the people who take a second to like, love and wow, and you have to do the social bit of social media. When this happens the relevancy of your post increases and off it goes on its own little journey to get surfaced in front of other people. I call this initial engagement part of the post, the wave. We wave it on to bring back more engagement, in short it means engage with someone the minute someone engages with you and try to avoid using the same generic responses. Remember we have no real idea how this machine learns but there's a chance it is looking out for generic terms.
It is at this point that the post will start reaching the next set of people and when they click on a reaction or engage with your post it becomes another go for the jugular moment. On business pages you have the ability to reach out to people you don't know and send them an invitation to like your page if they have had any engagement with it at all. Some will, some won't, but it's a whole lot more than we had five minutes ago. In my experience it translates to around a 10-20% acceptance rate if you can do it quickly enough. If someone logs out before you send the invite that acceptance rate could go down if they don't remember your post.
Did I mention that social media is a long game? You have to be patient because what you are really trying to do is to build a community. The problem starts to appear when we think of a social community as something where thousands of eager buyers sign up to a page and sit and wait for your next product or artwork to be released and then the expectation is that they will just go out and buy it.
Usually people don't do this. What we have to do is demonstrate how we are different, how our art is different, and how it will provide a value and benefit so that hopefully people will remember who you are and chose your artwork over the print they saw in a discount store. Once we understand this bit, we can start to communicate more effectively and provide the exact type of content those people expect to see.
Social media. We consume media all the time on social media platforms but we often forget that there is a word before media and that is social. Humans are social creatures who really don't like to be all that social, but that's the real secret of social media. We have to become more social.
Regular readers will be familiar with the term I have been using a lot lately and that is find your people instead of finding your target market or your demographic or the other hundred business buzzwords we attach to "people." Building a community of people with similar interests and shared goals is really at the very core of social media. As artists we should already be each other's people, so it makes sense to work together.
I don't know of any artist who has the budget to set up a marketing team that is as effective as say a brand such as Coca Cola or Pepsi, so following their leads will just move us even further away from where we need to be. But collectively I do think that we have a pretty powerful voice between us, we just have to be a little smarter in how we use it.
Whenever an artist posts from their business page, don't ignore it and only click on like when they shared it across to their personal profile. Engage with your friends through their business pages instead because this is going to help that page become more relevant. Think of your business page as a communications channel for the business of your art. Keep your personal profile for everything else.
Like your friends business pages. This shows that you support them and also helps with the social proof that people need. If a page only has two likes then it's going to be really hard for that page to get any kind of reach at all and fewer people will want to follow a page with only a couple of likes.
One of my future planned articles will be to provide the links to as many artist business pages as I can on this site and our group The Artists Directory was always intended to give artists a channel to showcase their pages. Frequently though people do try to post exactly the opposite of what the group rules ask and those posts don't get through the moderators.
But when people do post their pages and then support each of the other artists in the group, there shouldn't be any reason at all why any pages shouldn't get a thousand or more likes. There are more than 4000 members in that group alone, and it would take seconds to help an artist turn their page fortune around and for their page to become much more relevant to the algorithm and provide some social proof.
Share the work of other artists. Not all of the people who like your page will necessarily buy your art. They might buy the work of other artists because we all have very different tastes, and when posts are shared, there may be people on other artists timelines who will buy your art. Other artists are only your competition if you are copying them.
It also keeps your own timeline relevant and fresh with content that you then don't have to worry too much about creating.
Share ideas. If we find a secret way that brings more success then we all have this tendency to not want to share it, but collectively this means that everyone loses out. If there are certain keywords that you have used in your marketing that have been helpful or there are certain business skills that you find useful, share them! Others will see a value in this and will share them too. Again, The Artists Directory group would be a great forum for this kind of shared resource but sadly what we tend to get are drive-by posts and only a handful of engaged people.
Sometimes we can't always be around. Just the other week I had to go into hospital for a day and had to leave social media entirely during that time while I came around from the anaesthetic. So if you know of someone who can't post their work or share their links because they are unwell, or maybe they have been affected by natural disasters and have no internet connections, consider post-sitting for them just to make sure they stay relevant while they can't be online because one day you might need that kind of support too.
One of the most valuable gifts you can give an artist other than buying their work or sharing their posts is to make a point of actually visiting their business page from time to time. This might not seem too important but it is more than likely one of the key metrics that determine a pages relevancy because it is one of the most consistent things page owners are notified about. X number of people visited your page this week, and X number of people are talking about this page. So go ahead, remember to tag your favourite pages into conversations if it is relevant to the conversation.
When I carried out the research for this article and the many others I have written about using social media more effectively, something I have been constantly doing for the past decade or more, one of the biggest things I have noticed that really has a huge impact on whether someone likes your page or not is whether or not the basics had been completed.
The about me section, the website links, the bit that tells buyers that your art is for sale and you are open for business and importantly, the bit that lets people know how to get in touch, hadn't been completed at all.
This happens a lot and not just on Facebook. When I looked at some business websites a few weeks ago many of these details were missing on them too, or at least it wasn't at all obvious where to buy or who to contact. Some of these sites were from some very well-known people and even brands too. Never hide the how to buy bit from a buyer.
Ask friends to go through your page as a viewer and point out anything that is missing, even ask me and I will take a look for you, but make sure that the basics are covered because not having complete profile information is another metric that can be used to down-rank your visibility.
Most people will only ever visit your page once. The rest of the time they will rely on their newsfeeds to feed them with your content. That's not ideal because the only guaranteed way of seeing everything is to revisit the page, it's also the same with Facebook Groups too. If your friends can visit it as I mentioned earlier that's a great way to drive relevancy but you also have to make your page inviting to those who are yet to give it a like.
That also means that your profile picture and cover photo have to be clear and inviting. This is something I am planning to redo when I take a week off from the day job. The image size needs to be 851 by 315 pixels. The resolution can be 72 pixels per inch if you want to get really geeky and having this information starts to take out the guesswork of thinking about whether or not the image will fit on Facebook.
Once you have changed your cover image you are welcome to post it in the comments underneath the link to this article on my Facebook business page, and add a link to your business page there too.
Think carefully about how you apply your design skills to what is going to essentially become your social media storefront. It needs to be engaging enough to make people want to click on like because whenever someone visits your business page, this is what they will be seeing first.
Using well established design principles, plenty of space in between lettering, and clear fonts, along with colour combinations that are harmonious can never be understated. Yet when I did my research for this post one of the things I noticed was that a few (even big name artists) on the web had picked colour palettes for their graphics that they would have never have used in their works.
To get a better idea of what does work take a look at Adobe's Colour CC website and click on the explore tab which you can find right here. This will present you with a range of colour swatches which you can even download and use in Adobe products such as Photoshop.
Simplicity is really hard to do well. But if you use social media a lot you will know just how busy and often just how over-stimulating it can be. Minimal design is often the escape that people are scrolling for on social media and in a few A/B tests I carried out on my own page recently, the most minimal posts gained the most engagement, and posts that had blue or orange in them seemed to also do a lot better.
Look out for trends too. The links to the official Facebook pages I provided you with earlier are the absolute essential sources of real information and it is here that you will get to find out about what is coming next to the platform.
Last year video was the focus although I have a feeling that whilst it is a really useful thing to do, I know how difficult video can be to do well. If there is one thing we know about video is that we need to up the quality of video to have any real impact and again, it is something that you do need to sustain once you start. Remember, with video you are competing with Netflix.
Yes that was a deep-dive and no, there are no real short cuts to anything we do when it comes to social media but perhaps the short cut is really about doing less and doing it smarter, and for us to have more collaborative engagement with each other.
I think over 2019 there will be some significant changes to the algorithm and things will become even more difficult for any publishers who haven't quite got a handle on this stuff yet. We also know that Google+ is about to close down this April and there are many people who are currently only active on that platform. In comparison to Facebook it is only a small percentage of the overall account numbers but some of those people might start to engage with Facebook more than they have so there is potentially more scope to find more of our people.
Facebook business pages won't die. They will though become more relevant to small businesses and brands and there is a high probability that we will start to see another advance towards a future pay to play model. I don't think that organic reach will become impossible anytime soon but right now is probably going to the one of the best and almost final shots we have to start getting it right and to start building up real and engaged communities without having to pay.
There are some big expenses looming over Facebook as they start to see 2019 as the year of having to make more investments and ad revenue on the platform isn't what it was. Don't feel too bad though because in one estimate, Instagram which is also owned by Facebook, generated $9 billion in revenue. My advice to anyone thinking of dropping twenty-bucks on ad-spend right now would be to look at Instagram and drop it there instead. Just remember that you still need to know about relevancy scores and who your target market are!
So let's see if we can all raise our profiles throughout 2019 and remember that this site really is about supporting independent visual artists. It doesn't earn me anything at all but I really believe in people who are making art happen independently. If there is anything you want me to cover, whether it is your art or your business of art, or even your next show, please do let me know and let other artists know we are here too.
If you would like to support the upkeep of this site or maybe just buy me a coffee, you can do so right here The cost of a cup of coffee helps to support this site for a day!


The Jason-2 mission has been operating in its long-repeat orbit (LRO) since July 2017, yielding global coverage of the marine geoid at a cross-track resolution of about 8 km, while still providing altimetry products of high value for oceanographic applications at the mesoscale level. In this poster, we present a summary of calibration and validation results for the Jason-2 altimetry products over the first full interval of this long-repeat orbit.
We show that Jason-2 measurements both comply with mission requirements and correspond well to Jason-3 in spite of the orbit change and of Jason-2 Safe Hold events. Namely, significant wave height, sigma naught, sea-state bias, the ionospheric correction, and the dry and wet tropospheric correction are stable throughout the first LRO cycle.
Furthermore, the change in Mean Sea Surface (MSS) model on the Jason-2 products, from MSS 2011 to MSS 2015, results in lower noise for sea surface height anomaly (SSHA). SSHA crossover comparisons with Jason-3 products, which still utilize MSS 2011, primarily reveal differences between is the respective MSS models, including: a well-documented bias of approximately 2.4 cm globally and geographically-correlated discrepancies. We apply a consistent MSS model to the Jason-2 and Jason-3 measurements to isolate the residual crossover differences between Jason-2 and Jason-3.
We use internal SSHA crossover differences (i.e., Jason-2 ascending pass versus descending pass) to estimate the fundamental limit of the Jason-2 altimeter system. The variability in crossover differences stems from two main sources: 1) the limitations of the altimeter system and geophysical models (e.g., instrument corrections, sea-state bias, tides, etc.) and 2) natural ocean variability that is inherent to measurements sampled at different times. We consider crossover differences as a function of the time interval between the two measurements being differenced to dissociate these two effects. As expected, at smaller time intervals, the error source originating from ocean variability is reduced, and provides a means to estimate the altimeter system noise for Jason-2. For comparison, this analysis is also applied to the Jason-3 altimeter system.


text:
What Do Snakes Know About Engineering?
If you want to know how to make a sneaker with better traction, just ask a snake. That's the theory driving the research of Hisham Abdel-Aal, PhD, an associate teaching professor from Drexel University's College of Engineering who is studying snake skin to help engineers improve the design of textured surfaces, such as engine cylinder liners, prosthetic joints -- and yes, maybe even footwear.
Abdel-Aal, a mechanical engineer with expertise in tribology, the study of friction, has been collecting and analyzing snake skins for almost a decade in an effort to comprehend and quantify the way they generate friction when they move. In a paper recently published in the Journal of the Mechanical Behavior of Biomedical Materials Abdel-Aal explains how this "natural data" can be ported into the design of commercial products that slip and stick -- a process called "bio-inspired surface engineering."
Listening to nature's design tips requires quite a bit of translation. Abdel-Aal's work in this area is quickly becoming the standard for helping engineers unlock the potential of snake friction control for surface design.His most recent research distills the textural traits of snake skin -- gleaned from analyzing 350 complete skins shed from 40 different species -- matches them with the standard features of textured industrial surfaces and suggests how this framework can be used to synthesize "smart surfaces" with new frictional capabilities.
Though it's an ever-present force of nature that scientists, engineers and designers have studied and grappled with as background noise for centuries, when it comes to actually wielding friction for our uses much of our modern understanding remains shrouded in mystery.
Part of this, Abdel-Aal suggests, is because our dealings with friction have evolved by constantly trying to negate it with lubricants or maximize it with texture -- but almost always in pursuit of on-off goals. Once that specific goal is reached -- be it making an engine piston produce a certain amount of horsepower, or a football cleat that works on a muddy field -- the work that went into it rarely contributes to a broader understanding of friction.
"Design of texture is still viewed as a 'black art' to the effect that currently there exists a gap between available enabling texturing technologies and a conceptual texture-design paradigm," he wrote in a review of functional surfaces. Abdel-Aal notes that such an understanding would not only improve the efficiency of these specific design challenges, but it could also inspire broader use of friction in the design of new surfaces.
The guide Abdel-Aal presents takes a lot of the guesswork out of texturing and instead allows designers to make intentional choices -- backed by input from the slithering tribology experts.
To discern the elements that give a snake its talent for managing friction, Abdel-Aal analyzed his stash of skin samples with the detail, and attention to topography, of a cartographer plotting a map.
His stock of sheddings started with a few samples from friends with a Royal python and has grown to several hundred with a little help from the Philadelphia Zoo and the Academy of Natural Sciences.
It's important to study the skin as the snake would have worn it, so when Abdel-Aal gets a new sample he first soaks it in water, to make it more durable, then turns it right-side out, since most snakes shed their skin like a hastily removed tube sock.
Then he mounts it on graphing paper and scans it to create a permanent record with a visual frame of reference. From there he and his research associates can begin making detailed measurements of the shape and size of the scales, and their positioning, relative to one another and about the snake's body.
Finally, he examines the skin with a scanning electron microscope to produce an image of the microscopic features that create its texture. Snake scales have invisibly small, hair-like structures, called fibrils. Though they're just a micron in length -- about 1/100th the width of a human hair -- the fibrils, and how they are arranged on the snake's underside, are key to its ability to generate friction.
The positioning of the fibrils, along with the size, shape, stiffness, and distribution of scales create a unique friction profile for each snake -- which is what Abdel-Aal has worked to capture and catalogue.With the snake skin "mapped" Abdel-Aal's team can tease out the significant patterns of texture features that all contribute to moving the snake along in its environment. In addition to categorizing patterns of scales and fibril distribution about the snake's body, Abdel-Aal's work synthesizes volumes of research on the physics of snake movement and measures of the forces of friction exerted by the snakes as they undulate, slither, slide and side-wind.
By cross-referencing these measurements with the texture profile he created for each snake, Abdel-Aal can relate the physical traits to their impact on the mechanics of the snake. To make a direct relation between the skins and engineered surfaces, Abdel-Aal reviewed research about laser-textured surfaces that conducted a similar microscopic inspection and inventory of surface features. These texturing techniques, such as laser and chemical etching, sand-blasting, and deposition, create surfaces with very specific friction profiles for things like engine cylinders and hydraulic components in machinery.
But they share an important detail with the texturing found in nature.
"The basic building block in the case of both snakeskin and textured engineered surfaces is a textural element that is repeated in an array distribution," Abdel-Aal writes. "Spacing, length, orientation and shape of denticulation is, in general, common to a particular family of snakes. Engineered surfaces, on the other hand, feature textural building blocks such as cones, dimples, and chevrons, distributed on the surface. Therefore, both types of surfaces share a common constructional origin."
The predominant physical features of the textured surfaces are microscopic channels, dimples and protrusions, which are arrayed to ensure consistent friction in a lubricated system. Engineers describe surface textures in terms of the average of the measurements of these features. So "roughness" would be quantified by averaging the height of the protrusions, calculating the total area covered by them, or determining their slenderness by comparing the protrusion's height to the area of its base.
Microscopic measurements of the snakeskin's texture features allow Abdel-Aal to make the direct relation between fibrils and protrusions. So the same roughness measures can be applied to the snakes simply by calculating fibril height, slenderness and overall distribution on the scales.
This breakthrough, Abdel-Aal asserts, makes it possible to integrate the functional patterning from a snake on engineered surfaces to create textures with predictable behaviors.
"For bio-inspired surface design to be effective, we needed to develop a common vocabulary to describe texturing features" Abdel-Aal writes. "We found that three main parameters seemed to translate broadly between the protrusions and dimples of textured surfaces and the fibrils of snake skin: total area of the feature, feature-to-surface ratio, protrusion/height and height-to-base ratio."
In classifying the snake skins according to these measures, an interesting pattern emerged. Many of the "recommended texturing ratios" that researchers have found through the production and testing of engineered surfaces are the same that already exist in snakes.
"It's striking that engineering research over the last 25 years came to the same design solution, in terms of customization of surface features to promote efficiency of motion, that snakes have evolved over millions of years," Abdel-Aal said. "While it means engineers have probably arrived at the right answer, it also suggests that data from studying snakes could guide us to those conclusions much more efficiently -- thus accelerating the development of new surface construction paradigms that can take advantages of the rapidly evolving manufacturing tools."
Now that Abdel-Aal's work is allowing engineers to compare surface and snake characteristics -- dimples to dimples -- some have already started applying it to improve the performance of systems that depend on careful friction management.
Collaborators in Colombia designed and tested a surface for a prosthetic hip joint guided by the tribological data gleaned from Abdel-Aal's analysis of Royal Python skin. Based on the work of Abdel-Aal and his collaborators, researchers in the U. K. are developing texturing schemes for tool inserts used in dry machining of titanium. These bio-inspired insert designs maximize friction while minimizing residual heat in the process. And German engineers recently published work on snake-inspired cylinder liners that allow the surfaces to minimize friction whether its moving forward or backward.
Abdel-Aal has been publishing his datasets so any engineers could use them. But he also plans to build them into an algorithm that could seamlessly fit into the surface design process.
"Constructing bio-inspired surfaces has a broader goal than merely replication of bio-texturing. In essence, it seeks to extend the potential tribological benefits of reptilian surfaces to the domain of human-engineered surfaces," Abdel-Aal writes in the journal. "Although that the field is rapidly developing there is a pressing need for more in-depth cooperation between stake holder communities. I believe this common language between biology and tribology will enable the cross-communication necessary for this cooperation."
Source: Drexel University/Science Daily

redpajama_set_name: RedPajamaCommonCrawl


text:
Adult Americans Gloomy about the Future
Posted on October 8, 2013 by Darshan Shah in Uncategorized // 0 Comments
By USDR
New data from the quarterly Allstate/National Journal Heartland Monitor Pollshows an American public that overwhelmingly believes childhood and parenthood were better for earlier generations, with 79 percent of poll respondents saying it was better to have been a child when they were young.
Watch a live briefing on key findings from the latest Heartland Monitor Poll today at 8:30 a.m. ET, athttp://www.nationaljournal.com/events, featuring Rep. George Miller (D-Calif.), ranking member of the U.S. House of Representatives Education and the Workforce Committee.
The most recent Heartland Monitor shows that Americans are deeply uncertain about the prospects for today's children. A majority (68 percent) of respondents believe that when today's children are adults, they'll have less financial security, with a poorer chance of holding a steady job and owning a home without too much debt. Almost the same percentage (62 percent) believes their children will have less opportunity to achieve a comfortable retirement. Overall, Heartland XVIII delivers a downbeat vision from parents and non-parents alike, who believe that today's children will display less patriotism, work ethic, and civic responsibility than today's adults.
Yet, in the face of this intense pessimism on the part of adults, teenagers are much more optimistic and clearly feel the older generations have it wrong. For the first time, the Allstate/National Journal Heartland Monitor Poll also surveyed high school teenagers ages 13-18, and found an optimistic view of the economy: More than half of the teens surveyed (54 percent) say they believe it's better to be a teenager today than it was when their parents were growing up. A plurality (45 percent) believe that when they are their parents' age, they will have more opportunity to get ahead than the previous generation. Just 24 percent of teens say they will have less opportunity.
"The world looks to America as a beacon of hope to realize one's dreams. While we see pessimism in this poll, the younger generation feels a sense of optimism about the future," said Sanjay Gupta, executive vice president and chief marketing officer of Allstate. "These findings reinforce a challenging backdrop, but the optimism of the younger generation gives us hope in the enduring American dream."
The 18th quarterly Allstate/National Journal Heartland Monitor Poll digs into the increased concerns about the country's political direction and the economy. American adults say that opportunities for a quality education, access to health care, fair treatment, adequate play time, and sufficient love and attention are accessible to some, but are not guaranteed for the average American child.
This negative view of the future parallels a noticeable chilling of the national mood, with a high percentage (64 percent) of Americans believing that the country is on the wrong track. President Obama's approval rating has hit a low (40 percent), as has that of Congress (13 percent), since this poll's first installment in April 2009. Almost half of Americans (47 percent) say that the Obama administration's actions decrease the opportunity for them to get ahead, the highest percentage since the poll began asking the question in April 2009. Respondents are relatively split on whether the economy will improve (28 percent), become worse (31 percent), or stay the same (36 percent) over the next 12 months.
In the area of education, more teens than adults consider college a worthy investment. While over half of adult respondents (53 percent) still believe the average four-year college education is a ticket to the middle class, and that a degree helps people get good jobs and build successful careers, a full 39 percent view college as an economic burden. Teenagers, meanwhile, feel that college is a good investment for the future (86 percent), rather than an unnecessary expense that is not worth it (14 percent).
In other areas of the poll, a large majority (69 percent) of adults polled believe parents are too busy with work and their own personal lives to spend enough time with their children or to give them the attention they need to learn and grow.
"The operative definition of the American Dream is that each generation will live better than its predecessor," added Ronald Brownstein, editorial director of Atlantic Media. "The latest Heartland Monitor survey shows how much the sustained economic slowdown has frayed that expectation among average Americans. While the poll shows that most Americans believe the country is still providing kids with many of the necessary ingredients for success—particularly a quality education—it captures a widespread fear that the economy simply won't provide as many opportunities to future generations as Americans remember from when they were young."
Key findings from the 18th Allstate/National Journal Heartland Monitor Poll are also available via PDF. Additional information on the entire polling series can be found at: http://www.theheartlandvoice.com/category/insights.
1. Americans overwhelmingly believe that today's children and parents are facing more difficulties and challenges than previous generations.
79 percent of Americans believe it was better to have been a child when they were young while just 16 percent of American adults believe it is better to be a child in America today.
75 percent believe it was better to be a parent when they were growing up, while just 19 percent of Americans think it is better to be a parent in America today.
This sentiment is remarkably consistent across demographic lines, including age, education, and income.
More than half of teens surveyed (54 percent) say it's better to be a teenager today than it was when their parents were growing up (46 percent).
Teens are less positive about the state of parenthood today – 40 percent think it is better to be a parent today than it was when their own parents were growing up (60 percent).
Overall, Americans overwhelmingly believe that today's children face more challenges (66 percent) than opportunities (25 percent).
2. Looking forward, Americans remain concerned about opportunities and achievement for the next generation.
Just 20 percent of Americans believe that today's children will have more opportunity to get ahead when they are grown, compared to 45 percent who fear that today's children will have less opportunity, and 30 percent believe they will have about the same level.
Today, fewer Americans believe their children will have more opportunities to get ahead than did so a year ago. InSeptember 2012, the Heartland Monitor showed that 32 percent of Americans believed the next generation will have more opportunities, while 32 percent believed they will have less.
Young adults ages 18-29 are the most optimistic, but just 31 percent believe that today's children will have more opportunity when they are grown, a 12-point decline since last September.
Today's teens are more hopeful about their future opportunities, with 45 percent believing they will have more opportunity than their parents had, 24 percent believing they will have less opportunity.
Thinking about the achievements and activities of their own generation, Americans believe today's children will not quite measure up on a number of factors:
68 percent think that today's children will have less financial security;
65 percent think they will have less patriotism and pride in their country;
63 percent think they will have less work ethic and professional motivation;
62 percent think they will have less financial freedom and the ability to afford luxuries;
53 percent think they will have less financial responsibility;
48 percent think they will have less civic and community responsibility.
3. Americans are conflicted on policy approaches related to the cost of raising children and college education.
When considering the idea of shared societal responsibility and sacrifice as it relates to assisting parents and children, a slight majority of Americans express hesitation about asking businesses and non-parents to contribute too much.
51 percent believe that "while the country should be supportive of children and young families, raising those children is the responsibility of the parents."
42 percent think that "the entire country has a shared responsibility to invest more in children and young families."
When told the average cost of cost of raising a child totals more than $240,000:
60 percent say that the best approach to making parenting more affordable is "lowering taxes."
34 percent prefer "increasing public spending" on programs like pre-K, public education, child care, health care and college tuition.
More than half of Americans see college as a ticket to the middle class (53 percent) rather than an economic burden (39 percent).
Teenagers overwhelmingly believe that college is "a good investment for the future" (86 percent) rather than an "unnecessary expense that is not worth it" (14 percent).
Fewer than half of parents with school-age children think it's realistic that they will be able to pay for college education for themselves or their children.
4. This poll shows a decline in the American political environment and a fading confidence in President Obama and the economy.
Just a quarter of Americans believe the country is headed in the right direction, a slippage from the 30 percent we measured in May/June. Half of Democrats (50 percent) and only 45 percent of African-Americans now believe things are headed in the right direction.
President Obama's job approval sits at 40 percent, down from 48 percent in May/June and the lowest we've measured across 18 Heartland Monitor polls.
Just 13 percent approve of the job Congress is doing, even lower than the 17 percent we measured in May/June.
47 percent of Americans now believe that the Obama administration will decrease opportunity for people like them to get ahead. This is the high-water mark for this measure of pessimism, up from 43 percent in April and 40 percent in May/June.
Just 28 percent believe the economy will improve 12 months from now, the lowest we've measured from 44 percent last November to 34 percent in April and 37 percent in May/June.
5. Americans continue to occupy a "middle ground" between optimism and concern regarding their personal financial situation.
44 percent rate their own personal financial situation as excellent or good, compared to 49 percent in May/June 2013.
43 percent expect their financial situation to improve by this time next year, a slight decline from 47 percent in May/June but notably higher than the 36 percent measured in April 2013.
Week of Mar 4 – Mar 10
How the Mob Can Prevent ISIS Attacks in New York City
Biden: 'Everyone' Knows Obamacare's Working – 'And We're Just Getting Started'
Week of May 28 – Jun 3
Movie Corner: Puss in Boots