text:
About OSL
Giving Generously
Guests & Visitors
Members & Friends
Events and Registrations
OSLC Foundation
Music Devotion Series
Middle School & High School Ministry
OSL Library
OSL Gym
Food Ministry Menus
OSL News
Coming up at OSL
Bulletins & Announcements
The Intercom Newsletter
Hear and Know Podcast
OSL Library – The Intercom, December 2017
by Communications | Dec 1, 2017 | Publications | 0 comments
Second Saturday Movie
Christmas on Salvation Street will be the Second Saturday Movie, on December 9 at 2:30 p.m. in the Holy Word Theatre. Noah Davis is a pastor in an affluent community. Depressed after losing his wife to illness, he is contacted by an old friend who has opened a mission in a rough inner-city neighborhood. With Christmas approaching, Noah packs up and, with his two daughters, moves into Salvation Street Mission. With a lot of faith, belief, and elbow grease, the impossible starts to become very much a possibility, until a local gang threatens violence. Despite all the challenges, there is a glimmer of hope for the future of the neighborhood, just in time for Christmas.
Make a day of it with the movie, followed by worship at 5:00 and
dinner afterward!
Monthly Book Club for Adults
Because of the Advent and Christmas season, the Book Club for Adults will not meet in December. Join this exciting community of readers when they resume on January 25! The group meets at 7:00 p.m. on the fourth Thursday of the month in the Library to discuss the novel selected for that month. A list of the monthly selections is available in the Library.
Magnify Your Advent Season
Be sure to visit the Library's Advent and Christmas book displays for children, youth, and adults. To make your selection easy, a large number of books are on separate displays, one for children and youth and one for adults.
Shepherd on the Search to Help Children "Magnify"
To help children discover the joy of searching for the Christ Child during the Advent season, children who visit the Library on Sundays and Wednesdays, through December 24, and find one of the 12 nativity figures hidden on the shelves will receive a treat and a prize. Be sure to visit the Library and encourage your child to follow the shepherd's search for Baby Jesus.
Stick Together Mosaic Keeps Growing
Over 1,900 stickers have been placed on the mosaic for the OSL Library's fall reading program, Stick Together. One sticker is placed on the mosaic for each item you check out. Together we are building a mosaic to reveal one of God's many blessings. Be sure to come view the mosaic—can you guess what the image will be?
Sunday	8:15 a.m.–12:15 p.m.
Monday	9:00 a.m.–noon
Tuesday	9:00 a.m.–noon
Wednesday	9:00 a.m.–7:30 p.m.
Thursday	9:00 a.m.–noon
Friday	Closed
2nd Saturday of the month	10:00 a.m.–noon and 4:30–6:30 p.m.
New Books for Adults
Faithful: Christmas through the Eyes of Joseph by Adam Hamilton. From his beginnings as a humble carpenter to his all-important role as the earthly father of Jesus Christ, Joseph's place in the nativity story is sometimes overlooked but contains valuable lessons for all of us. Hamilton examines Christmas through the eyes of Joseph. Absent from much of the biblical narrative, Joseph never spoke a word, but his courageous actions were crucial to the birth of Christ and God's salvation plan for humanity.
As you read this book, you will understand how Joseph's story is much like our own. In life, we encounter circumstances that we would never have chosen for ourselves. At times it can be tempting just to walk away. Joseph provides us a great example of humbly obeying God even when we don't understand and faithfully moving forward in the strength that God provides.
Exchange your doubt for courage this Advent and Christmas season. The story of Joseph provides us a great example of humbly obeying God even when we don't understand, and faithfully moving forward in the strength that God provides.
Additional New Titles for Adults
• The Rooster Bar by John Grisham
• The Deal of a Lifetime by Fredrik Backman
• Without Warning by Joel C. Rosenberg
New for Middle- and High-School Youth
If There's No Tomorrow by Jennifer L. Armentrout. Lena Wise is always looking forward to tomorrow, especially at the start of her senior year. She's ready to pack in as much friend time as possible, to finish college applications, and to maybe let her childhood best friend Sebastian know how she really feels about him. For Lena, the upcoming year is going to be epic—one of opportunities and chances.
Until one choice, one moment, destroys everything.
Now Lena isn't looking forward to tomorrow. Not when friend time may never be the same. Not when college applications feel all but impossible. Not when Sebastian might never forgive her for what happened…for what she let happen.
With the guilt growing each day, Lena knows that her only hope is to move on. But how can she move on when her and her friends' entire existences have been redefined? How can she move on when tomorrow isn't even guaranteed?
Additional New Titles for Middle- and High-School Youth
• The War I Finally Won by Kimberly Brubaker Bradley
• The Raft by S. A. Bodeen
• Trapped in a Video Game 4 by Dustin Brady
New Picture, Early Reader, and Chapter Books
We're All Wonders by R. J. Palacio. Over six million people have fallen in love with Wonder and have joined the movement to "Choose Kind." Now younger readers can meet Auggie Pullman, an ordinary boy with an extraordinary face, and his beloved dog, Daisy. With We're All Wonders, Palacio makes her picture-book debut as both author and artist, with a spare, powerful text and striking, richly imagined illustrations. Palacio shows readers what it's like to live in Auggie's world—a world in which he feels like any other kid, but he's not always seen that way.
We're All Wonders may be Auggie's story, but it taps into every child's longing to belong, and to be seen for who they truly are. It's the perfect way for families and educators to talk about empathy and kindness with young children.
Additional New Picture Books
• Everyday Angels by Mark Kimball Moulton
• There's Nothing to Do by Dev Petty
New Early Readers
• The Magic School Bus Fights Germs by Kate Egan
• Big Digger Helps Out by Sue Graves
New Chapter Books
• Christmas in Cooperstown by David A. Kelly
• O Bethlehem by Joan Petersen Tietz
Be Notified When The Intercom Is Updated!
Sign Up for The Intercom
909 W. 33rd St.
Office Hours: 8:00 a.m.–
5:00 p.m., Monday–Friday
Pastoral Letter – January 20, 2021
OSL Pastoral Letters – Updated January 20, 2021
Bulletins for January 23 and January 24, 2021
OSL Worship Services – January 17, 2021
Open Question Survey


With the web C90-10Abreaking communication barriers all over the place, everybody become an abundance of info. For those that tend to be home-schooling their children this is interesting simply because details are consequently available. Children are responsive to understanding like a sponge or cloth for you to drinking water, so it's just fascinating to see these relax in every that they can. Parents which are finding the time to home-school their kids must be committed to passing it on lessons which might be valued by them individually. With everything being realized, we sometimes forget about to chat along with unwind together with SCP-500our kids. A mommy whom doubles being a instructor has to depart the actual trainer function behind and simply turn into mother for about several hours each day. Wonderfully, there is an possiblity to spend a lot of time using your child, however make sure you are hearing your son or daughter. Do not simply notice the words, yet see the sentiment also. A lot of children fight to communicate what exactly they want. Speak with your youngster about 'stuff' not related university and allow your ex to merely certainly be a youngster. It's not information on organization at this point. You happen to be protecting a pair of tasks as being a homeSOA Certifications-school Mommy. When you participate in discussions and also show you are actually hearing and are emotionally concerned, the child's self-confidence increases. Some parents disrupt their children when they are talking. Because grown ups, many of us hate disturbance, yet youngsters often times could keep quiet any time that's our own request. It is necessary for a child to feel safe and sound throughout expressing his / her landscapes. Efficient conversation is a vital ability for a child to learn therefore make sure you remember the important impact you have on your own child. There is a delicate balance to end up being obtained SOAas the Mommy and a home-schooling mother or father. Task is gratifying as you tend to be this considerable position model to your little one. Why certainly not improve your very own communications abilities and also steer simply by example. Seeking your individual advancement that suits into your schedule? Do you want private training as well as the chance of intense cash flow although functioning in the convenience of your home? Bobbi Jo Frazier comes with a highly effective take a trip item for buyers which features bright handwear cover individual support together with genuine low cost pricing, including airfares. This system is only presented through business people and their home businesses. We concentrates on personal development and aiding others do well? Might this particular excite you? Make use of personal take a trip consultant to organize and also book plane tickets, cruise trips, all-inclusive getaways anywhere in the world. Fantasy huge as well as are living your best dreams.


text:
import React from 'react'
import { CirclePacking, CirclePackingSvgProps } from '@nivo/circle-packing'
import circlePackingLightNeutralImg from '../../assets/icons/circle-packing-light-neutral.png'
import circlePackingLightColoredImg from '../../assets/icons/circle-packing-light-colored.png'
import circlePackingDarkNeutralImg from '../../assets/icons/circle-packing-dark-neutral.png'
import circlePackingDarkColoredImg from '../../assets/icons/circle-packing-dark-colored.png'
import { ICON_SIZE, Icon, colors, IconImg } from './styled'
import { IconType } from './types'

type Datum = {
    id: string
    value?: number
    color?: string
    children?: Datum[]
}

const chartProps = (colors: string[]) =>
    ({
        width: ICON_SIZE,
        height: ICON_SIZE,
        data: {
            id: 'root',
            children: [
                { id: 'v', value: 0.1, color: colors[1] },
                { id: 'a', value: 3.4, color: colors[1] },
                { id: 'b', value: 2.6, color: colors[1] },
                { id: 'd', value: 1, color: colors[1] },
                { id: 'u', value: 0.1, color: colors[1] },
                { id: 'c', value: 0.1, color: colors[1] },
                { id: 'q', value: 0.7, color: colors[1] },
                { id: 's', value: 2, color: colors[1] },
                { id: 't', value: 0.1, color: colors[1] },
                { id: 'j', value: 0.2, color: colors[1] },
                { id: 'l', value: 0.7, color: colors[1] },
                { id: 'k', value: 2.6, color: colors[1] },
                { id: 'h', value: 0.4, color: colors[0] },
                { id: 'w', value: 0.1, color: colors[0] },
                { id: 'x', value: 1, color: colors[1] },
                { id: 'y', value: 0.1, color: colors[0] },
                { id: 'g', value: 0.4, color: colors[1] },
                { id: 'z', value: 0.1, color: colors[1] },
                { id: 'e', value: 1, color: colors[0] },
                { id: 'f', value: 1, color: colors[0] },
                { id: 'n', value: 0.4, color: colors[0] },
                { id: 'o', value: 0.2, color: colors[0] },
                { id: 'p', value: 0.4, color: colors[0] },
                { id: 'i', value: 0.2, color: colors[0] },
                { id: 'm', value: 0.2, color: colors[0] },
            ],
        },
        colors: { datum: 'data.color' },
        childColor: 'noinherit',
        padding: 2,
        enableLabels: false,
        leavesOnly: true,
        isInteractive: false,
    } as CirclePackingSvgProps<Datum>)

const CirclePackingIconItem = ({ type }: { type: IconType }) => (
    <Icon id={`circle-packing-${type}`} type={type}>
        <CirclePacking<Datum> {...chartProps([colors[type].colors[1], colors[type].colors[4]])} />
    </Icon>
)

export const CirclePackingIcon = () => (
    <>
        <CirclePackingIconItem type="lightNeutral" />
        <IconImg url={circlePackingLightNeutralImg} />
        <CirclePackingIconItem type="lightColored" />
        <IconImg url={circlePackingLightColoredImg} />
        <CirclePackingIconItem type="darkNeutral" />
        <IconImg url={circlePackingDarkNeutralImg} />
        <CirclePackingIconItem type="darkColored" />
        <IconImg url={circlePackingDarkColoredImg} />
    </>
)

redpajama_set_name: RedPajamaGithub


text:
Max Sherman
MHSherman@lbl.gov
eta.lbl.gov/people/Max-Sherman
Max Sherman is a Senior Scientist at the Lawrence Berkeley National Laboratory with over 30 years of experience in building physics. He has a Ph.D. in physics from Berkeley and is an international expert in air leakage, HVAC, indoor air quality, infiltration, moisture, energy efficiency, and related topics. He is a well-regarded member of ASHRAE having served on the Board of Directors and many technical positions and is currently a Distinguished Lecturer; he is a recipient of ASHRAE's Exceptional Service Award and ASHRAE's highest technical award as a Holladay Distinguished Fellow. He has also been elected a Fellow of the International Society of Indoor Air Quality and Climate (ISIAQ). He represents the United States on International Energy Agency tasks such as the Air Infiltration and Ventilation Center. He serves on national and international committees and editorial boards and does outside consulting.
Why We Ventilate
Authors: J.M. Logue; P.N. Price; M.H. Sherman; B.C. Singer
Does Mixing Make Residential Ventilation More Effective?
Authors: M.H. Sherman; I.S. Walker
Duct Leakage Modeling in EnergyPlus and Analysis of Energy Savings from Implementing SAV with InCITeTM
Authors: C.P. Wray; M.H. Sherman
Health Hazards in Indoor Air
Authors: J.M. Logue; M.H. Sherman; B.C. Singer
IAQ Based Design of an Efficient DCV System
Authors: D.Kragsig Mortensen; M.H. Sherman; I.S. Walker
Impacts of Mixing on Acceptable Indoor Air Quality in Homes
Indoor Health Benefits and Energy Costs of Residential Ventilation, Department of Housing and Urban Development Report
Infiltration Effects on Residential Pollutant Concentrations for Continuous and Intermittent Mechanical Ventilation Approaches
Authors: M.H. Sherman; J.M. Logue; B.C. Singer
Parametric System Curves: Correlations Between Fan Pressure Rise and Flow for Large Commercial Buildings
Authors: M.H. Sherman; C.P. Wray
What's in the Air We Breathe
Authors: M.H. Sherman

redpajama_set_name: RedPajamaCommonCrawl


The prospect of using technology to solve challenges and contribute to socio-economic transformation excites us! We believe that effective socio-economic transformation can bring joy to many and that we can have a lot of joy enabling it. Thus the name INNO (Innovation) and Yolo (Xhosa: Joy). We also love that the name makes the sound Inoyolo (Xhosa: Has Joy). We want to dedicate ourselves to Joyful Innovation that creates positive change for others.
We have an amazing vision and plan for transforming this website from an information resource into the leading interactive online platform for ESD and entrepreneurship in South Africa and the rest of Africa. If you would like to get involved, please do get in touch.


text:
package br.uff.ic.oceano.ostra.service;

import br.uff.ic.oceano.core.control.ApplicationConstants;
import br.uff.ic.oceano.core.exception.ObjetoNaoEncontradoException;
import br.uff.ic.oceano.core.exception.ServiceException;
import br.uff.ic.oceano.core.exception.VCSException;
import br.uff.ic.oceano.core.factory.ObjectFactory;
import br.uff.ic.oceano.core.model.*;
import br.uff.ic.oceano.core.service.MetricValueService;
import br.uff.ic.oceano.core.service.ProjectUserService;
import br.uff.ic.oceano.core.service.RevisionService;
import br.uff.ic.oceano.core.service.controletransacao.Transacional;
import br.uff.ic.oceano.core.service.vcs.VCSService;
import br.uff.ic.oceano.core.tools.compiler.CompilerService;
import br.uff.ic.oceano.core.tools.metrics.MetricEnumeration;
import br.uff.ic.oceano.core.tools.metrics.MetricManager;
import br.uff.ic.oceano.core.tools.metrics.service.MeasurementService;
import br.uff.ic.oceano.core.tools.metrics.service.MetricService;
import br.uff.ic.oceano.core.tools.revision.RevisionUtil;
import br.uff.ic.oceano.util.DateUtil;
import br.uff.ic.oceano.util.file.FileUtils;
import br.uff.ic.oceano.util.file.PathUtil;
import br.uff.ic.oceano.ostra.exception.CompilerException;
import br.uff.ic.oceano.ostra.model.Item;
import br.uff.ic.oceano.ostra.model.VersionedItem;
import br.uff.ic.oceano.ostra.model.VersionedItemMetricValue;
import br.uff.ic.oceano.util.Output;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 *
 * //TODO Should be moved to core, since web is a front end.
 */
public class OstraMetricService extends MetricService {

    //Control
    private boolean retryingCompilation = false;
    private boolean retryingCheckout = true;
    private boolean usingUpdateRevision = false;
    private boolean CONTINUE_TO_NEXT_REVISION_IF_THROWS_EXCEPTION = false;
    private boolean STOP_REVISIONS_MEASUREMENT_WITH_METRICS_EXCEPTION = true;
    private int revisionThreshold = 100;
    //
    protected VCSService vCSService;
    protected ProjectUserService projectUserService;
    protected RevisionService revisionService;
    protected ItemService itemService;
    protected LogService logService;
    protected MetricValueService metricValueService;
    protected VersionedItemService versionedItemService;
    protected VersionedItemMetricValueService versionedItemMetricValueService;
    protected MeasurementService measurementService;
    protected Set<MetricManager> fontMetrics;
    protected Set<MetricManager> compiledMetrics;

    public OstraMetricService() {
        super();
        measurementService = ObjectFactory.getObjectWithDataBaseDependencies(MeasurementService.class);
        vCSService = ObjectFactory.getObjectWithDataBaseDependencies(VCSService.class);
        projectUserService = ObjectFactory.getObjectWithDataBaseDependencies(ProjectUserService.class);
        revisionService = ObjectFactory.getObjectWithDataBaseDependencies(RevisionService.class);
        itemService = ObjectFactory.getObjectWithDataBaseDependencies(ItemService.class);
        metricValueService = ObjectFactory.getObjectWithDataBaseDependencies(MetricValueService.class);
        versionedItemService = ObjectFactory.getObjectWithDataBaseDependencies(VersionedItemService.class);
        versionedItemMetricValueService = ObjectFactory.getObjectWithDataBaseDependencies(VersionedItemMetricValueService.class);
        logService = ObjectFactory.getObjectWithDataBaseDependencies(LogService.class);
    }

    /**
     * //TODO break down in methods //TODO find progress pattern to use, for
     * future web dispatch feature
     *
     * @param project
     * @param oceanoUser
     * @param metricsToExtract
     * @throws ServiceException
     */
    public void extractAndSaveMetricsFromAllFilesInProjectRevisions(SoftwareProject project, OceanoUser oceanoUser, List<MetricManager> metricsToExtract) throws ServiceException {
        loadMetrics(metricsToExtract);

        Output.println("Pegando usuário... ");
        ProjectUser projectUser = projectUserService.getByProjectAndOceanoUser(project, oceanoUser);
        Output.println("Login: <" + projectUser.getLogin() + ">");

        String revisionsPath = null;
        try {
            Output.println("Pegando revisões de : " + project.getRepositoryUrl());
            Set<Revision> revisions = vCSService.getRevisions(project, projectUser);

            Output.println("Processando " + revisions.size() + " revisões");

            if (revisions.size() < getRevisionThreshold()) {
                Output.println("<<< This Project has less than " + getRevisionThreshold() + " revisions. Will be Skipped. >>>");
                return;
            }

            int count = 0;
            String lastRevisionPath = "";
            Boolean firstRevision = true;
            for (Revision revision : revisions) {
                count++;
                Output.clearLog();
                Output.println("Revision " + revision.getNumber());
                Output.println("Comitted files: " + (revision.getChangedFiles() != null ? revision.getChangedFiles().size() : 0));

                Output.println("WARNING: stopping at 20 revisions");
                if(count==20)break;

                //Dont save revisions without alterations at source files
                if (!RevisionUtil.get().hasSourceFileInChangedFiles(revision)) {
                    Output.println("    Revision has no changed source files");
                    continue;
                }

                processRevision(revision);

                if (hasMeasuredMetrics(revision)) {
                    Output.println("    Metrics extracted. Skipping to next revision.");
                    continue;
                }

                try {
                    Output.println(DateUtil.format(Calendar.getInstance()) + " [" + count + "/" + revisions.size() + "]>>Checking revision " + revision + "... ");

                    Output.println("Identifying metrics to extract...");

                    final Set<MetricManager> fontMetricsToExtract = new HashSet<MetricManager>();
                    final Set<MetricManager> compiledMetricsToExtract = new HashSet<MetricManager>();
                    prepareMetricsToExtract(revision, fontMetricsToExtract, compiledMetricsToExtract);

                    if (compiledMetricsToExtract.isEmpty() && fontMetricsToExtract.isEmpty()) {
                        Output.println("    All metrics have been extracted from this revision. Skipping to next revision.");
                        continue;
                    }

                    if (!revisionShouldBeMeasured(revision, fontMetricsToExtract, compiledMetricsToExtract)) {
                        Output.println("Skipping to next revision.       ");
                        continue;
                    }
                    Output.println("");

                    ////////////////////////////////////////////////////////////////
                    //TODO preparing the workspace should be a method, not this.
                    boolean tryAgain = false;
                    boolean failToTryAgain = false;
                    int timesTrying = 0;
                    do {
                        timesTrying++;

                        try {
                            if (firstRevision) {
                                String path = revision.getProject().getConfigurationItem().getName().replace(" ", "_");
                                path = PathUtil.getWellFormedPath(ApplicationConstants.DIR_BASE_CHECKOUTS, path);
                                revision.setLocalPath(path);
                                PathUtil.mkDirs(path);
                                vCSService.doCheckout(revision, projectUser, false);
                                revisionsPath = revision.getLocalPath();
                                Output.println("revisionsPath = " + revisionsPath);
                                firstRevision = false;

                            } else {
                                if (isUsingUpdateRevision()) {
                                    revision.setLocalPath(revisionsPath);
                                    vCSService.doUpdate(revision, projectUser, false);
                                } else {
                                    FileUtils.deleteDirectory(lastRevisionPath);
                                    //TODO path shoulb the same always
                                    //TODO not saving the path for new loop to delete
                                    String path = revision.getProject().getConfigurationItem().getName().replace(" ", "_") + "-r" + revision.getNumber();
                                    path = PathUtil.getWellFormedPath(ApplicationConstants.DIR_BASE_CHECKOUTS, path);
                                    revision.setLocalPath(path);
                                    vCSService.doCheckout(revision, projectUser, false);
                                }
                            }
                        } catch (VCSException ex) {
                            Output.println("");
                            if (timesTrying < 2) {
                                Output.println("    (!) There was a problem getting the code. Lets try again...");
                                //clean and try again
                                if (FileUtils.deleteDirectory(ApplicationConstants.DIR_BASE_CHECKOUTS)) {
                                    //its the first revision again
                                    firstRevision = true;
                                }
                                Output.println("    trying one more time...");
                                tryAgain = true;

                            } else {
                                failToTryAgain = true;
                                Output.println("    (!) There was a problem getting the code. And the problem happened again in the second time. Skipping to next revision...");
                            }
                        }
                    } while (isRetryingCheckout() && tryAgain && timesTrying == 1);
                    if (failToTryAgain) {
                        continue;
                    }
                    //finished preparing workspace
                    ////////////////////////////////////////////////////////////////

                    extractAndSaveMetricsForRevision(revision, fontMetricsToExtract, compiledMetricsToExtract);

                    Output.println("OK. Metrics extracted sucessfully.");

                } catch (ServiceException ex) {
                    Output.println(ex.getMessage());

                    if (CONTINUE_TO_NEXT_REVISION_IF_THROWS_EXCEPTION) {
                        Output.println("===========================> Service Exception: " + ex.getClass() + " : " + ex.getMessage());

                        boolean cleaned = FileUtils.deleteDirectory(ApplicationConstants.DIR_BASE_CHECKOUTS);
                        if (cleaned) {
                            //its the first revision again
                            firstRevision = true;
                        }
                        continue;
                    } else {
                        throw new ServiceException(ex);
                    }
                } finally {
                    logService.log(revision, Output.getLog().toString());
                }
                lastRevisionPath = revision.getLocalPath();
            }

        } catch (Exception ex) {
            throw new ServiceException(ex);
        }

        if (revisionsPath != null) {
            FileUtils.deleteDirectory(revisionsPath);
        }
    }

    private void loadMetrics(List<MetricManager> metricsToExtract) {
        fontMetrics = new HashSet<MetricManager>();
        compiledMetrics = new HashSet<MetricManager>();

        for (MetricManager mm : metricsToExtract) {
            if (mm.getMetric().isExtractsFromFont()) {
                fontMetrics.add(mm);
            } else {
                compiledMetrics.add(mm);
            }
        }

        Output.println("----------------------------------------------------");
        Output.println("Métricas compiladas:");
        for (MetricManager metricManager : compiledMetrics) {
            int type = metricManager.getMetric().getExtratcsFrom();
            Output.println(metricManager.getName() + " - " + (type == Metric.EXTRACTS_FROM_PROJECT ? "Project" : (type == Metric.EXTRACTS_FROM_PACKAGE ? "Package" : "File")));
        }
        Output.println("");
        Output.println("Métricas não compiladas:");
        for (MetricManager metricManager : fontMetrics) {
            int type = metricManager.getMetric().getExtratcsFrom();
            Output.println(metricManager.getName() + " - " + (type == Metric.EXTRACTS_FROM_PROJECT ? "Project" : (type == Metric.EXTRACTS_FROM_PACKAGE ? "Package" : "File")));
        }
        Output.println("----------------------------------------------------");
    }

    private boolean revisionShouldBeMeasured(Revision revision, Set<MetricManager> fontMetricManagers, Set<MetricManager> compiledMetricManagers) throws ServiceException {
        boolean mustExtractFileMetrics = false;
        boolean mustExtractPackageMetrics = false;
        boolean mustExtractProjectMetrics = false;
        boolean mustExtracCompiledMetrics = false;
        boolean mustExtracFontMetrics = false;

        for (MetricManager metricManager : compiledMetricManagers) {
            if (metricManager.getMetric().getExtratcsFrom() == Metric.EXTRACTS_FROM_FILE) {
                mustExtractFileMetrics = true;
            }
            if (metricManager.getMetric().getExtratcsFrom() == Metric.EXTRACTS_FROM_PACKAGE) {
                mustExtractPackageMetrics = true;
            }
            if (metricManager.getMetric().getExtratcsFrom() == Metric.EXTRACTS_FROM_PROJECT) {
                mustExtractProjectMetrics = true;
            }
            mustExtracFontMetrics |= metricManager.getMetric().isExtractsFromFont();
            mustExtracCompiledMetrics |= !metricManager.getMetric().isExtractsFromFont();
        }

        for (MetricManager metricManager : fontMetricManagers) {
            if (metricManager.getMetric().getExtratcsFrom() == Metric.EXTRACTS_FROM_FILE) {
                mustExtractFileMetrics = true;
            }
            if (metricManager.getMetric().getExtratcsFrom() == Metric.EXTRACTS_FROM_PACKAGE) {
                mustExtractPackageMetrics = true;
            }
            if (metricManager.getMetric().getExtratcsFrom() == Metric.EXTRACTS_FROM_PROJECT) {
                mustExtractProjectMetrics = true;
            }
            mustExtracFontMetrics |= metricManager.getMetric().isExtractsFromFont();
            mustExtracCompiledMetrics |= !metricManager.getMetric().isExtractsFromFont();
        }

        boolean hasSourceFilesFromChangesFiles;
        boolean hasPackagesFromChangesFiles;
        try {
            hasSourceFilesFromChangesFiles = !RevisionUtil.get().getSourceFilesFromChangedFiles(revision).isEmpty();
            hasPackagesFromChangesFiles = !RevisionUtil.get().getPackagesFromChangedFiles(revision).isEmpty();
        } catch (Exception ex) {
            throw new ServiceException("Fail to check for alterations on revision.", ex);
        }

        if (!hasSourceFilesFromChangesFiles && !hasPackagesFromChangesFiles) {
            Output.print("    There's no source or package alteration to measure.  ");
            return false;
        }

        mustExtractFileMetrics &= !hasSourceFilesFromChangesFiles;
        mustExtractPackageMetrics &= !hasPackagesFromChangesFiles;

        if (!mustExtractFileMetrics && !mustExtractPackageMetrics && !mustExtractProjectMetrics) {
            Output.print("    There's no metrics to extract.             ");
            return false;
        }

        try {
            Revision persistentRevision = revisionService.getByNumberAndProject(revision.getNumber(), revision.getProject());
            revision.setCannotCompile(persistentRevision.getCannotCompile());
            revision.setId(persistentRevision.getId());

            final boolean failForCompilation = !isRetryingCompilation() && revision.getCannotCompile() != null && revision.getCannotCompile() && mustExtracCompiledMetrics;
            if (failForCompilation && !mustExtracFontMetrics) {
                Output.print("    The compilation of this revision failed before. ");
                return false;
            }

        } catch (ObjetoNaoEncontradoException ex) {
            //This revision was never measured, so lets work on it!
        }

        Output.print("    Measuring revision...                   ");
        return true;
    }

    private boolean hasMeasuredMetrics(Revision revision) throws ServiceException {
        for (MetricManager metricManager : fontMetrics) {
            if (measurementService.isMeasured(metricManager, revision)) {
                return true;
            }
        }
        for (MetricManager metricManager : compiledMetrics) {
            if (measurementService.isMeasured(metricManager, revision)) {
                return true;
            }
        }

        return false;
    }

    private void prepareMetricsToExtract(Revision revision, Set<MetricManager> fontMetricsToExtract, Set<MetricManager> compiledMetricsToExtract) throws ServiceException {
        //TODO clean up after tests
        Output.println("WARNING: ignoring several metrics");
        for (MetricManager metricManager : fontMetrics) {
            if (!measurementService.isMeasured(metricManager, revision)) {
                //TODO remove this if after tests
                if(metricManager.getMetric().getName().equals(MetricEnumeration.TLOC.getName())){
                    fontMetricsToExtract.add(metricManager);
                }
            }
        }

        Output.println("WARNING: ignoring compiled metrics");
        for (MetricManager metricManager : compiledMetrics) {
            if (!measurementService.isMeasured(metricManager, revision)) {
                //TODO uncomment this if after tests
                //compiledMetricsToExtract.add(metricManager);
            }
        }
    }

    private void extractAndSaveMetricsForRevision(Revision revision, Set<MetricManager> fontMetricsToExtract, Set<MetricManager> compiledMetricsToExtract) throws ServiceException {

        Output.println("Extraindo " + (fontMetricsToExtract.size() + compiledMetricsToExtract.size()) + " metricas da revisão " + revision.getNumber() + ": " + fontMetricsToExtract + " (font), " + compiledMetricsToExtract + "(compiled).");

        Collection<VersionedItemMetricValue> versionedItemMetricValues = new LinkedList<VersionedItemMetricValue>();
        Collection<MetricValue> revisionMetricValues = new LinkedList<MetricValue>();

        //font
        Output.println("    Extracting font metrics...");
        final List<VersionedItemMetricValue> extractedMetricsFromVersionedItems = measurementService.extractMetricsFromVersionedItems(revision, fontMetricsToExtract, STOP_REVISIONS_MEASUREMENT_WITH_METRICS_EXCEPTION);
        versionedItemMetricValues.addAll(extractedMetricsFromVersionedItems);
        revisionMetricValues.addAll(measurementService.extractProjectMetricsOnly(revision, fontMetricsToExtract));

        //compiled
        Output.println("    Extracting compiled metrics...");
        versionedItemMetricValues.addAll(measurementService.extractMetricsFromVersionedItems(revision, compiledMetricsToExtract, STOP_REVISIONS_MEASUREMENT_WITH_METRICS_EXCEPTION));
        revisionMetricValues.addAll(measurementService.extractProjectMetricsOnly(revision, compiledMetricsToExtract));

        saveMetricsForRevisionVersionedItems(revision, versionedItemMetricValues, revisionMetricValues);
    }

    @Transacional
    private void saveMetricsForRevisionVersionedItems(Revision revision, Collection<VersionedItemMetricValue> versionedItemMetricValues, Collection<MetricValue> revisionMetricValues) throws ServiceException {

        Output.println("    Saving metrics... ");

        if (versionedItemMetricValues.isEmpty()) {
            Output.println("        There's no VersionedItem Metricvalues to save.");
        }
        if (revisionMetricValues.isEmpty()) {
            Output.println("        There's no Project MetricValues to save.");
        }

        if (versionedItemMetricValues.isEmpty() && revisionMetricValues.isEmpty()) {
            return;
        }

        final SoftwareProject revisionProject = revision.getProject();
        for (VersionedItemMetricValue versionedItemMetricValue : versionedItemMetricValues) {

            if (versionedItemMetricValue == null) {
                Output.println("Found null metric result, ignoring it");
                continue;
            }

            //recover the item id or create it
            final Item item = versionedItemMetricValue.getVersionedItem().getItem();

            itemService.save(item, revisionProject);

            //save the versioned item
            versionedItemService.save(versionedItemMetricValue.getVersionedItem());

            //save the versioned item metric value
            versionedItemMetricValueService.save(versionedItemMetricValue);
            Output.println("         " + versionedItemMetricValue.getMetric() + " (" + versionedItemMetricValue.getVersionedItem().getItem().getPath() + ") = " + versionedItemMetricValue.getDoubleValue());

        }

        //TODO: verify if this commented line changes the expected behavior.
//        revisionMetricValues.addAll(getRevisionMetricValuesFromVersionedItemMetricValues(versionedItemMetricValues));

        for (MetricValue value : revisionMetricValues) {

            if (value == null) {
                Output.println("Found null metric result, ignoring it");
                continue;
            }

            //updates the revision
            value.setRevision(revision);

            metricValueService.save(value);
            Output.println("         " + value.getMetric() + " (" + revision.getProject().getConfigurationItem().getName() + revision.getNumber() + ") = " + value.getDoubleValue());
        }
    }

    /**
     * This method calculates the metricvalues of non project metrics for a
     * given project.
     *
     * NOTE THAT THIS METHOD SHOULD NOT RECEIVE ANY PROJECT METRICS. Although it
     * has a protection to it. As project metrics already have a metricvalue, if
     * this method calculates one it will replace the measured value with zero,
     * ever.
     *
     * @param project
     * @param metrics
     */
    public void calculateRevisionMetricValuesFromVersionedItemMetricValues(SoftwareProject project, List<Metric> metrics) {
        //it is not possible to calculate metricvalues from project metrics, because they are already in that granularity
        List<Metric> nonProjectMetrics = new ArrayList<Metric>(metrics.size());
        for (Metric metric : metrics) {
            if (metric.getExtratcsFrom() == Metric.EXTRACTS_FROM_PROJECT) {
                continue;
            }
            nonProjectMetrics.add(metric);
        }
        if (nonProjectMetrics.isEmpty()) {
            System.out.println("There are no metrics to calculate.");
            return;
        }

        //A map to store the last value of each item
        Map<Metric, Map<Item, Double>> mapNewestItemMeasurement = new HashMap<Metric, Map<Item, Double>>();
        for (Metric metric : nonProjectMetrics) {
            mapNewestItemMeasurement.put(metric, new HashMap<Item, Double>());
        }

        System.out.println("Get revisions...");
        Set<Revision> revisions = revisionService.getByProject(project);
        int count = 1;
        int total = revisions.size();
        for (Revision revision : revisions) {
            System.out.println("\n" + count++ + "/" + total + " Revision = " + revision);

            for (Metric metric : nonProjectMetrics) {
//                Output.println("    " + metric);

                //get the list of items modified in this revision
                List<VersionedItemMetricValue> vimvs = versionedItemMetricValueService.getByRevisionAndMetric(revision, metric);

//                Output.println("    Updating the measured items:" + vimvs.size());
                //for each of them, update the map with the last measured value
                for (VersionedItemMetricValue vimv : vimvs) {
//                    Output.println("    >>> vimv = " + vimv);
                    if (vimv.getVersionedItem().getType() == VersionedItem.TYPE_DELETED) {
                        mapNewestItemMeasurement.get(vimv.getMetric()).remove(vimv.getVersionedItem().getItem());
                    } else {
                        mapNewestItemMeasurement.get(vimv.getMetric()).put(vimv.getVersionedItem().getItem(), vimv.getDoubleValue());
                    }
                }
//                Output.println("    Calculating the value of revision");
                //after update the map, it contains the last value of each item.

                // ================ início do novo método para o metric manager que deve contabilizar para MetricValue os VIMVs
                Double sum = 0d;
                int numberOfConsederedArtifacts = 0;
                StringBuilder strSoma = new StringBuilder();
                for (Double oneValue : mapNewestItemMeasurement.get(metric).values()) {
//                    soma.append(" + ").append(oneValue);
                    if (!oneValue.isNaN()) {
                        sum += oneValue;
                        numberOfConsederedArtifacts++;
                    }
                }
                if (metric.getAcronym().equals(MetricEnumeration.ACC.getAcronym())
                        || metric.getAcronym().equals(MetricEnumeration.CAM.getAcronym())
                        || metric.getAcronym().equals(MetricEnumeration.DAM.getAcronym())
                        || metric.getAcronym().equals(MetricEnumeration.RMA.getAcronym())) {
                    sum /= numberOfConsederedArtifacts;
                }
                MetricValue mv = new MetricValue(revision, metric, sum);
                // ================ fim do novo método

                strSoma.append("    |").append(mapNewestItemMeasurement.get(metric).values().size()).append("|").append(" = ").append(mv);
                Output.println("    " + strSoma.toString());

                metricValueService.save(mv);
            }
        }
    }

    /**
     * @return the usingUpdateRevision
     */
    public boolean isUsingUpdateRevision() {
        return usingUpdateRevision;
    }

    /**
     * @param usingUpdateRevision the usingUpdateRevision to set
     */
    public void setUsingUpdateRevision(boolean usingUpdateRevision) {
        this.usingUpdateRevision = usingUpdateRevision;
    }

    /**
     * @return the revisionThreshold
     */
    public int getRevisionThreshold() {
        return revisionThreshold;
    }

    /**
     * @param revisionThreshold the revisionThreshold to set
     */
    public void setRevisionThreshold(int revisionThreshold) {
        this.revisionThreshold = revisionThreshold;
    }

    /**
     * @return the retryingCheckout
     */
    public boolean isRetryingCheckout() {
        return retryingCheckout;
    }

    /**
     * @param retryingCheckout the retryingCheckout to set
     */
    public void setRetryingCheckout(boolean retryingCheckout) {
        this.retryingCheckout = retryingCheckout;
    }

    /**
     * @return the retryingCompilation
     */
    public boolean isRetryingCompilation() {
        return retryingCompilation;
    }

    /**
     * @param retryingCompilation the retryingCompilation to set
     */
    public void setRetryingCompilation(boolean retryingCompilation) {
        this.retryingCompilation = retryingCompilation;
    }

    private void processRevision(Revision revision) throws CompilerException {
        try {
            CompilerService.compile(revision);
            revision.setCannotCompile(false);
        } catch (CompilerException ex) {
            revision.setCannotCompile(true);
        }

        try {
            Revision dbRevision = revisionService.getByNumberAndProject(revision.getNumber(), revision.getProject());
            revision.setId(dbRevision.getId());
        } catch (ObjetoNaoEncontradoException ex) {
            // its ok, the revision is just new. So, lets save it!
            revisionService.save(revision);
        }
    }
}


text:
Author: Roberta
Single Character: Wendell "Bud" White, "LA Confidential"
Disclaimer: The following story has been written with no intention of claiming ownership or solicitation, nor does the author claim the movie character(s) as his/her own. The movie character(s) have been borrowed solely out of a love of the particular movie and is not intended for any other purpose but amusement and entertainment.
Bisbee's sheriff, Eric Goldwater, was reading the applications he had received after having spread the news that he was looking for a new deputy. The former one had recently moved to Florida and the town sorely needed a replacement. Too bad that, until that moment, the candidates were not exactly the kind he was looking for. He was sure they all were good guys, eager to help and ready to learn, but Bisbee needed more experience, the one you're unlikely to acquire working in your father's farm or workshop. The job wasn't as tough or cruel as in bigger towns, just more varied and even if the situation was quite peaceful, problems couldn't be underestimated. The marshal was going to surrender to the thought of resorting to advertising his request in a magazine, when the application at the bottom of the pile caught his attention. First of all it was typed and he was fairly sure that the owners of a typewriter in town were the least desirous to apply for the job of a deputy. The marshal observed the style and the wording. He could recognize a report when he saw one, typed with just two fingers. The application bore some personal facts, the basic ones, a brief c.v. and the reference of a lieutenant in L.A.
"That could be interesting" was Goldwater's first thought.
The typewriter had been Exley's gift. He said he wanted Bud to keep his typing skills, in case he decided to start a new career writing down his memoirs, but Bud suspected that it was just a way to avoid his horrible handwriting. Now he had used it to draw out his application. Lynn hadn't been happy when he had told her about the job, but she knew that he wasn't meant to be anything else than a cop, so she had agreed to deliver the letter for him, on her way to her dress shop. Bud was glad she had been successful in her new business. He remembered when they had their first pillow talk and she had mentioned her dream. He had been really proud to be the one she had decided to reveal it to. She had always made him feel special, like nobody ever had. During his long recovery, with too much pain and too much time to think, he had used those moments to reflect and the answer had been that he had let the others use him because he had deemed himself not smart enough for being worthy of anything. But Lynn, his Lynn, had changed everything. She had made him see the truth underneath the lies, acknowledging his value with her love and understanding. Even when he had hit her, she hadn't pretended that it didn't matter, but she had forgiven him, giving their lives a new start.
A new start and a new life that he hoped could include a job as a deputy in Bisbee.
Lieutenant Ed Exley wasn't very much loved by his fellow officers and even less by the power that be, but he was too damn good in his job and too smart to be underestimated. The late Captain Dudley Smith, whose smiling picture was unjustly showed on the boards of the heroes of the LAPD, had read him – and Bud White – wrong and now his long bones were turning white under a marble stone at the Irish cemetery, mourned probably only by his wife and four daughters. The others who could have shared the grief at the loss had fallen victims to Exley's and mostly Bud's skills with a shotgun. Exley knew how everybody felt about him and he really didn't care, as long as he knew that he was doing his job the way it was meant to be done. Sure, he was alone, but he had been alone all of his life and now he could count upon a friend. Funny thing that friendship, thinking of how bad it started, with hatred and mistrust. Even now that Bud was so far away, his advice counted a big deal for Exley. Remaining in touch with him, even if it was only by mail, helped Ed to remember why he had decided to be a cop and what this meant now, despite the power and his blooming career.
Now Bud had written that he had used Ed's gift to apply for the job as a deputy in Bisbee and that he had used his name as a reference. He seriously hoped that Bisbee's marshal was smart enough to pick up a wonderful occasion when he stumbled over one.
Lynn was back and sniffed the air to discover what she was going to have for lunch. Bud had shown an amazing talent for cooking and she had once chided him that he was trying to fatten her up.
"Yea and you discovered my plan, didn't you? I just wanted to have more of you to hold, hug, kiss, love," he had replied and for her life she couldn't remember what they had eaten that evening.
Judging from the scent, today they were going to have roast beef with French fries.
"Bud, I'm back," she said aloud and was rewarded by the sight of her man peeping out from the kitchen. She smiled at him, who was looking so cute and male in the silly apron she had given him for Christmas. It was bright yellow with the inscription "Kiss the Chef."
"Welcome home, Hon. How was your day?"
"Good. I sold two dresses to the McCain sisters. I think they're going to go husband hunting and they were looking for the right weapons."
"I should warn Ira Thomas, then. He's mad about Lottie and he's going to be heartbroken if she chooses someone else."
"Tell him to ask her out bringing red roses. They would do nicely with her white dress and she loves them."
"And now that you know my secrets, I want to know: how was your day, Bud? Did you miss me?"
"Like crazy as you know. Every minute."
"Good. I want you to miss me, this will teach you to always return home. By the way, I delivered your application. I won't lie telling you that I'm overjoyed about this, but you have the word 'officer' printed on your forehead and if you must be a cop, better here than in L.A.. And the marshal is a fool if he hires someone else."
"Let's hope he thinks the same."
"If he doesn't, you can always challenge him at the next elections."
"Yea, and I'll ask for Ed's help to fuck the marshal."
"If this doesn't work, you can always kill him with your chili. You nearly succeeded with me."
"It wasn't that spicy."
"No? I could have been hired to play the dragon in a movie."
Bud blushed at her words, remembering when she had nearly choked eating his cooking experiment.
"I was kidding, Bud. It was rather strong, but I survived," she said smiling and Bud got willingly lost in her expression. He kissed her very gently, a light brush on the lips, but when she answered with passion, he forgot everything in her soft mouth, her delicate hands and her beauty.
The roast beef wasn't exactly the best they ever had, when they finally ate it some time later, but none of them found reasons to complain.
Bud received the phone call when he was going to the garage to wash his car.
"Bud White here, who's speaking?" he asked out of habit and it was good that he couldn't see the smile that his typical cop's answer provoked on the marshal's face.
"Good morning, Mr. White. This is Marshal Goldwater speaking. I read your application and I would like to meet you. When would it suit you to come to my office?"
Bud's heart leaped, but he managed to keep his hopes at bay.
"Whenever you want. Right now, if you have time."
"That would be fine for me. It's going to be a quiet afternoon, I hope. What about 3 PM?"
"I'll be there."
"All right. I'll be waiting for you. See you later."
"See you later."
Bud hung up the phone and hurried to the bathroom to wash and change. He looked at himself in the mirror to decide if he needed to shave, but it wasn't necessary. He donned what Lynn had named the 'desert variety' of his brown suit he used to wear back in LA. The color was the same, but the fabric was lighter, more apt for the hot climate. He brushed his short hair, even if he knew that this would make no difference. A last check and he was out and in the car.
The clock was striking 3 a.m., when marshal Goldwater heard the door opening and the little bell ringing. He raised his head and saw the man beyond the typed application. Big, but not a giant, even if his attitude made him look bigger. Short hair, so short to have a silver hue and huge serious eyes. He focused on them and he decided that he liked their light. The power beyond them was obvious even at the distance and he was eager to know if this intensity could be used for the benefit of the townspeople.
"Good afternoon, Mr. White."
"Good afternoon, Marshal. Wendell White, but everybody calls me Bud.
"Welcome here, Bud."
"Now that the pleasantries are over, would you like to have a seat and talk about you and the job."
The younger man's mouth twitched into a grin and he accommodated his bulk in the wooden chair.
"What do you want to know?" he asked.
"Why did you leave LAPD?"
"I was shot. I took three bullets that nearly killed me. They didn't think I was going to survive, but I proved them wrong. I came here to recover and slowly (too fucking slowly, he added to himself) I began to heal. Now I'm back in shape and this dry climate suits me more than LA's."
"But why do you want a new job in the law enforcement? Why don't you simply enjoy your pension? Life here is cheaper and you're unlikely to have problems to live on it."
"Because I need to feel that I'm doing something useful and repairing fences is not my idea of life."
"Not mine, either ," Goldwater agreed wordlessly and continued his interview: "You wrote in your application that you used to work for the homicide squad. Do you think you're going to miss the action? I mean, the last time we had a murder here it was a man who shot his business partner when they both were drunk."
Missing the meaningless muscle job Smith made him "perform" to safeguard his power, beating the shit out of a small fry, trying to ignore bent cops? I don't think so. Bud answered to himself, rather than to the marshal: "I've had more action than I bargained for. I won't miss it as I surely won't miss LA."
"Before you get too enthusiastic I must warn you that even though you can live with the pay, it won't make you rich." Goldwater added with a smirk and Bud returned it. The marshal observed how younger he seemed like this.
"Does this mean I got the job?"
"Let's say that we're going to work together for a while, to decide if this is going to work. In three months we'll decide."
"All right. When do I start?"
"Next Monday, at 8 a.m."
"It's OK with me. I'll be here."
"All right, White. See you on Monday and don't be late."
"I'll set two alarm clocks," Bud replied and they shook hands to seal the bargain.
Stepping into Lynn's shop, Bud couldn't hide his joy and his expression gave him away in two seconds flat.
"You got the job, didn't you?" she said, but it was a statement more than a question.
"Yes, with a three-months trial to see if I fit into the pattern."
"We have to celebrate this. I'll take you to dinner."
"Wait a minute: I should be the one to do the inviting thing."
"All right, Deputy. Let's do it this way: I invite you and you're paying the tab."
"You're an evil woman, you know that?"
"But you love my anyway, don't you?"
"Of course. Now and forever."
Lynn smiled at his words, knowing that he meant them.
"Let's go dolled up, I'll be ready at 7, pick me up here."
"Aye Madam. All right Madam. I'll be here in time, Madam."
"You goof!" Lynn replied shoving him through the door, trying unsuccessfully to look stern, ending up laughing her head off.
The following Monday, Bud arrived at the marshal's office at 7,55, just because he would have seemed a desperate measure arriving earlier. Goldwater began to explain how the law enforcement worked in Bisbee and he took notes about the main issues. Bud liked the older man's way of telling things, going straight to the point, without wasting time and words, managing at the same time to make himself understood. It was 9,30 when the phone rang. The marshal answered and the conversation went on for a couple of minutes. When he hung down the receiver, he looked at his companion smiling.
"I think you're going to have your first assignment.This was Mrs. Tomlison, who lives on the outskirts of town. She said she heard noises last night and she wanted the law to take a look. It's unlikely that anything happened at all. She's old and feeling lonely and she probably only wants some company. You should go there, check the place, be kind with her and return here. I realize that this isn't exactly in the manuals of the Police Academy, but it's part of working in a small town."
"I don't mind at all, just show me how I get to her place." Bud replied and after having received the explanation he needed, he took the police car to tackle his first assignment.
Mrs. Tomlison was a tiny old woman with white hair and black eyes. She apologized for her call. Bud assured her that this wasn't a problem and he really meant it. He checked the surroundings of the little house finding nothing wrong, then accepted her tea and cookies, mixed with memories of her late husband, her children now far away, her life. The deputy smiled inside and out, not at the least bored by her chatting. He knew all to well the meaning of the word loneliness and if his listening to her could make her feel better, that was good for him, too. He remained half an hour, then she let him go with a promise to return from time to time. He agreed and returned to the office.
"Would there be a problem if I went back from time to time to take a look at Mrs. Tomlison's place?" Bud asked after having reported his visit.
"No. If you have time, there is no problem."
Goldwater was pleased by his new deputy's words. He had sent the younger man to answer that call to see how he dealt with the less attractive aspects of the job in a small town. More than once he had rejected people who seemed to have everything that counted to do the job, save for some of the subtle qualities needed to do it properly. Bud had started in the right way. The marshal hoped for the best regarding the future.
Ed Exley received a letter from Bud in which he announced he was Bisbee's new deputy "on probation". In the short sentences the Lieutenant read his friend's happiness and Ed felt a pang of envy.
"Some men get the world. Others get ex-hookers and a trip to Arizona," he thought, recalling Lynn's last words and once again he wished he had got that trip.
After the first month, Goldwater decided that the new deputy needed his uniform and sent a very reluctant Bud to the tailor. He was a decent man, with friendly manners, the real problem was his daughter. She had a crush on Bud and tried everything short of stripping in front of him, to get his attention. She didn't bother to hide a satisfied sigh when she measured his biceps for the shirt.
When Bud had narrated everything to Lynn she had laughed.
"The girl has a remarkably good taste, I have to admit, but she better be careful or she may end up very badly if I catch her doing something more than just looking."
"No way. She's cute, a real doll, but I already have what I want. What I ever wanted."
"Me, too, love." she answered, then proceeding to seal her agreement with a deep kiss.
Since Bisbee didn't have a shooting range, the marshal used to train at an empty area out of town, where the only ones getting scared were wild animals. Goldwater decided to bring Bud with him to test his skills with weapons. He wasn't disappointed, even if he hoped that the younger man's dexterity wasn't needed. Knowing how to properly handle a gun was a good thing for a law enforcer, not having to use it was even better. Despite the Constitution, he would have preferred that owning a weapon wasn't that easy. Especially when someone decided to solve a family argument by tooting a rifle in his wife's face, just as it had happened in town a week ago. A man had got drunk and decided to stop his spouse's complaints by threatening her. Goldwater had been able to stop him before anything nasty happened, but this had been the first time he had seen murder in his deputy's eyes. The sympathetic gaze addressed to the woman had turned into ice, unbreakable and unforgiving. The marshal was sure that even a small welt on the woman's face would have meant her husband's demise and he got scared. He had to talk to Bud about this.
The occasion came the following day. It was a quiet morning, the weather so hot to discourage people to act, either honestly, or against the law. With the blinds down, the marshal's office looked a sort of a den, to hibernate in the middle of summer. Goldwater wasn't thrilled at the idea to deal with his deputy's behavior, but the younger man helped him by talking first.
"There's something I have to tell you, Marshal. Something about the way I acted yesterday and.. fuck this ain't easy. If you hadn't been there, I would have probably hit the bastard."
"I noticed, Bud, but why? I mean, he was a jerk, but we represent the law. We're not supposed to go out smashing people's heads because we don't like how they behave."
"I… I just cannot stand a woman being hurt. It's like seeing a red mist clouding my eyes and my brain."
"Sometimes I feel like this, too, but this ain't the point. How could we pretend we're serving the law if we act like criminals?"
Bud waited before answering.
"Things were different in LA. Since the Academy I had been told and taught to use every means, no matter if right or wrong, to keep the bad guys far from decent people and I used to believe it. And I did my part assuring that a stupid dick hurting his wife and kids wasn't going to repeat the stunt. Then something went wrong and I started to ask myself who the bad guys truly were and to which side I belonged. Being close to death helped me realize lots of things and I started to feel better. I thought everything was all right, until I saw that woman's afraid eyes. I saw the hurt and the pain and all I know is that I wanted to kill that bastard, to stop him from mauling her again."
Bud couldn't go on telling his employer what had made him think this way, only Lynn knew about his father and she was the only one he had entrusted with that secret, but the sorrow was so clear on his features that Goldwater winced. The older man didn't speak for a while and Bud asked:
"Are you going to fire me, now?"
"Should I? Why?"
"Because I'm not trustworthy."
"I don't think so. You didn't actually hit that scum, so what's the problem?"
"The problem is that I could not grant that I won't do this on another occasion."
"You just have to do what you did yesterday: think first, then act."
"That simple?"
"It's not simple, but it's the only thing to do. If you prove yourself capable of this and I trust you are, you're going to wear that uniform for a long time."
"Thank you, marshal."
"Thank you, Bud, for telling me."
Looking up Bud attempted a smile and Goldwater thought that this was a good way to start.
Lynn's head was resting on his shoulder and this felt nothing short of heaven. The soft weight of her hair was welcome and she had never been more beautiful. The sun had tanned her skin and this enhanced her blue eyes, while her hair was returning to its original brunette color. She'd never been so beautiful to him.
"You're beautiful, Love, and I don't think I deserve you," he thought aloud without thinking and nearly jumped out of his skin at her answer.
"Why not? You're everything I ever needed or wanted."
Bud blushed.
"I… I just cannot understand why you still love me. I hurt you."
"Yea, you did and you were wrong, but you've gained atonement for your sin. You're no angel, nor am I, so I suppose we deserve each other. And I don't think we're evil people, just human."
Bud took a moment to think about her words, while he cradled Lynn in his arms. She seemed so fragile, so small against his bulky frame, but he knew she was as hard as tempered steel. Steel,
danger and love.
He kissed the top of her head, holding her even closer.
Looking from her shop's window, Lynn saw Bud walking down the street. He looked positively edible in his uniform. She had overheard some of the comments made by the women in town and she could agree with most of them. The Southern sun had done wonders on her lover's appearance, bronzing his skin and lightening his hair, so that his eyes nearly blazed in his face. He had blossomed in the dry air and she laughed at her own thoughts.
Bud would have probably resented being compared to a flower but that was what she felt. A strong wonderful flower that had survived many a storm through sheer will, against all odds, against the cruelty of the world. A flower that had found its place in the sun.
Walking down the streets of Bisbee, Bud felt sometimes like the marshal in a western movie. The dry air, the sun, the noises so different from L.A.'s had a soothing quality that suited him fine. And these streets bore no bad memories of hatred and violence. This place was no heaven, he was sure, but as close as a place could be, in comparison to the big city. Sometimes he missed the shores, the ocean and the things he had known since his childhood, but what he had now was so much better, so that he didn't miss his old life.
The jewellery store was a small shop owned by a certain Aaron Goldsmith, who had left Europe before W.W.II. The man wasn't going to become rich with what he sold in town, but he made a living out of his job and he was glad of the new arrangement. He had a friendly smile and Bud liked to greet him when he passed by.
"Officer White, come inside for a lemonade. My little daughter prepared some for me and it's so hot outside."
The offer was so sincere that Bud decided to accept and entered the small shop. The interior was colder than the outside and the darkness was soothing for the eyes. The only light was a lamp over the worktable. The two men sipped their beverage in silence, enjoying its coolness and taste.
"Thank you for your offer, Mr. Goldsmith. I appreciate it and please bring my compliments to your daughter."
"Little Rachel will be pleased. Yesterday she asked me if I will consent to her marriage with a lawman, when she comes of age."
The idea of the eight-year-old girl wanting to marry him brought a smile on Bud's face.
"What did you answer?"
"That I would have no problems, but if she had the intention to come after you, she could have upset Lynn, so she said she was going to think about the whole thing."
"Nice answer. I would have hated to disappoint your lovely daughter." After a pause Bud asked in a hurry "There's something I would like to ask Lynn. Something important. Do you have a ring you think would suit her?"
Mr. Goldsmith smiled and went to the small armoured cupboard where he kept the most valuable pieces. He brought a velvet roll that he unrolled in front of the deputy Marshall.
Bud was stunned at the number of different rings he saw there. He had seen rings before, but not that good. The craftsmanship was different to the ones he had seen on the hands of high-placed wives of the politicians. These were poorer because they lacked big precious stones, but even to his untrained eyes, they were more elaborate, with a delicate design that made them look ancient and precious.
"You're a true artist, Mr. Goldsmith. I didn't know that you can produce such wonderful things. I'm afraid I will not be able to afford any of your rings."
"I think you'll be able to and before you think I'm trying to bribe you, I will charge the same price from you that I request from any inhabitant of this town that has become my second home. I had to leave Europe because of a madman who wanted to kill my kind and here I was welcomed. Not with open arms at the beginning but when they had come to know me I had a good life."
Bud smiled at the man, a shy smile that reminded Goldsmith of a small child. Despite his size and sometimes frightening appearance the deputy had always looked at him as if he had a kernel of innocence that his hard life hadn't been able to erase. Goldsmith had heard of the accident that had occurred to the Deputy before arriving in Bisbee. He had seen him regain his health and he was now happy that he had taken his office. Now he looked at him concentrated on his choice. Finally he found something he liked so much to give to his woman.
"You have good taste, Mr. White. This is my favorite. It's made of white gold and turquoise. It will look very good with Mrs. Lynn's blue eyes."
"It reminds me of her: so precious and so different from everything else."
Goldsmith smiled at the image. This man was truly in love with his woman and she was lucky because he would have walked through fire for her.
"Do you know the measure of her finger? If you're not sure you can let her have the ring and if it's too big or too small you can return it here to have it adjusted."
"This would be wonderful. Would you please make a nice package for me to give it to Lynn? And, most of all, how much would it cost?"
Goldsmith named the price and while it wasn't cheap, it wasn't as expensive as he had thought. Bud promised to return the following day with the money and waited for the ring to be packaged in a nice box. He put it into his pocket and proceeded for the rest of his tour in town.
That evening, Lynn had returned home early and she was fixing dinner. She heard Bud parking his car and followed the sounds he made before entering the house. He had a warm smile when he opened the door and she felt as if she was falling in love with him once again. Bud kissed her with passion and she was going to forget dinner when he moved.
"Lynn, before things go out of hand, there is something I would like to ask you." He said suddenly and went down on his good knee.
"Lynn," he continued taking a small box from the pocket of his pants, "would you marry me?"
She was rendered speechless and she tried to open the box with shaking hands. Inside there was a ring, in white gold and turquoise, with a delicate design that made it look like it was a lace.
"Yes, Bud, I will." She replied when she regained her voice. "Where did you get this wonderful ring?"
"Mr. Goldsmith showed it to me. He is a true artist and this ring made me think of you."
Loosing her ability to speak once again, Lynn decided to show her man that she loved the gift and the question. She began to untie his tie, take away his jacket, then the shoulder's holster, interspersing her work with feather-like kisses on his face. Bud let her work without helping, his serious blue-green eyes fixed on her hands. She went on opening his shirt and running her hands over his hard muscles. He was nearly hairless and his skin was smooth, apart from the scars he had collected in his life. A soft moan came out of his mouth and she kissed his full lips. He returned the kiss and he began to return her sensual exploration. Bud pulled her shirt out of her skirt and went in search of her bra that he opened without leaving her mouth. When her breasts were freed he mimicked her motions and massaged her with sweet care and concentration. Before they could be totally lost in their passion, Bud suggested: "Bedroom, let's go to the bedroom. I don't want to have you on the kitchen counter."
Lynn approved and grabbed his hand, leading him to their room.
Both lost the rest of their clothes once they were there and they slowly got down on the bed.
"I love you Lynn. I love you so much." Bud said to her when he took her face in his hands and kissed her tenderly at first, then with more passion. She replied with the same passion and she thought for a moment about how different this was from her job as a whore in L.A. She had learned so much about how to make men crazy, but with Bud she did what she could to make him happy. She had discovered what he liked and she gave him just that, as well as he did the same for her. At first she hadn't been accustomed to be pleasured. In her trade, pleasure was something reserved for the customers, not for her, but this man was great in making her feel as if she was the only woman in the world. It wasn't his technique, even if he had a good one, it was the concentration he put into his actions. Like now that he was using his hands to map her body, to touch all the special places that responded best to his manipulations. It was so tender and so sexy that she melted under his touch. He took her with gentleness mixed with strength and soon afterwards he rolled both of them over, so that he was on his back. He liked watching Lynn rocking against him and feeling her weight against his hips. They moved together toward their goal and soon their movements became more frantic, until their completion. After that Lynn went down gently onto his chest, where Bud rocked her gently and kissed her hair.
Dinner was a quiet affair, after they had a shower. Bud enjoyed bathing Lynn so much that she told him once that in another life he must have worked in a Turkish bath.
"You would have been so sexy all wet and sweaty. Just ready to be ravaged." Lynn had told him and he had laughed out loud.
After dinner, Lynn tried the ring and it was a bit snug, so they decided to return to the craftsman to have it adjusted. The next morning since nothing seemed to be happening in town, Bud asked Goldwater for a few minutes to accompany Lynn and once the marshal heard the reason, he smiled broadly and told him to take all the time he needed. Bud went to the bank to retrieve the money, then to Lynn's shop and waited for her trying to convince a very large lady that a pink dress wasn't such a great idea. Bud admired her skills in suggesting a dark green one that suited the lady just fine. She looked elegant, not at all like the giant pink elephant Bud had thought she was in the other. As the happy customer left with her purchase safely in a colorful bag Bud made himself known.
"Hi Lynn. If you have some time we can go to Mr. Goldsmith to have your ring adjusted."
"OK! Just let me lock the door." She answered and soon they were heading toward Goldsmith's shop hand in hand.
Once near the small jewellery store, Bud's instinct screamed and he felt the hair on his neck raise. Something was wrong, the door was half open and he knew that the man never left it open, not even in the heat of the summer and the day was not so hot.
"Lynn, it might be nothing, but I think you should go and ask for the marshal. I sense something seriously wrong here. I must act."
Lynn didn't question his judgement for a second and kissed him on the cheek before turning toward the marshal's office.
"Just be careful." She added and ran away.
When he was sure she was safe, Bud took out his weapon and got closer to the shop. It was too damn quiet and he didn't like it a bit. His gut feeling was telling him to act and to act now. Staying low in order not to be seen by whoever could have been inside, he took a look and saw what had caused his reaction. A man with a weapon was threatening Mr. Goldsmith's daughter Rachel and the older man was putting onto the table all his velvet rolls with the jewels. The situation looked bad. The fact that the man wasn't wearing a mask might mean that he was ready to kill the witnesses after the robbery and the way he was holding the gun showed that he wasn't new on using it. He thought of shooting him through the window of the shop, better a glass than two people, but changed his mind, the sound could have spooked the bastard and he didn't want him to start firing his weapon. So it had to be the hard way.
He put away his gun, took a good breath and broke into the shop. He opened the door and was onto the man before he could react. The man was big and determined not to be overpowered, but he lost his gun to Bud's first strike and it came to a fist fight. The stranger knew some wicked moves, but the cop had a lot of skill in the area and his rage for seeing such good people being threatened helped him a lot in subduing the man. Bud managed to avoid being hurt and at last had the best of the perp. When the robber was on the floor bleeding, he saw past the red mist that threatened to cloud his judging and resisted the temptation to kick him for good. Things were different in Bisbee and he also didn't want to frighten Rachel who was looking at him with terrified eyes. He went down and cuffed the fucker before going to comfort the young girl.
"Are you OK Miss Goldsmith? Did that man touch you? Do you want to see a doctor?"
"No," she stammered "I'm fine. He didn't touch me. He wanted the jewels and he said he would have killed both of us for them."
"Mr. Goldsmith how are you?"
"Scared to the bone, but now I'm fine. Thanks to you Mr. White. I will never be able to thank you for what you did."
"I did my job, that's all."
"You saved my daughter's life and mine and there's no way I'm going to forget this."
Bud was looking for an appropriate answer when the door opened and the marshal stormed inside, his gun ready. As soon as he evaluated the situation, he put it back in the holster and grinned at his deputy.
"It seems as if I'm late for the party." He said.
"No, Sir. Everyone is still here and the guest of honor isn't planning to go anywhere for a while I think." Bud added, looking at the man who was moaning close to his feet.
"OK. Let's take the garbage out of here. When you've both recovered, I would like to have you back at the office for your statement. Don't hurry."
"Thank you, Marshal. You did well when you hired Mr. White."
"I know. I'm only afraid he will challenge me at the next elections."
"I won't do that, Marshal. Too much paperwork for my taste, thank you." Bud replied with a smile and Goldwater thought that the man should have done it more often. It made things seem brighter.
Once Goldwater had put the perve into the small cell they usually reserved for drunks, he relaxed and smiled for a job well done. The victims were fine, the lawmen even better and the bad guy was in custody, a bit shaken, but still well enough to stand a trial. Bud was already at his desk writing the report, while Lynn waited patiently for him in front of him. She didn't speak, just smiled at him when he raised his head and she looked even more gorgeous than ever. Not like the movie star she was when she had returned with the big wounded man with her, but with the look of a woman very much in love with the man.
White was quite fast in typing reports, but this time his big fingers seemed to fly over the keyboard and within a few minutes the paperwork had been completed and he was once more heading back to the jewellery store. The Goldsmiths were fine and Aaron's wife, Ester, didn't stop thanking Bud for his help. The woman asked for Lynn's permission to kiss him on the cheek and the cop actually blushed when she did so. Mr. Goldsmith adjusted Lynn's ring in a moment, Bud paid for his purchase and when they went away, all the family and part of the neighbors greeted them and wished them well.
The news of the arrest of a dangerous robber who was suspected of many robberies, one of which ended with one dead store owner, caught Exley's attention after he read the place where the arrest had taken place: Bisbee. Bud White had earned his keep once again and the Lieutenant grinned at the thought that the desert sun hadn't mellowed his friend a bit. The criminal elements should consider avoiding the area of Bisbee from now on. It was unhealthy if you wanted to break the law there.
The same day, at home, he found a letter with a nice cream colored envelope. He opened it and what he read made him smile broadly. It was an invitation to the wedding of Wendell White and Lynn Bracken to be held in Bisbee in two weeks. There was a little note from Bud that asked him to be his best man. Exley grabbed the phone to let his friend know his answer.
Except if there was going to be an earthquake, he was going to be there.
Arriving in Bisbee, Exley – a city boy – nearly expected to see cowboys riding after a herd of cows, covered in dirt and going to the saloon to forget the road in cheap booze. The dust was there, the cowboys and the cows thankfully weren't. He had no problems finding Bud's house. It was simple and so homey that the Lieutenant had to smile. Hearing a car coming, Bud had gone outside and his expression turned into a big grin, seeing whose it was.
"Ed. How was your journey?" Bud said hugging the smaller man who had just got out of the car.
"Long and hot, but now I'm here on time."
"I never doubted it for a moment. Do you want to come inside and refresh yourself? Lynn's not here. She is with Mrs. Goldsmith to doll herself up for the wedding."
You must be 18 years old to visit this site.


Great children's course at Tonbridge School during the February half-term making an Easter Bunny and basket of eggs over three mornings. The children had a great time - and said it was the best course they had ever done!! They did so well - here are the photos of the achievements at the various stages. Remarkable!!


text:
Q & A with Michelle Rhee, Chancellor of the District of Columbia Public Schools
Published in Coach Kemper's Columns
On May 13 IFE's INFO Breakfast series was hosted D.C. Public School Chancellor Michelle Rhee for a second time. She returned to give a frank overview about the school system's progress and problems. She delighted her audience with her openness during the Q-and-A period, including former Mayor Anthony Williams, who introduced her. Chancellor Rhee also made time to answer additional questions from IFE high school journalism interns Christina Valentine, Georgie Milanovic and Jenny Shore. The Q-and-A from the lively INFO Breakfast discussion follows.
What are the three biggest challenges facing the D.C. public school system?
The most important challenge is that the majority of our students are not reading, writing or doing math on grade level, when in fact our students are very smart and capable. It is going to take a lot of hard work from everyone to change this, because we have to do more than catch up. We want our students to be able to compete with students in the top schools in the country, and I know they can. We know they are absolutely capable of doing it if they get a solid education.
All the other challenges we face are the obstacles we have to remove in order to get there. This includes slogging through broken and disconnected data systems to fix them, and recruiting more excellent teachers when we can't reward them yet for doing a good job. The new contract would be instrumental in changing this.
What role will charter schools play in the future of the D.C. educational system? Where will most of the political and financial support for charter schools come from?
Successful charter schools have been instrumental in improving the public school system. They are actually the reason I have a job! Enrollment has declined for the past 30 years in DCPS, and many said that unless city leaders did something about it very quickly, there would be no more DCPS, because all of the students would be in charter schools. So the D.C. Council and Mayor Fenty worked to change the way the school system was run. Instead of a school board making all the decisions (this meant a lot of people had to agree on almost every big change!), now the mayor is responsible for improving the system. It's working, and enrollment has virtually steadied for the first time in decades.
Bad charter schools don't help anyone, but great ones provide models for success. They also bring out the competitive spirit in the rest of us, which is so important, and it is leverage for the District to enact greater change.
Regarding support for charters, President Obama and Secretary of Education Arne Duncan are very supportive of charter schools, and much political and financial support is coming from their efforts.
In the future, what standards will you use to determine when to close inefficient schools in the DCPS?
So far we have been using enrollment, so that if there aren't enough children at the school to provide all the resources that kids need, we would close a school (this is mostly because schools with less kids don't get as much money from the government, so sometimes the students don't have things like art or music teachers, which isn't fair).
Moving forward, we'd like to add performance to that, so that if students aren't learning as they should be, we would close the school. Usually this happens under the first criterion of enrollment, because if a school is not doing well, parents are more likely to choose a charter school, making enrollment go down and putting a school on the possible closure list. We're working on a School Scorecard — which is like a report card for parents showing how well the school is doing on a number of measures — and until we have that, we wouldn't expect to close schools based on performance alone.
How do you envision performance-based compensation working out in the long run? What are the main issues that still need to be resolved?
In the long term, we want performance-based compensation to reward the very hard work that happens in the school system, and to attract even more high performers to our schools. Performance pay seems to happen everywhere but in schools, but teachers deserve that kind of bonus as well. What still needs to be resolved is that the teachers would have to vote yes on the contract, which is up for a vote in the next few weeks! If that doesn't happen, we can still use the performance-based TEAM awards, which rewards all the school staff at a school that does very well. However, those don't allow a teacher who is in a school that is not doing well to get a bonus for doing a phenomenal job. I don't think that's fair to teachers, and we are hoping the contract goes through.
Of the $65 million raised for D.C. schools from foundations, $45 million is tied to you keeping your job. How did this situation evolve, and where do you think it will end up?
The funders actually have fewer conditions than most do when they give to school systems and other organizations. They believe in what we are doing, and want to make sure that their money isn't wasted if leadership changes and someone comes in who didn't believe in the same things we do. They just want to make sure that they are on the same page with what the system's goals and intentions are, before they fork over millions of dollars. If it were my money I would want to do the same, so I think this is fairly standard and reasonable.
How will D.C. schools prepare students to be participants and leaders in the global issues facing our country?
Great question! The demands on our graduates are changing quickly as different industries innovate. Industries are coming up with jobs that have never even existed before, and we want our students to be able to compete for those jobs. When the economy struggles, people also have to be able to market themselves as individuals much more competitively than they have had to before. Working for the same company for 40 years just doesn't happen for most people anymore.
We have a number of ways we're reforming the system so that schools teach children the different skills they need now. Right now much of that work is coming from our Office of School Innovation, where we are introducing Catalyst Schools that specialize in different themes. Our Science, Technology, Engineering and Math (STEM) schools are especially valuable, as they are based on a unique model that keeps teachers' professional development up to date with changing information in these ever-changing fields, while also teaching students team-building and leadership skills in a very focused way. Feel free to check out dcps.dc.gov if you'd like more information on STEM and the Catalyst Project.
What advice did Mayor Fenty give you when you first accepted the chancellor's position?
His mantra has always been to move "100 miles per hour" to make necessary improvements. But even more than advice, Mayor Fenty has given me tremendous support in implementing the changes the school system needs in order to become competitive. I would say his most significant impact on the school system has come from his absolute commitment to children, and to the belief that education is the most important part of the solution to a whole host of other challenges the city faces (reducing crime, eliminating generational poverty, etc.). This is so hard to do as a politician, when you feel pressure to go against your principles or avoid taking a strong stand on something because people may not like it at first, or it may affect your popularity polls. He has not buckled under this pressure one bit, and I actually think that his commitment to kids he doesn't even know is more important to him than keeping his job! To me, that takes a lot of guts that I wish more politicians had.
How do you stay fit? What do you do to relax?
I run on the treadmill after my daughters go to bed.
If you were to recommend one book to a D.C. high school student, what would it be?
Dream City: Race, Power, and the Decline of Washington, D.C., by Harry S. Jaffe and Tom Sherwood.
Who has been your role model?
I have been fortunate to have a few strong role models. Personally, my parents are my role models. Professionally, Joel Klein, the chancellor of New York's school system, has been a great mentor to me, and so has Kati Haycock, president of the Education Trust.
What is your favorite quote on education?
I believe in the idea that public schools can be the "great equalizer" in this country, where if you do the right thing and go to school, do the work assigned, etc., you will have the same shot at the most competitive careers out there as any other kid in this country. This idea has been around since Horace Mann founded public education over 150 years ago. But in this country, it's not happening yet. It's starting to, but students can tell that the neighborhood they live in still very much determines the quality of education that a child receives. This is just so old and unfair, and not what I think America is about at all. We have to change it.
What inspired you to name your daughter Starr?
It's a family name on her dad's side.
What is it like being engaged to a former NBA player? Some people have speculated that you may leave your job to overcome the distance — are you considering this?
We don't talk about basketball very much, actually! Kevin [Johnson] is doing incredibly important things as the mayor of Sacramento, and I got to know him through our work in education. He has a lot to accomplish in Sacramento and I have a lot to do here, so we're going to stick to the bi-coastal relationship. The distance is not going to stop me from staying in D.C.!
How is DCPS addressing Mrs. Obama's concerns about fighting childhood obesity? Are changes being made in the cafeterias or PE classes?
We are definitely on the same page as Mrs. Obama. In addition to the health risk that obesity poses for students, poor eating and exercise habits also present a learning risk. They both affect behavior and performance in school — not to mention the ways that people are discriminated against in the work world if they are obese. We actually started to work on this back in 2007, when we found that high school students weren't eating the food in the cafeteria and were going to McDonald's or other fast food chains instead. When I tried the food, I couldn't blame them! So we decided to change food vendors and had students taste-test the food and help us pick the vendor, and now students are starting to choose our food more often. We also have some terrific pilot programs going on to bring freshly cooked food into schools and to give students healthy breakfasts — students who don't eat breakfast are actually more likely to be overweight. Some of these initiatives have been covered in The Washington Post recently if you'd like more details.
Coach Kathy Kemper, known as "Coach" to many, is Founder and CEO of the Institute for Education, a non-profit foundation that recognizes and promotes leadership, civility, and finding common ground, locally, nationally, and in the world community.