text:
Business and Creativity Go Hand in Hand: Q&A with Kern Carter
September 13, 2022 by Kristen Tsetsi 4 Comments
Author Kern Carter (@KernCarter) discusses his journey from being self-published to having two books slated for publication from Scholastic and Penguin/Random House, what he learned about marketing—and the market—as a self-published author, his views on the relationship between the art and the business of writing, and more.
Kern Carter was born in Trinidad and raised in Toronto, Canada. He is a full-time writer and founder of CRY Creative Group, whose mission is to build and inspire a community of emerging writers connected by the power of vulnerability and creativity. Kern is the author of Boys and Girls Screaming and the forthcoming novels Is There a Boy Like Me and And Then There Was Us. He has previously self-published two titles.
KRISTEN TSETSI: "I've always known that I wanted to be an author," you write in the Medium post I'm Writing for My Life. Do you remember when being an author first struck you as a goal so real and powerful that you made a list of publishers you someday wanted to publish with?
KERN CARTER: Yes, I do. I was at my mother's house in my early 20s. I had just started writing my first novel, Thoughts of a Fractured Soul, and was dreaming about what it would be like when I was a "real" author.
Amazon • Bookshop
Back then, I had this little yellow book where I would write down all of my future goals. But since (in my mind) being an author was my biggest goal, I wrote it down on a calendar the size of a bristol board and posted it at the foot of my bed. And I couldn't just be any author, so I wrote the top five publishers that I wanted to write for, and Penguin/Random House was at the top of my list.
I'm proud to have gotten here because writing has been my companion since my earliest memories. The thought of being a novelist was always at the back of my mind, but it took Toni Morrison for me to launch it to the front. I reread Beloved and was absolutely blown away by how beautiful and painful and shocking the writing was. I was literally jealous of how good Morrison wrote and how her novel made me feel. I thought to myself: I want to make other people feel like this. That was the real trigger to starting my professional journey as a novelist.
What subject matter interested you when you first started writing creatively? Do you remember what your first book—which you said you wrote when you were eight—was about? And do you still have it?
Haha yes, the first book I ever wrote was called The Battle. It was a Lion King type of story with talking animals dealing with drama in the forest. My mom says she has it hidden away somewhere LOL.
My early writings always favoured fiction, but I also wrote a lot of poetry. When I started blogging, I had no direction. Anything that came to my mind, from sports to the welfare system in Canada, made its way into my writing.
"Publishers are set up to make money," you said in an interview with Dr. Onye Nnorom on her "Race, Health, and Happiness" podcast. "In their mind, their biggest audience is white women. So if a book diverts away from that audience, they feel like, 'Mm, I don't know, that's a risk for me to take.' They say that to even put a Black person on the cover of a book would diminish how much the book would sell. That's where we're at in publishing."
It was your awareness of this inevitable difficulty that helped guide your decision to self-publish your first two novels, but you also thought of those two books, you said, as a way to get more practice writing novels, as well as to establish a platform. Practice is one thing; publishing that practice with your name on it for public consumption is something else entirely and would scare almost anyone. What made you confident that your books were ready for whatever fate they would meet in the sometimes harsh world of readers, a world where you hoped to create this platform?
Any fear that I felt in presenting my first two books to the world was overcome by my dream of being an author. And to be completely honest, as much as I was fully aware that those books were practice, confidence was never an issue.
Growing up, my older brother was one of the top high school football players in all of North America. He got a full scholarship to Stanford University, then achieved his dream of playing in the NFL. I mention this because I came from a home where I saw dreams come true. Being witness to something like that didn't just make me believe, it made me expect greatness from myself. So even back then, my goal was (and still is) to touch the world with my words. And when I say world, I mean that literally. I want my stories to be read from people all over the world, and I felt that way with my very first novel.
You've said you sold two thousand copies of your first, self-published, novel. How did you reach so many readers, and what advice would you give other self-publishers having difficulty marketing their work?
I reached most of those readers through the school board in Toronto. To be fully transparent, I didn't really know what I was doing. I tried a lot of different marketing strategies and most of them didn't work. For example, I had this idea that taking out ads in small-town newspapers would get me attention. I figured it would be less expensive and have a bigger payoff if a small group of readers knew me. I tried that for a while and monitored my book sales; nothing. I also tried doorhandle ads (I don't know if that's the formal name for them). Basically, I went door to door in different areas and left a postcard-sized advertisement of my first novel. That didn't work, either.
But once I started reaching out to high school teachers and telling them about how I could use the themes of my novel to teach their students, it opened up an entire audience for me. I started with the teachers I knew, then got recommendations for more teachers. I also cold-emailed principals, as well. I found their contact info on LinkedIn and sent dozens of emails. Somewhere in my files is a list of all the high schools in Toronto.
To be honest, I don't think 2,000 books is a lot, though. For me, it was a good first step, but my goal was to wake up and write books and not do anything else, so I was really hard on myself and didn't really see selling that many books as success. My advice to self-published authors is to find or build community. If you focus on that, then selling books becomes a whole lot easier because you don't need to convince anyone to buy it.
If you're in the right community, they'll see the value and want to support you. It's funny, because for all of the querying I've done, I got my first agent through networking. I went to a book reading, and the host recognized me because I had been to a few of her events. She sparked up a conversation, and I told her that I'm an author who has sold a couple thousand books independently. For whatever reason, she opened her heart and her "black book" and introduced me to who would become my first agent. So yeah, networking does work!
Another thing: please, please, please study the publishing industry. It's not an accident that Boys and Girls Screaming became my first traditionally published novel. Before that happened, I dedicated my evenings to studying publishing. Which books were selling the most every week? Who was getting book deals? What kind of books were they writing? What trends did I discover?
Studying the industry made me aware of all of these things and gave me an understanding of what it would take to make my manuscript a commercial success. And I know some authors might be cringing at the word "commercial," but I didn't sacrifice an ounce of creativity when writing Boys and Girls Screaming. In fact, it's probably my most creative novel and the story where I had to use my imagination the most.
You'd written that book quickly so you could get it to a conference and pitch it to agents, you said in an interview, so it makes sense that implementing those changes wouldn't be too painful. However, imagine another novel you've had the time to carefully (and many times) revise to turn it into exactly what you wanted it to be. Can you imagine being so connected to the writing that certain requested changes would be unacceptable, or is your personal philosophy that the business and the creative simply go hand-in-hand, no matter what?
Through studying the publishing industry, I know for a fact that business and creativity go hand in hand. I just want to be clear here: for some writers, their goals aren't as ambitious as mine. They don't necessarily want to be bestsellers or even full-time authors. But my goal is to sell books, and since that's my goal, it means that I have no choice but to consider the business side of things.
But that doesn't limit my creativity in any way. The challenge is to create a body of work that can be both fulfilling to me as a writer and commercially viable to a publisher. As long as the changes make the story better and are aligned with the soul of the characters, I'm fine with it.
What mistake(s) did you make as a self-published author that others might learn from?
I made a lot of mistakes, but one stands out the most: I didn't promote my first novel long enough and consistently enough.
After the first six months, I thought that I did enough work to gain an audience, but the truth is that six months is not enough time. The promotion of your novel, especially as an unknown, indie author, must be constant. You can do it in different forms, such as passively through blogging or a newsletter, but you must always be in promotion mode. That includes both before your novel is released and after. No lead time is too far out. I started promoting my second novel two years before I published it.
From the time you had the vision board with your list of publishers on it until the day you were told the Penguin/Random House imprint Tundra wanted your novel And Then There Was Us, you must have imagined what it would be like to get that call, or that email. How did you imagine the process unfolding (including how you imagined you would feel when and if it finally happened), and how has reality compared?
Yes, I imagined that feeling almost every day (no exaggeration). I knew I would get emotional, and I always imagined it being a phone call. And the reality of me getting the news happened almost exactly how I thought it would. The only difference being I was in public at a cafe, and so I kind of hid my face when the tears came.
To be honest, I also cried when I got my first publishing deal (with Cormorant) and my second deal (with Scholastic). I love my self-published books, but there is something incredibly powerful about imagining something for so long and then it actually happening.
The funny thing is that getting a deal and then signing a deal are two different things.
I have an agent, so when I first get the email or call saying XYZ publisher wants to purchase your manuscript, the actual details of what that means takes some negotiating. The royalties are fairly standard with all three of my publishers (between 8%-15% depending on several factors), but we had to figure out how much my advance would be, who owned the film rights and what percentage, and negotiate something called mechanical rights, which is too complex to get into details.
By the time I receive my signing bonus, which is payment for signing the contract [the first installment of the advance], it's usually months after actually committing to the deal. And in the case of Scholastic and Tundra/PRH, my novel won't be released until 2024, which is two years after signing the deal. That is also when I will receive the final payment of my advance, which is split into portions and handed out in accordance to milestones.
After you self-published Thoughts of a Fractured Soul, that you had a book in the world looked like success to other people, you said, but it wasn't quite the success you wanted: "I was one block closer but the sky was still so far away." Now that you have deals with Scholastic and Penguin, would you say you've touched the sky, or does the idea of what the sky is push farther out as goals are achieved?
I think signing with Penguin/Random House gets me closer to what I envision as success, just like signing my second book deal with Scholastic did. My goal is to be a full-time author and sell millions of books.
I know how that sounds, and I know a lot of authors have that goal. But for me, there is no alternative. I wake up every morning and think about what I need to do to be one of the top authors in the world. And just like a doctor or lawyer has a defined path to obtaining success in their careers, I apply that same rigor and discipline to writing. I write every single morning, I educate myself by studying the craft, and I gauge my progress.
Again, where I am now is not an accident. I planned to be here and plan to be a bestselling author. It's not just a dream, it's a mission.
You're obviously already on track, but considering writing is a more subjective and finicky business than is being a doctor or lawyer, do you ever have moments of doubt?
Yes, for sure. I've had many moments where I doubted whether I would ever be published or build up enough of an audience. Doubts are normal. When I lost my first agent, that really shook me. I thought I was so close, then when we split, I honestly didn't think I had any energy left to continue the chase. But for me (and maybe this is just me), quitting just wasn't an option. I wasn't just dreaming of being an author, I was preparing for it. So in my mind, it was never a matter of if, it was always just when.
Prayer and meditation really helped during these down times. I spent a lot of time in silence, my hands folded, sitting with my own thoughts.
Your focus in your novels is largely YA, and young adulthood is a time of high passions, high drama, and uncomfortable changes of all kinds that generate deep, powerful feelings. You also created the publication CRY Magazine on Medium, taglined "Creativity + Emotion," whose goal is "to build a community of emerging creatives who are connected by the power of vulnerability and creativity. We emphasize the emotional aspects of the creative process." What draws you to exploring and exposing all of this emotion?
I became a parent at 18 years old (my daughter is 20 now), so that time in my life was the most tumultuous. I have so many experiences from those teenage and young adult years that the emotions just come pouring out in the form of stories. It's almost like I'm writing to my younger self. All of the struggles and doubts and fears I had are infused into my novels. And since there's no way to actually go back in time and change any of my decisions, I hope young people read my stories and see themselves clearly.
I mean, look at the titles of my books. Boys and Girls Screaming, Thoughts of a Fractured Soul, Beauty Scars, Is There a Boy Like Me, And Then There Was Us. These titles alone are a journey through my adolescence. It's my reflections told through fictional tales.
And while my novels are a fictional expression of those emotions and experiences, CRY is a real-life reflection of the journey of being a parent and becoming a writer. It started out as a personal blog. I'd write about all the frustrations I was going through to achieve my goals. Then I thought that if I'm going through these things and feeling these emotions, maybe other people are, too. So I opened it up for other people to share their stories, and that's how CRY Magazine was born.
In a novel writing class you took, you said in the "Race, Health, and Happiness" interview, some of your classmates didn't understand how your novel's character could be on government assistance and also have a car. They thought you should change it, or explain it in the story. You disagreed, you said, because the audience you were writing for would know how assistance worked and would know your character could both be on assistance and have a car.
I've seen a lot of authors asking on Twitter, "If I wrote X in my novel, would you understand what it means?" This suggests they think it's important that readers immediately recognize all references and that they don't trust their readers to either figure them out through context, look them up, or learn more about them in some other way, all of which I'd always taken for granted were part of the reader's job.
When do you think it makes sense to explain to readers, and what is it not the writer's job to explain?
Great question, and to be honest, there's no clear answer. Part of your job as a writer is to use your instincts. You have to make decisions within your book that aren't part of some template, and the only way to make those decisions is to use your gut. What I would say is to always focus on the characters. If it makes sense for the characters, then you're probably in the right place.
One bit of feedback you said you received from a publisher was that you didn't include enough trauma—understood to mean Black trauma—in the story. A recent NPR interview with Black romance novelists revealed that they'd received the same curious feedback: where's the trauma? Why do you think predominantly white publishers, or at least publishers catering to a white audience, expect/want/need Black characters in fiction to experience what they would estimate to be an adequate amount of Black trauma for the story to be successful?
I think Black trauma sells. Look at rap music, look at the most popular Black-led movies. It's something audiences have grown accustomed to seeing and Black creators have grown far too comfortable creating.
Your truth is your truth and I don't want to tell anyone what stories to tell, but I would say that there are many sides to our experiences as a Black community. I met an Indigenous, Canadian author named Maria Campbell. She wrote this incredible memoir called Halfbreed that's full of traumatic events. However, when meeting her, she said her hope was that future authors would write about the joyous moments of the Indigenous community's experience.
I agree with that sentiment and would add that there are many ways to create tension in a novel without stereotypical trauma. For example, in my upcoming novel for Scholastic, Is There a Boy Like Me, the protagonist is dealing with the pressure from his family and his peers to live up to an expectation he never embraces. There are elements of that tension that can be amplified because of his race, such as the common stereotypes placed on Black men, but trying to fit in or live up to a standard set by your parents or peers is broad enough that you can take it in so many different directions, and the direction I chose for this story, specifically, was toxic masculinity.
My point is that you should tell whatever story you want, but think about your story as adding to the canon of literature. How are you elevating the art form or adding stories with so much value that they have no choice but to be read?
In the same conversation about your experiences with publishing, you say that even though your characters are Black, your stories aren't about race, but, "even so, even with that kind of perspective, it's still complicated because they're looking at it as, 'Who is going to enjoy this? Who is going to read this book?' Ignoring the fact that there are millions of Black readers that would love this book, and ignoring the fact that there are millions of Asian readers over here that would love this book."
One of the oft-mentioned benefits of fiction is its ability to transport readers into worlds they'd never enter on their own, to meet people or bear witness to experiences they wouldn't otherwise have access to. At the same time, there's a push for relatability in characters. "I want to read about people like me." What are your feelings about what fiction is for, or where it has value?
You nailed it! Fiction is for entering into worlds that surprise or intrigue or frighten you. It allows you to get lost in those worlds and learn some deep truths about yourself or other communities you may not have found without reading.
I choose not to make race the central themes of my stories because those aren't the stories that get me excited. There's so much more I want to explore and will continue to explore that I find far more interesting. And that's another benefit of fiction that is helpful to the writer. I get to express myself in creative ways that I could never do through conversation. For me, writing is a sacred practice. I've learned so much about myself by writing these stories, so I actually think there's equal benefit for readers and authors.
Kristen Tsetsi
Kristen Tsetsi is the author of the post-Roe v. Wade novel The Age of the Child, called a novel "for right now" and "scathing social commentary." She's a former adjunct English professor, former reporter/columnist/feature writer for a daily newspaper, former writing instructor, and a former editor of the literary journal American Fiction (New Rivers Press). She lives in Connecticut.
Categories Author Q&A, Guest Post


text:
Last name: Athy
This most interesting surname is of Anglo-Saxon origin, originating as a topographical name for someone who lived by an enclosure, from the Olde English pre 7th Century "aet" (Middle English "at"), meaning "at", and "hay, hey", meaning enclosure; hence, "at the enclosure". Modern variants of the surname include Athy and Atty. Topographical surnames, such as this, were among the earliest created, since both natural and man-made features in the landscape provided easily recognisable and distinguishing names in the small communities of the Middle Ages. The surname itself first appears in the late 13th Century (see below). Early recordings of the surname from London Church Registers include: the marriage of Alexander Attie and Agneta Lucke at St. Andrews, Enfield, on February 2nd 1561; the marriage of Johane Attie and Roger Tisdale at St. Gregory by St. Paul's Church, on April 28th 1566; and the christening of Henry Athie at St. Giles Church, Cripplegate, on August 13th 1592. The first recorded spelling of the family name is shown to be that of Lecia Ateheye, which was dated 1279, in the "Hundred Rolls of Cambridgeshire", during the reign of King Edward 1, known as "The Hammer of the Scots", 1272 - 1307 Surnames became necessary when governments introduced personal taxation. In England this was known as Poll Tax. Throughout the centuries, surnames in every country have continued to "develop" often leading to astonishing variants of the original spelling.
Surname scroll for: Athy

redpajama_set_name: RedPajamaCommonCrawl


text:
package com.android.layoutlib.bridge;

import com.android.ide.common.rendering.api.Capability;
import com.android.ide.common.rendering.api.DrawableParams;
import com.android.ide.common.rendering.api.Features;
import com.android.ide.common.rendering.api.LayoutLog;
import com.android.ide.common.rendering.api.RenderSession;
import com.android.ide.common.rendering.api.Result;
import com.android.ide.common.rendering.api.Result.Status;
import com.android.ide.common.rendering.api.SessionParams;
import com.android.layoutlib.bridge.impl.RenderDrawable;
import com.android.layoutlib.bridge.impl.RenderSessionImpl;
import com.android.layoutlib.bridge.util.DynamicIdMap;
import com.android.ninepatch.NinePatchChunk;
import com.android.resources.ResourceType;
import com.android.tools.layoutlib.create.MethodAdapter;
import com.android.tools.layoutlib.create.OverrideMethod;
import com.android.util.Pair;

import android.annotation.NonNull;
import android.content.res.BridgeAssetManager;
import android.graphics.Bitmap;
import android.graphics.FontFamily_Delegate;
import android.graphics.Typeface_Delegate;
import android.icu.util.ULocale;
import android.os.Looper;
import android.os.Looper_Accessor;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;

import java.io.File;
import java.lang.ref.SoftReference;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.Arrays;
import java.util.Comparator;
import java.util.EnumMap;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.locks.ReentrantLock;

import libcore.io.MemoryMappedFile_Delegate;

import static com.android.ide.common.rendering.api.Result.Status.ERROR_UNKNOWN;
import static com.android.ide.common.rendering.api.Result.Status.SUCCESS;

/**
 * Main entry point of the LayoutLib Bridge.
 * <p/>To use this bridge, simply instantiate an object of type {@link Bridge} and call
 * {@link #createSession(SessionParams)}
 */
public final class Bridge extends com.android.ide.common.rendering.api.Bridge {

    private static final String ICU_LOCALE_DIRECTION_RTL = "right-to-left";

    public static class StaticMethodNotImplementedException extends RuntimeException {
        private static final long serialVersionUID = 1L;

        public StaticMethodNotImplementedException(String msg) {
            super(msg);
        }
    }

    /**
     * Lock to ensure only one rendering/inflating happens at a time.
     * This is due to some singleton in the Android framework.
     */
    private final static ReentrantLock sLock = new ReentrantLock();

    /**
     * Maps from id to resource type/name. This is for com.android.internal.R
     */
    private final static Map<Integer, Pair<ResourceType, String>> sRMap =
        new HashMap<Integer, Pair<ResourceType, String>>();

    /**
     * Same as sRMap except for int[] instead of int resources. This is for android.R only.
     */
    private final static Map<IntArray, String> sRArrayMap = new HashMap<IntArray, String>(384);
    /**
     * Reverse map compared to sRMap, resource type -> (resource name -> id).
     * This is for com.android.internal.R.
     */
    private final static Map<ResourceType, Map<String, Integer>> sRevRMap =
        new EnumMap<ResourceType, Map<String,Integer>>(ResourceType.class);

    // framework resources are defined as 0x01XX#### where XX is the resource type (layout,
    // drawable, etc...). Using FF as the type allows for 255 resource types before we get a
    // collision which should be fine.
    private final static int DYNAMIC_ID_SEED_START = 0x01ff0000;
    private final static DynamicIdMap sDynamicIds = new DynamicIdMap(DYNAMIC_ID_SEED_START);

    private final static Map<Object, Map<String, SoftReference<Bitmap>>> sProjectBitmapCache =
        new HashMap<Object, Map<String, SoftReference<Bitmap>>>();
    private final static Map<Object, Map<String, SoftReference<NinePatchChunk>>> sProject9PatchCache =
        new HashMap<Object, Map<String, SoftReference<NinePatchChunk>>>();

    private final static Map<String, SoftReference<Bitmap>> sFrameworkBitmapCache =
        new HashMap<String, SoftReference<Bitmap>>();
    private final static Map<String, SoftReference<NinePatchChunk>> sFramework9PatchCache =
        new HashMap<String, SoftReference<NinePatchChunk>>();

    private static Map<String, Map<String, Integer>> sEnumValueMap;
    private static Map<String, String> sPlatformProperties;

    /**
     * int[] wrapper to use as keys in maps.
     */
    private final static class IntArray {
        private int[] mArray;

        private IntArray() {
            // do nothing
        }

        private IntArray(int[] a) {
            mArray = a;
        }

        private void set(int[] a) {
            mArray = a;
        }

        @Override
        public int hashCode() {
            return Arrays.hashCode(mArray);
        }

        @Override
        public boolean equals(Object obj) {
            if (this == obj) return true;
            if (obj == null) return false;
            if (getClass() != obj.getClass()) return false;

            IntArray other = (IntArray) obj;
            return Arrays.equals(mArray, other.mArray);
        }
    }

    /** Instance of IntArrayWrapper to be reused in {@link #resolveResourceId(int[])}. */
    private final static IntArray sIntArrayWrapper = new IntArray();

    /**
     * A default log than prints to stdout/stderr.
     */
    private final static LayoutLog sDefaultLog = new LayoutLog() {
        @Override
        public void error(String tag, String message, Object data) {
            System.err.println(message);
        }

        @Override
        public void error(String tag, String message, Throwable throwable, Object data) {
            System.err.println(message);
        }

        @Override
        public void warning(String tag, String message, Object data) {
            System.out.println(message);
        }
    };

    /**
     * Current log.
     */
    private static LayoutLog sCurrentLog = sDefaultLog;

    private static final int LAST_SUPPORTED_FEATURE = Features.RECYCLER_VIEW_ADAPTER;

    @Override
    public int getApiLevel() {
        return com.android.ide.common.rendering.api.Bridge.API_CURRENT;
    }

    @Override
    @Deprecated
    public EnumSet<Capability> getCapabilities() {
        // The Capability class is deprecated and frozen. All Capabilities enumerated there are
        // supported by this version of LayoutLibrary. So, it's safe to use EnumSet.allOf()
        return EnumSet.allOf(Capability.class);
    }

    @Override
    public boolean supports(int feature) {
        return feature <= LAST_SUPPORTED_FEATURE;
    }

    @Override
    public boolean init(Map<String,String> platformProperties,
            File fontLocation,
            Map<String, Map<String, Integer>> enumValueMap,
            LayoutLog log) {
        sPlatformProperties = platformProperties;
        sEnumValueMap = enumValueMap;

        BridgeAssetManager.initSystem();

        // When DEBUG_LAYOUT is set and is not 0 or false, setup a default listener
        // on static (native) methods which prints the signature on the console and
        // throws an exception.
        // This is useful when testing the rendering in ADT to identify static native
        // methods that are ignored -- layoutlib_create makes them returns 0/false/null
        // which is generally OK yet might be a problem, so this is how you'd find out.
        //
        // Currently layoutlib_create only overrides static native method.
        // Static non-natives are not overridden and thus do not get here.
        final String debug = System.getenv("DEBUG_LAYOUT");
        if (debug != null && !debug.equals("0") && !debug.equals("false")) {

            OverrideMethod.setDefaultListener(new MethodAdapter() {
                @Override
                public void onInvokeV(String signature, boolean isNative, Object caller) {
                    sDefaultLog.error(null, "Missing Stub: " + signature +
                            (isNative ? " (native)" : ""), null /*data*/);

                    if (debug.equalsIgnoreCase("throw")) {
                        // Throwing this exception doesn't seem that useful. It breaks
                        // the layout editor yet doesn't display anything meaningful to the
                        // user. Having the error in the console is just as useful. We'll
                        // throw it only if the environment variable is "throw" or "THROW".
                        throw new StaticMethodNotImplementedException(signature);
                    }
                }
            });
        }

        // load the fonts.
        FontFamily_Delegate.setFontLocation(fontLocation.getAbsolutePath());
        MemoryMappedFile_Delegate.setDataDir(fontLocation.getAbsoluteFile().getParentFile());

        // now parse com.android.internal.R (and only this one as android.R is a subset of
        // the internal version), and put the content in the maps.
        try {
            Class<?> r = com.android.internal.R.class;
            // Parse the styleable class first, since it may contribute to attr values.
            parseStyleable();

            for (Class<?> inner : r.getDeclaredClasses()) {
                if (inner == com.android.internal.R.styleable.class) {
                    // Already handled the styleable case. Not skipping attr, as there may be attrs
                    // that are not referenced from styleables.
                    continue;
                }
                String resTypeName = inner.getSimpleName();
                ResourceType resType = ResourceType.getEnum(resTypeName);
                if (resType != null) {
                    Map<String, Integer> fullMap = null;
                    switch (resType) {
                        case ATTR:
                            fullMap = sRevRMap.get(ResourceType.ATTR);
                            break;
                        case STRING:
                        case STYLE:
                            // Slightly less than thousand entries in each.
                            fullMap = new HashMap<String, Integer>(1280);
                            // no break.
                        default:
                            if (fullMap == null) {
                                fullMap = new HashMap<String, Integer>();
                            }
                            sRevRMap.put(resType, fullMap);
                    }

                    for (Field f : inner.getDeclaredFields()) {
                        // only process static final fields. Since the final attribute may have
                        // been altered by layoutlib_create, we only check static
                        if (!isValidRField(f)) {
                            continue;
                        }
                        Class<?> type = f.getType();
                        if (type.isArray()) {
                            // if the object is an int[] we put it in sRArrayMap using an IntArray
                            // wrapper that properly implements equals and hashcode for the array
                            // objects, as required by the map contract.
                            sRArrayMap.put(new IntArray((int[]) f.get(null)), f.getName());
                        } else {
                            Integer value = (Integer) f.get(null);
                            sRMap.put(value, Pair.of(resType, f.getName()));
                            fullMap.put(f.getName(), value);
                        }
                    }
                }
            }
        } catch (Exception throwable) {
            if (log != null) {
                log.error(LayoutLog.TAG_BROKEN,
                        "Failed to load com.android.internal.R from the layout library jar",
                        throwable, null);
            }
            return false;
        }

        return true;
    }

    /**
     * Tests if the field is pubic, static and one of int or int[].
     */
    private static boolean isValidRField(Field field) {
        int modifiers = field.getModifiers();
        boolean isAcceptable = Modifier.isPublic(modifiers) && Modifier.isStatic(modifiers);
        Class<?> type = field.getType();
        return isAcceptable && type == int.class ||
                (type.isArray() && type.getComponentType() == int.class);

    }

    private static void parseStyleable() throws Exception {
        // R.attr doesn't contain all the needed values. There are too many resources in the
        // framework for all to be in the R class. Only the ones specified manually in
        // res/values/symbols.xml are put in R class. Since, we need to create a map of all attr
        // values, we try and find them from the styleables.

        // There were 1500 elements in this map at M timeframe.
        Map<String, Integer> revRAttrMap = new HashMap<String, Integer>(2048);
        sRevRMap.put(ResourceType.ATTR, revRAttrMap);
        // There were 2000 elements in this map at M timeframe.
        Map<String, Integer> revRStyleableMap = new HashMap<String, Integer>(3072);
        sRevRMap.put(ResourceType.STYLEABLE, revRStyleableMap);
        Class<?> c = com.android.internal.R.styleable.class;
        Field[] fields = c.getDeclaredFields();
        // Sort the fields to bring all arrays to the beginning, so that indices into the array are
        // able to refer back to the arrays (i.e. no forward references).
        Arrays.sort(fields, new Comparator<Field>() {
            @Override
            public int compare(Field o1, Field o2) {
                if (o1 == o2) {
                    return 0;
                }
                Class<?> t1 = o1.getType();
                Class<?> t2 = o2.getType();
                if (t1.isArray() && !t2.isArray()) {
                    return -1;
                } else if (t2.isArray() && !t1.isArray()) {
                    return 1;
                }
                return o1.getName().compareTo(o2.getName());
            }
        });
        Map<String, int[]> styleables = new HashMap<String, int[]>();
        for (Field field : fields) {
            if (!isValidRField(field)) {
                // Only consider public static fields that are int or int[].
                // Don't check the final flag as it may have been modified by layoutlib_create.
                continue;
            }
            String name = field.getName();
            if (field.getType().isArray()) {
                int[] styleableValue = (int[]) field.get(null);
                sRArrayMap.put(new IntArray(styleableValue), name);
                styleables.put(name, styleableValue);
                continue;
            }
            // Not an array.
            String arrayName = name;
            int[] arrayValue = null;
            int index;
            while ((index = arrayName.lastIndexOf('_')) >= 0) {
                // Find the name of the corresponding styleable.
                // Search in reverse order so that attrs like LinearLayout_Layout_layout_gravity
                // are mapped to LinearLayout_Layout and not to LinearLayout.
                arrayName = arrayName.substring(0, index);
                arrayValue = styleables.get(arrayName);
                if (arrayValue != null) {
                    break;
                }
            }
            index = (Integer) field.get(null);
            if (arrayValue != null) {
                String attrName = name.substring(arrayName.length() + 1);
                int attrValue = arrayValue[index];
                sRMap.put(attrValue, Pair.of(ResourceType.ATTR, attrName));
                revRAttrMap.put(attrName, attrValue);
            }
            sRMap.put(index, Pair.of(ResourceType.STYLEABLE, name));
            revRStyleableMap.put(name, index);
        }
    }

    @Override
    public boolean dispose() {
        BridgeAssetManager.clearSystem();

        // dispose of the default typeface.
        Typeface_Delegate.resetDefaults();

        return true;
    }

    /**
     * Starts a layout session by inflating and rendering it. The method returns a
     * {@link RenderSession} on which further actions can be taken.
     *
     * @param params the {@link SessionParams} object with all the information necessary to create
     *           the scene.
     * @return a new {@link RenderSession} object that contains the result of the layout.
     * @since 5
     */
    @Override
    public RenderSession createSession(SessionParams params) {
        try {
            Result lastResult = SUCCESS.createResult();
            RenderSessionImpl scene = new RenderSessionImpl(params);
            try {
                prepareThread();
                lastResult = scene.init(params.getTimeout());
                if (lastResult.isSuccess()) {
                    lastResult = scene.inflate();
                    if (lastResult.isSuccess()) {
                        lastResult = scene.render(true /*freshRender*/);
                    }
                }
            } finally {
                scene.release();
                cleanupThread();
            }

            return new BridgeRenderSession(scene, lastResult);
        } catch (Throwable t) {
            // get the real cause of the exception.
            Throwable t2 = t;
            while (t2.getCause() != null) {
                t2 = t.getCause();
            }
            return new BridgeRenderSession(null,
                    ERROR_UNKNOWN.createResult(t2.getMessage(), t));
        }
    }

    @Override
    public Result renderDrawable(DrawableParams params) {
        try {
            Result lastResult = SUCCESS.createResult();
            RenderDrawable action = new RenderDrawable(params);
            try {
                prepareThread();
                lastResult = action.init(params.getTimeout());
                if (lastResult.isSuccess()) {
                    lastResult = action.render();
                }
            } finally {
                action.release();
                cleanupThread();
            }

            return lastResult;
        } catch (Throwable t) {
            // get the real cause of the exception.
            Throwable t2 = t;
            while (t2.getCause() != null) {
                t2 = t.getCause();
            }
            return ERROR_UNKNOWN.createResult(t2.getMessage(), t);
        }
    }

    @Override
    public void clearCaches(Object projectKey) {
        if (projectKey != null) {
            sProjectBitmapCache.remove(projectKey);
            sProject9PatchCache.remove(projectKey);
        }
    }

    @Override
    public Result getViewParent(Object viewObject) {
        if (viewObject instanceof View) {
            return Status.SUCCESS.createResult(((View)viewObject).getParent());
        }

        throw new IllegalArgumentException("viewObject is not a View");
    }

    @Override
    public Result getViewIndex(Object viewObject) {
        if (viewObject instanceof View) {
            View view = (View) viewObject;
            ViewParent parentView = view.getParent();

            if (parentView instanceof ViewGroup) {
                Status.SUCCESS.createResult(((ViewGroup) parentView).indexOfChild(view));
            }

            return Status.SUCCESS.createResult();
        }

        throw new IllegalArgumentException("viewObject is not a View");
    }

    @Override
    public boolean isRtl(String locale) {
        return isLocaleRtl(locale);
    }

    public static boolean isLocaleRtl(String locale) {
        if (locale == null) {
            locale = "";
        }
        ULocale uLocale = new ULocale(locale);
        return uLocale.getCharacterOrientation().equals(ICU_LOCALE_DIRECTION_RTL);
    }

    /**
     * Returns the lock for the bridge
     */
    public static ReentrantLock getLock() {
        return sLock;
    }

    /**
     * Prepares the current thread for rendering.
     *
     * Note that while this can be called several time, the first call to {@link #cleanupThread()}
     * will do the clean-up, and make the thread unable to do further scene actions.
     */
    public static void prepareThread() {
        // we need to make sure the Looper has been initialized for this thread.
        // this is required for View that creates Handler objects.
        if (Looper.myLooper() == null) {
            Looper.prepareMainLooper();
        }
    }

    /**
     * Cleans up thread-specific data. After this, the thread cannot be used for scene actions.
     * <p>
     * Note that it doesn't matter how many times {@link #prepareThread()} was called, a single
     * call to this will prevent the thread from doing further scene actions
     */
    public static void cleanupThread() {
        // clean up the looper
        Looper_Accessor.cleanupThread();
    }

    public static LayoutLog getLog() {
        return sCurrentLog;
    }

    public static void setLog(LayoutLog log) {
        // check only the thread currently owning the lock can do this.
        if (!sLock.isHeldByCurrentThread()) {
            throw new IllegalStateException("scene must be acquired first. see #acquire(long)");
        }

        if (log != null) {
            sCurrentLog = log;
        } else {
            sCurrentLog = sDefaultLog;
        }
    }

    /**
     * Returns details of a framework resource from its integer value.
     * @param value the integer value
     * @return a Pair containing the resource type and name, or null if the id
     *     does not match any resource.
     */
    public static Pair<ResourceType, String> resolveResourceId(int value) {
        Pair<ResourceType, String> pair = sRMap.get(value);
        if (pair == null) {
            pair = sDynamicIds.resolveId(value);
            if (pair == null) {
                //System.out.println(String.format("Missing id: %1$08X (%1$d)", value));
            }
        }
        return pair;
    }

    /**
     * Returns the name of a framework resource whose value is an int array.
     */
    public static String resolveResourceId(int[] array) {
        sIntArrayWrapper.set(array);
        return sRArrayMap.get(sIntArrayWrapper);
    }

    /**
     * Returns the integer id of a framework resource, from a given resource type and resource name.
     * <p/>
     * If no resource is found, it creates a dynamic id for the resource.
     *
     * @param type the type of the resource
     * @param name the name of the resource.
     *
     * @return an {@link Integer} containing the resource id.
     */
    @NonNull
    public static Integer getResourceId(ResourceType type, String name) {
        Map<String, Integer> map = sRevRMap.get(type);
        Integer value = null;
        if (map != null) {
            value = map.get(name);
        }

        return value == null ? sDynamicIds.getId(type, name) : value;

    }

    /**
     * Returns the list of possible enums for a given attribute name.
     */
    public static Map<String, Integer> getEnumValues(String attributeName) {
        if (sEnumValueMap != null) {
            return sEnumValueMap.get(attributeName);
        }

        return null;
    }

    /**
     * Returns the platform build properties.
     */
    public static Map<String, String> getPlatformProperties() {
        return sPlatformProperties;
    }

    /**
     * Returns the bitmap for a specific path, from a specific project cache, or from the
     * framework cache.
     * @param value the path of the bitmap
     * @param projectKey the key of the project, or null to query the framework cache.
     * @return the cached Bitmap or null if not found.
     */
    public static Bitmap getCachedBitmap(String value, Object projectKey) {
        if (projectKey != null) {
            Map<String, SoftReference<Bitmap>> map = sProjectBitmapCache.get(projectKey);
            if (map != null) {
                SoftReference<Bitmap> ref = map.get(value);
                if (ref != null) {
                    return ref.get();
                }
            }
        } else {
            SoftReference<Bitmap> ref = sFrameworkBitmapCache.get(value);
            if (ref != null) {
                return ref.get();
            }
        }

        return null;
    }

    /**
     * Sets a bitmap in a project cache or in the framework cache.
     * @param value the path of the bitmap
     * @param bmp the Bitmap object
     * @param projectKey the key of the project, or null to put the bitmap in the framework cache.
     */
    public static void setCachedBitmap(String value, Bitmap bmp, Object projectKey) {
        if (projectKey != null) {
            Map<String, SoftReference<Bitmap>> map = sProjectBitmapCache.get(projectKey);

            if (map == null) {
                map = new HashMap<String, SoftReference<Bitmap>>();
                sProjectBitmapCache.put(projectKey, map);
            }

            map.put(value, new SoftReference<Bitmap>(bmp));
        } else {
            sFrameworkBitmapCache.put(value, new SoftReference<Bitmap>(bmp));
        }
    }

    /**
     * Returns the 9 patch chunk for a specific path, from a specific project cache, or from the
     * framework cache.
     * @param value the path of the 9 patch
     * @param projectKey the key of the project, or null to query the framework cache.
     * @return the cached 9 patch or null if not found.
     */
    public static NinePatchChunk getCached9Patch(String value, Object projectKey) {
        if (projectKey != null) {
            Map<String, SoftReference<NinePatchChunk>> map = sProject9PatchCache.get(projectKey);

            if (map != null) {
                SoftReference<NinePatchChunk> ref = map.get(value);
                if (ref != null) {
                    return ref.get();
                }
            }
        } else {
            SoftReference<NinePatchChunk> ref = sFramework9PatchCache.get(value);
            if (ref != null) {
                return ref.get();
            }
        }

        return null;
    }

    /**
     * Sets a 9 patch chunk in a project cache or in the framework cache.
     * @param value the path of the 9 patch
     * @param ninePatch the 9 patch object
     * @param projectKey the key of the project, or null to put the bitmap in the framework cache.
     */
    public static void setCached9Patch(String value, NinePatchChunk ninePatch, Object projectKey) {
        if (projectKey != null) {
            Map<String, SoftReference<NinePatchChunk>> map = sProject9PatchCache.get(projectKey);

            if (map == null) {
                map = new HashMap<String, SoftReference<NinePatchChunk>>();
                sProject9PatchCache.put(projectKey, map);
            }

            map.put(value, new SoftReference<NinePatchChunk>(ninePatch));
        } else {
            sFramework9PatchCache.put(value, new SoftReference<NinePatchChunk>(ninePatch));
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Derek Wolfe and Century Chevrolet Support Helping Hands for Freedom
An autograph for a cause! HHFF was blessed to have the support of Century Chevrolet and Derek Wolfe of the Denver Broncos on Black Friday. Hundreds of fans came out to get an autograph from Derek and support our mission of serving military children and families.
Understanding the full sacrifice: Police officer's cross-country trek for veterans honors their commitment to United States
By John Shaughnessy
The mothers and the wives of the soldiers who died would grab David Roth's face and look into his eyes, crying as they begged him to keep going on his journey to honor their loved ones.
Everything You Need to Know About Veterans Day
Did you know that what we call Veterans Day was not always called that? In fact, it wasn't always even commemorated on November 11th.
Military Charity invites public out to van giveaway, celebration Thursday
GREENFIELD, IN -- Thanks to the efforts of an Indiana business, Helping Hands For Freedom was able to get a lift during its 3,091 mile walk across America.
Dellen Automotive, of Greenfield, provided the charity that aids families of the fallen, wounded and deployed with a donated car for Route For The Brave.
Helping Hands For Freedom Co-Founder and Two-Time Purple Heart Recipient Patrick Shannon responds to Colin Kaepernick
Helping Hands for Freedom would like to recognize and thank the San Francisco 49ers organization for all the support they demonstrated for the Route for the Brave and for allowing our organization to present the game ball before the playing of the National Anthem. This night was a celebration of the culmination of a 3,100 mile walk across America to bring awareness to the families of the falle
Gold Star Day at the Arizona Snowbowl
Gold star families braved the stormy weather to spend time together at the Arizona Snowbowl. Despite the weather conditions, the families had a great time taking the Scenic Chairlift and the lunch provided as well.
Happy Independence Day... a story from the heart
HHFF Stuffs the Bus
As part of our commitment to the local community, Helping Hands for Freedom has partnered with AZTV to Stuff the Bus this month and prepare students to return to school with all the supplies they need to succeed.


Product #21033 | SKU 016918 | 0.0 (no ratings yet) Thanks for your rating!
The Rycote ConnBox microphone cable connector boxes are designed to mount on the Rycote Suspension system. The ConnBox serves as a solution for 2 major problems associated with microphone shock isolation. Rigid microphone cables often deny true microphone isolation, weighing the microphone down and causing noise from movement and vibration to reach the microphone. Noise and rattling due to bulky cable connections can cause problems as well.
The ConnBox simply connects between the microphone and input device. Being that the ConnBox mounts to the Suspension system, the microphone cable is given the necessary slack needed to achieve true noise free isolation. This ConnBox features a hardwired output cable (XLR 3-pin or 5-pin connection depending on model) and a Schoeps CCM-L series input connector. The microphone cable is always included.
A hardwired 3-pin XLR output cable connects to stereo 3-pin XLR microphone inputs. The ConnBox will pass phantom power to condenser microphones whenever necessary.
This ConnBox mounts directly onto the Rycote Lyre Suspension Mount, relieving cable tension that can cause noise or damage.


ANN ARBOR, MI (Michigan Radio) – A traveling legal clinic for veterans is coming to Southeast Michigan.
Project Salute is a mobile law office.
It's staffed by attorneys and law students who volunteer their time to help low-income veterans with their disability and pension benefits claims.
Bob Walsh is a professor at the University of Detroit Mercy School of Law. He says the federal system has a backlog of about a million cases.
Walsh says there are still many World War Two, Korean and Vietnam War veterans trying to get their benefits.
"There simply isn't any excuse. There's no excuse for not cleaning up this mess and taking care of these men and women," Walsh says.
Project Salute will visit Wayne on Wednesday, Sept. 23, Highland Park on Saturday, Sept. 26, and Detroit on September 28.


Exclusive access to new early stage leads in corn will drive sustainable productivity improvements.
DuPont and Plant Sensory Systems have entered into a collaboration to evaluate proprietary genes for increasing nitrogen use efficiency in corn.
Under the agreement, DuPont business Pioneer Hi-Bred receives an exclusive, worldwide research and commercial license to nitrogen use efficiency genes for corn. This agreement complements Pioneer's ongoing research related to NUE. Corn products developed using these genes could help growers protect yield while reducing inputs, such as nitrogen fertilizer, and decrease the energy required to apply fertilizers.
Plants use nitrogen for growth and development. Early-season nitrogen stress can create irreversible yield loss, and nitrogen stress at any time in the plant's life can reduce yield. To prevent yield loss from reduced nitrogen levels, nitrogen is applied to stabilize and maximize the yield potential inherent in commercially available genetics. Application of nitrogen represents significant cost for farmers around the world.
"Corn plants that are more efficient at using nitrogen can improve farmer profitability and productivity, while improving sustainability of agriculture worldwide," said John Bedbrook, vice president, DuPont Agricultural Biotechnology. "We are pleased to collaborate with Plant Sensory Systems in this important area of agricultural research to help farmers continue to improve their ability to feed their family and their communities."
"Plant Sensory Systems is looking forward to working with Pioneer, a global leader in producing high-quality, high-yielding seeds, in developing a product to help meet the needs of a growing population in a sustainable manner," said Kathleen Turano, president, Plant Sensory Systems.
Plant Sensory Systems, LLC is a privately held agricultural biotechnology company in Baltimore, Md., that develops technologies to improve crop performance for the production of food, feed, fiber, biofuel and bio-based products. Plant Sensory Systems has developed traits that increase yields, improve nitrogen and water use efficiency, promote tolerance to drought and high temperature, increase seed oil content, and enhance nutritional value. For more information visit: www.plantsensorysystems.com.


Police Shooting Pit-bull Deaths Not the First?
Dangerous Dogs a Menace to Children?
This week's graphic pit bull attack in Downtown LA showed the danger of poorly trained and restrained dogs. This danger is especially true with Pit Bulls, and Rottweilers trained to be attack dogs. The attack illustrates the liability of the attack and the natural consequences of such an attack.
ABC7 reported on the incident, which sent shockwaves through the area. The LAPD's shooting of three pit bulls is nothing new. Two of the three dogs died. Furthermore, the event occurred because the dogs attacked a man walking his dog downtown. The man was in his 50s and ignoring the animals.
The attack happened near the corner of Stanford Avenue and 5th Street around 8:30 in the morning. There was a call for help. When the police arrived, the man was under attack.
Viral video shows the dogs on top of the man. The pit bulls tore apart the man's dog. The police first tried clubbing the dogs but were left with no choice but to open fire. The victim is at the hospital, treated for lacerations and multiple bites.
Often responsibility falls to the owner. This ownership is especially the case if the owner knew that the dogs represented a danger earlier. Furthermore, the owner would be warned if the dog or dogs bit another person at an earlier date. All of this shows that ignorance is no excuse.
The accident victim has many means to sue the owner and possibly other defendants. Perhaps local police or animal control earlier ignored these dogs' danger. Besides, the victim can sue for the cost of the injury and all rehab costs. He can also sue for the mental distress of seeing his beloved dog killed in front of his eyes.
All of this adds up to a tough situation. The injury victim needs to assert his rights. For more info on this case and legal rights after dog attacks, keep reading our site.


text:
Portland Trailblazers vs. San Antonio Spurs Preview and Pick – Point Spread
Portland Trailblazers (18-12 15-13-2 ATS) vs. San Antonio Spurs (15-10 12-12-1) AT&T Center, San Antonio, TX 8:30 PM EST Wednesday December 23, 2009
by Jason Green at Predictem.com
Point Spread: Blazers +11 / Spurs -11
Over/Under: 187.5
In the Lone Star State tonight the San Antonio Spurs host the Portland Trailblazers. Both teams are playing well, as each is 6-4 in their last 10 games and the Blazers have won 2 straight and the Spurs have won 3 straight. Currently the Blazers are in 2nd place in the Northwest Division trailing the Denver Nuggets by 2 games while the Spurs are in 3rd place in the Southwest Division and trail the Dallas Mavericks by 3 games.
The Spurs have won 6 of their last 7 games and are now 5 games above .500, but in those 6 wins the teams were a combined 36 games below .500. Portland will give them a test tonight, as they are solid on defense, but they have been killed by injuries this season and recently lost C Joel Przybilla to a knee injury. That leaves the Blazers thin in the middle as both Przybilla and Greg Oden are out. That is not good facing Tim Duncan tonight, who should get many open looks at the hoop.
The Spurs are only 2-8 against teams with winning records including losing 4 in a row.
This season the Spurs are 12-4 at home and the Blazers are 8-8 on the road.
In their last game the Blazers beat a solid Dallas Mavericks squad 85-81. The high scorer for the Blazers in that game was Brandon Roy going for 23 points on 7/19 shooting. The Blazers came out on fire in the 4th quarter and out-scored the Mavs 27-16 to seal the victory. For the game the Blazers shot 32/79 for a FG% of 40.5%. On D the Blazers were stellar holding the Mavs to only 31/80 shooting for a FG% of 38.8%.
The Spurs laid a beat-down on the L.A. Clippers 103-87 on Monday night. The high scorer for the Spurs in that game was Tony Parker going for 19 points on 7/11 shooting. For the game the Spurs shot 39/77 for a legit FG% of 50.6%. On defense the Spurs allowed the Clippers to shoot 36/82 for a FG% of 43.9%.
This season the Spurs rank 10th in scoring (101.9 ppg) and the Blazers rank 24th (96 ppg). One of the main reasons the Blazers are winning is because of their defense, as they rank 3rd in points allowed (92.3 ppg) and the Spurs rank 11th (96.8 ppg). Both teams are solid on the boards, as the Spurs have a rebounding differential of +4.2 rpg and the Blazers are at +3.7 rpg.
Since Juwan Howard is starting for the Blazers because of their rash of injuries Tim Duncan (19.7 ppg 10.5 rpg) will have a big game on both ends of the court.
Duncan and C Antonio McDyess (5.8 rpg) will dominate the glass tonight since the Blazers lack much inside presence.
LeMarcus Aldridge (16.3 ppg 7.7 rpg) will struggle tonight, as the Spurs have good interior defense and he does not have another big man to take the pressure off him.
Brandon Roy (22.2 ppg) is a legit superstar and he will have a good game even though he will be guarded by Keith Bogans, who is a solid defender.
The Blazers have a great defense, but Tony Parker (16.4 ppg 5.7 assists per game) will deal with the pressure and dish the ball out well and score when he needs to. Parker will have a good game, as he is much quicker than Blazers' PG Andre Miller
With the Blazers big men out Richard Jefferson (13.2 ppg) will attack the hoop and definitely go over his scoring average tonight.
On the injury front C Joel Przybilla, C Greg Oden, and F Jeff Pendergraph are all Out for the Blazers. Brandon Roy is experiencing shoulder pain as well but is expected to play. PF Matt Bonner is Out for the Spurs.
Jason's Pick: The Spurs have had their troubles against solid teams, but they will not tonight, as they will take advantage of the short-handed Blazers. The Blazers will play a tough game, but San Antonio has too many weapons and too much experience to lose at home. The Spurs will win the game but the Blazers will cover the spread.


text:
layout: kanji
v4: 1344
v6: 1444
kanji: 緒
keyword: thong
elements: thong, thread, spiderman, someone, puppet, sooty, old man, sun, day
strokes: 14
image: E7B792
on-yomi: ショ、チョ
kun-yomi: お、いとぐち
permalink: /rtk/緒/
prev: 練
next: 続
---

1) [joesan] 8-11-2007(195): Spiderman has a secret fetish, he likes nothing better than to dress his lovedoll in a thong. Wierd, eh!

2) [lifeflaw] 18-3-2009(44): A thong is no more than a thread used by someone as underwear!

3) [captal] 29-5-2008(32): Instead of puppet I like to think of "someone" as ninja (since it is the second kanji in ninja). A ninja must be able to steal a thread from a woman's thong without her noticing.

4) [wisego] 6-7-2009(17): Spidey and a Ninja fight over a sexy thong they found, but then they realize that together ( 一緒 ) they could easily get another... ショ 一緒 いっしょ(together) チヨ 情緒 じょうちょ(heartstrings)….

5) [desmidus] 31-3-2008(16): Spiderman's girlfriend throws a thong she found in his bed at him. And who's is this then she asks, and Spiderman replies, uhh... someone's?


text:
World premiere for Michael Tilson Thomas: Meditations on Rilke
2019 Kennedy Center Honoree Michael Tilson Thomas begins the New Year at home with his San Francisco Symphony, conducting the world premiere of his newest composition, Meditations on Rilke.
A six-part song cycle based on the lyric poems of poet and novelist Rainer Maria Rilke (1875–1926), Meditations on Rilke was written during 2019 and will feature Grammy Award-winning mezzo Sasha Cooke and bass-baritone Ryan McKinny.
MTT says of the work:
"These Six Rilke Songs, or perhaps "Meditations on Rilke Texts" are reflections of the many moods the poems suggest. The motives and harmonies of these pieces have been with me for years, decades. This approach to music as a kind of lifelong journal, or confessional companion, was what my father, and as I now have learned, my grandfather, and even my great-grandfather, experienced. My fondest wish is that all people would have this kind of relationship to music—music spontaneously popping into their minds—perhaps in recollection, perhaps in anticipation of places within their spirits…
…The musical language in these songs is quite traditional. There are melodies, harmonies, bass lines, invertible counterpoint. My greatest concern has always been "What remains with the listener when the music ends?" It is my hope that some of these musical reflections of many years may stick with you." Read more
Since 1999, audiences at Davies Symphony Hall have got to know a variety of MTT's compositions, including his Three Songs to Poems by Walt Whitman (premiered in 1999 with baritone Thomas Hampson), his Poems of Emily Dickinson (performed in 2002 with soprano Renée Fleming), his Urban Legend (a concerto for contrabassoon and orchestra, introduced with the San Francisco Symphony's contrabassoonist, Steven Braunstein, as soloist), his percussion-rich Island Music (which the San Francisco Symphony presented in 2005), and Four Preludes on Playthings of the Wind, which received its West Coast premiere with soprano Measha Brueggergosman and the SFS in June 2017. From the Diary of Anne Frank, his dramatic work for narrator and orchestra, was performed in fall 2018 with Isabel Leonard as narrator. In June 2020, SFS Media will release an album of MTT's compositions, recorded live in performances by the San Francisco Symphony.
Performances take place at Davies Symphony Hall on 9, 10, 11 and 12 January 2020, and also feature Berlioz Overture to Benvenuto Cellini, Mahler Songs from Des Knaben Wunderhorn, and Ravel La Valse. Meditations on Rilke will be recorded for future release on the SFS Media label.
Cologne step-in for Harry Ogg


text:
Jack Roskopp, Digital Content Editor, Graham Media Group
Published: July 12, 2021, 8:55 AM
Tags: Free Britney, Britney Spears, Pop Culture, Conservatorship, Twitter, Celebrities
Fort Bend County judge raises awareness of new elections process under SB1, addresses mail ballot application discrepancies
Funeral held for 59-year-old Cracker Barrel manager fatally shot while protecting co-workers
🔒 LIST: The best pho spots in the Houston area, according to KPRC 2 viewers
These celebrities are showing their support for Britney Spears
FILE - Britney Spears arrives at the Los Angeles premiere of "Once Upon a Time in Hollywood" on July 22, 2019. When Spears speaks to a judge at her own request on Wednesday, June. 23, 2021, she'll do it 13 years into a court-enforced conservatorship that has exercised vast control of her life and money by her father. Spears has said the conservatorship saved her from collapse and exploitation. But she has sought more control over how it operates, and says she wants her father out. (Photo by Jordan Strauss/Invision/AP, File) (Jordan Strauss, 2019 Invision)
After Britney Spears' shocking testimony about her conservatorship and the fight to end it, the world was left in disbelief and shock over the allegations she made.
In the 24-minute hearing, Spears finally let people know about the legal agreement she has been in since 2008, and how lawyers and her father are allegedly controlling her life.
The things Spears said during the hearing were truly disturbing, if they're true. She alleged that she is having her rights taken away from her, she can't have an IUD taken out of her body, and that she was forced to take lithium.
The #FreeBritney movement was already going pretty strong, but now that the pop star spoke out, a ton of celebrities have voiced their support for Spears.
Here is what a few of them have said.
The other queen of pop posted on her Instagram story recently in support of Spears.
Madonna wrote, "Give this woman her life back ... Britney, we coming to get you out of jail."
The pop star shared an old photo of her and Spears when they were Mouseketeers together way back in the day. Along with a photo, she wrote a very long thread describing that no woman should be going through the pain that Spears is.
Aguilera wrote, in part, "Every woman must have the right to her own body, her own reproductive system, her own privacy, her own space, her own healing and her own happiness."
These past few days I've been thinking about Britney and everything she is going through.
It is unacceptable that any woman, or human, wanting to be in control of their own destiny might not be allowed to live life as they wish. pic.twitter.com/NRhNwcJaD3
— Christina Aguilera (@xtina) June 29, 2021
The former daytime talk show host showed her support for Spears, as well as posting screenshots from when Spears was a guest on O'Donnell's show.
listen to the woman #FreeBritney pic.twitter.com/qtRCq6qTh1
— ROSIE (@Rosie) June 24, 2021
Here's another pop star showing support.
We love you Britney!!! Stay strong ❤❤❤
— Mariah Carey (@MariahCarey) June 23, 2021
The youngest Kardashian sister spoke out in support of Spears.
No one should be treated like this. Stay strong Queen!! You deserve better 💜🦄🌈✨💜 #FreeBritney
— Khloé (@khloekardashian) June 24, 2021
Even though Timberlake let the media tear Spears apart after they dated, it was nice to see that he sent out a series of tweets supporting her.
After what we saw today, we should all be supporting Britney at this time.
Regardless of our past, good and bad, and no matter how long ago it was… what's happening to her is just not right.
No woman should ever be restricted from making decisions about her own body.
— Justin Timberlake (@jtimberlake) June 24, 2021
The rapper and producer posted a heartfelt message for Spears on her Twitter account.
.@britneyspears 💜 pic.twitter.com/s6EDGUR4Ix
— Missy Elliott (@MissyElliott) June 24, 2021
Graham Media Group 2021
Jack Roskopp
Jack is a Digital Content Editor with a degree in creative writing and French from Western Michigan University. He specializes in writing about movies, food and the latest TV shows.


Merritt was among more than 45 North Carolina prison officers who were fired for sleeping on the job since 2012, a Charlotte Observer investigation found. Some dozed inside hospitals with loaded guns at their sides while inmates they were supposed to be guarding sat nearby. Others were found sleeping in control rooms where officers watch inmates, or in vehicles used to monitor prison fence lines.
It's a problem that endangers officers and inmates, as well as the public, experts say.
State officials have contributed to the problem. Prison leaders have burned out some officers by forcing them to work dangerous amounts of overtime, current and former staffers say. And pay for prison officers – which is set by state lawmakers – remains so low that many work second jobs, a fact that has made a perilous situation more so, current and former officers told the Observer.
Even after recent salary increases approved by the legislature, North Carolina pays officers at maximum-security prisons an average of about $38,000 annually – about $8,000 less than the national average.
A sleeping officer is no better than no officer at all.
David Fathi, director of the ACLU's National Prison Project.
Sleeping on the job is just one of many things that endanger prison employees and inmates. Previously, the Observer has reported on the threats created by staff shortages, corruption and equipment failures. It has been a deadly year for state prison workers. Five have died in brutal attacks, and state officials have announced a number of changes to improve safety.
Merritt told the Observer that she knew how dangerous it could be for officers to fall asleep. So she'd often pinch her neck, stretch or use other tricks to keep herself awake.
Still, she acknowledged, that didn't always work. Many officers were simply exhausted, she said. Drained from working frequent overtime shifts. Worn out from working second – and sometimes third – jobs to make ends meet.
In interviews with the newspaper, more than a dozen former and current staff members said it was common for officers to sleep on the job.
▪ Sgt. Carl Shabazz was supposed to be guarding an inmate at a Raleigh hospital in November 2015 when a nurse found him "asleep and snoring," according to his dismissal letter. Shabazz was armed with a gun.
Shabazz told the Observer he never fell asleep and that he was targeted because he is a Muslim.
▪ Levi Woody, an officer at Foothills Correctional Institution in Morganton, was found asleep six times from November to December 2016, according to his dismissal letter.
▪ In January, Central Prison officer Cathy Callahan – armed with a .40-caliber handgun – fell asleep while she was supposed to be guarding an inmate at UNC Memorial Hospital, according to her dismissal letter. An hour later, after Callahan woke up and took a break, hospital officers found her loaded gun unsecured in a public restroom.
"Your actions … created a potential danger of death or serious injury for the safety of the public, patients, hospital employees, law enforcement officials and yourself, as well as the inmate," the dismissal letter states.
Callahan disputes that she fell asleep, according to Michael Byrne, her attorney. He said Callahan may have left her gun behind because the bullet-proof vest the prison issued her was so large that she didn't realize the gun wasn't with her when she left the room.
At some prisons, more than one of every four officer positions is vacant.
As a result, many officers become exhausted from working extensive overtime, current and former staff members say. Statewide, prison officers were paid nearly $22 million in overtime last year – almost triple what it was in 2010.
Some officers worked an average of more than 20 hours of overtime each week, data show. Others more than doubled their salaries with overtime.
One officer at Polk Correctional Institution, north of Durham, earned about $30,000 a year in 2016 but took home more than $45,000 extra from overtime work, an Observer analysis found.
N.C. prison officers received nearly $22 million in overtime last year – almost triple what it was in 2010.
Requiring officers to work overtime "can be bad for officer wellness, and leads to employees falling asleep on the job," according to a recent study of the state prisons by Duke University's Sanford School of Public Policy.
Pamela Walker, a spokeswoman for the Department of Public Safety, said the prisons try to distribute overtime in a way that does not unfairly burden employees. She said the prisons often ask for volunteers. This helps officers who have obligations outside of work, she said.
But Angela Smith, a former officer at Tabor Correctional Institution, said overtime was often required.
She said it was common for officers to start work at 5:15 a.m. and to be kept on duty until 10 p.m. Officers who refused to stay were threatened with discipline.
After 16 hours on the job, reaction time slows. Staffers can nod off.


One day recently at daycare, Alex almost got Barb into trouble. Barb has periodic, unannounced "visits" by the city to keep her certification up. So one day, the doorbell rang. Barb put Alex down in the playpen to answer it. It was her quarterly visit. The lady came in and immediately told Barb that "she's not supposed to put a child that age down on his tummy unattended." Only problem was, when Barb put Alex down, he was on his back. By the time they got back into the room, less than a minute later, he had rolled onto his tummy. Barb immediately turned him over, trying to explain this. The lady did not believe that Alex could roll over. Fortunately for all concerned, before the half-hour visit was over, Alex was very helpful and rolled himself back onto his tummy to prove to the lady that he could indeed roll himself over onto his tummy.
This entry was posted in Alex, Daycare by Shannon. Bookmark the permalink.


Greenfleetconference.com is all about customer satisfaction. They have the trendiest, newly launched and product from top brands. Their product line is tailored as per the needs of their target customers which involves men and women form all ages. Their diverse product line has products for your personal and your family needs. Customers regard their services as extraordinary and exceptional. They regularly offer Greenfleetconference.com promo codes on their website for the promotion and advertisement of their products. they also facilitate simple and fast payment methods for online payment of products. on the majority of the products, they offer Greenfleetconference.com discounts for the benefit of customers. Greenfleetconference.com give importance to their customer's complaint and their customer help centre strive to resolve complaints on immediate basis. Customers can also provide their valuable suggestion and recommendation for the enhancement in product quality and services. as Greenfleetconference.com is continuously striving to improve their quality services. As per the requirements of their customers. Each year Greenfleetconference.com regularly offers Greenfleetconference.com special offer on public and national events for the comfort of their buyers. These offers help customers to avail large discounts on almost all of their products. they also provide free delivery services on large orders and also facilitates their international customers with worldwide shipment facility.
Shop for what you want and we will help you close the deal! Don't miss this opportunity to save at store with this Greenfleetconference.com coupon.
Surround yourself with big discounts! Check out this Greenfleetconference.com coupon today.
You will receive an extra discount by using Greenfleetconference.com coupon. These deals are exclusive only here.
Enjoy big savings today with at Greenfleetconference.com. Offer ends soon.
Time to go shopping! Save huge on your purchase with this Greenfleetconference.com coupon today! Use it while it lasts!
Check out Greenfleetconference.com before their amazing deals end! The more you shop, the more savings you earn.
Enjoy incredible discounts from this site on all your favorite items. An exciting place for the whole family to shop.
Discover these exceptionally good discount today at Greenfleetconference.com. An exciting place for the whole family to shop.
Click to enjoy the Greenfleetconference.com discount and great offer to save. Come and enjoy Greenfleetconference.com coupon right now.
Remember, you have only a few hours left to redeem your offer! Enjoy incredible discounts on all your favorite items with this Greenfleetconference.com coupon.
Be quick to fill this Greenfleetconference.com coupon at the checkout and get discount on your purchase. Nothing feel as good as when you check out.
Great chance to save money with this offer from Greenfleetconference.com. A great place to be if you want a bargain.
We have your interest at heart! Act immediately before this Greenfleetconference.com coupon expires.
When tomorrow comes, these deals may no longer exist! Make your purchase today using this Greenfleetconference.com coupon.
Just use this Greenfleetconference.com coupon code when ordering a service and they'll do the rest!!! Prices vary daily, so take action now.
Beat the crowd and start saving. Don't wait any longer to get this Greenfleetconference.com coupon!
Take advantage of the great deals and save even more at Greenfleetconference.com. More ways to be you and more ways to save.
Check out the big, never-before-seen sale! At our site, you will always find the most amazing Greenfleetconference.com coupon.
Click and enjoy Greenfleetconference.com with your purchases today! It's the perfect opportunity for you to relax and take time off.
Save your order a lot by using coupon from Greenfleetconference.com. Remember that good deals are hard to come by!


text:
Rock 93.3 FM: From tunes to talk in the morning
John W. Barry
Poughkeepsie Journal
Those who listen in the morning to Poughkeepsie-based WBWZ (93.3 FM), also known as Rock 93.3, are now greeted by swagger, opinions and conversation rather than music.
Rock 93.3 on Monday started broadcasting "Elliot in the Morning," a syndicated program based in Washington, D.C., that features Elliot Segal.
Chris Marino is program director for Rock 93.3 and director of operations for the 10 Hudson Valley radio stations owned by Clear Channel, including Rock 93.3 and WPKF (96.1 FM), known as Kiss FM, where Marino is afternoon DJ. He said the move to air "Elliot in the Morning" was prompted by low ratings for the unhosted music program that Rock 93.3 had been broadcasting in the morning.
"They could have been better," Marino said. "It shows us the market does look for some type of human interaction; companionship in the morning."
Morning listeners on Rock 93.3 now hear "a little bit of swagger and attitude," he said. "We felt this was an opportunity to shake things up a little bit."
"Elliot in the Morning," airs weekdays on Rock 93.3 from 5:45 a.m. to around 10 a.m.
John W. Barry: jobarry@poughkeepsiejournal.com, 845-437-4822; Twitter: @JohnBarryPoJo


text:
Red Hat buys network gear maker
The Linux firm plans to issue about 1.5 million shares of its common stock in exchange for all outstanding shares of privately held WireSpeed Communications.
Red Hat today acquired privately held WireSpeed Communications in a stock deal.
The transaction value will be based on an average closing price of Red Hat's common shares for the five-day period ending tomorrow. That pegs the deal at roughly $33 million.
Red Hat, which sells software and technical support for Unix-like operating system Linux, will issue about 1.5 million shares of its common stock in exchange for all outstanding WireSpeed shares. Red Hat may issue additional shares based on the future performance of WireSpeed.
Huntsville, Ala.-based WireSpeed develops network and telecommunications components that connect handheld appliances to the Internet and private networks, the company said.
WireSpeed's clients include Hewlett-Packard, Interphase, NETsilicon and STMicroelectronics.
The company will become part of Red Hat's client services group, a unit that targets embedded, networked and post-PC devices.
The acquisition will be accounted for as a purchase and is expected to be completed by July 31, 2000, subject to customary closing conditions.
Discuss: Red Hat buys network gear maker