text:
let { Cu, Cc, Ci } = require("chrome");
Cu.import("resource://gre/modules/ctypes.jsm");
Cu.import("resource://gre/modules/Services.jsm");

let { CLTypes } = require("CLTypes.js");
let { Constants } = require("Constants.js");
let { OpenCL } = require("OpenCL.js");
let { Platforms } = require("Platforms.js");
let { Debug } = require("Debug.js");

// Options to pass to clCreateCommandQueue.
let commandQueueProperties =
    // Constants.CL_QUEUE_PROFILING_ENABLE |
    // Constants.CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE |
    0;

// A wrapper for CData values that are being returned to user-side
// code, so that we can distinguish among them by name on the user
// side.
function GenericWrapper(_ctypesObj, _name, _id) {
    this.ctypesObj = _ctypesObj;
    this.name = _name;
    this.id = _id;
    this.__exposedProps__ = {ctypesObj: "rw", name: "rw", id: "rw"};
}

let RiverTrailInterface = (function() {

    // A place to put all the error codes we encounter.
    let err_code = new CLTypes.cl_int();

    // A few bits of state that the below functions manipulate.
    let context;
    let commandQueue;
    let deviceList = null;
    let defaultDevicePref;
    let failureMem = ctypes.int.array(1)([0]);
    let failureMemCLBuffer;
    let compiledKernels = [];
    let mappedBuffers = [];
    let buildLog = "";

    let riverTrailExtensionIsInstalled = function() {
        // This does nothing; its existence is just a marker that the
        // extension is installed.
        return true;
    };

    let is64BitFloatingPointEnabled = function() {

        let prefService = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService);
        let prefBranch = prefService.getBranch("extensions.river-trail-extension.");
        let defaultPlatformPref = prefBranch.getIntPref("defaultPlatform");
        if (defaultPlatformPref < 0 || defaultPlatformPref === undefined) {
            defaultPlatformPref = 0;
        }

        Platforms.init();
        let allPlatforms = Platforms.jsPlatforms;

        // A string of all supported extensions on the current default
        // platform.
        let defaultPlatform = allPlatforms[defaultPlatformPref];
        let defaultPlatformExtensions = defaultPlatform.extensions;

        // Check if 64-bit floating point extension is turned on.
        let retval = defaultPlatformExtensions.indexOf("cl_khr_fp64") !== -1;
        return retval;
    };

    let initContext = function() {

        let defaultPlatformPref = require('sdk/simple-prefs').prefs["defaultPlatform"];
        if (defaultPlatformPref < 0 || defaultPlatformPref === undefined) {
            defaultPlatformPref = 0;
        }
        compiledKernels.length = 0;
        mappedBuffers.length = 0;
        Platforms.init();
        let allPlatforms = Platforms.jsPlatforms;
        let defaultPlatform = allPlatforms[defaultPlatformPref];
        let defaultPlatformID = defaultPlatform.platform_id;

        // Get number of devices.
        let numDevices = new CLTypes.cl_uint();

        // weird gotcha with js-ctypes: the return value will be
        // magically coerced to "number", so we have to assign it to
        // err_code.value, not just err_code.
        err_code.value = OpenCL.clGetDeviceIDs(defaultPlatformID,
                                               Constants.CL_DEVICE_TYPE_ALL,
                                               0,
                                               null,
                                               numDevices.address());
        Debug.check(err_code, "clGetDeviceIDs (in initContext, call 1)");
        Debug.log(err_code.value);

        // Then, get a list of device IDs of to pass to
        // `clCreateContext`.

        // numDevices.value is the length of the array
        const DeviceArray = new ctypes.ArrayType(CLTypes.cl_device_id,
                                                 numDevices.value);
        deviceList = new DeviceArray();
        err_code.value = OpenCL.clGetDeviceIDs(defaultPlatformID, // platform
                                               Constants.CL_DEVICE_TYPE_ALL, // device_type
                                               1, // num_entries
                                               deviceList, // *devices
                                               null); // *num_devices
        Debug.check(err_code, "clGetDeviceIDs (in initContext, call 2)");
        Debug.log(err_code.value);

        // Create a three-element array of context properties to pass
        // to clCreateContext.

        // According to the spec, the context properties argument
        // should be "a list of context property names and their
        // corresponding values. Each property name is immediately
        // followed by the corresponding desired value. The list is
        // terminated with 0."

        let contextPropertiesList = CLTypes.cl_context_properties.array(3)();

        // We have to do these casts because contextPropertiesList
        // actually contains pointers.
        ctypes.cast(contextPropertiesList[0], ctypes.int).value = Constants.CL_CONTEXT_PLATFORM;
        contextPropertiesList[1] = ctypes.cast(defaultPlatformID, ctypes.int.ptr);
        ctypes.cast(contextPropertiesList[2], ctypes.int).value = 0;

        let contextProps = ctypes.cast(contextPropertiesList.address(), CLTypes.cl_context_properties.ptr);

        // Get the default device ID to pass to clCreateContext.
        defaultDevicePref = require('sdk/simple-prefs').prefs["defaultDeviceType"];
        if (defaultDevicePref < 0 ||
            defaultDevicePref === undefined ||
            defaultDevicePref > deviceList.length-1) {
            defaultDevicePref = 0;
        }

        context = OpenCL.clCreateContext(contextProps,
                                         1,
                                         (deviceList[defaultDevicePref]).address(),
                                         null,
                                         null,
                                         err_code.address());
        Debug.check(err_code, "clCreateContext (in initContext)");
        Debug.log(err_code.value);

        failureMemCLBuffer = OpenCL.clCreateBuffer(context,
                                                   Constants.CL_MEM_READ_WRITE,
                                                   4,
                                                   null,
                                                   err_code.address());
        Debug.check(err_code, "clCreateBuffer (in initContext)");
        Debug.log(err_code.value);

        commandQueue = OpenCL.clCreateCommandQueue(context,
                                                   deviceList[defaultDevicePref],
                                                   commandQueueProperties,
                                                   err_code.address());
        Debug.check(err_code, "clCreateCommandQueue (in initContext)");
        Debug.log(err_code.value);
    };

    let canBeMapped = function(obj) {
        // N.B.: In the original River Trail extension, `canBeMapped`
        // checked to see if `obj` was a nested dense array of floats.
        // However, it doesn't seem like we support mapping arrays at
        // all now, so this just returns false.
        return false;
    };

    // Returns a GenericWrapper around a CData kernel.
    let compileKernel = function(sourceString, kernelName) {

        // Our first step is to clear the build log so that what's
        // there is not left over from the last kernel that was
        // compiled.
        buildLog = "";

        // `sourceString` is a JS string; we change it to a C string.
        let sourceCString = ctypes.char.array()(sourceString);

        // an array (of length 1) of char arrays
        let SourceArray = new ctypes.ArrayType(ctypes.char.array(sourceCString.length), 1);
        let source = new SourceArray();
        source[0] = sourceCString;

        let sourceptrptr = ctypes.cast(source.address().address(), ctypes.char.ptr.ptr);

        let program = OpenCL.clCreateProgramWithSource(context,
                                                       1,
                                                       sourceptrptr,
                                                       null,
                                                       err_code.address());
        Debug.check(err_code, "clCreateProgramWithSource (in compileKernel)");
        Debug.log(err_code.value);

        // Apparently, the options argument to `clBuildProgram` is
        // always an empty string.
        let options = "";
        let optionsCString = ctypes.char.array()(options);

        err_code.value = OpenCL.clBuildProgram(program, 0, null, options, null, null);
        Debug.check(err_code, "clBuildProgram (in compileKernel)");
        Debug.log(err_code.value);

        // Before getting the build info, figure out how big the build
        // log is so we know how big a buffer we need to create for
        // it.
        let buildLogSize = new ctypes.size_t;
        err_code.value = OpenCL.clGetProgramBuildInfo(program,
                                                      deviceList[defaultDevicePref],
                                                      Constants.CL_PROGRAM_BUILD_LOG,
                                                      0,
                                                      null,
                                                      buildLogSize.address());
        Debug.check(err_code, "clGetProgramBuildInfo (in compileKernel)");
        Debug.log(err_code.value);

        // Now that we have the build log size, read the build log
        // into an appropriately sized buffer.
        const BuildLogArray = new ctypes.ArrayType(ctypes.char, buildLogSize.value);
        let buildLogCString = new BuildLogArray();

        err_code.value = OpenCL.clGetProgramBuildInfo(program,
                                                      deviceList[defaultDevicePref],
                                                      Constants.CL_PROGRAM_BUILD_LOG,
                                                      buildLogSize.value,
                                                      buildLogCString,
                                                      null);
        Debug.check(err_code, "clGetProgramBuildInfo (in compileKernel)");
        Debug.log(err_code.value);
        buildLog = buildLogCString.readString();

        // Finally, create the kernel.
        let kernelNameCString = ctypes.char.array()(kernelName);
        kernel = OpenCL.clCreateKernel(program,
                                       kernelNameCString,
                                       err_code.address());
        Debug.check(err_code, "clCreateKernel (in compileKernel)");
        Debug.log(err_code.value);

        err_code.value = OpenCL.clReleaseProgram(program);
        Debug.check(err_code, "clReleaseProgram (in compileKernel)");
        Debug.log(err_code.value);

        err_code.value = OpenCL.clSetKernelArg(kernel, 0, CLTypes.cl_mem.ptr.size, failureMemCLBuffer.address());
        Debug.check(err_code, "clSetKernelArg (in compileKernel)");
        Debug.log(err_code.value);
        compiledKernels.push(kernel);

        let wrappedKernel = new GenericWrapper(kernel, "OpenCLKernel", compiledKernels.length-1);
        return wrappedKernel;
    };

    let getBuildLog = function() {

        return buildLog;

    };

    // We have an OpenCL buffer with id `bufferObjId` that was
    // originally made out of a TypedArray object `view`.
    let getValue = function(bufferObjId, view, callback) {

        let numEvents = new CLTypes.cl_uint(0);

        // This call side-effects the contents of `view.buffer`,
        // writing into it from bufferObjId.
        err_code.value = OpenCL.clEnqueueReadBuffer(commandQueue,
                                    mappedBuffers[bufferObjId],
                                    Constants.CL_TRUE,
                                    ctypes.size_t(0),
                                    ctypes.size_t(view.byteLength),
                                    ctypes.voidptr_t(view.buffer),
                                    numEvents,
                                    null,
                                    null);
        Debug.check(err_code, "clEnqueueReadBuffer (in getValue)");
        Debug.log(err_code.value);

        // Run the provided callback, which will assign its argument
        // to a variable on the user side.
        callback(view);
    };

    let mapData = function(source) {
        let clbuffer = OpenCL.clCreateBuffer(context,
                                             Constants.CL_MEM_USE_HOST_PTR,
                                             source.byteLength,
                                             ctypes.voidptr_t(source.buffer),
                                             err_code.address());
        Debug.check(err_code, "clCreateBuffer (in mapData)");
        Debug.log(err_code.value);
        mappedBuffers.push(clbuffer);
        return new GenericWrapper(null, "CData", mappedBuffers.length-1);
    };

    let setArgument = function(kernel, index, arg) {

        let argSize = ctypes.size_t.size;
        err_code.value = OpenCL.clSetKernelArg(compiledKernels[kernel],
                                               index+Constants.RIVERTRAIL_NUMBER_OF_ARTIFICIAL_ARGS,
                                               argSize,
                                               ctypes.cast(mappedBuffers[arg].address(),
                                                           CLTypes.cl_mem.ptr));
        Debug.check(err_code, "clSetKernelArg (in setArgument)");
        Debug.log(err_code.value);
    };

    let setScalarArgument = function(kernel, index, arg, isInteger, is64BitPrecision) {

        let argSize = ctypes.size_t(4);
        let argV;
        if (isInteger) {
            argV = ctypes.int(arg);
        }
        else if (!is64BitPrecision) {
            argV = ctypes.float(arg);
        }
        else {
            argV = ctypes.double(arg);
            argSize.value = 8;
        }
        err_code.value = OpenCL.clSetKernelArg(compiledKernels[kernel],
                                               index+Constants.RIVERTRAIL_NUMBER_OF_ARTIFICIAL_ARGS,
                                               argSize,
                                               argV.address());
        Debug.check(err_code, "clSetKernelArg (in setScalarArgument)");
        Debug.log(err_code.value);
    };

    let run = function(kernel, rank, iterSpace) {

        let offset = ctypes.size_t(0);
        let size = ctypes.size_t(4);
        let zero = new CLTypes.cl_int(0);
        let writeEvent = new CLTypes.cl_event(); // This likely won't work if cl_event is a stack allocated C struct for eg. -- jsreeram

        err_code.value = OpenCL.clEnqueueWriteBuffer(commandQueue,
                                                     failureMemCLBuffer,
                                                     Constants.CL_FALSE,
                                                     offset,
                                                     size,
                                                     zero.address(),
                                                     0,
                                                     null,
                                                     writeEvent.address());
        Debug.check(err_code, "clEnqueueWriteBuffer (in run)");
        Debug.log(err_code.value);

        let rankInteger = new CLTypes.cl_uint(rank|0);
        let runEvent = new CLTypes.cl_event();
        let globalWorkSize = ctypes.size_t.array(iterSpace.length)(iterSpace);
        for(let i = 0; i < iterSpace.length; i++) {
            globalWorkSize[i].value = iterSpace[i]|0;
        }

        err_code.value = OpenCL.clEnqueueNDRangeKernel(commandQueue,
                                                       compiledKernels[kernel],
                                                       rankInteger,
                                                       null,
                                                       globalWorkSize,
                                                       null,
                                                       1,
                                                       writeEvent.address(),
                                                       runEvent.address());
        Debug.check(err_code, "clEnqueueNDRangeKernel (in run)");
        Debug.log(err_code.value);

        let numEvents = new CLTypes.cl_uint(1);

        err_code.value = OpenCL.clWaitForEvents(numEvents,
                                                runEvent.address());
        Debug.check(err_code, "clWaitForEvents (in run)");
        Debug.log(err_code.value);
        return err_code.value;
    };

    return {
        riverTrailExtensionIsInstalled: riverTrailExtensionIsInstalled,
        is64BitFloatingPointEnabled: is64BitFloatingPointEnabled,
        initContext: initContext,
        canBeMapped: canBeMapped,
        compileKernel: compileKernel,
        mapData: mapData,
        setArgument: setArgument,
        setScalarArgument: setScalarArgument,
        run: run,
        getValue: getValue,
        getBuildLog: getBuildLog,
    };
})();

exports.RiverTrailInterface = RiverTrailInterface;

redpajama_set_name: RedPajamaGithub


Music is an energy unlike any other. It pulls within our core and speaks to us on deeply personal and passionate levels. As an empath, I am deeply affected by music. It's most uncommon for me to write or even study without music blasting into my ears. Music is not only an addiction for me, it is a deep searing need. The higher vibration the music, the more energy it has, the more I love it. It is a craving that is harmlessly fulfilled. You can find it anywhere and there are very few occasions that do not use music to set the tone of the evening. Music is a powerful thing and for some of us it is also a direct non human method of feeding.
Those of us who are empathic are deeply affected by the scores of music around us. It flows through us like few things can because it is universal and does not come from a specific source. Music is nothing more than passion translated into sound and vibration. It is those vibrations that connect with us and open our ability to pull it in. As an energy source it can be vibrant and each style of music has a different "taste".
The music that we are drawn to usually reflects the status and needs of our chakras. Lower tones usually apply to feeding our lower chakras below the solar plexus. Higher tones usually feed those chakras from the solar plexus and above. The ancient art of toning is meant to balance, harmonize, and raise our vibration thus creating a higher state of awareness. This use of sound for mystical and magickal purposes is ages old and a primal instinct. It is sensual, wild and ecstatic and appeals to us as intimately as a beautiful youth or innocent maiden. It calls to us much like that beautiful unmarred flesh and in its arms we may find as much fulfillment. The tones and overlapping harmonics of the voices and effects are intended to evoke an emotion. These emotions allow us to respond to the sounds and form an attachment so that we wish to hear it again. It could be said that for the music feeder music has a different scent, taste, texture, and look. Listening to a piece of music is an altogether sensual experience. Not only can we taste and feel the music, we see it and interact with it. It moves through us as easily as oxygen and in that way we become one with the music for a short time. It is this connection that allows us to take it in as a form of feeding.
When we hear something that calls to us we naturally respond to it. In time we not only respond to it we embrace it taking it within us. Music flows pure and unbridled as a form of translated energy. As our chakras open to receive it so do our minds, bodies, and spirits. All levels of awareness are awakened and thirst for a deeper communion with this energy. We open up to receive it with every cell in our being and it flows into us and through us revitalizing our centers and our spirits. The energy we acquire through this sort of communion is one of universal harmonics and balancing rather than the sort we achieve through communion with a physical form. For the most part I've found it to be the purest draw that may be attained as filtering is not needed, risk of disease is impossible, and music is everywhere to be pulled from. Unlike ambient energies that require filtering, it's a simple matter to focus on music and pull it in. It requires little effort or bandages (unless of course you happen to get too close to a feeding vamp) and there are many available outlets.
Cultivating a "taste" for music is simple. Feeding from it might take a little more effort if it is not second nature already. Find a music that you like, something that really gets your attention. Feel the music. Notice where you feel the music pulsing. Is it in your chest, your shoulders, near your eyes, or lower in your sacral or solar plexus? When you dance to this song which body part leads you? Do you find yourself reaching for what others can't readily see? Breathe in deeply, feel the difference in the air. It's charged with the energy this music produces. Notice your skin and how it has changed. It's likely by now you're humming with the vibration this music has evoked. Open your eyes and see it. Notice the shades of color, the texture, whether it is delicious dark velvet or silky satin. Pull it around you and into your being. Absorb it in your cells, your energy cores, your being.
Feeding from music is an acquired taste but one that is an option to feeding from ambient energies or from individuals. This is a safe and effective method of doing so that even a newly awakened vampyre can utilize. I am primarily sanguine but I've discovered over the years that going long periods without a donor can be detrimental to my health and my overall demeanor. A hungry vampyre is a grumpy vampyre. Thus I started exploring other means of feeding. Music came quite naturally from a young age, although it was quite difficult until the late 80's when electronic music became popular. I found myself hopelessly addicted to it as it lifted my spirits and generally made me less hungry than I had been previously. I found through experimentation that it could be drawn in as easily as blood but had less obvious risks. I did experimentations with plants and found that my mood greatly affected their general wellbeing. I also found that placing plants in a room with energetic music also affected their mood. Thus something in the music was as potent as the energy being absorbed by the plant. From there I formulated magickal working that could be utilized through the harvesting and use of musical energies so that the music itself was as effective as spellwork. It is especially effective in the use of thrall, the beacon, beast control and beast evocation, achieving a heightened state of awareness, trancing, and raising pheromone levels to attract others to our side.
Wow this is quite a concept... I would like to hear more of this and possibly explore it further.


The good news? US GDP rose 3.5% QoQ, even though Personal Consumption was lower than expected at 3.6% and lower than September's growth.
The bad news? New home sales fell 8.9% MoM in October.
New home sales declined 12% YoY, tied for the worst reading since 2011.
Yes, the housing market nationally remains in the doldrums.
1-unit detached housing starts in October declined 1.82% (and -2.6% YoY). But 5+ multifamily starts rebounded 6.19% MoM.
Rising costs and interest rates combined with the relative disappearance of subprime borrowers has led to a slowing in both single-unit and multifamily starts.
According to the National Association of Realtors, existing home sales for June declined for the third straight month.
What is unusual is that it is April, May and June. The year 2013 saw six straight months of declining home sales, but that was August 2013 through February 2014 (post peak season). June is typically the peak in a year for existing homes sales and median price.
For a few years now, I have been employing lumber prices as a leading indicator for what the homebuilding sector of the stock market would do, and it has worked pretty well. But lately the correlation is broken, with housing stock prices falling even as lumber said they were supposed to continue trending higher. So it's time to reevaluate the hypothesis about lumber giving a leading indication.
In the past, I have found that a lag time of just over a year worked to show how the HGX's movements tended to match the earlier ones in lumber. That is the correlation which has broken down recently. So I decided to see if perhaps the lag time had changed, or perhaps something else is going on.
Playing around with different lag times, I came up with this week's chart shown above. It features a lag time of only 55 trading days, which is about 2-1/2 months. For most of the period shown in this chart, this relationship seems to work, although the alignments of the highs and lows in each plot are not perfect. Sometimes it seems like a longer lag time would work better, sometimes a shorter one. 55 trading days seems to get the best overall fit.
That is, up until February 2018, when the relationship breaks down. That was the point for the HGX plot that is equivalent to when lumber futures prices went up above $450, and that seems to be what "broke" the correlation.
Will Higher Mortgage Rates Kill the Housing Market?
U.S. Mortgage Rates have risen for 9 consecutive weeks, hitting their highest levels since January 2014.
That certainly seems like a sharp increase, but is 4.46% high?
Only when compared to recent history, which includes the all-time low in yields from November 2012 (3.31%). In a historical context, mortgage rates today are still quite low.
How low? Lower than 85% of monthly data points going back to 1971. The median 30-year Mortgage Rate over that time: 7.70%.
Continue reading Will Higher Mortgage Rates Kill the Housing Market?
There is an interesting event coming to Washington DC — the 2018 Housing Wealth in Retirement Symposium brought to you by The Funding Longevity Task Force at The American College of Financial Services and the Bipartisan Policy Center (BPC).
The goal? The goal for the Symposium is to facilitate collaboration among stakeholders – including regulatory agencies, NGOs, and the financial services community – to address the under-utilization of housing wealth in retirement.
The speaker list is excellent. The Urban Institute's Laurie Goodman is the apparent headliner.
Here are my two cents (which has been devalued to less than a cent).
The American population is aging and many are entering retirement. But are they prepared?
First, The Federal government and its stakeholders have already tried to get more households to be stakeholders (that is, homeowners). And this happened.
Yes, the great leap forward in home ownership ultimately failed after almost reaching 70% before subsiding back to around 64%. That is, trying to get marginal households to switch from renting to owning. (By lowering credit standards and down payment requirements).


January is a time for leaders to prioritize objectives for the coming year which, in my experience, are best set by being open to new ideas and tackling big challenges.
The biggest of challenges for mainframe leaders is the growing skills shortage. While mainframes continue to run the most critical of enterprise applications, large numbers of professionals are aging out of the workforce while next-generation developers view the mainframe as a career limiting option.
However, the world beyond mainframe has changed and the next generation of developers are now DevOps natives with hands-on experience with powerful cloud and open source tools that address specific problems. These tools help them work smarter by automating more of the workload in a "shift-left" environment.
The lack of tool choice on the mainframe has become a real problem. In a recent survey by Stack Overflow, a site where modern devs congregate, 69% of those developing on the mainframe were not interested in continuing to do so. For those familiar with the new world, being restricted to mainframe native tools means being handcuffed.
In their recently published book, "Accelerate: The Science of Lean Software and DevOps", authors Nicole Forsgren, Jez Humble and Gene Kim highlight 24 key capabilities that, based on their research, improve software delivery in a significant way.
The research also indicates that job satisfaction depends strongly on having the right tools and resources to do the job well. The ability to exercise skills and judgement are key elements of meaningful work which, in turn, drive organizational performance. Work that next-generation devs know can be easily automated, or eliminated entirely, is not meaningful.
This research aligns with the Stack Overflow survey which also indicates developers are attracted by languages, frameworks and other technologies, second only to compensation and benefits in terms of job selection. And when you consider the wide universe of skills that LinkedIn tracks across all jobs, they identified Cloud Computing as the single most in-demand career skill. Attracting top talent means offering cloud-like skills.
Together with IBM and Rocket Software, we cofounded Zowe, an open source initiative within the Linux Foundation's Open Mainframe Project, to enable mainframe developers to use a broad array of modern tools and DevOps practices in their day-to-day work.
Zowe, along with our commercially-supported version called CA Brightside, allows mainframe developers to use tools like JEST & Mocha.js for test automation, Gulp for build scripting and Jenkins for CI/CD. A virtually unlimited range of desktop and cloud applications are available to those hungry to improve their productivity.
Not only do they see these tools as appealing from a career perspective, millennial developers are already familiar with scripting and command-line interfaces like Zowe/Brightside. These are now day one skills for DevOps Engineers.
Helping mainframe teams attract and retain the next-generation of talent by enabling tool choice, and the opportunity to exercise judgement that comes with it, motivates us. With Brightside and Endevor's Enterprise DevOps option, team members can build the skills they desire while continuing to work with mainframe native DevOps tools like Endevor, File Master Plus and OPS/MVS, protecting the existing investment.
The combination of in-demand cloud skills combined with the compute power of big iron presents an opportunity to which even the snarkiest of developers would offer a tip-of-the-hat.
And stayed tuned. In the coming days we'll introduce Brightside 2.0 which will bring another of the book's 24 key capabilities to the mainframe – Use a loosely-coupled architecture.
Know a next-generation mainframe developer? Have them try CA Brightside Community Edition for free.
1: Did you know "Endevor" is an acronym for Environment for Development and Operations?


South Dakota doesn't celebrate Columbus Day - instead, they celebrate Native American Day. While the rest of the country commemorates the arrival of Christopher Columbus and his three ships (which didn't even make it to America, btw), people in South Dakota honor the Indigenous peoples who were here long before Columbus.
The Black Hills Powwow, or He Sapa Wacipi as it is known in the Lakota language, is one of the biggest celebrations, coinciding each year with the weekend before Native American Day.
It is a competition powwow held in Rapid City. Besides dance and drum competitions, there are also a wide variety of other events, such as a youth day symposium, hang game tournament, Miss He Sapa Win Contest, and a Style Show.
Awe Man thats awesome! WHY DIDNT YOU POST THIS BEFORE COLUMBUS DAY???? I totally wouldve joined in. I was really conflicted Monday. It was a very relaxing day but I was like "should this Holiday feel this good. Its a celebration of so many bad things." Maybe they honor Columbus because he discovered the Americas. Just because he didnt make it to the continent he did cut a path over here. *shrugs* Any who, I will keep this post in mind next year. Up lifting the people who were here first.


text:
Home blog Coronavirus: Shatta Wale fulfils his promise, donates relief items to prisoners
blogEntertainmentLatest
Coronavirus: Shatta Wale fulfils his promise, donates relief items to prisoners
He might sound a bit aggressive and controversial on issues pertaining to Ghana showbiz industry but Shatta Wale has a big heart when it comes to supporting the needy.
In a bid to fulfil a promise he made a few days ago, the dancehall star donated some coronavirus relief items to prisoners to help fight the pandemic in the country.
The "Ayoo" hitmaker in an explosive live streaming video on Facebook which was targeted at Sarkodie and Reggie Rockstone a few days ago also revealed his intentions to donate food and other essential items to Ghana police service and prisoners.
He expressed his disappointment in some Ghanaian artiste (Criss Waddle and Medikal excluded) with their inability to help the government fight the spread of COVID-19 cases in Ghana which currently stands at 287.
Shatta Wale later in the video disclosed he will be making more donations to the Ghana Police Service and also to prisoners in support of the government help fight coronavirus.
And today, he fulfilled his promise by donating to prisoners.
He didn't reveal where he did the donation but shared photos from the event with the caption: "Just surprised these inmates in these difficult times. Let's continue to stay safe and think about the vulnerabilities in society and lend our little support any way we could. God bless us all! Keep your faith alive, all these shall pass."
Source: pulse.com.gh

redpajama_set_name: RedPajamaCommonCrawl


This listing is for 1 yard of beautiful Strung Chinese Rooster Saddles feathers. They are Dyed in black and cleaned, ready to be used. They are densely sewn together. One yard has approximately 500 feathers in them.
These feathers average in length from 4-6 inches. This style is sewn on the quill for easy application, but can be easily separated into individual feathers.
Feathers vary widely in shape and sizes. Expect some imperfect feathers as they packed by yard. Use these feathers for dream catcher, headdresses, costume and puppets.


text:
Top of Notices (74) December 28, 2021 US PATENT AND TRADEMARK OFFICE Print This Notice 1493 CNOG 138
(74)  Relief Available to Patent and Trademark Applicants, Patentees and
Trademark Owners Affected by Hurricane Sandy
The United States Patent and Trademark Office (USPTO) considers the
October and November 2012 effects of Hurricane Sandy in Connecticut,
Delaware, Massachusetts, New Jersey, New York, North Carolina,
Pennsylvania, Rhode Island, Maryland, Virginia, the District of Columbia,
and the Appalachian region to be an "extraordinary situation" within the
meaning of 37 CFR 1.183 and 37 CFR 2.146 for affected patent and trademark
applicants, patentees, reexamination parties, and trademark owners.
For patent applications and reexamination proceedings pending in the
USPTO as of October 29, 2012, having one or more inventors, an assignee, or
a correspondence address in areas of Connecticut, Delaware, Massachusetts,
New Jersey, New York, North Carolina, Pennsylvania, Rhode Island, Maryland,
Virginia, the District of Columbia, and the Appalachian region affected by
Hurricane Sandy, in which a reply or response to an Office action (final,
non-final, or other), a notice of allowance, or other Office notice
(hereinafter collectively referred to as "Office communication") is
outstanding, and for which the statutory or non-statutory time period set
for response has not yet expired, the USPTO will, on applicant's request,
or a reexamination party's request, withdraw the Office communication and
reissue it. The Office communication must have been outstanding on October
29, 2012. The request must be made prior to expiration of the statutory or
non-statutory time period set for response and within sufficient time so
that withdrawal and reissuance of the Office communication occur prior to
expiration of the statutory or non-statutory time period (as permitted to
be extended under 37 CFR 1.136(a), or as extended under 37 CFR 1.550(c) or
37 CFR 1.956). The request must be accompanied by a copy of this notice in
order to permit the Office to quickly identify it as a request for relief
and facilitate timely processing. The inclusion of a copy of this notice
will be treated as a representation that the need for the reissuance of the
Office communication was due to the effects of Hurricane Sandy in October
and November 2012. The request should be sent via EFS-Web or by mail
directed to Mail Stop Petition, Commissioner for Patents, P.O. Box 1450,
Alexandria, VA 22313-1450.
For patentees who were unable to timely pay a patent maintenance fee due
to the effects of Hurricane Sandy in October and November 2012, the USPTO
will waive the surcharge in 37 CFR 1.20(h) for paying a maintenance fee
during the six-month grace period following the window to pay the
maintenance fee and the surcharge in 37 CFR 1.20(i) for accepting a delayed
maintenance fee payment when the patentee files the maintenance fee payment
with a petition to accept a delayed maintenance fee under 37 CFR 1.378(c).
See 37 CFR 1.183.
Patentees who seek to pay a maintenance fee during the six-month grace
period following the window to pay the maintenance fee with a request to
waive the surcharge in 37 CFR 1.20(h), must mail the payment and request
to: Director of the United States Patent and Trademark Office, Attn:
Maintenance Fee, 2051 Jamieson Avenue, Suite 300, Alexandria, VA 22314; or
via facsimile to: 571-273-6500.
The request must be accompanied by a copy of this notice in order to
permit the Office to quickly identify it as a request for relief and
facilitate timely processing. The inclusion of a copy of this notice with
the payment of the maintenance fee during the grace period will be treated
as a representation that the late payment of the fee was due to the effects
of Hurricane Sandy in October and November 2012, and as a request for sua
sponte waiver of the surcharge under 37 CFR 1.20(h). This waiver may only
be appropriately requested where the original window of time to pay the
maintenance fee without the surcharge required by 37 CFR 1.20(h) expired on
or after October 29, 2012, and the delay in paying the fee was due to the
effects of Hurricane Sandy in October and November 2012.
Top of Notices (74) December 28, 2021 US PATENT AND TRADEMARK OFFICE 1493 CNOG 139
The USPTO advises patentees who need to file a petition to accept a
delayed maintenance fee payment due to the effects of Hurricane Sandy in
October and November 2012, where the maintenance fee payment was required
to have been paid after October 28, 2012, to promptly file a petition under
37 CFR 1.378(c) (using USPTO form PTO/SB/66 - Petition to Accept
Unintentionally Delayed Payment of Maintenance Fee in an Expired Patent (37
CFR 1.378(c)) accompanied by the applicable maintenance fee payment (but
not the surcharge under 37 CFR 1.20(i)) and a copy of this notice. The
inclusion of a copy of this notice will be treated as a representation that
the delay in payment of the maintenance fee was due to the effects of
Hurricane Sandy in October and November 2012, and as a request for sua
sponte waiver of the surcharge under 37 CFR 1.20(i). The petition must be
filed by October 29, 2013, in order to be entitled to a waiver of the
surcharge under 37 CFR 1.20(i).
Patentees are reminded that a petition to accept a delayed maintenance
fee payment under 37 CFR 1.378(c) must be filed within twenty-four months
from the expiration date of the patent. See 35 U.S.C. 41(c). A petition to
accept a delayed maintenance fee payment under 37 CFR 1.378(c) due to the
effects of Hurricane Sandy may be submitted via EFS-Web or by mail directed
to Mail Stop Petition, Commissioner for Patents, P.O. Box 1450, Alexandria,
VA 22313-1450. A petition to accept a delayed maintenance fee payment filed
later than twenty-four months after the expiration date of the patent must
be filed under 37 CFR 1.378(b) and include a showing that the delay in
payment was unavoidable. The USPTO will not waive the surcharge in 37 CFR
1.20(i) for accepting a delayed maintenance fee payment when the patentee
files the maintenance fee payment with a petition to accept a delayed
maintenance fee under 37 CFR 1.378(b).
For applicants who filed a nonprovisional application on or after
October 29, 2012, and prior to November 30, 2012, without an executed oath
or declaration or payment of the basic filing fee, search fee, and/or
examination fee due to Hurricane Sandy in October and November 2012, the
USPTO will waive the surcharge set forth in 37 CFR 1.16(f) for the late
filing of the oath or declaration or basic filing fee, search fee, and/or
examination fee. Patent applicants seeking waiver of the surcharge must
include a copy of this notice, along with the executed oath or declaration
or the basic filing fee, search fee, or examination fee, in order to permit
the Office to quickly identify it as a request for relief and facilitate
timely processing. The inclusion of a copy of this notice will be treated
as a representation that the late filing of the oath or declaration or the
basic filing fee, search fee, or examination fee was due to the effects of
sponte waiver of the surcharge under 37 CFR 1.16(f). The reply to the
Notice to File Missing Parts requiring the oath or declaration or the
filing fees may be submitted via EFS-Web or by mail directed to Mail Stop
Missing Parts, Commissioner for Patents, P.O. Box 1450, Alexandria, VA
22313-1450.
Patent-related inquiries concerning this notice may be directed to the
Office of Patent Legal Administration at (571) 272-7704 ((571) 272-7703 for
reexamination), or by e-mail to PatentPractice@uspto.gov.
For trademark applications and registrations with a correspondence or
owner address in areas of Connecticut, Delaware, Massachusetts, New Jersey,
New York, North Carolina, Pennsylvania, Rhode Island, Maryland, Virginia,
the District of Columbia, and the Appalachian region affected by Hurricane
Sandy in October and November 2012, in which an Office action (final,
requiring a response (hereinafter collectively referred to as "Office
communication") is outstanding, the USPTO will, upon request, withdraw the
Office communication and reissue it. The request must be made prior to the
deadline for responding to the Office communication, and represent that the
need for the reissuance of the Office communication is due to the effects
of Hurricane Sandy in October and November 2012. The request should be sent
via e-mail to TMFeedback@uspto.gov, or by mail to Commissioner for
Trademarks, P.O. Box 1451, Alexandria, VA 22313-1451. If necessary, changes
of correspondence address should be provided.
Sandy as of October 29, 2012, that were abandoned or cancelled due to
inability to timely respond to a trademark-related Office communication due
will waive the petition fee (set by regulation, rather than statute) to
revive the abandoned application or cancelled registration. Either a
petition by regular mail to the address set forth in the preceding
paragraph, or the Trademark Electronic Application System (TEAS) "Request
for Reinstatement" form should be used, and must include a verified
statement that the failure to respond to the Office communication was due
to the effects of Hurricane Sandy.
Trademark-related inquiries concerning this notice may be directed to
the Trademark Office of Petitions by telephone at (571) 272-8950, by
facsimile at (571) 273-8950, or by e-mail at TMFeedback@uspto.gov.
The USPTO cannot grant waivers or extensions of dates or requirements
set by statute. For example, the following patent-related time periods
cannot be extended by the Director: (1) the period set forth in 35 U.S.C.
119(a)-(d) to file a nonprovisional patent application claiming the benefit
of a prior-filed foreign application; (2) the twelve-month time period set
forth in 35 U.S.C. 119(e) during which a nonprovisional application
claiming the benefit of a prior filed provisional application must be filed
in order to obtain benefit of the provisional application's filing date;
(3) the copendency requirement of 35 U.S.C. 120 between a parent
application which issues as a patent and a later filed child application,
which requires that the child application be filed prior to issuance of the
parent application; (4) the three-month time period to pay the issue fee
set forth in 35 U.S.C. 151; (5) the 35 U.S.C. 304 two-month time period
from the date of patentee service, for a requester to file, in an ex parte
reexamination, a reply to a statement filed by the patentee; and (6) the
35 U.S.C. 314(b)(2) thirty-day time period from the date of service, for a
requester to file, in an inter partes reexamination, written comments
addressing issues raised by an Office action or the patentee's response to
the action. The following statutory trademark-related time periods cannot
be extended and statutory fees cannot be waived by the Director: (1) the
36-month period set forth in 15 U.S.C. 1051(d) within which a statement of
use must be filed and the associated fee(s); (2) the periods set forth in
15 U.S.C. 1058, 1141(k) for filing affidavits of continued use or excusable
nonuse and the associated fee(s); (3) the period set forth in 15 U.S.C.
1059 for filing a renewal and the associated fee(s); and (4) the periods
set forth in 15 U.S.C. 1063 and 1064 for filing an opposition or
cancellation proceeding at the Trademark Trial and Appeal Board.
November 21, 2012                                           DAVID J. KAPPOS
Under Secretary of Commerce for Intellectual Property and
Director of the United States Patent and Trademark Office


* critical metadata for the filesystem.
* Copyright 2000, 2001 by Theodore Ts'o.
fprintf(stderr, _(" %s -ra [ -cfnp ] [ -o src_offset ] "
* what is already on the disk.
* These set of functions are used to write a RAW image file.
printf(_("Corrupt directory block %llu: "
_("Stopping now will destroy the filesystem, "
fprintf(stderr, "%s", _("Warning: There are still tables in "
"the cache while putting the cache, "
"data will be lost so the image may "
* in the worst case.
* Put table from used list (used_head) into free list (free_head).
* l2_table is used to return pointer to the next used table (used_head).
* l2_table is used to return pointer to moved table.
* Returns 1 if the cache is full, 0 otherwise.
* means that we need to refcount it as well.
* block should not be created!
_("Programming error: multiple sequential refcount "
com_err(program_name, 0, "%s", _("-a option can only be used "
fprintf(stderr, "%s", _("\nRunning e2image on a R/W mounted "
"filesystem can result in an\n"
"inconsistent image which will not be useful "
_("while trying to convert qcow2 image"
fprintf(stderr, "%s", _("The -c option only supported "
fprintf(stderr, "%s", _("The -c option not supported "


Enjoy a 30 day risk free trial at Modibodi now.
Visit Modibodi and shop the popular classic collection online now.
Shop your essentials at Modibodi, and enjoy a 10% discount with the promo code when you spend over $100 on your order.
Check out the pieces now on offer in the Modibodi clearance – shop today!
Thanks to this discount code, you can save 15% off your order at Modibodi now!
For comfortable, stylish and of course practical underwear, shop online at Modibodi. And thanks to this promo code, you can save 10% off your order when you spend over $100, so what are you waiting for!
This discount code expired on 30/06/2018 AEDT.
Discover the practical Active range of Modibodi underwear online, and shop now.
This discount code expired on 17/05/2018 AEDT.
Shop online with Modibodi and enjoy free shipping on your order when you spend over $120!


These Healthy Halloween Apples are simply apples rolled in a date caramel and nutty mixture decorated with some edible funny looking eyes. Also, these are a much better option for you. They contain no refined sugar, less sugar than conventional desserts overall. In addition they are packed with vitamins, minerals and some good fats on top.
Yes people! It is that time of the year again. We need to get out of a very dusty cupboard the cheesy and kitsch looking Halloween decorations; at least in my household at my desperate sigh (most of my friends know very well the extensive collection of less than artistic decorations my husband likes to have). Coming back to food, in true style of The Organic Cookery, my contribution comes in the form of some amusing and more artistic looking recipes; you can have some fun with these this Halloween. Most of my recipes are really easy, quick and a much healthier alternative to your conventional recipes. Therefore, these healthy Halloween apples are no exception. The apples coated in delicious date caramel and sprinkled with hazelnuts and chia seeds take less than 15 min to do. They are amazing for kids and adult parties alike…or even as a winter snack/dessert. Plus it's even easy to do with your kids too at the weekend or half term.
I love the date caramel I used to brush the apples with. It is very easy to make and it is one step closer to natural; you do not need heat application but only a food processor to make it. To create a smooth creamy consistency I added almond yogurt, which is lower in saturated fat.
Why are these healthy Halloween apples better for you?
Yes, of course these healthy Halloween apples are better for you. So let's quickly look at why this is so.
APPLES – lovely apples, crisp and fresh and in season in the UK. Did you know that 90% of apples sold in the UK are imported? Next time when you do your shopping, check where the apples come from. It's a good exercise to do with all foods you buy. Here are the ones I used in this recipe, however you can also find organic British cox apples here and a pesticide free variety here. In order to get an organic certification, the land needs to be pesticide free for a minimum of 5 years. So until then you can only claim pesticide free.
DATES – I like to call them natural sugar as dates are high in glucose which will raise your blood sugar very quickly. In the long term the body will store excess glucose as fat deposits. However, I use dates in small quantities so it creates a bit of a balance. Plus the use of good fats (like nuts and seeds) will slow down the release of sugar.
HAZELNUTS – contain the amazingly Omega 3 fats which help in maintaining your heart healthy. Your skin will be healthier due to vitamin E content. The same vitamin is involved in digesting protein. Pregnant ladies benefit from the folic acid hazelnuts contain.
CHIA SEEDS – Just like hazelnuts they contain Omega 3 fatty acids. However, they also have calcium and magnesium which you keep your bones and teeth healthy. The gum-like fibre that activates when you soak the seeds for 1 hour will help keep your bowels in good shape.
ALMOND YOGURT – for this recipe I used almond yogurt. I have made a recent discovery in the form of this wonderful Nush yogurt. Usually you would use coconut milk to make date caramel and while coconut milk is a good alternative I prefer almond yogurt because it has less saturated fat. I had people asking me where you can get in and you can find it in all major supermarkets as well as health shops.
Make the caramel. De-stone the dates and add them to a food processor with an S blade along side all other ingredients for the caramel (yogurt, vanilla paste and pinch of salt). Blitz for 2-3 min min until you have a smooth paste. It will look like caramel and the taste is unbelievable.
Take the stem of the apples and give a wash and dry. Push the pop stick down in the place where the stem was until you get it through in the core. You will have to be forceful so hold the pop cake stick from half way down to ensure you are not bending it. Brush the apples all over with the date caramel. Be fairly generous.
Mix the crushed hazelnuts with the chia seeds. Holding the apples from the stick, roll them in the nut and seed mixture until coated all over. Using your finger, expose a bit of the apple skin where you would like to place the eyes. Brush the small roundels with extra caramel and stick the edible eyes. Repeat for all other apples. You can consume straight away but they will keep for a couple of days as it's only fruit, dried fruit and nuts. Best kept chilled.
Welcome to The Organic Cookery blog. Finally after a long year I have managed to put down my knowledge and thoughts about food, nutrition and healthy lifestyle in one place. Read more about me.
Welcome to The Organic Cookery blog. My name is Patricia and I hope that through my recipes and my blog posts I get you closer to your healthy self. For me wellness is a combination of what I like to call "the trinity of life": healthy eating, exercising and healthy mindset. Read more.
Copyright 2016 - The Organic Cookery. All Rights Reserved.


In a sea of stunning show cars, a burned-out Maybach turned lots of heads at SEMA.
Owned by Barrett-Jackson CEO Craig Jackson, this Bugatti is more about sending messages than showing off.
What started as a mere Ferrari 458 Spider now has a $40K body kit & 4.5L V8 twin-turbo kit for maximum show-stopping.
6SpeedOnline is on the scene at SEMA, bringing you the best custom and luxury rides.


Free Auto, Home, Condo, and Renter's Insurance quotes!
Iowa State University - Ames B.S.
Our mission is to help our customers manage everyday risks. We strive to be the preferred choice for all your insurance needs. Our office focuses on Car Insurance, Homeowner's Insurance, Condo Insurance, and Renter's Insurance throughout Cedar Rapids, Marion, Hiawatha, Robins, and surrounding areas in Linn County.
Work with Shawn DeVries in Cedar Rapids, IA to get a business insurance quote and choose what products are right for you.
Shawn DeVries in Cedar Rapids, IA offers a State Farm® Personal Articles Policy. Add this to your property insurance to help cover your personal property against theft, accidental damage, or loss.
Ready to get started? Shawn DeVries in Cedar Rapids, IA can help you learn about State Farm Bank® and mobile banking.
State Farm® offers various types of affordable family health insurance. Shawn DeVries in Cedar Rapids, IA can help you choose the health insurance plan that's best for you.
Talk to Shawn DeVries in Cedar Rapids, IA to get annuity information and find the fund that meets your needs.
Contact Agent Shawn DeVries in Cedar Rapids, IA for investment information.
There's a lot to learn when you're getting started with life insurance. When you're ready, Shawn DeVries in Cedar Rapids, IA is here to help.
Shopping for car insurance? Shawn DeVries in Cedar Rapids, IA is one of more than 18,000 State Farm® agents nationwide who can help keep you and your family covered with quality auto insurance. You can talk to an agent at any time.
Make the move with Shawn DeVries in Cedar Rapids, IA to protect your home and family. Plus, save money when you have both car and home insurance with us.
There's a lot to learn when you're getting started with life insurance. When you're ready, Shawn DeVries in Cedar Rapids, IA is here to help.


text:
Former Cardinals kicker Phil Dawson retires
Former Cardinals kicker Phil Dawson retires 0 Comments Share "He's explosive," Arizona Cardinals linebacker Karlos Dansby said of Williams. "He's very decisive in the way he wants to go with the ball. He's a downhill runner. His ability to one cut and go fits in well with that offensive scheme."It fits in well, largely because Mike Shula's unit isn't solely dependent on Williams' production. In addition to the former Pro Bowler, the Panthers have a ground-and-pound bruiser in fullback Mike Tolbert (19 rushes for 53 yards and a touchdown), a veteran wide receiver, Steve Smith, who keeps corners and safeties honest (14 catches for 143 yards and a touchdown) and a 6-foot-5 quarterback, Cam Newton, who is as strong as he is fast (16 rushes for 98 yards and a touchdown, including a season-high seven carries for 45 yards in Week 3)."The biggest thing for them is their quarterback," Cardinals head coach Bruce Arians said. "When you have a quarterback that's big and strong, it's like trying to bring down a tight end. When he fakes he makes everyone cautious. You can't play good run defense cautious. That's the thing a running quarterback like Cam Newton makes you do." Top Stories Derrick Hall satisfied with D-backs' buying and selling Although the Cardinals haven't gone up against a three-pronged rushing attack like they'll face Sunday at University of Phoenix Stadium, their ability to stop the run has been a strong point through the first four weeks of the season.Arizona is currently second in the league in rushing defense, allowing 75 yards per game, and has yet to allow a 100-yard performance to any one person in 2013."We're just challenging each other," said Dansby. "We're challenging each other here in the locker room to be solid and stout against the run, to be accountable, to stand up, do your job and do it well. If we continue to hold each other accountable, we can put performances like [the previous four games] together." TEMPE, Ariz. — The Carolina Panthers come to town Sunday afternoon with a rather one-dimensional offensive attack. It just so happens, though, that their one dimension — the run game — has been dominant so far this season.Through the first four weeks of 2013, the Panthers have the third-highest rushing average (151.0 yards/game) in the NFL, and running back DeAngelo Williams trails only LeSean McCoy and Adrian Peterson in the same individual category (97.0 rushing yards/game). The 5: Takeaways from the Coyotes' introduction of Alex Meruelo Defensive coordinator Todd Bowles said Thursday that when game planning against Newton and Co. it's almost a matter of picking your poison.The only problem with that, however, is that Carolina often disguises its various poisons by running the read option.Last season, the Panthers ran a league-high 81 plays out of the read option, and according to STATS, they are on pace to shatter that total this season.So how do you limit a multifaceted ground game?"Any run game, the way to stop it is great penetration," Cardinals defensive end Calais Campbell said. "Really you have to make them stop and start their feet a bunch. If you get to a running back's feet and make them change direction, it's harder for them to continue to make plays."What if one of those talented backs also moonlights as a 245-pound quarterback who can beat you with his arm (threw for over 400 yards during his last trip to Glendale) and his legs (23 rushing touchdowns in 35 career games) out of the read option?"It's tough," said Campbell. "Every team that does the read option is tough. You almost have to put eight men in the box, but that's when they start using that read option pass to eat you up a little bit. The biggest thing is being disciplined, somebody has the back and somebody has the quarterback. As long as you know who has who, you should be fine." Grace expects Greinke trade to have emotional impact
August 11, 2019 admingjbjlzms上海419论坛CD, 上海419龙凤I, 上海楼凤MC, 上海水磨会所KP, 上海水磨会所ME, 上海龙凤419RE, 上海龙凤419XN, 南京夜网IO, 济宁桑拿, 爱上海VY
Previous Previous post: Williams a running back comes over from the Minn
Next Next post: Top Stories


0.44 carat, Fancy Intense Yellow, Asscher shape Diamond with SI1 clarity. A sweet Yellow Diamond with a fine Canary color tone. Clrity graded by our GIA GG Graduate Gemologist. For more information about this item please contact our customer service department.


text:
Press Releases and News Notes
B-roll and photos
Data on children
UNICEF Executive Director Henrietta H. Fore
Press centre home
Unexploded ordnance and landmines killing more children in Yemen
SANAA, 20 April 2012 – UNICEF expressed grave concern today that children are increasingly becoming victims of landmines and unexploded ordnance.
In the first three months of 2012 alone, 13 children were reported killed and another 12 maimed by unexploded ordnance or mines in 12 reported incidents.
In 2011, unexploded ordnance or mines reportedly left 28 children killed and nine maimed. These included 18 children killed and four injured in a single incident at an ammunition factory blast in the Abyan governorate in March last year.
"These figures are extremely alarming," said Geert Cappelaere, UNICEF Representative in Yemen. "The casualties for just the first three months of 2012 are fast approaching the total for 2011."
Earlier this week, three children were also killed by a roadside bomb in the eastern province of Hadramout. According to government officials, the children were on their way to school.
"UNICEF is deeply disturbed by these developments and strongly urges the transitional government and all relevant parties in Yemen to guarantee, at all times, the safety of all children and their unhindered access to basic social services," said Mr. Cappelaere.
"Children represent over half the population of Yemen and it is our collective responsibility to ensure the fulfillment of their rights and protection," he added.
UNICEF works in 190 countries and territories to help children survive and thrive, from early childhood through adolescence. The world's largest provider of vaccines for developing countries, UNICEF supports child health and nutrition, good water and sanitation, quality basic education for all boys and girls, and the protection of children from violence, exploitation, and AIDS. UNICEF is funded entirely by the voluntary contributions of individuals, businesses, foundations and governments. For more information about UNICEF and its work visit: www.unicef.org
Alison Parker, Chief of Communication, UNICEF Yemen Country Office, Tel + 967 737-523-048,
aparker@unicef.org
Peter Smerdon, Chief Media Relations, UNICEF New York, Tel + 1 212 303 7984, psmerdon@unicef.org


This is an American Canoe Association Instructor Certification Workshop beginning with Level I Introduction to Canoeing and progressing through Level 2 Essentials of River Canoeing Instructor Certification combined with an ACA Skills Assessment for River Canoe Day-trip leading. This is a 3-day workshop preparing and then assessing and certifying candidates. If you're interested in participating in this course, contact us.


Deportment of Gold and Silver in the Pinos Altos . - SAIMMsulphide and non sulphide minerals, the presence of preg- robbers, cyanide and oxygen-consuming gangue minerals, and the presence of slow-dissolving gold minerals (Zhou,. Jago and Martin, 2004). Processing inefficiencies that can affect gold recovery are the fineness of the grind achieved in the mill, the gold leaching.recover of chlorargyrite in mill circuit,Dissolve Gold and Silver with Cyanide - 911 MetallurgistMar 17, 2017 . The cyanide can and will also react with other undesirable metals and is essentially wasted. Therefore, if excess cyanide is not added to the leach circuit, the amount of available or free cyanide' decreases, limiting gold and silver dissolution. For this reason, free cyanide is added continuously at the ball mill.
3.4 Techniques used in the Mineralogical characterisation for ore, mill product and flotation products… ... Figure 2.23: A) Recovery of chlorargyrite; B) Recovery of acanthite; and C) Recovery of .. Figure 2.4: Schematic figure of various types of silver as microscopic and sub-microscopic forms (after Marsden and. House.
Aug 28, 2014 . purpose grinding machine Newest Crusher, Grinding Mill . Grinding Machine. SpecialPurpose Grinding Machines. From internal, to multihead, to wafer, rib, and groove grinders, Koyo has a grinding machine that can fit your . Read more; Used Multi Purpose Grinding Machines for sale. Honda . Search 14.
Full-Text Paper (PDF): Deportment of gold and silver in the Pinos Altos composite and leach residues: Implications for recovery improvement. . in the mill, the gold leaching process selected (almost. universally cyanide, although other lixiviants ... a gravity circuit to recover these particles, so it is not. necessary to design for.
EPD is used for recovery of pristine undamaged crystals of diamond, emerald, ruby, sapphire etc, including large crystals. It was tested .. Figure 2: Generalized circuit diagram of electric-pulse disintegration apparatus. showing ... make analysis of losses in tailings from concentration mills; analysis of Au & PGM in placers.
recovery. Efforts to recover silver from complex sulphide concentrates therefore require an understanding of the chemical behaviour of silver in the pressure .. according to Wyslouzil and Salter (1990). Mineral. Composition. Extraction. Extraction. (Leaver and Woolf). (Leaver, Woolf and Karchmer). Chlorargyrite. AgCl.
Apr 9, 2013 . gold that has been sourced from old fabricated products, that has been recovered and refined back into bars. It does .. crusher circuit. Crushed ore is then ground in a semi-autogenous grinding (SAG) mill and sent through cyclones. The oversize is sent to a ball mill, while the undersize is sent to the CIL.
sulphide and non sulphide minerals, the presence of preg- robbers, cyanide and oxygen-consuming gangue minerals, and the presence of slow-dissolving gold minerals (Zhou,. Jago and Martin, 2004). Processing inefficiencies that can affect gold recovery are the fineness of the grind achieved in the mill, the gold leaching.
Mar 19, 2017 . The presence of free gold offers opportunity to recover these values in the grinding circuit so that the gold could be amalgamated, and marketed directly to the mint. The ore as . The cyclone underflow represents feed to the Ball Mill which operates in closed circuit with the same pump-cyclone installation.
Mar 17, 2017 . The cyanide can and will also react with other undesirable metals and is essentially wasted. Therefore, if excess cyanide is not added to the leach circuit, the amount of available or free cyanide' decreases, limiting gold and silver dissolution. For this reason, free cyanide is added continuously at the ball mill.
Influence of pre-aeration on cyanide leaching of a non-refractory .
Cyanidation has been in use for recovering gold for almost a century due to its advantages such as simplicity and .. 80% Au and 20-80% Ag), calaverite (AuTe2, ~37% Au), chlorargyrite (AgCl), argentite (Ag2S), and . The representative sample was ground below 100 µm using a ring mill for the agitation leaching tests.
solution. Carbon particles loaded with gold are removed from the slurry by screening and are transferred to the gold recovery circuit where the gold is stripped from the carbon by a solution, plated onto a cathode by electrowinning, and melted into doré bars for shipment to a refiner. Mill tailings are detoxified and transferred.
Jun 6, 2016 . Surface-mined ore reported to a single-stage semi-autogenous grinding (SAG) mill at a rate of 8000 t/day. The thickened pulp was then subjected . This led to the third stage of the cobalt recovery circuit where cobalt hydroxide was precipitated using magnesium oxide. The resultant cobalt hydroxide cake.
of potential wealth that are not produced through the circuit of capital. (M-C-M´). This is the .. chlorargyrite, the silver was smelted in the small guayras with relative ease. (Cieza de Leon 1553: 335-36). Soon ... population had declined from 160,000 to 70,000 and its mills declined from 120 to just 40, was drawing timber.
Dec 18, 2017 . FDS_PEA_NI43-101_2CF022.000_Rev8_20171218. December 2017. Recovery Methods. The Filo del Sol Project includes two adjacent mining areas: Filo del Sol and Tamberias. Process feed from the two areas will be processed at 50,000 tpd by either two conventional heap leach circuits or an on/off.
It was necessary to identify its recovery mechanisms so that the appropriate solution can be selected. In this study .. sample was dry-ground in a laboratory mill to pass a 0.5 mm sieve. Natural weathering .. separation of waste printed circuit boards by an inflatable liquid-solid fluidized bed, Journal of China. University of.
Feb 24, 2012 . include the pre-treatment of olive mill wastewater (Lucas & Peres, 2009), the treatment of ... (AMD)—Flotation circuit effluents from copper mine via Fenton's process and pointed out that heavy metals in . crystalline phases HgCl (calomel) and AgCl (chlorargyrite) was identified in both residues. The three.
Dec 14, 2012 . FIGURE 8-1: SCHEMATIC GEOLOGICAL CROSS-SECTION SHOWING GEOLOGICAL SETTINGS OF SOME MEXICAN SILVER . FIGURE 13-5: COMPARISON OF HOT CYANIDE AG RECOVERY % VERSUS BOTTLE ROLL RECOVERY. .. After mining is completed, the plant will continue to mill.
Schematic vertical section depicting the intensity of hydrothermal .. The recovery rate in this unit was 27% and the sericite concentrate would contain 31.9% Al2O3 and. 0.16% Fe2O3, in addition to which it would be possible to obtain a .. passed to a rubber-lined ball mill, also of the overflow type, which used 35 mm.
This completed the southern circuit of railroads, providing not only the second .. millsites were patented, but the records are not always clear as to what kind of mill, if any, was established or if the .. deposit. Low concentrations of silver and gold are present in most deposits and can be recovered as by-products by.


text:
Best Hikes in LA
Trails for Dogs
Trails for Bikes
Trails to Waterfalls
Monterey County (Including Big Sur)
Ventura County (Including Ojai)
Summit Valley Edmund D. Edelman Park
in the Santa Monica Mountains
Los Angeles | Trails Comment | Trail Rating:
Summit Valley Edmund D. Edelman Park preserves 652 acres at the top of Topanga Canyon that were saved from development. Hikers can explore a couple loops through the main area of the park. For a short 1.65-mile hike with 190 feet of elevation change, try Edelman North Loop, which goes along the valley floor before circling back along a wildflower-covered ridge.
For a longer 2-mile hike with 410 feet of elevation change, get higher views on a second loop from Summit Valley up to Summit to Summit Motorway, a dirt road that goes along the ridge at the top of Summit Valley. Both loops provide scenic perspectives down Summit Valley toward Topanga and have excellent wildflower viewing in season. Along with these two hikes, nearby Viewridge Trail crosses the less visited east side of Summit Valley Edmund D. Edelman Park toward a Canyon Overlook.
The official map for Summit Valley Edmund D. Edelman Park gives an incomplete view of the park's trails, showing only one loop. The loop at the center of the park, referred to as Edelman North Loop, relies on sections of trail that are not well established. Along with thin trails, there are no markers at junctions, so attention is needed when hiking in Summit Valley.
Start from a trailhead along Topanga Canyon Boulevard. Descend into the valley on a wide jeep trail. Cross a dry creek bed at the bottom of the valley and begin up the other side (ignoring a path that parts to the left and heads south down the valley). As you turn uphill, come to the first of two neighboring junctions, 0.22 miles from the start. For the shorter loop (Edelman North Loop), bear right at the first junction to head up the valley. You will come to the second junction, which is 50 yards straight ahead, at the end of the loop. For the longer hike up to Summit to Summit Motorway, you should continue straight (stay to the left) through both junctions.
Edelman North Loop Trail
Edelman North Loop
Heading north from the first junction, the single track trail stays close to the bottom of the valley, passing grassy slopes, oaks, and walnut trees. When Summit Valley is green at the end of the winter wet season, this is a lovely place to hike. Lupines are abundant along the trail, adding purple patches to the green grasses.
Lupines along the trail
The trail ascends gradually and, at 0.7 miles from the trailhead, you will come to an unmarked split. Bear left to continue with the loop. Another trail, which appears to be more established, drops into a eucalyptus grove to the right and winds its way up to Topanga Canyon Boulevard near an intersection with Viewridge Road. This connector trail is a third of a mile long and provides views down Summit Valley from a lupine-covered hillside. From the intersection at the top of the trail, it is a half mile walk up Viewridge Road to the top of Viewridge Trail on the east side of Summit Valley Edmund D. Edelman Park.
Bypass the connector trail and stay to the left past the eucalyptus grove. Almost immediately, there is another trail split. A path to the right heads up the end of a ridge. Bear left to stay on Edelman North Loop Trail. After these two splits, the trail is quite faint.
Edelman North Loop Trail heads through brush to the back of a ridge-framed canyon. Another path heads up the canyon to the right. Bear left to stick with the loop, which turns south and rises gradually along the side of the ridge. The narrow trail cuts across a grassy slope right through patches of lupines that bloom in the early spring. Look down on the first half of the loop trail in the valley below or look across the valley toward Topanga Canyon Boulevard.
Edelman North Loop Trail crosses a lupine-covered slope
The trail rounds a crease on the ridge, crosses a draw, and then ascends through brush. At 1.22 miles from the start, the faint loop trail comes to a T-junction with a well-worn trail running down the ridge that cuts down the center of Summit Valley. Looking back, the trail you came up may be hard to spot among the tall grasses (a good reason to hike the loop in this direction). If you turned right up the ridge, you could extend the hike by venturing up to Summit to Summit Motorway, which runs along the back of the park. Otherwise, continue with the shorter loop and turn left down the ridge.
A California walnut tree along the trail
A short way farther, the trail passes an alluring California walnut tree just off the trail. This is a scenic spot to pause and enjoy a panoramic view down Summit Valley. The trail descends for another 0.15 miles, offering more views looking down the valley toward Topanga.
When you reach a junction at the bottom of the ridge trail, turn left and walk 50 yards to the junction where the loop began. Continue straight to walk back up to the trailhead to complete this 1.65-mile hike in Summit Valley Edmund D. Edelman Park.
The basic directions for Edelman North Loop are:
Descend from the trailhead and cross the creek bed at the bottom of the valley (0.2 miles)
Make the first right turn to start the loop (0.22 miles)
Bear left at a split to avoid dropping into a eucalyptus grove. (0.7 miles)
Stay to the left at another split with a path going up a ridge (0.72 miles)
Turn left down the ridge at the center of Summit Valley (1.22 miles)
Descend past a walnut tree at a scenic spot on the ridge (1.25 miles)
Turn left at a junction at the bottom of the ridge trail (1.4 miles)
Close the loop and continue straight through the junction where you originally turned right (1.43 miles)
Return to the trailhead (1.65 miles)
Sunflowers in Summit Valley
Loop to Summit to Summit Motorway
For the slightly longer loop in Summit Valley Edmund D. Edelman Park, make the same descent from the trailhead on Topanga Canyon Boulevard. Stay to the left past the first junctions at the bottom of the valley (the start of North Edelman Loop Trail). Walk 50 yards farther to the second junction, 0.25 miles from the trailhead, where the longer loop begins.
You can hike the loop in either direction, but it may be easiest to travel in a clockwise direction. Therefore, proceed straight (staying to the left) to start the loop. The trail heads northwest along a grassy hillside. Drop across a gully through a strip of brush and hike up the grassy slope on the other side. If you are lucky enough to by hiking this trail from February to April, the bloom of lupines in the surrounding grasses could be abundant.
The trail through lupines on the west side Summit Valley
Pushing up the side of the valley, the grasses give way to thicker chaparral. The flowers remain present though; bush sunflowers bloom bright. The trail climbs 275 feet to the rim of Summit Valley, 0.75 miles from the trailhead. Definitely look over your should for a broad perspective southeast the toward Topanga and the mountains beyond in Topanga State Park.
Looking down Summit Valley
Once it levels out, the trail comes to a junction with Summit to Summit Motorway. Turn right to hike 0.3 miles on this road before returning to Summit Valley Edmund D. Edelman Park. Summit to Summit Motorway is a 3.2-mile long mostly unpaved road that crosses the top of a ridge between the high points of Old Topanga Canyon Boulevard and Topanga Canyon Boulevard (hence the name Summit to Summit).
After a quarter mile on Summit to Summit Motorway, pass a holding tank on the left and reach a split in the trail. Straight ahead, the motorway comes to a T-junction. Bear right at the split (or at the T) to continue up the trail. Around the next bend, a short tower appears, framed by a square chain-link fence. Leave the road and walk along a line of trees out to the tower. On the far side of the tower, you'll find a trail heading down the spine of the ridge that runs up the center of Summit Valley. This is the return route, so turn down the trail and leave Summit to Summit Motorway.
The ridge trail back into Summit Valley
There are a few bumps in the ridgeline with little flat steps that deliver broad views toward Topanga and this picturesque part of the Santa Monica Mountains. Bush sunflowers line this ridge as well. Mountain bikers have built a couple jumps on the trail.
Almost half a mile from the top of the ridge, a faint path joins the ridge trail on the left. This is Edelman North Loop Trail, which could be used to hike a bit farther in Summit Valley. Continue down the ridge to a lovely California walnut tree on the right side of the trail that is accompanied by nice views over Summit Valley.
Continue another 0.15 miles down to the end of the trail at the bottom of the ridge, returning to the junction where the loop started. You have now hiked 1.75 miles. Turn left and hike a quarter mile up out of the valley to the trailhead on Topanga Canyon Boulevard to complete this 2-mile hike in Summit Valley Edmund D. Edelman Park.
The basic directions for the loop to Summit to Summit Motorway are:
Stay to the left through the first junction (0.22 miles)
Stay to the left through a second junction at the start of this loop (0.25 miles)
Ascend to the rim of the valley (0.75 miles)
Turn right on Summit to Summit Motorway (0.8 miles)
Turn right before a T-junction in Summit to Summit Motorway (1.05 miles)
Leave the road and walk to the tower at the top of the ridge trail back down to Summit Valley (1.1 miles)
Pass a faint junction with Edelman North Loop Trail (1.57 miles)
Pass a walnut tree at a scenic spot on the ridge (1.6 miles)
Turn left at the junction at the bottom of the ridge trail (1.75 miles)
Continue straight past Edelman North Loop Trail (1.78 miles)
Return to the trailhead (2 miles)
All junctions in Summit Valley Edmund D. Edelman Park are unmarked, so do your best to stay on track. New growth can crowd the trails during the early months of the year. A $5 fee is charged to park a vehicle at the trailhead (as of 2015). There is a bathroom at the trailhead and a picnic table a short distance down the trail. Dogs (on leashes) and bikes are allowed, so get out and enjoy!
To get to the trailhead: The parking area for the trailhead is located on the inside of a bend on the west side of Topanga Canyon Boulevard (Route 27), 4.1 miles south of the 101 Freeway (0.7 miles south of the intersection with Viewridge Road) and 8.3 miles north of Pacific Coast Highway (4 miles north of the intersection with Old Topanga Canyon Road). There is a gate and an iron ranger at the top of the trail. Roadside parking is not permitted along Topanga Canyon Boulevard.
Trailhead address: North Topanga Canyon Boulevard, Topanga Canyon, CA 90290
Trailhead coordinates: 34.12738, -118.59877 (34° 07′ 38.56″N 118° 35′ 55.57″W)
View Santa Monica Mountains in a larger map
Click or hover over any spot on this elevation profile to see the distance from the start and elevation above sea level at that location, which will be highlighted on the map.
You may also view a regional map of surrounding Los Angeles trails and campgrounds.
Connector Trail to Viewridge Road
These photos were taken in March of 2015. Click to enlarge.
Viewridge Trail
This 3-mile hike in Summit Valley Edmund D. Edelman Park travels down a canyon on Viewridge Trail (also known Santa Maria Canyon Trail) to Summer Hill Ranch Road where there are sweeping views over Topanga and the Santa Monica Mountains from Canyon Overlook.
Summit to Summit Motorway
This mostly unpaved road along the ridge between the tops of Old Topanga Canyon Road and Topanga Canyon Boulevard provides a 6 to 6.6-mile hike with panoramic views over the Santa Monica Mountains and the San Fernando Valley (with the potential for shorter and longer hikes).
Vanalden Cave
This 0.6-mile round trip hike visits a unique sandstone cave that you can stand inside and above. The hike can be extended to 1.55 miles round trip to visit a nearby vista point with a panoramic perspective of the Santa Monica Mountains.
Eagle Rock from Trippet Ranch
This 4.5-mile loop takes Musch Trail and Eagle Springs Fire Road to visit an exceptional sandstone summit in Topanga State Park.
Parker Mesa Overlook from Trippet Ranch
This 6.7-mile round trip hike heads up to an incredibly scenic overlook from Topanga State Park's main trailhead.
Hondo Canyon
This section of the Backbone Trail crosses fields of grains and forests of bays, climbing 1,550 feet over 3.8 miles to a small ocean view. Extend the hike to Topanga Lookout for an incredible perspective over the Santa Monica Mountains.
The trails in the beautifully sculpted Red Rock Canyon are 2.5 and 5.2 miles in length.
Calabasas Peak from Old Topanga Canyon Road
This 4.2-mile hike on Calabasas Peak Motorway approaches Calabasas Peak from the northeast, providing big views over Topanga and other parts of the Santa Monica Mountains.
Calabasas Peak via Calabasas - Cold Creek Trail
This 4.5-mile round trip hike starts up a scenic single track formerly know as the Secret Trail and ascends 750 feet to the summit of Calabasas Peak.
More trails in the Santa Monica Mountains
Explore other destinations in the range.
Summit Valley in Afoot and Afield: Los Angeles County by Jerry Schad
A Los Angeles Times article about Summit Valley Edmund D. Edelman Park
Edelman North Loop Trail on trails.lacounty.gov
Summit Valley (loop to Summit to Summit Motorway) on nobodyhikesinla.com
A video of Summit Valley by the Mountains Recreation and Conservation Authority on youtube.com
The official directions and trail map for Summit Valley Edmund D. Edelman Park
The official MRCA webpage for Summit Valley Edmund D. Edelman Park
OK! Add to trails I want to hike Tagged with · Mountains Recreation and Conservation Authority · Summit Valley · Summit Valley Edmund D. Edelman Park · Topanga · Dog-Friendly Trails · Mountain Biking Trails · Santa Monica Mountains
Created by Seth Smigelski
Copyright © hikespeak.com
Ask a question or share your experience Cancel reply
Notice: It seems you have Javascript disabled in your Browser. In order to submit a comment to this post, please write this code along with your comment: 63b822df81b75f9710c71f0817ae9306
Go the extra miles...
Submit a rating of this hike to go with your comment. Contribute to the average trail rating.
California → Los Angeles
About This Hike
Distance: 1.65 - 2 miles (lollipop loops)
Elevation change: 190 feet
Hiking time: Approx. 45 minutes
Location: Topanga, CA
Open to: Hikers, dogs, bikes
Fees & Permits: Parking fee
Directions: Get to the trail
Map & Profile: Plot this trek
Vicinity: Find nearby hikes
Custom directions:
Share this hike:


text:
A few passing clouds, otherwise generally clear. Low near 45F. Winds light and variable..
A few passing clouds, otherwise generally clear. Low near 45F. Winds light and variable.
(L to R) Todd Thompson, Heather Stricker, Mike Yarema, Jake Chapman, Jacob Brown.jpg
Gaslight Theatre serves up holiday magic with 'Elf'd'
Emily Dieckman, Special to Tucson Local Media
Wearing a Santa Claus outfit and a smile so big and sincere that we could see it through her mask, our waitress at the Gaslight Theatre asked us if we were celebrating anything special this evening.
"Just Christmas!" I exclaimed, probably obnoxiously but definitely in the spirit of the Gaslight Theatre, where Christmas is in full swing. And thank goodness. I think we could use as much holiday cheer as we can get, this year.
Dudley the Elf, the protagonist of The Gaslight Theatre's current show, "Elf'd," would almost certainly agree with me. No one, we are reminded throughout the show, has as much Christmas spirit as Dudley. This parody is based on the beloved Christmas movie "Elf," which tells the story of a human raised by elves who must learn to navigate the mean streets and brightly lit shopping malls of New York City. With a new plot and its own special Gaslight Theatre twist, this show—written by Peter Van Slyke and directed by Katherine Byrnes—brings the characters and the spirit of the original film to life.
As Dudley, actor Jake Chapman brings all the naïve enthusiasm we know and love from the movie, and ALMOST brings back some of its most memorable phrases. When he's frustrated with himself, he calls himself a "fluffer nutter noodle noggin." When he's trying to save Christmas, he reminds himself of one of elfhood's most important rules: "If you want to spread Yuletide spirit, say 'Merry Christmas!' for all to hear it."
As the show begins, Santa explains he is concerned about being able to fly his sleigh this year, because it's powered by Christmas spirit—a commodity in increasingly short supply. Dudley has gathered up all his favorite things about Christmas, all those that bring him the most holiday cheer, and put them into a bottle which Santa can use as fuel. But when Wally the greedy elf (Jacob Brown) gets ahold of it and flees to New York, there's trouble: Wally wants to work with a giant, money-hungry toy manufacturer to get Santa's workshop shut down and replaced with a corporate toy factory. It wouldn't be a classic Christmas tale without the forces of capitalism lurking, would it?
Wally wears a pointy green elf hat, which, in order to blend in in NYC, he later replaces with a fedora and a green blazer. His color scheme, combined with his obsession with a secret formula in a little bottle and general shrillness, make his character reminiscent of Plankton, owner of the Chum Bucket in Spongebob Squarepants. His "grumpy wumpy grouchy pants" vibe makes a great counter to Dudley's never-wavering, Spongebob-like cheer.
Armed with the knowledge that he's not the elf he thought he was, but still dressed in full elf garb, Dudley follows Wally to New York via beluga whale, where he attempts to get back his magic Christmas potion and to eat pieces of candy he finds on the sidewalk. On his journey, he encounters wacky characters that range from a Salvation Army Santa Claus to a woman also dressed as an elf to a cleaning lady with a big secret. Heather Stricker and Erin Thompson were both particularly funny in their roles as two women trying their best to keep all of this chaos organized.
As usual, the musical numbers throughout the show don't disappoint, surely thanks to musical direction by Linda Ackerman and choreography by Katherine Byrnes. I had to laugh when they did their own version of "Christmas Is All Around," the song Bill Nighy's rockstar character sings in the film "Love, Actually." And when they did a version
of "YMCA" called "SANTA," even the teenage boy at the table next to us was laughing and clapping along. Do you know how hard it is to get a teenage boy to exhibit enthusiasm? Leave it to the Gaslight to make true holiday magic happen.
Elf'd
Musical presented by Presented by Gaslight Theatre
7010 E. Broadway Blvd.
Monday through Sunday through Jan. 2.
$27 adults, $25 for students/seniors/military, $15 for kids 2 to 12.
This Week's Explorer


text:
Pelosi Stops Short of Calling for Dem Congresswoman's Resignation After Mishandling of Abusive Staffer
Why Supply Chain Issues Will Likely Get Worse
Lauretta Brown
Posted: Apr 02, 2018 4:40 PM
House Minority Leader Nancy Pelosi (D-CA) acknowledged in a statement Monday that Rep. Elizabeth Esty (D-CT) "did not protect" her former staffer Anna Kain by not dismissing her top adviser, Tony Baker, for three months after learning that he had punched and threatened to kill Kain, who he had once dated.
However, Pelosi did not call for Esty's resignation and said that Esty "appropriately requested" an expedited review by the Ethics Committee.
Esty, an outspoken advocate of the "MeToo" movement, helped secure Baker a job at the gun control group Sandy Hook Promise with a letter of recommendation, according to a report from The Washington Post. He also received $5,000 in severance.
Kain gave The Washington Post a copy of a voicemail in which Baker told her: "You better f-----g reply to me or I will f-----g kill you."
Esty is now calling for the House Ethics Committee to review the matter.
"Although we worked with the House Employment Counsel to investigate and ultimately dismiss this employee for his outrageous behavior with a former staffer, I believe it is important for the House Ethics Committee to conduct its own inquiry into this matter," she said in a statement. "It certainly was far from a perfect process – and I would appreciate their advice, counsel, and review. I have apologized for my mistakes in the handling of this matter. I feel terribly for the victim of abuse. In seeking this inquiry, I want to clarify whether there was any wrongdoing on my part."
"None of our staff deserve to be harassed or treated with disrespect as some of my staff were," Esty also said in a letter to House Democrats, obtained by Fox News. "I was horrified and angry to learn that someone I put my trust into could victimize a member of my staff, someone I respect and care deeply about."
Esty says she plans to reimburse the U.S. Treasury for Baker's $5,000 severance.
Update: Rep. Esty announced via Facebook late Monday afternoon that she will not be seeking re-election at the end of this year.
"I have determined that it is in the best interest of my constituents and my family to end my time in Congress at the end of this year and not seek re-election," she wrote. "Too many women have been harmed by harassment in the workplace. In the terrible situation in my office, I could have and should have done better. To the survivor, I want to express my strongest apology for letting you down."
House Ethics Committee
How Many Democrats Want Biden to Run for Reelection?
Madeline Leesman


text:
<?php

namespace mpf\base;

use mpf\interfaces\TranslatorInterface;
use mpf\translators\Exception;
use mpf\translators\None;

trait TranslatableObjectTrait
{

    /**
     *
     * @var TranslatorInterface;
     */
    private $_translator;
    public $translator = None::class;

    /**
     * Set a new translator. Can be sent as class name or class instance;
     * @param string|TranslatorInterface $class
     * @throws Exception
     */
    public function setTranslator($class)
    {
        if (is_string($class)) {
            $this->_translator = new $class;
        } else {
            $this->_translator = $class;
        }
        if (!is_a($this->_translator, TranslatorInterface::class)) {
            $this->_translator = null;
            throw new Exception("Invalid translator $class!  Must implement " . TranslatorInterface::class . '!');
        }
        $this->translator = $class;
    }

    /**
     * Return instance to translator
     * @return TranslatorInterface
     * @throws Exception
     */
    public function getTranslator(): TranslatorInterface
    {
        if (!$this->_translator) {
            if ($this->translator) {
                $class = $this->translator;
                $this->_translator = $class::get();
                if (!is_a($this->_translator, TranslatorInterface::class)) {
                    $this->_translator = null;
                    $this->translator = '';
                    throw new Exception("Invalid translator $class!  Must implement " . TranslatorInterface::class . '!');
                }
            }
        }
        return $this->_translator;
    }

    /**
     * Translate a piece of text
     *
     * @param string $text
     * @return string
     * @throws Exception
     */
    public function translate(string $text): string
    {
        $translator = $this->getTranslator();
        if (!$translator) {
            return $text;
        }
        return $translator->t($text, get_class($this));
    }

}


"Whoa, you're asking me?" Kate asked jokingly.
"What's a food threshold?" Dave asked.
"At a certain low level no food is dangerous, even the toxic puffer fish, but above that level, that puffer fish can kill you," Kate said dramatically. "Many types of common carbohydrates and foods containing saturated fats have low threshold levels, especially processed foods and sugary drinks. Try eating one french fry or one potato chip, or one sip of a smoothie?" Kate shook her head. "It's so easy to go over the quantity threshold with these foods that I just try to avoid them most days, and that strategy works for me. Fortunately, there are many healthy foods – like spinach, vegetables, and omega-3 foods – that have such high thresholds you can eat much more of them and be safe.
"You got it! That's it," Kate said as they returned to work.
There are five steps for successful nutrition management. Dave's lunch with Karen illustrates the first one: learn everything you can about foods and continue to learn because new information about healthy foods becomes available every day. Learn about the good carbohydrates like vegetables, legumes, fruits, whole grains, and fiber. Learn about the carbohydrates that in low amounts can cause an insulin surge and cortisol release, which leads to increased fat deposition and to high triglycerides, which in turn causes inflamed arteries. This is the so-called glycemic effect of foods. Saturated fats at high levels cause inflamed arteries, which contribute to heart attacks and strokes. Learn about healthy proteins like quinoa and whey isolate, and be careful about the company some proteins keep like the fatty fried skin with the chicken or the darkened portion of fish. Learn to eat to your high-energy level, when you just start to feel full, rather than to your over-stuffed, low-energy level.
Second, understand your nutrition inventory and diagnostic process. Body weight is the easiest, but when you add weight circumference and percent body fat measurements, you'll have a more complete picture about your health-risk zone. Understand the diagnostic process for the diagnosis of weight-related complications such as diabetes, hypertension, and heart disease. Third, know your management and treatment options. There are many approaches for weight loss including pills, diets, and weight-loss programs. Know the benefits and the risks, including the long-term, 20-year risk. Know the benefits and risks of medications used for treatment of overweight-related illnesses.
Fourth, monitor your nutrition status. Use weight, waist circumference, and percent fat measurements. Write them down or keep track of them with a computer. Ask yourself three questions. 1.) Are you improving? If so, stay the course. 2.) Are you the same? If so, give it time and repeat the question. 3.) Are you worse? If so, meet with your nutritionist to find out why, or if you have a medical condition, you may need to go see a doctor, even go to the emergency room.
Fifth, create a healthy and empowering environment for healing by healthy eating, regular exercise, and a regular sleeping schedule. Use the power of your mind. Approach the situation in a positive way. Use visualization, compassion toward yourself and your body, and controlled breathing. Your mind has a powerful influence on your health, and your body has an almost unlimited ability to heal itself. You need to learn how to let this happen. You can manage your nutrition better than anyone else. Your chance of success is unlimited.
There are more stories like this one in the new "Boss" book by Dr. Epler: Food: You're the Boss.