text:
package android.graphics.cts;

import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.graphics.BitmapFactory.Options;
import android.graphics.BitmapRegionDecoder;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Rect;
import android.os.ParcelFileDescriptor;
import android.test.InstrumentationTestCase;
import android.util.Log;

import com.android.cts.stub.R;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileDescriptor;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;

public class BitmapRegionDecoderTest extends InstrumentationTestCase {
    private static final String TAG = "BitmapRegionDecoderTest";
    private ArrayList<File> mFilesCreated = new ArrayList<File>(
            NAMES_TEMP_FILES.length);

    private Resources mRes;

    // The test images, including baseline JPEGs and progressive JPEGs, a PNG,
    // a WEBP, a GIF and a BMP.
    private static int[] RES_IDS = new int[] {
            R.drawable.baseline_jpeg, R.drawable.progressive_jpeg,
            R.drawable.baseline_restart_jpeg,
            R.drawable.progressive_restart_jpeg,
            R.drawable.png_test, R.drawable.webp_test,
            R.drawable.gif_test, R.drawable.bmp_test
    };
    private static String[] NAMES_TEMP_FILES = new String[] {
        "baseline_temp.jpg", "progressive_temp.jpg", "baseline_restart_temp.jpg",
        "progressive_restart_temp.jpg", "png_temp.png", "webp_temp.webp",
        "gif_temp.gif", "bmp_temp.bmp"
    };

    // The width and height of the above image.
    // -1 denotes that the image format is not supported by BitmapRegionDecoder
    private static int WIDTHS[] = new int[] {
            1280, 1280, 1280, 1280, 640, 640, -1, -1};
    private static int HEIGHTS[] = new int[] {960, 960, 960, 960, 480, 480, -1, -1};

    // The number of test images, format of which is supported by BitmapRegionDecoder
    private static int NUM_TEST_IMAGES = 6;

    private static int TILE_SIZE = 256;

    // Configurations for BitmapFactory.Options
    private static Config[] COLOR_CONFIGS = new Config[] {Config.ARGB_8888,
            Config.RGB_565};
    private static int[] SAMPLESIZES = new int[] {1, 4};

    private int[] mExpectedColors = new int [TILE_SIZE * TILE_SIZE];
    private int[] mActualColors = new int [TILE_SIZE * TILE_SIZE];

    // We allow a certain degree of discrepancy between the tile-based decoding
    // result and the regular decoding result, because the two decoders may have
    // different implementations. The allowable discrepancy is set to a mean
    // square error of 3 * (1 * 1) among the RGB values.
    private int mMseMargin = 3 * (1 * 1);

    // MSE margin for WebP Region-Decoding for 'Config.RGB_565' is little bigger.
    private int mMseMarginWebPConfigRgb565 = 5;

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        mRes = getInstrumentation().getTargetContext().getResources();
    }

    @Override
    protected void tearDown() throws Exception {
        for (File file : mFilesCreated) {
            file.delete();
        }
        super.tearDown();
    }

    public void testNewInstanceInputStream() throws IOException {
        for (int i = 0; i < RES_IDS.length; ++i) {
            InputStream is = obtainInputStream(RES_IDS[i]);
            try {
                BitmapRegionDecoder decoder =
                        BitmapRegionDecoder.newInstance(is, false);
                assertEquals(WIDTHS[i], decoder.getWidth());
                assertEquals(HEIGHTS[i], decoder.getHeight());
            } catch (IOException e) {
                assertEquals(WIDTHS[i], -1);
                assertEquals(HEIGHTS[i], -1);
            } finally {
                if (is != null) {
                    is.close();
                }
            }
        }
    }

    public void testNewInstanceByteArray() throws IOException {
        for (int i = 0; i < RES_IDS.length; ++i) {
            byte[] imageData = obtainByteArray(RES_IDS[i]);
            try {
                BitmapRegionDecoder decoder = BitmapRegionDecoder
                        .newInstance(imageData, 0, imageData.length, false);
                assertEquals(WIDTHS[i], decoder.getWidth());
                assertEquals(HEIGHTS[i], decoder.getHeight());
            } catch (IOException e) {
                assertEquals(WIDTHS[i], -1);
                assertEquals(HEIGHTS[i], -1);
            }
        }
    }

    public void testNewInstanceStringAndFileDescriptor() throws IOException {
        for (int i = 0; i < RES_IDS.length; ++i) {
            String filepath = obtainPath(i);
            ParcelFileDescriptor pfd = obtainParcelDescriptor(filepath);
            FileDescriptor fd = pfd.getFileDescriptor();
            try {
                BitmapRegionDecoder decoder1 =
                        BitmapRegionDecoder.newInstance(filepath, false);
                assertEquals(WIDTHS[i], decoder1.getWidth());
                assertEquals(HEIGHTS[i], decoder1.getHeight());

                BitmapRegionDecoder decoder2 =
                        BitmapRegionDecoder.newInstance(fd, false);
                assertEquals(WIDTHS[i], decoder2.getWidth());
                assertEquals(HEIGHTS[i], decoder2.getHeight());
            } catch (IOException e) {
                assertEquals(WIDTHS[i], -1);
                assertEquals(HEIGHTS[i], -1);
            }
        }
    }

    public void testDecodeRegionInputStream() throws IOException {
        Options opts = new BitmapFactory.Options();
        for (int i = 0; i < NUM_TEST_IMAGES; ++i) {
            for (int j = 0; j < SAMPLESIZES.length; ++j) {
                for (int k = 0; k < COLOR_CONFIGS.length; ++k) {
                    opts.inSampleSize = SAMPLESIZES[j];
                    opts.inPreferredConfig = COLOR_CONFIGS[k];

                    InputStream is1 = obtainInputStream(RES_IDS[i]);
                    BitmapRegionDecoder decoder = BitmapRegionDecoder.newInstance(is1, false);
                    InputStream is2 = obtainInputStream(RES_IDS[i]);
                    Bitmap wholeImage = BitmapFactory.decodeStream(is2, null, opts);

                    if (RES_IDS[i] == R.drawable.webp_test && COLOR_CONFIGS[k] == Config.RGB_565) {
                        compareRegionByRegion(decoder, opts, mMseMarginWebPConfigRgb565,
                                              wholeImage);
                    } else {
                        compareRegionByRegion(decoder, opts, mMseMargin, wholeImage);
                    }
                    wholeImage.recycle();
                }
            }
        }
    }

    public void testDecodeRegionInputStreamInBitmap() throws IOException {
        Options opts = new BitmapFactory.Options();
        for (int i = 0; i < NUM_TEST_IMAGES; ++i) {
            for (int j = 0; j < SAMPLESIZES.length; ++j) {
                for (int k = 0; k < COLOR_CONFIGS.length; ++k) {
                    opts.inSampleSize = SAMPLESIZES[j];
                    opts.inPreferredConfig = COLOR_CONFIGS[k];
                    opts.inBitmap = null;

                    InputStream is1 = obtainInputStream(RES_IDS[i]);
                    BitmapRegionDecoder decoder = BitmapRegionDecoder.newInstance(is1, false);
                    InputStream is2 = obtainInputStream(RES_IDS[i]);
                    Bitmap wholeImage = BitmapFactory.decodeStream(is2, null, opts);

                    // setting inBitmap enables several checks within compareRegionByRegion
                    opts.inBitmap = Bitmap.createBitmap(
                            wholeImage.getWidth(), wholeImage.getHeight(), opts.inPreferredConfig);

                    if (RES_IDS[i] == R.drawable.webp_test && COLOR_CONFIGS[k] == Config.RGB_565) {
                        compareRegionByRegion(decoder, opts, mMseMarginWebPConfigRgb565,
                                              wholeImage);
                    } else {
                        compareRegionByRegion(decoder, opts, mMseMargin, wholeImage);
                    }
                    wholeImage.recycle();
                }
            }
        }
    }

    public void testDecodeRegionByteArray() throws IOException {
        Options opts = new BitmapFactory.Options();
        for (int i = 0; i < NUM_TEST_IMAGES; ++i) {
            for (int j = 0; j < SAMPLESIZES.length; ++j) {
                for (int k = 0; k < COLOR_CONFIGS.length; ++k) {
                    opts.inSampleSize = SAMPLESIZES[j];
                    opts.inPreferredConfig = COLOR_CONFIGS[k];

                    byte[] imageData = obtainByteArray(RES_IDS[i]);
                    BitmapRegionDecoder decoder = BitmapRegionDecoder
                            .newInstance(imageData, 0, imageData.length, false);
                    Bitmap wholeImage = BitmapFactory.decodeByteArray(imageData,
                            0, imageData.length, opts);

                    if (RES_IDS[i] == R.drawable.webp_test && COLOR_CONFIGS[k] == Config.RGB_565) {
                        compareRegionByRegion(decoder, opts, mMseMarginWebPConfigRgb565,
                                              wholeImage);
                    } else {
                        compareRegionByRegion(decoder, opts, mMseMargin, wholeImage);
                    }
                    wholeImage.recycle();
                }
            }
        }
    }

    public void testDecodeRegionStringAndFileDescriptor() throws IOException {
        Options opts = new BitmapFactory.Options();
        for (int i = 0; i < NUM_TEST_IMAGES; ++i) {
            String filepath = obtainPath(i);
            for (int j = 0; j < SAMPLESIZES.length; ++j) {
                for (int k = 0; k < COLOR_CONFIGS.length; ++k) {
                    opts.inSampleSize = SAMPLESIZES[j];
                    opts.inPreferredConfig = COLOR_CONFIGS[k];

                    BitmapRegionDecoder decoder =
                        BitmapRegionDecoder.newInstance(filepath, false);
                    Bitmap wholeImage = BitmapFactory.decodeFile(filepath, opts);
                    if (RES_IDS[i] == R.drawable.webp_test && COLOR_CONFIGS[k] == Config.RGB_565) {
                        compareRegionByRegion(decoder, opts, mMseMarginWebPConfigRgb565,
                                              wholeImage);
                    } else {
                        compareRegionByRegion(decoder, opts, mMseMargin, wholeImage);
                    }

                    ParcelFileDescriptor pfd1 = obtainParcelDescriptor(filepath);
                    FileDescriptor fd1 = pfd1.getFileDescriptor();
                    decoder = BitmapRegionDecoder.newInstance(fd1, false);
                    ParcelFileDescriptor pfd2 = obtainParcelDescriptor(filepath);
                    FileDescriptor fd2 = pfd2.getFileDescriptor();
                    if (RES_IDS[i] == R.drawable.webp_test && COLOR_CONFIGS[k] == Config.RGB_565) {
                        compareRegionByRegion(decoder, opts, mMseMarginWebPConfigRgb565,
                                              wholeImage);
                    } else {
                        compareRegionByRegion(decoder, opts, mMseMargin, wholeImage);
                    }
                    wholeImage.recycle();
                }
            }
        }
    }

    public void testRecycle() throws IOException {
        InputStream is = obtainInputStream(RES_IDS[0]);
        BitmapRegionDecoder decoder = BitmapRegionDecoder.newInstance(is, false);
        decoder.recycle();
        assertTrue(decoder.isRecycled());
        try {
            decoder.getWidth();
            fail("Should throw an exception!");
        } catch (Exception e) {
        }

        try {
            decoder.getHeight();
            fail("Should throw an exception!");
        } catch (Exception e) {
        }

        Rect rect = new Rect(0, 0, WIDTHS[0], HEIGHTS[0]);
        BitmapFactory.Options opts = new BitmapFactory.Options();
        try {
            decoder.decodeRegion(rect, opts);
            fail("Should throw an exception!");
        } catch (Exception e) {
        }
    }

    private void compareRegionByRegion(BitmapRegionDecoder decoder,
            Options opts, int mseMargin, Bitmap wholeImage) {
        int width = decoder.getWidth();
        int height = decoder.getHeight();
        Rect rect = new Rect(0, 0, width, height);
        int numCols = (width + TILE_SIZE - 1) / TILE_SIZE;
        int numRows = (height + TILE_SIZE - 1) / TILE_SIZE;
        Bitmap actual;
        Bitmap expected;

        for (int i = 0; i < numCols; ++i) {
            for (int j = 0; j < numRows; ++j) {
                Rect rect1 = new Rect(i * TILE_SIZE, j * TILE_SIZE,
                        (i + 1) * TILE_SIZE, (j + 1) * TILE_SIZE);
                rect1.intersect(rect);
                actual = decoder.decodeRegion(rect1, opts);
                int left = rect1.left / opts.inSampleSize;
                int top = rect1.top / opts.inSampleSize;
                if (opts.inBitmap != null) {
                    // bitmap reuse path - ensure reuse worked
                    assertSame(opts.inBitmap, actual);
                    int currentWidth = rect1.width() / opts.inSampleSize;
                    int currentHeight = rect1.height() / opts.inSampleSize;
                    Rect actualRect = new Rect(0, 0, currentWidth, currentHeight);
                    // crop 'actual' to the size to be tested (and avoid recycling inBitmap)
                    actual = cropBitmap(actual, actualRect);
                }
                Rect expectedRect = new Rect(left, top, left + actual.getWidth(),
                        top + actual.getHeight());
                expected = cropBitmap(wholeImage, expectedRect);
                compareBitmaps(expected, actual, mseMargin, true);
                actual.recycle();
                expected.recycle();
            }
        }
    }

    private Bitmap cropBitmap(Bitmap wholeImage, Rect rect) {
        Bitmap cropped = Bitmap.createBitmap(rect.width(), rect.height(),
                wholeImage.getConfig());
        Canvas canvas = new Canvas(cropped);
        Rect dst = new Rect(0, 0, rect.width(), rect.height());
        canvas.drawBitmap(wholeImage, rect, dst, null);
        return cropped;
    }

    private InputStream obtainInputStream(int resId) {
        return mRes.openRawResource(resId);
    }

    private byte[] obtainByteArray(int resId) throws IOException {
        InputStream is = obtainInputStream(resId);
        ByteArrayOutputStream os = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        int readLength;
        while ((readLength = is.read(buffer)) != -1) {
            os.write(buffer, 0, readLength);
        }
        byte[] data = os.toByteArray();
        is.close();
        os.close();
        return data;
    }

    private String obtainPath(int idx) throws IOException {
        File dir = getInstrumentation().getTargetContext().getFilesDir();
        dir.mkdirs();
        File file = new File(dir, NAMES_TEMP_FILES[idx]);
        InputStream is = obtainInputStream(RES_IDS[idx]);
        FileOutputStream fOutput = new FileOutputStream(file);
        mFilesCreated.add(file);
        byte[] dataBuffer = new byte[1024];
        int readLength = 0;
        while ((readLength = is.read(dataBuffer)) != -1) {
            fOutput.write(dataBuffer, 0, readLength);
        }
        is.close();
        fOutput.close();
        return (file.getPath());
    }

    private ParcelFileDescriptor obtainParcelDescriptor(String path)
            throws IOException {
        File file = new File(path);
        return(ParcelFileDescriptor.open(file,
                ParcelFileDescriptor.MODE_READ_ONLY));
    }

    // Compare expected to actual to see if their diff is less then mseMargin.
    // lessThanMargin is to indicate whether we expect the diff to be
    // "less than" or "no less than".
    private void compareBitmaps(Bitmap expected, Bitmap actual,
            int mseMargin, boolean lessThanMargin) {
        assertEquals("mismatching widths", expected.getWidth(),
                actual.getWidth());
        assertEquals("mismatching heights", expected.getHeight(),
                actual.getHeight());

        double mse = 0;
        int width = expected.getWidth();
        int height = expected.getHeight();
        int[] expectedColors;
        int[] actualColors;
        if (width == TILE_SIZE && height == TILE_SIZE) {
            expectedColors = mExpectedColors;
            actualColors = mActualColors;
        } else {
            expectedColors = new int [width * height];
            actualColors = new int [width * height];
        }

        expected.getPixels(expectedColors, 0, width, 0, 0, width, height);
        actual.getPixels(actualColors, 0, width, 0, 0, width, height);

        for (int row = 0; row < height; ++row) {
            for (int col = 0; col < width; ++col) {
                int idx = row * width + col;
                mse += distance(expectedColors[idx], actualColors[idx]);
            }
        }
        mse /= width * height;

        if (lessThanMargin) {
            assertTrue("MSE too large for normal case: " + mse,
                    mse <= mseMargin);
        } else {
            assertFalse("MSE too small for abnormal case: " + mse,
                    mse <= mseMargin);
        }
    }

    private double distance(int exp, int actual) {
        int r = Color.red(actual) - Color.red(exp);
        int g = Color.green(actual) - Color.green(exp);
        int b = Color.blue(actual) - Color.blue(exp);
        return r * r + g * g + b * b;
    }
}


text:
DarkTribe – Voici L'Homme
This beginning of 2020 has been blessed with bands whose emotional grip – no offense in that – is the main drive to their music. Although some metalheads disdain it for many reasons, and I really don't blame them, emotion is a very important feature in Metal. I mean that easy emotion – again no offense in that – that comes from melodic vocals and guitars and rises from catchy choruses that Power Metal are so about. For some it is the reason to love Power Metal; for others it is the reason to hate it. The fact is that it is one of the most important Power Metal features. The rest is history.
DarkTribe offer with "Voici L'Homme" a handful of those emotions imbricated in each song of it. In fact, "Voici L'Homme" is full of those Metal dialects that I have been talking about. It's powerful, but at the same time sweet; it is grand, but at the same time worried with details; it's aggressive, but at the same time with delicate textures; finally, a true Heavy Metal album in all its dimensions and reach. That's why I always say to never underestimate a Metal band due to the complex and intrincated layers of music and emotion they build in their efforts. In this exact case, take "Prism of Memory" for instance as the best example of as "Voici L'Homme" an album. Everything I described is there. The textures in the mix of emotion, technique, and power the song present are amazing. Never forget that DarkTribe also dare to introduce unusual themes in the Metal world in their songs.
It's my habit to mention anything that sparks my attention in the tilte of the album, or the album cover, or other visual or social dimensions of an album. The saying 'never judge a book by its cover' is right when it comes to those aspects of "Voici L'Homme." Seeing the name DarkTribe the fan may be led to a band much more heavier than it in fact is. The fan may think it is a Death Metal, for instance. But, in a first listen, this impression goes completely away – again no offense in that – this album is for the ones who like a balanced album with power and emotion. An album which balances great melodic vocals with guitar interventions. The last sequence in the title track is priceless. The duo guitar and voice works marveously. As a matter of fact, I like this mix.
DarkTribe Voici L'Homme will be released on January 17th via Scarlet Records.
A March for a Prophecy
Prism of Memory
Voici L'Homme
A Silent Curse
Faith and Vision
Back in Light
Under the Tree of Life
According to Darkness
The Hunger Theory
Simbolic Story
Watch "Prism of Memory" official lyric video here:
Poleto
I'm just a lucky guy who has chosen metal to live with for a long time. Metal changed my life for good. It made me more confident and stronger. Metalheads are naturally far away from the mass mediocrity and don't accept impostures from anybody else. Metal is more than music, it's a life changing oportunity!
METALLICA Shares Cover Of RUSH's 'Tom Sawyer' In Honour Of NEIL PEART
Hazzerd - Delirium
Impiety - Versus All Gods
Bandolier Kings - Welcome to the Zoom Club (A Tribute to Budgie)
Horned Almighty - To Fathom the Master's Grand Design
Magnum - The Serpent Rings

redpajama_set_name: RedPajamaCommonCrawl


text:
About First Venture Legal
First Venture Legal
Founders' Protections Against Dilution
August 22, 2014 by James Johnson Leave a Comment
I've had founders come to me worried about dilution of their equity stake cause by bringing on investors — although they're more worried about keeping control than simply a bigger chunk of the company, they ask me how it's possible to keep their same equity stake. The fact is, founders are going to get diluted. Although there are several anti-dilution provisions that permit any shareholder to keep their equity share (or something close to it), when founders grant those sorts of provisions to themselves it sends a red flag to investors, who expect founders to take the first hit when it comes to dilution, and may insist on having anti-dilution provisions themselves — if everyone is protected by anti-dilution, then there's no one to dilute! Besides it's better to own 20% of a company worth millions rather than 100% of a company worth nothing. Of course, there are some protections against dilution, particularly if founders are simply interested in keeping control over their company. The first step is to avoid "full ratchets" — these allow investors to receive additional stock in the event the company does a further funding round at a lower valuation, as if the earlier investors had bought in at the now lower price. But if a founder is simply concerned with not having their control diluted, they can make changes to the governance structures of the company, such as classes of stock, the board of directors, or voting power. The board of directors can be structured such that certain seats are elected by certain shareholders — professional and institutional investors may insist that they be given board seats that only they can elect people to — but founders can also create board seats that only they can elect themselves to. Founders can also give their class of stock super-voting power, such as having 10 votes for every share they own. In that example, a founder who owns 200,000 of 1 million outstanding shares only owns 20% of the equity, but has 2 million votes to the remaining 800,000 votes. Of course, founders must be careful not to go too crazy with structures such as these. Investors may be leery investing in a company in which a founder retains complete control, and thus could simply ignore an investor's recommendations or concerns. If an investor is going to give you hundreds of thousands or millions of their dollars, they will likely want some say in how that money is spent. Therefore, while protecting your ability to direct the company, you will also want to provide for your investors to have a voice in company operations.
Entity Structures and Formation, Startup Financing
None of the information presented on this site is intended or inferred to be or to be used as legal advice or as a substitute for legal advice, or is intended or inferred to create an attorney-client relationship. If you require legal advice or the services of an attorney, please contact First Venture Legal or another attorney for that specific purpose.
First Venture Legal and its attorneys claim no special training or expertise in any particular area of law. By accessing this site or its contents, either directly or through a third party, you acknowledge that you understand and accept the terms of this disclaimer. Thank you.
Copyright © 2020 · First Venture Legal · PO Box 410121 Cambridge , MA 02141 · Powered by ThriveHive


Full length version of "Nuki Nuki (The Nuki Song)" by Gummibär! From the DVD "I Am A Gummy Bear - The Gummibär Video Collection" which features 12 videos and full lyrics in a sing along songbook.
Also from the Gummibär album "La La Love To Dance".
OSITO GOMINOLA: http://www.ositogominola.mx Everyone's favorite animated dancing and singing gummy bear!


James Grage: Let's talk about the type of foods that people should eat. In that, let's also have a conversation about where carbohydrates play a role, and what type of carbohydrates. In a traditional ketogenic diet, we're talking about 5% of our calories are coming from carbohydrates, roughly 25g or less. So let's talk about the rest. Let's spell it out. What are the bad sources of fats and what are some of those good sources of fats?
Dr. Brett Osborn: Okay, so again, we're talking about sources of fat, meaning inflammatory fats vs. anti-inflammatory fats.
James: So break that down. Inflammatory fats.
Dr. O: Right, so we're talking about the omega 6s vs. the omega 3s really.
James: And what does that mean to the average person?
Dr. O: Typically, in America, we are consuming, at a ratio of 20:1, omega 6s vs. omega 3s. So what does that mean? You're eating lots and lots of red meats, Krispy Kreme donuts, potato chips, French fries – these have dangerous levels of omega 6 fats in them. You can eat red meat. There's no question you can eat red meat. You don't want to have red meat as your source of fats day in and day out. Do you want to have bacon as your source of fats day in and day out? No, you don't. You want to have things like the good stuff, the omega 3s and the omega 9s. Olive oil, the omega 3s from fish, the coconut oils, nuts – almonds, walnuts, avocados – those are the good fats.
James: So let's talk about a popular trend that started in ketogenic diets and that's bulletproof coffee. I believe there's a brand out there, so I'm not talking about the brand, I'm talking about the concept, which was this idea of taking a stick of butter and putting it in your cup of coffee, which is disgusting. But the idea was that the fats curb your appetite, give you a sense of fullness, which they do. The caffeine obviously would curb your appetite. And a lot of people that I heard were doing this were doing it first thing in the morning, hence the coffee, curbing their appetite all the way until whenever, 12 o'clock or 1 o'clock in the afternoon, so they're not eating anything during that period of time. So let's talk about that because I think that falls back in line with the discussion of good fat vs. bad fat. I think there are a lot of things out there that are trending, so people are saying, "Hey, it's okay to eat a stick of butter!" I don't think it's ever okay to eat a stick of butter, so let's talk about that for a second.
Dr. O: It just goes back to the same thing. I don't have problems with people eating small amounts of these things. I really don't. One of the beneficial fats for the gut is something that I take called butyric acid, which is one of the fats that's in butter. So I don't have any problem with people eating small amounts of these, but it's all about moderation. If you're going to eat these so-called bad fats, I make sure to take some omega 3s as well. It's not so much about the amount of the bad fat that you eat. It's the ratio. Americans eat 20:1, omega 6 inflammatory fats to anti-inflammatory fats. That's terrible! It's hard though. Another question is, "Why don't we just get rid of all the omega 6s?" My answer to that would be, are you going to recover from your workouts absent omega 6s? The answer is no. You do need some inflammatory mediators in the body to allow you to recover from your workout – that's an inflammatory process – and also to fight disease.
James: Well and even when you buy a supplement, it's not just a 3-9 (omega 3, omega 9), it's a 3-6-9.
James: So in a keto diet, we want to try to minimize the animal fats. We want to bring in good sources such as olive oil or nuts – anything that is high in 3s and 9s. So that's the fat aspect of it. It's not just consume a diet high in fat. Make sure you get your good fats in there. So let's talk about the other aspect where there's a lot of confusion, especially for people working out. That's kind of my world, is dealing with people that are fitness enthusiasts – they train five days a week. Even if they aren't trying to build muscle, they're trying to maintain lean muscle, and people have been conditioned for years and years and years: protein, protein, protein! And I do think that protein is an important part of the diet, but not like it's been prioritized in years past. So let's talk about how protein plays a part in a ketogenic diet because I've tried the ketogenic diet before and I've tried to modify them because I'm used to taking a lot of amino acids. So I take a lot of BCAAs, I take a lot of essential amino acids, and there's no way to be in ketosis when you're taking that much aminos. Through glycogenesis, your body is converting that to glucose nonstop. So whether it's a modified keto diet or a traditional keto diet, let's talk about protein. I know that maintaining or even building lean muscle is important. Again, muscle is our metabolic engine, so I know that's a priority for you with your clients, so what is your recommendation on protein intake? I guess, here's a better question: no matter who you are, whether you're in keto or not, how much protein do you really need to build or maintain lean muscle?
Dr. O: Right, well nobody knows the answer to that, as you know. That's been a hot topic of debate for many years. I will tell you that recent literature suggests that it's overstated. And I will tell you that with my own body, I don't believe that I need nearly as much as I used to. I just don't. That said, if you are going to follow the dipstick, for whatever that's worth, on a traditional ketogenic diet, you're going to get knocked out of ketosis real quick. If your ratio is 70% calories from fat, 5% carbs and the other 20% from protein, and you start pushing that up, you will get knocked out of ketosis. It's going to be different for everybody. If you want to use the ridiculous dipstick as your barometer of "how well you're doing," even though we know that that means very little, you have to use your dipstick and figure out where that line is for you. And it's going to be different for everyone.
James: Ok, now let's talk about the right types of carbs and the wrong types of carbs.
Dr. O: Here in my clinic, we're aggressive. A low-glycemic index carbohydrate has criteria to it, just like a traditional ketogenic diet is 5% of your daily calories are from fats. Well, low-glycemic index carbohydrates are classically defined as those with a glycemic index of 55. In my clinic, we're more aggressive. My cut off is 40.
James: So give me an example of ones that fall into that category.
Dr. O: So those would be things like most vegetables. I don't want you having peas and carrots because those are sort of on the higher end there.
James: Still a lot of sugar.
Dr. O: Yeah. Corn, we get rid of that. But we transition them slowly down. I want people 0-20. Those are the green, leafy vegetables; onions; tomatoes; scallions; celery.
James: So on a modified ketogenic diet, with 50-100g of carbs throughout the day, you would like to see all of the carbs fall below 40 on the glycemic index?
Dr. O: And ideally, even less than 20. So if you're thinking, "Hey, I'm going to have to eat a lot on this diet." You're damn right. I want you eating. Despite the fact that the body is saying, "I'm sort of in a pseudo-starve state." You push onward. And you sort of have to force yourself to get those carbohydrates in.


text:
(-) Remove Before 2000 filter Before 2000
Conducting Classroom Observations in First Things First Schools
Relying on 427 classroom observations conducted over a three-year period, this study traces changes in teachers' instructional practices in the First Things First schools.
The Talent Development High School Model
Context, Components, and Initial Impacts on Ninth-Grade Students' Engagement and Performance
An examination of the implementation and early impacts of Talent Development, a whole-school reform initiative, found that the model produced substantial gains in ninth-grade students' course completion and promotion rates.
Career Academies: Impacts on Work and Educational Attainment
Career Academies produced substantial and sustained improvements in earnings of young men after high school, without limiting opportunities to attend college.
Using Rigorous Evidence to Improve Policy and Practice
High School Reform Conference Series
How can evidence-based research help improve low-performing high schools? This report summarizes the first in a series of conferences designed to bring together researchers, practitioners, and policymakers to address that question.
Scaling Up First Things First
Findings from the First Implementation Year
Based on survey data and findings from interviews and observations, this report describes the First Things First reform initiative and its first year of implementation at seven secondary schools, with a focus on three key components: small learning communities, a family advocacy system, and instructional improvement strategies.
Welfare Reform, Work, and Child Care
The Role of Informal Care in the Lives of Low-Income Women and Children
Drawing on ethnographic interviews, this policy brief describes the patchwork child care arrangements made by low-income parents and discusses implications for policies that would promote the dual objectives of child well-being and parental employment.
The Effects of Welfare and Employment Policies on Child Care Use by Low-Income Young Mothers
The Effects of Welfare Policy on Child Care Decisions
Evidence from Ten Experimental Welfare-to-Work Programs
Child Care and Employment
Evidence from Random Assignment Studies of Welfare and Work Programs
"Making A Way Out of No Way"
How Mothers Meet Basic Family Needs While Moving from Welfare to Work
Young People with Disabilities (1) Apply Young People with Disabilities filter
Welfare Recipients (40) Apply Welfare Recipients filter


To preserve and promote the African American cultural through the performing arts.
The Opening of 'Kings of Harlem by Layon Gray..
This image is part of our brochure with the productions of our 2016-17 Season as winners and nominated for the 42nd Annual Carbonell Awards. This was a first for M Ensemble and the first company to win five awards in one category.
This image describes our Students on Stage Program that was funded by Miami-Dade Cultural Affairs and The Children's Trust.
The M Ensemble Company is Florida's longest running African American professional theater company. M Ensemble celebrates its 47th Anniversary Season in 2017-18 with a return to Liberty City, the company's home in the 1970s. M Ensemble is now poised to become the resident theater company of the new Sandrell Rivers Theater, a 199-seat theater, located at 6103 NW 7th Avenue in Miami-Dade County Liberty City community. M Ensemble Produced three productions : 'Sassy Mamas'; God's Trombones'; and 'Seven Guitars'. We look forward to another excited 2018-2019 Season with the return of the renown playwright and Carbonell winner Layon Gray. His award winning play, 'Meet Me At The Oak' will premiere South Florida when it opens M Ensemble season. Other line-ups that will delight audiences are: 'Blues for an Alabama Sky' by Pearl Cleage and 'Sisters' by Marsha A. Jackson.
The M Ensemble Company provided a theater program-"Students on Stage" (SOS)- for ages 6-12. The activities were conducted on Tuesdays and Thursdays at the Sandrell Rivers Theater. A total of 25 youth participated in the program. Students will be taught acting techniques, dance/movement for the stage and percussion rhythms . for 12 weeks..
Learn more about M Ensemble Company, Inc.


text:
layout: organization
category: national

title: Outlet Program At CHAC
impact_area: Children
keywords:
  - Education
  - Health and Wellness
  - Understanding and Diversity
location_services: Outside NYC
location_offices: Outside NYC
website: www.projectoutlet.org

description: |
  Outlet is a program that creates a safe place for young people between the ages of 11-24, who get bullied for being gay or acting gay. We also educate teachers and other adults who work with all kinds of young people to understand how to help kids be kind to each other. CHAC has many counselors who also help young children and their families get along.
mission: |
  Outlet supports and empowers lesbian, gay, bisexual, transgender, queer and questioning youth ages 13-20 living on the Peninsula and South Bay. Through our range of support services, leadership training, community education and advocacy, Outlet successfully increases youth confidence, builds personal assets, and creates healthier communities.

cash_grants: yes
grants:
  - |
    Outlet throws dances for young lesbian, gay, bisexual, and transgender people so they can have fun in a safe environment where other kids won't make fun of them. Cash grants help us pay for a space to have the dance and all the staff that needs to be there, buy snacks and drinks, decorations, prizes and DJ's.  The total cost for a dance is about $1000.
  - |
    Outlet always has food and drinks at our group meetings for the youth. Our pizza and drinks for a whole year for all the groups costs $1100.
service_opp: yes
services:
  - |
    Students would learn how to talk to their teachers or Principals about making sure that all students feel safe and respected at their school. Outlet helps the student learn all the information they need to bring more support to their school. This opportunity is for middle school, or younger students who have families that would like to be involved.

learn:
  - Give students a tour of our office and facilities
  - Make a presentation about our organization
  - Speak over the phone about our work
cont_relationship:
  - Attend an in-school Check Award Assembly if we receive a grant
  - Help students tell local newspapers and media about their grant and/or project with us
  - Educate the school by leading a workshop
  - Collect pennies during the Penny Harvest next fall

salutation:
first_name: Anthony
last_name: Ross
title_contact_person: Director

city: Mountain View
state: CA
address: |
  711 Church Street
  Mountain View CA 94041
lat: 37.387869
lng: -122.081773
phone: 650-695-2020
ext: 22
fax: 650-965-7286
email: aross@chacmv.org
preferred_contact: email
contact_person_intro: |
  Hi! My  name is Eileen and I am the director of the Outlet program. I have been working with young children and teenagers for over 14 years. I love working with young people because they are fun and open minded! I help make sure all the services we do actually happen. So I help the other people who work at Outlet do the best job that they can. We haven't worked with Common Cents in the past, but we just received a grant from a school in the Bronx and we are VERY thankful!! It helped us buy a video camera so we can have some of our kids talk on YouTube to other kids who might be too scared to talk to anyone. We are really excited to maybe work with some youth from Common Cents!
---
Outlet is a program that creates a safe place for young people between the ages of 11-24, who get bullied for being gay or acting gay. We also educate teachers and other adults who work with all kinds of young people to understand how to help kids be kind to each other. CHAC has many counselors who also help young children and their families get along.

redpajama_set_name: RedPajamaGithub


The film is set to the haunting tones of one of King Dude's best-loved ballads, "Deal With the Devil," and follows a story of love, revenge, and the devil.
Noisey's favorite smooth-talking devil man, King Dude, has teamed up with director Daniel Garcia to score a new short film, and we're stoked to give it its worldwide debut. This is the first stirrings we've seen from King Dude since the release of last year's impeccable dark Americana odyssey, Songs of Flesh & Blood - In The Key of Light, and comes to light mere days before an extensive European tour (scroll down for dates).
The film is set to the haunting tones of one of King Dude's best-loved ballads, "Deal With the Devil," and follows a story of love, revenge, and the devil, all bathed in ghostly twilight. It ends in blood, and death, as all Luciferian pacts do. Blessed be.


Denver – Broe Real Estate Group, a leading investor and manager of commercial real estate across the US, today announced that Douglas Wells is joining the company as CEO, effective immediately. In his new role, Wells leads all operational, investment and capital market activities for Broe Real Estate Group and its affiliates.
"Doug is a great find for Broe Real Estate Group, and The Broe Group. Along with the leaders of our transportation and oil and gas business units, he is indicative of the caliber of people we've added over the last few years to strengthen our management capability and implement best practices across the value creation chain," said Claude Pumilia, Chief Operating Officer for The Broe Group.
Wells was previously Chief Investment Officer of Shelter Canadian Properties Limited, a real estate investment management company. Before that, he spent 15 years with Lazard Real Estate Partners, most recently as Managing Principal with investment management responsibility for five real estate opportunity funds, which at its peak totaled more than $3 billion of committed partner capital invested in the hospitality, office, industrial, retail, senior living and structured finance sectors. As part of his role at Lazard, Wells also served as President of InTown Suites, Inc., an Atlanta based extended-stay hotel company with 127 locations. He was previously with The Mutual Life Insurance Company of New York/ARES Realty Capital, and started his real estate career with Shelter Corporation of Canada Limited.
Wells received his B.A. from Trent University in Peterborough, ON and his M.B.A. from University of Denver.
"Broe Real Estate Group has an impressive real estate investment management platform with a track record of superior returns across all major property sectors through many investment cycles. I'm looking forward to the challenge of helping to take an already successful real estate investment management firm to the next level," said Wells.


Inflicting grievous bodily harm with intent, or wounding with intent, is one of the most serious violent offences someone can be charged with. The offence is so serious it carries a maximum sentence of life imprisonment, and can only be dealt with by the Crown Court. It is crucial that your case is prepared by experienced solicitors, and that you have the best representation available at Court.
If you are accused of wounding with intent, the Prosecution will have to prove that you have unlawfully attacked and injured the victim, and you intended to cause them really serious harm. The Prosecution will have to produce medical evidence about the injuries, and to prove that the injuries were caused by you.
Stephen Lickrish & Associates have represented clients for s.18 wounding with intent throughout the Greater Manchester area as well as all over the country, and have the perfect team of solicitors or barristers to make sure you have the best advice for your individual case. If you, or someone you know, are accused of this offence, contact us to see how we can help you.
Offering specialist advice and representation on cases of Wounding With Intent, Stephen Lickrish & Associates Solicitors in Manchester can help. Contact us today by calling us at 0161 237 1913 or on 0800 988 64 22 for 24-hour legal advice. Alternatively, contact us by filling out an enquiry form.