text:
package idv.chatea.gldemo;

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.PixelFormat;
import android.net.Uri;
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
import android.opengl.Matrix;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;

import javax.microedition.khronos.egl.EGL10;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.egl.EGLContext;
import javax.microedition.khronos.opengles.GL10;

import idv.chatea.gldemo.gles20.RectangleTexture;
import idv.chatea.gldemo.postprocess.FrameBuffer;
import idv.chatea.gldemo.postprocess.Kernel;
import idv.chatea.gldemo.postprocess.KernelPostProcessing;

/**
 * Used to demo how using shader to do image processing.
 * This is a sample for kernel convolution.
 *
 * Please check the wiki: https://en.wikipedia.org/wiki/Kernel_(image_processing)
 */
public class GLES2_Image_Processing_Activity extends AppCompatActivity {
    private static final int REQUEST_CODE_SELECT_PICTURE = 100;

    private GLSurfaceView mGLSurfaceView;
    private MyRenderer mRenderer;

    private Spinner mEffectSelectorSpinner;
    private Button mSelectPictureButton;

    private static final String[] KERNEL_EFFECT_LIST = {
            "Identity",
            "Edge Detection 1",
            "Edge Detection 2",
            "Edge Detection 3",
            "Sharpen",
            "Box Blur",
            "Gaussian Blur",
            "5x5 Unsharp",
    };

    private static final Kernel[] KERNELS = new Kernel[8];
    static {
        // identity
        KERNELS[0] = new Kernel(new float[] {0, 1, 0}, new float[] {0, 1, 0});
        // edge detection 1
        KERNELS[1] = new Kernel(new float[] {1, 0, -1}, new float[] {1, 0, -1});
        // edge detection 2
        KERNELS[2] = new Kernel(3);
        KERNELS[2].setValue(0, 1, 1);
        KERNELS[2].setValue(1, 0, 1);
        KERNELS[2].setValue(1, 1, -4);
        KERNELS[2].setValue(1, 2, 1);
        KERNELS[2].setValue(2, 1, 1);
        // edge detection 3
        KERNELS[3] = new Kernel(3);
        KERNELS[3].setAll(-1);
        KERNELS[3].setValue(1, 1, 8);
        // Sharpen
        KERNELS[4] = new Kernel(3);
        KERNELS[4].setValue(0, 1, -1);
        KERNELS[4].setValue(1, 0, -1);
        KERNELS[4].setValue(1, 1, 5);
        KERNELS[4].setValue(1, 2, -1);
        KERNELS[4].setValue(2, 1, -1);
        // Box Blur
        KERNELS[5] = new Kernel(3);
        KERNELS[5].setAll(1);
        KERNELS[5].setConstFactor(1 / 9f);

        // Gaussian Blur
        KERNELS[6] = new Kernel(new float[] {1, 2, 1}, new float[] {1, 2, 1});
        KERNELS[6].setConstFactor(1 / 16f);
        // 5x5 Unsharp"
        KERNELS[7] = new Kernel(new float[] {1, 4, 6, 4, 1}, new float[] {1, 4, 6, 4, 1});
        KERNELS[7].setValue(2, 2, -476);
        KERNELS[7].setConstFactor(-1 / 256f);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_gles2_image_processing);

        mGLSurfaceView = (GLSurfaceView) findViewById(R.id.glSurfaceView);
        mEffectSelectorSpinner = (Spinner) findViewById(R.id.effectSelector);
        mSelectPictureButton = (Button) findViewById(R.id.selectPictureButton);

        setupGLSurfaceView();
        setupUIWidgets();
    }

    private void setupGLSurfaceView() {
        mGLSurfaceView.setEGLContextClientVersion(2);
        // Just in case... explicitly specify using alpha bit.
        mGLSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
        // explicitly specify the buffer size.
        mGLSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 8, 8);
        mGLSurfaceView.setDebugFlags(GLSurfaceView.DEBUG_CHECK_GL_ERROR);
        mRenderer = new MyRenderer();
        mGLSurfaceView.setRenderer(mRenderer);
        mGLSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
    }

    private void setupUIWidgets() {
        mEffectSelectorSpinner.setAdapter(new ArrayAdapter(this, android.R.layout.simple_spinner_item, KERNEL_EFFECT_LIST));
        mEffectSelectorSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, final int position, long id) {
                mGLSurfaceView.queueEvent(new Runnable() {
                    @Override
                    public void run() {
                        mRenderer.setKernel(KERNELS[position]);
                        mGLSurfaceView.requestRender();
                    }
                });
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
            }
        });
        mEffectSelectorSpinner.setSelection(0);

        mSelectPictureButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                intent.setType("image/*");
                startActivityForResult(intent, REQUEST_CODE_SELECT_PICTURE);
            }
        });
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_CODE_SELECT_PICTURE && resultCode == RESULT_OK) {
            if (data == null) {
                Toast.makeText(this, "Get image failed...", Toast.LENGTH_SHORT).show();
                return;
            }
            final Uri pictureUri = data.getData();
            mGLSurfaceView.queueEvent(new Runnable() {
                @Override
                public void run() {
                    mRenderer.setPictureUri(pictureUri);
                }
            });
            return;
        }
        super.onActivityResult(requestCode, resultCode, data);
    }

    private class MyRenderer implements GLSurfaceView.Renderer {
        private float[] mMvpMatrix = new float[16];

        private RectangleTexture mTexture;
        private Uri mCurrentPictureUri = null;

        private FrameBuffer mImageProcessingSource;

        private KernelPostProcessing mKernelProcessor;
        private Kernel mKernel;

        public void setPictureUri(Uri uri) {
            try {
                /**
                 * Set current picture uri to avoid the EGLContext has not been created.
                 * If the EGLContext not exist, mTextrue.setPicture(bitmap) will failed.
                 * And {@link #onSurfaceChanged} will try to setup the picture again.
                 */
                mCurrentPictureUri = uri;
                if (((EGL10) EGLContext.getEGL()).eglGetCurrentContext().equals(EGL10.EGL_NO_CONTEXT)) {
                    // Try to set picture uri before EGLContext exist, abort.
                    return;
                }
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
                mTexture.setPicture(bitmap);
                mGLSurfaceView.requestRender();
                bitmap.recycle();
            } catch (Exception e) {
                Toast.makeText(GLES2_Image_Processing_Activity.this,
                        "Cannot open the image file", Toast.LENGTH_SHORT).show();
            }
        }

        public void setKernel(Kernel kernel) {
            mKernel = kernel;
        }

        @Override
        public void onSurfaceCreated(GL10 unused, EGLConfig config) {
            GLES20.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);

            Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.android_logo);
            mTexture = new RectangleTexture(bitmap);
            bitmap.recycle();
        }

        @Override
        public void onSurfaceChanged(GL10 unused, int width, int height) {
            if (mCurrentPictureUri != null) {
                setPictureUri(mCurrentPictureUri);
            }

            GLES20.glViewport(0, 0, width, height);

            float[] projectMatrix = new float[16];
            float[] viewMatrix = new float[16];
            float[] moduleMatrix = new float[16];

            Matrix.orthoM(projectMatrix, 0, -width / 2, width / 2, -height / 2, height / 2, 0, 2);
            Matrix.setLookAtM(viewMatrix, 0,
                    0f, 0f, 1f,
                    0f, 0f, 0f,
                    0f, 1f, 0);

            Matrix.setIdentityM(moduleMatrix, 0);
            Matrix.scaleM(moduleMatrix, 0, width, height, 1);

            Matrix.multiplyMM(mMvpMatrix, 0, projectMatrix, 0, viewMatrix, 0);
            Matrix.multiplyMM(mMvpMatrix, 0, mMvpMatrix, 0, moduleMatrix, 0);

            mImageProcessingSource = new FrameBuffer(width, height);
            mKernelProcessor = new KernelPostProcessing(GLES2_Image_Processing_Activity.this, mImageProcessingSource);
        }

        @Override
        public void onDrawFrame(GL10 unused) {
            GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);

            /**
             * Render image on framebuffer.
             */
            mImageProcessingSource.bind();
            GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT | GLES20.GL_DEPTH_BUFFER_BIT);
            mTexture.draw(mMvpMatrix);
            mImageProcessingSource.unbind();

            if (mKernel == null) {
                return;
            }
            /**
             * Image processing.
             */
            mKernelProcessor.draw(mMvpMatrix, mKernel);
        }
    }
}

redpajama_set_name: RedPajamaGithub


The Kurdistan Region of Iraq (KRI) is as ethnically diverse as it is religiously diverse. That diversity is threatened with the rise of ISIS on the KRI's borders and it's targeting of some of the minorities there, and displacing them from their homes and communities. In support of protecting these minorities from further conflict, and enabling a stable post-ISIS reconciliation process, MERI will conduct an assessment of perceptions of reconciliation and conflict among Iraqi minority groups for the United States Institute of Peace (USIP).
MERI has been awarded a grant by the USIP to conduct a qualitative assessment of perceptions of reconciliation and conflict among Iraqi minority groups. The project focuses primarily on minorities in Ninewa, Dohuk, Erbil and Kirkuk provinces. The ultimate objective of the research is to better understand the challenges to reconciliation and highlight potential triggers of conflict in liberated areas, which in turn helps to inform and guide future reconciliation efforts by the USIP.
The ultimate objective of the research is to better understand the challenges to reconciliation and highlight potential triggers of conflict in liberated areas.
The five minority groups included in the study are Christians, Yazidis, Shabaks, Turkmen and Sabean-Mandaeans. Many of whom have been displaced as a result of the conflict with ISIS. Through interviews and focus groups, MERI will engage with these communities to better understand commonalities and differences between and within communities with respect to their views on reconciliation; how differences can be overcome; and what obstacles and opportunities exist in bringing groups together at community and political levels.
"We are excited about this new project that will allow MERI and USIP to collaborate closely and bridge our knowledge gap in this major issue that relates to post-ISIS stabilisation and conflict resolution", said Mr Khogir Wirya, a researcher at MERI. MERI will utilise its research and subject matter expertise, coupled with deep contextual and local knowledge, and networks across the political and ethnic-religious spectrum in both Iraq and Kurdistan. Partnership with USIP will allow us to contribute to uncovering perspectives that are key not only in gaining further insight into drivers of conflict, but possible ways to reconcile them in an effort to bring just, equitable, and lasting peace to all communities in this diverse nation and region.


In a quiet location 2 km from the centre of Sankt Anton, Landhaus Lechthaler offers a sauna, steam bath, and infrared cabin. All rooms and apartments have a balcony overlooking the Arlberg Mountain Range.The free ski bus stops a 1-minute walk away.
Renovated in 2017, Haus Pepi Eiter is set in Oberdorf. A sauna is available for guests only during the winter season. Free WiFi is available and on-site parking is provided.
Just 250 metres from the Rendlbahn and Galzigbahn Cable Cars, Haus Bergkristall is a 5-minute walk from the centre of St. Anton. It offers a daily breakfast buffet, free WiFi, and a spa area.
Situated 500 metres from Sankt Anton am Arlberg's centre, Bed and Breakfast Alkira offers accommodation with panoramic mountain views. In a 5-minute walk, you can reach the Galzigbahn Cable Car. The village bus stops for free outside the property.
Located right in the centre of St. Anton am Arlberg, Zwei Jahreszeiteen is only a 2- to 5-minute walk away from the Rendlbahn, Valugabahn and Galzigbahn cable cars and the train station.


Welcome to our Portal about Home Furniture! Our web pages 323 repressents photo materials and notes, other materials and screenshots for themes: "furniture layout basics", "furniture houston highland village", "furniture land kona", "patio furniture fort lauderdale" and "two dogs patio furniture covers" for "furniture glides grip and glide", the furniture companies france. And also you can find more TOP Rated products and offers. Scroll Down!
The Collection of screenshots and other info, find more for themes: "furniture liquidation greenville sc", "patio furniture on sale birmingham alabama", "metal wire patio furniture", "furniture land dorset", "patio furniture resin outdoor stools".
The furniture and other online offers on page 185; "patio furniture manufactureers"; "furniture covers t cushion"; "furniture consignment las vegas".
Screenshots 385 furniture layout computer program; cleveland ohio stores with patio furniture; furniture hardware fasteners; cleveland ohio stores with patio furniture; furniture liquidation toronto discount cast aluminum patio furniture.
Rearn more information about: "cheap discount sale patio furniture", "innovative patio furniture", "cedar furniture garden outdoor patio", "furniture companies high end", "furniture consignment hanover"!
Best and hidden tips from page 2523 about themes: furniture classics hutch, free shipping discount patio furniture and furniture city fall river, patio furniture cincinnati ohio or also furniture classics in orlando.
Reference to other screen-shots and photos of our site for themes: "furniture layout small spaces", "hockessin delaware patio furniture", "furniture glides 1-1", "furniture outdoor patio teak" and "patio furniture jackson mississippi".
Look at photos 1715 and screenshots 1466 for my design: furniture find milford pa, sunmaid patio furniture and furniture land dorset white tubular patio furniture.
Read more tips at photos 179 from Themes: south hampton patio furniture, furniture consignment wichita - furniture land greensboro north carolina.
Veternas stories on page 547 from Themes: furniture grade pvc pipe, furniture grade pvc pipe and also lake view patio furniture.
Look here New extreme offers! On pictures 2409 and 686 from the furniture liquidators 33441 furniture companies chicago. furniture hardware las vegas, furniture consignment kennesaw ga, hockessin delaware patio furniture, furniture liquidators website, aluminum teak patio furniture, clearnace patio furniture!
And Also you can find and learn more about the furniture consignment marin plus furniture houston highland village. patio furniture clearance lowes, furniture clearance wherehouse, cushion patio chair furniture, furniture consignment plano, patio furniture set clearance, furniture layout online!
ATTENTION! Our Exclusive materials on themes "patio furniture cincinnati ohio" and "Patio Furniture Web Fabric" from our stock photos is copyrighted!
Scroll UP and look at page 5733 from theme lawn and patio furniture, patio furniture corona ca, aluminum patio furniture weave and innovative patio furniture, patio furniture repair and replacement parts or visit site about furniture guild vanity flair and furniture creations birdhouse!


The 2015 JNA Awards Ceremony and Gala Dinner was successfully held on 20 September at the Regal Airport Hotel, Hong Kong. The event drew more than 500 jewellery and gemstone industry leaders and VIPs, who celebrated the achievements of 31 Honourees and 19 JNA Awards Recipients.
Become a Table Sponsor Now!


> support both when we don't want to introduce a regression.
> won't be any performance difference on our operations.
Next message: Branko ÄŒibej: "Re: mark .svn folders to not get indexed"
Previous message: Stefan Küng: "Re: mark .svn folders to not get indexed"
In reply to: Bert Huijben: "RE: mark .svn folders to not get indexed"
Next in thread: C. Michael Pilato: "Re: mark .svn folders to not get indexed"
Reply: C. Michael Pilato: "Re: mark .svn folders to not get indexed"


A security alert issued by Russian Cybersecurity firm Kaspersky Lab says that all those using Asus computers around the world are vulnerable to software supply chain cyber attack. The research firm said on Monday that an Asus software update which took place between June and November'18 could have potentially opened up an exploiting backdoor for hackers.
Jennifer Duffourg, the spokeswoman for Symantec confirmed the news and added that ASUS users using the company's computing devices could have fallen prey to trojanized updates called Shadowhammer made through URIs during Asus Live Update server sessions in between June- Nov'18.
"For some reason, the hackers were seen targeting an unknown section of users, identified through Mac addresses", said Ms. Jennifer.
According to the info available to Kaspersky, more than 57,000 users of Asus computers could have fallen prey to fraudulent Asus live updates.
Kaspersky has already disclosed the issue to Asus through proper channel on January 31st, 2019. But since the authorities failed to acknowledge, the security firm decided to go public and alert all ASUS laptops users as a precautionary measure.
Note 1- Gartner says that Asus has reportedly shipped more than 4.2 million PC units in the 4th quarter of 2018. Means, it has clasped over 6.1 percent PC market share which is predominantly occupied by Microsoft.
Note 2- In October 2018, Asus made an official statement that its PC business will take a negative hit in H1 2019 due to issues like components shortage and inventory regulations as per the Cryptocurrency demand and due to trade conflicts hitting economies of countries with which it does business.


new mother holds a baby.
candy is also included inside.
sweet as the treats inside.
another world of sweet bliss.
in the color of your choice"
our 5-rule charm favor box.
guests home in good cheer.
shells, or other tiny favors.
bamboo shoots on one side.
and includes an 8 inch ribbon.
for toting your favors home.
in our clear cupcake boxes.
complete the look! 3" x 2 1/4"
favor tags for fabulous DIY!
3" x 2 1/4" x 1". Packs of 25.
birdcages, each 2" x 3-1/4"
treat in these favor boxes.
Facts: Each box measures 2"
x 2" x 2". Made of paper.
design on the lid and base.
great. Measures: 2.5" x 2.5"
available in 2 sizes. Set of 12.
size: 4" x 4" x 4" (Add $1.00)"


William trained at Oldham Art School, under well-known artist John Houghton Hague. When the art school closed in 1878, he transferred to Manchester Art School, alongside other local artists G. H. Wimpenny and F.W. Jackson.
In 1878 William moved to Paris to continue his studies. He learned quickly and soon became well-known in the French capital. From 1878 he had paintings accepted for exhibition at the Paris Salon, which was arguably the most prestigious art venue in the world at the time. In 1881 he showed Le Passeur and was awarded one of the Salon's highly sought after medals.


text:
For Price, theatre depends on collaboration
By Steve Maravetz | November 14, 2016
"Theatre can't be done alone. It's based on hard work, collaboration, and discipline. The skills you learn in theatre apply to most everything in life."
Those are lessons Caroline Price, the new head of Cornell's acting program in the Department of Theatre, has learned during her broad experiences as an actor, director, and teacher.
Price grew up in a theatrical family, watching the classic movie musicals from MGM and RKO, singing along with script in hand. Her mother is a theatre critic, and Price tagged along to shows. On the drives home, they talked about the plays. "I'm still always asking if we're being true to what the playwright intended. My mother taught me that was the most important question," Price says.
When she was 11, her family moved from Maryland to Maine, where she was cast in her first show, the musical "1776." The friends she met through theatre became like family, whetting her appetite for more performing, she says.
Price pursued theatre in college, performed in a national tour, and acted in New York before pursuing graduate studies and teaching. She loves both acting and teaching, and says she came to Cornell last summer because this community offers the perfect opportunity to do both.
Path to Cornell
Born: Maryland
Age 6: Started studying dance
Age 11: Moved to Maine and first stage role
Theatre degrees: B.A., Keene State College; M.F.A., Wayne State University
Tour: Four shows with Repertory Theatre of America, 64,000 miles
Stage career: 11 years
Teaching: Jacksonville State University; Wayne State University
Family connections to theatre:
Mother: Journalist, satirist, theatre critic
Father: Community theatre actor
Brother: Stage rigging sales manager
Grandmother: Introduced her to summer stock in Annapolis, Maryland, as a child
Tags: Cornell Report Fall 2016
Theatre department sets stage for a new era
Reed: Finding stillness through movement

redpajama_set_name: RedPajamaCommonCrawl


text:
Members and Advisors
VA Black Public History Institute
Chardé Reid
Anthropology PhD candidate, William & Mary
lcreid01@email.wm.edu
https://www.wm.edu/as/anthropology/graduate/our-students/studentdirectory/reid-c.php
Chardé Reid is a Black feminist archaeologist who draws on anthropology, history, and Black studies methods and literature to examine how legacies of the past, particularly colonialism and white supremacy, inform our present and visions of the future. In 2018 and 2019, she became the inaugural First Africans Research Fellow for Jamestown Rediscovery Foundation and the National Park Service's Colonial National Historical Park at the Angela/ First Africans Site on Jamestown Island. She participated in public excavations, documentary research, artifact processing, preliminary analysis, and community engagement. A large portion of her fellowship focused on building relationships with African American descendants and local community members to form a descendant community group to consult on future African Diaspora research and interpretative efforts at Jamestown. Relatedly, Chardé's master's thesis explored the complex relationship between making African Diaspora history and culture visible at Historic Jamestowne, a setting that has historically been seen as "white public heritage space". Reid conducted a pilot study with local African American women that explored their feelings of inclusion and exclusion at Jamestown, production of knowledge, erasures of African American history, and recommendations for the respectful remembrance of African Diaspora culture and history at Jamestown.
A program of
Virginia African American Cultural Resources Task Force
946 Grady Ave. Ste. 100
© 2022 Virginia Humanities, All Rights Reserved • Privacy Policy
Indigenous Acknowledgment
Virginia Humanities acknowledges the Monacan Nation, the original people of the land and waters of our home in Charlottesville, Virginia.
We invite you to learn more about Indians in Virginia in our Encyclopedia Virginia.
Explore the Virginia Humanities Network
Virginia Humanities
Virginia Festival of the Book
Virginia Center for the Book
Virginia Folklife Program
History United
Virginia Indian Archive
Encyclopedia Virginia
Discovery Virginia
With Good Reason
AfroVirginia


text:
Q: Problems with swipe fling gesture and android ListActivity: fling gesture is activating underlying list items I'm trying to implement a swipe fling gesture on a list activity. This is working but the problem is that the touch events also activate the items on the list!
I've looked for other answers but unfortunately did not find a working solution. Here is the code that I am using:
In the List Activity:
// Setup the swipe detector
mSwipeGestureListener = new SwipeGestureListener(this);
mGestureDetector = new GestureDetector(mSwipeGestureListener);
mGestureDetector.setIsLongpressEnabled(false);

@Override
public boolean dispatchTouchEvent(final MotionEvent ev)
{
    boolean handled = false;

    if (mGestureDetector != null)
    {
        handled = mGestureDetector.onTouchEvent(ev);
    }

    handled |= super.dispatchTouchEvent(ev);

    return handled;
}

And here is the code for my gesture listener:
  public class SwipeGestureListener extends GestureDetector.SimpleOnGestureListener
  {
    protected final Activity mActivity;
    protected final int mTouchSlop;
    protected final int mMinimumSwipeVelocity;

    public SwipeGestureListener(final Activity activity)
    {
        mActivity = activity;
        final ViewConfiguration viewConfiguration = ViewConfiguration.get(activity);

        mTouchSlop = viewConfiguration.getScaledTouchSlop();
        mMinimumSwipeVelocity = viewConfiguration.getScaledMinimumFlingVelocity();
    }

    @Override
    public boolean onFling(final MotionEvent e1, final MotionEvent e2, final float velocityX, final float velocityY)
    {
        // Don't handle swipe if Y offset is greater than touch slop
        if (Math.abs(e1.getY() - e2.getY()) > mTouchSlop)
        {
            return false;
        }
        else
        {
            if (e1.getX() - e2.getX() > mTouchSlop
             && -velocityX > mMinimumSwipeVelocity)
            {
                // User swiped finger left.
                onSwipeToLeft();
            }
            else if (e2.getX() - e1.getX() > mTouchSlop
             && velocityX > mMinimumSwipeVelocity)
            {
                // User swiped finger left.
                onSwipeToRight();
            }

            // We're interested in these series of events
            return true;
        }
    }

    // It is necessary to return true from onDown for the onFling event to register
    @Override
    public boolean onDown(final MotionEvent e)
    {
        return true;
    }

    protected void onSwipeToLeft() {}

    protected void onSwipeToRight() {};
   }

I am completely stumped. How on earth can I handle gestures in Android without the gesture also activating the underlying items in the list!
P.S. Using view.setOnTouchListener on the root layout resulted in never receiving touch events; that's why I used dispatchTouchEvent.
Any help would be much appreciated.
Thanks!

A: This isn't a full solution, but I was able to work around the problem with the following code changes:
Instead of using dispatchEvent, I do this:
    getListView().setOnTouchListener(new View.OnTouchListener()
    {
        @Override
        public boolean onTouch(final View v, final MotionEvent me)
        {
            boolean handled = false;

            if (mGestureDetector != null)
            {
                handled = mGestureDetector.onTouchEvent(me);
            }

            return handled;
        }
    });

I improved the fling gesture as follows:
    @Override
    public boolean onFling(final MotionEvent e1, final MotionEvent e2, final float velocityX, final float velocityY)
    {
        if (e1 != null && e2 != null)
        {
            final float length = Math.abs(e1.getX() - e2.getX());
            final float height = Math.abs(e1.getY() - e2.getY());

            // Accept criteria: X movement more than or equal to touch slop, total
            // slope <= 50%
            if (length < mTouchSlop || height / length > 0.50)
            {
                return false;
            }
            else
            {
                if (-velocityX > mMinimumSwipeVelocity)
                {
                    // User swiped finger left.
                    onSwipeToLeft();
                }
                else if (velocityX > mMinimumSwipeVelocity)
                {
                    // User swiped finger right.
                    onSwipeToRight();
                }

                // We're interested in these series of events
                return true;
            }
        }
        else
        {
            return false;
        }
    }

And I removed the onDown() override that was returning true because that was screwing up scrolling on the ListView.
Hope that this can help someone else out there.

redpajama_set_name: RedPajamaStackExchange


1 Timothy 2:3-4 – … Our Savior God, who desires all men to be saved and to come to the full knowledge of the truth.
1 Timothy 3:15-16 – … The church of God, which is the church of the living God, the pillar and base of the truth. And confessedly, great is the mystery of godliness: He who was manifested in the flesh ….
Ephesians 5:32 – This mystery is great, but I speak with regard to Christ and the church.


This is an older graphic that I never published. I decided to go back and retool the rope and the crown. And added some texture to the anchor. The design was created in Adobe Illustrator on a Wacom Cintiq Companion 2.
If you are familiar with Düsseldorf, then you know that the city is well known for its red lion. Famous for the Rhein river, Düsseldorf has several ships that pass by daily. Thus, I wanted to create a nautical version of the lion by combining it with an anchor. The final illustration could serve as a logo or insignia.
I received an email from CGTrader saying that this project was selected as one of the best of the top seven submissions to their digital art contest and is now featured on their blog in the object design section.


It's been a long road for Friends & Farmers... when we started in January of 2012, most of us realized achieving our vision would require years of research and fundraising. A full-service grocery store focused on local products is a novelty, and raising capital and building a community of members takes time.
There are nearly 500 cooperative groceries in the U.S. to learn from, but few have a mission of promoting local food. Co-op advisors and store managers of analogous stores (like Friendly City in Harrisonburg, VA home of James Madison University) have cautioned that produce is one of the most difficult departments of the grocery to manage, and stocking more than ~20% from local sources is not feasible.
Friends & Farmers is committed to "connecting consumers and producers in central PA" and 20% of inventory is not what we mean!
The decision to open the online market was a difficult one. Online markets are not a common start-up approach for brick-and-mortar co-ops, and there was some concern among board members that the energy it would take to manage the online market could detract from our membership drive. But at the same time, there was a lot of hope - the online market would help us develop relationships with producers, manage local sourcing, enhance our membership drive, and potentially develop a business model that would allow the brick-and-mortar store to exceed that 20% local threshold.
We are charting new territory here. In 5 years, Friends & Farmers may be the model for how to start a locally-focused food cooperative in the United States. Food Co-op Initiative (FCI) and Cooperative Development Services Consulting Cooperative (CDS) may point to us when asked how to increase sales of local produce in existing co-ops or start a new locally-focused co-op.
About a month ago we submitted two proposals. The Local Food Promotion Program grant ($100,000) would substantially expand our online market. FCI's seed grant ($10,000), which we were just awarded, will build a rock-solid business foundation based on the strongest examples of co-op grocery management nationwide. This will enable us to move ahead with real estate decisions and bank loans to open the store - once we have the membership to support those commitments.
Membership matters. We applied for the FCI Seed Grant in the summer of 2013, but didn't make the cut because we didn't have members. FCI couldn't invest in a co-op, no matter how promising, if the community hadn't demonstrated its support. At 337 members, FCI believes we're viable and wants to help us make it the rest of the way. But we need many more members to convince banks and other investors that we are a viable prospect.
If you've been thinking about joining, or have friends that are, consider FCI's investment in Friends & Farmers as a vote of confidence that we are on the right track. FCI will help us get our financial planning completed in the next year and put us on a path followed by the most successful cooperative start-ups. Friends & Farmers' conservative and proven development approach gives members confidence that their $300 investment ($30/month for 10 months!) will pay off for their families, their local economy and--most important-- their community.
The sooner you join, the sooner this store will open! Join today!


"We have a website and all those components were designed with EMPIRE XCcel and only 1 of our designs needed tuning screws because of manufacturing tolerances."
"You have developed a very comprehensive simulation platform. It is a pleasure using your software."
"I have successfully used EMPIRE XCcel to simulate antenna structures such as Dielectric Resonator Antennas (DRA), slot fed patches, horns and lenses. I found the software to be a very powerful, fast and accurate tool in predicting the performance of these antenna structures. As an example, EMPIRE XCcel was able to accuratly simulate the radiation pattern of a slot fed DRA array (paper attached). The learning curve was relatively fast and the support of the IMST staff during this period was very good. The support staff at IMST is very knowledgeable and was able to answer my inquiries within a short period of time."
"EMPIRE XCcel is a powerful, versatile and efficient 3D EM modeler that I use on a daily basis to design a wide variety of RF hardware. It saves me a lot of engineering time which I now can spend on the more important problems and ideas. Additionally, the excellent and encouraging support of the EMPIRE XCcel support-team, which are application engineers as myself, helps a lot to improve the effectiveness of my daily work.
"I have used EMPIRE XCcel since 2002 for solving different electromagnetic problems, such as microstrip antennas, waveguide components, lenses, dielectric resonator antennas and artificial dielectrics. In all cases, EMPIRE XCcel turns out to be remarquably efficient and powerful tool, providing an excellent agreement between simulations and measurements. Since EMPIRE XCcel has a time-domain engine, it solves broadband problems much faster than the Frequency Domain simulation tools I have used. The interface gives lots of flexibility and control to the user and complex objects geometries can be programmed in Python without difficulty. The technical support at IMST is very good and I always receive clear answers to my questions in very resonable time."


text:
About Cathedral Close
The Cathedral Close
Thoughts and News from an Anglo-Cathlic priest.
Archive for the 'Marriages' Category
A Note on Holy Laughter
Posted in Marriages, Uncategorized on January 12, 2017| Leave a Comment »
Some thoughts relating to the Wedding Feast of Cana by George MacDonald from THE MIRACLES OF OUR LORD
"I wonder how many Christians there are who so thoroughly believe God made them that they can laugh in God's name; who understand that God invented laughter and gave it to his children. Such belief would add a keenness to the zest in their enjoyment, and slay that sneering laughter of which a man grimaces to the fiends, as well as that feeble laughter in which neither heart nor intellect has a share. It would help them also to understand the depth of this miracle.
The Lord of gladness delights in the laughter of a merry heart. These wedding guests could have done without wine, surely without more wine and better wine. But the Father looks with no esteem upon a bare existence, and is ever working, even by suffering, to render life more rich and plentiful. His gifts are to the overflowing of the cup; but when the cup would overflow, he deepens its hollow, and widens its brim. Our Lord is profuse like his Father, yea, will, at his own sternest cost, be lavish to his brethren. He will give them wine indeed."
Creation Groaned
Posted in Contemporary Issues, Marriages on June 29, 2015| Leave a Comment »
From a Sermon for the Fourth Sunday after Trinity, 2015, (Given at St. Alban's, Richmond, Virginia)
"I reckon that the sufferings of this present time are not worthy to be compared with the glory which shall be revealed in us." -Romans 8:18
Friday, June 26th, in the year of our Lord 2015, creation groaned. A man-made court issued a pronouncement on that which is not main-made but is ordained of God. That Friday, God's creation groaned as a man-made institution made a proclamation on marriage that is directly contrary to the law of God. Against the law of the Constitution, too, perhaps, but more importantly for us as orthodox, traditional Christians it defied the law of God. Creation groaned under its weight.
The ground under our feet has shifted fundamentally. "Discerning the meaning of the present moment requires sobriety, precisely because its radicalism requires of us as Christians a realistic sense of how weak our position is in post-Christian America."
"It is now clear that extremism in the pursuit of the Sexual Revolution's goals is no vice." True, the Court gave a nod and a wink at the First Amendment in an attempt to calm those who might find themselves just a wee bit worried about religious liberty. But when a court is willing to invent rights out of nothing, it is impossible to have faith that the First Amendment will offer any but the most minimal protection to religious dissenters from homosexualist orthodoxy. As Mr. Justice Alito warned, the decision "will be used to vilify Americans who are unwilling to assent to the new orthodoxy," and will be used to oppress the faithful "by those who are determined to stamp out every vestige of dissent."
Of course, the next goal of homosexualist activists will be a long-term campaign to remove tax-exempt status from religious institutions and faith-communities who will not submit. However, the more immediate goal will be the shunning, then the vilification and, finally, the persecution of dissenters within civil society. This already is happening in a number of venues ranging from wedding-cake bakers, to photographers who refuse to be party to homosexual "marriages". As orthodox Christians, beloved in Christ, we must understand that this situation is going to get much more difficult for us.
As commentator Rod Dreher put it aptly, "We are going to have to learn how to live as exiles in our own country. We are going to have to learn how to live with at least a mild form of persecution." And, so we are going to be called to suffer for our faith. We are going to have to change the way we practice our faith and teach it to our children. To do this we are going to have to build resilient communities in the face of suffering.
We may look for easy answers, but there aren't any. Suffering is complex, but you know it is a part of love, real love—particularly of loving others as Christ loves us. "The truth that many people never understand, until it is too late, is that the more you try to avoid suffering the more you suffer because smaller and more insignificant things begin to torture you in proportion to your fear of being hurt." (Thomas Merton)
And so we come to the question of suffering which is treated straight on in the Epistle for the Fourth Sunday in Trinity. Romans 8 is in a sense a unique passage in that it brings before us one of the most interesting and mysterious questions of human life: our fellowship in suffering with the world in which we live-a world that seemingly has taken leave of its senses-and the common redemption which awaits all creation. This is the direction in which we must live, and work and teach.
Saint Paul's main thought in this passage is that suffering is the pathway to glory. Let's say that again. Suffering is the pathway to glory. And, since in that suffering it is not man alone, but all creation is involved, so all creation awaits and expects a redemption which shall be revealed through man when he reaches the goal of his life and enters upon the glories of eternity. That's a big theme. That's real comfort for us in times of suffering.
Saint Paul begins by comparing the sufferings of earth with the glories of heaven. Beloved in Christ, our sufferings are not light. We know this in many ways. From the viewpoint of our broader Christian experience, the dreariest thing we can do is read or listen to the news, particularly in the last several days. In truth it has become a season of groaning, and the present one seems to be full of turbulence and distress.
St. Paul speaks of all creation groaning and travailing in pain. But here is the hope: so overwhelming is the glory to which they lead, that St. Paul deliberately reaches the conclusion that no real comparison is possible. We find the same thought expressed elsewhere in the words, "Our light affliction, which is but for a moment, worketh for us a far more exceeding and eternal weight of glory."(2 Cor.)
How can he say this? Well, my beloved, anyone who has only superficially studied Saint Paul's life could fall into the error of believing that he had an easy go, a free ride, that he was unacquainted with sorrow and trial. However, few people ever suffered more than he; but so clear is his conception of the glory to which these sufferings lead, that he speaks of them as "light," as "but for a moment," as "not to be compared with the glory which shall be revealed."
So, then what are we to do, you and I? As a third-order Benedictine, I have often said that a monastic type of life will be our future. This was echoed by Mr. Dreher and others in the wake of Friday's events. We are called to what Mr. Dreher has identified as "the Benedict Option".
In his 1982 book After Virtue, the philosopher Alasdair MacIntyre likened the current age to the fall of ancient Rome. He pointed to Benedict of Nursia, a pious young Christian who left the chaos of Rome to go to the woods to pray as an example for us. We who want to live by the traditional virtues, MacIntyre said, have to pioneer new ways of doing so in community. We await, he said "a new and doubtless very different St. Benedict," while we await a new and different creation.
Throughout the early Middle Ages, St. Benedict's communities formed monasteries, and kept the light of faith burning through the surrounding cultural darkness. Eventually, the Benedictine monks helped re-found civilization.
I believe that we orthodox Christians are called to be those new and very different St. Benedicts. So, how do we take the Benedict Option, and build resilient communities within our condition of internal exile, and under increasingly hostile conditions and suffering?
We can begin with fervent, regular prayer in community, of the sort that goes on in St. Alban's every weekday morning at eight o'clock. We must study as the Benedictines, and genuinely work at learning our faith in a deep and profound way. We must teach as have the Benedictines in their renowned abbey schools. We must work tirelessly as do the Benedictines and be hospitable to the stranger and sojourner so that we can bring them inside the community to teach. I am not certain if there are other ways, but we had better figure this out together, and soon, as the hour have grown very late.
"The actions of our Supreme Court on Friday last are signs of the times for those with eyes to see. This isn't the view of wild-eyed prophets wearing animal skins and shouting in the desert" or preaching repentance while chained to the top of a column in the village square. No. "This is the view of four Supreme Court justices, in effect declaring from the bench the decline and fall of the traditional American social, political, and legal order" and the concomitant impending suffering of the traditional Christian order.
St. Paul would remind us though that these pains and sufferings, which wring a groan not just from the faithful, but from all of nature, are but the travail pains which lead to birth into a better world. If we allow it, these sufferings will carry us up, up into a higher state than we now know. This is the hope which St. Paul sets before us. This is the hope of all creation-to be delivered from the bondage of our present state, and to be born into a new world wherein dwelleth righteousness.
Now? Now we have sorrow in the experience of the birth pains which precede that deliverance. But, beloved in Christ, morning is coming. Morning is coming and all nature will share with us in the glories of this deliverance. Amen.
-With profound thanks to Mr. Rod Dreher, Orthodox Christian, whose Time article I have "borrowed" liberally throughout this sermon.
Anglican Province in America (1)
Christian Education (11)
Diocese (1)
Episcopate (13)
Holy Days (12)
Holy Orders (17)
Holy Week (17)
Lay Readers (2)
Marriages (2)
Medititions (114)
Men's Groups (5)
Parish Events (18)
Pro-Cathedral (7)
Saint's Days (17)
Trinitytide (2)
Women's Groups (1)