text:
#include "postgres.h"

#include <unistd.h>
#ifdef HAVE_SYS_PSTAT_H
#include <sys/pstat.h>			/* for HP-UX */
#endif
#ifdef HAVE_PS_STRINGS
#include <machine/vmparam.h>	/* for old BSD */
#include <sys/exec.h>
#endif
#if defined(__darwin__)
#include <crt_externs.h>
#endif

#include "libpq/libpq.h"
#include "miscadmin.h"
#include "utils/ps_status.h"

#include "cdb/cdbvars.h"        /* Gp_role, Gp_segment, currentSliceId */

extern char **environ;
extern int PostPortNumber;
bool		update_process_title = true;

/*
 * Alternative ways of updating ps display:
 *
 * PS_USE_SETPROCTITLE
 *	   use the function setproctitle(const char *, ...)
 *	   (newer BSD systems)
 * PS_USE_PSTAT
 *	   use the pstat(PSTAT_SETCMD, )
 *	   (HPUX)
 * PS_USE_PS_STRINGS
 *	   assign PS_STRINGS->ps_argvstr = "string"
 *	   (some BSD systems)
 * PS_USE_CHANGE_ARGV
 *	   assign argv[0] = "string"
 *	   (some other BSD systems)
 * PS_USE_CLOBBER_ARGV
 *	   write over the argv and environment area
 *	   (Linux and most SysV-like systems)
 * PS_USE_WIN32
 *	   push the string out as the name of a Windows event
 * PS_USE_NONE
 *	   don't update ps display
 *	   (This is the default, as it is safest.)
 */
#if defined(HAVE_SETPROCTITLE)
#define PS_USE_SETPROCTITLE
#elif defined(HAVE_PSTAT) && defined(PSTAT_SETCMD)
#define PS_USE_PSTAT
#elif defined(HAVE_PS_STRINGS)
#define PS_USE_PS_STRINGS
#elif (defined(BSD) || defined(__bsdi__) || defined(__hurd__)) && !defined(__darwin__)
#define PS_USE_CHANGE_ARGV
#elif defined(__linux__) || defined(_AIX) || defined(__sgi) || (defined(sun) && !defined(BSD)) || defined(ultrix) || defined(__ksr__) || defined(__osf__) || defined(__svr4__) || defined(__svr5__) || defined(__darwin__)
#define PS_USE_CLOBBER_ARGV
#elif defined(WIN32)
#define PS_USE_WIN32
#else
#define PS_USE_NONE
#endif

/* Different systems want the buffer padded differently */

#if defined(_AIX) || defined(__linux__) || defined(__svr4__)
#define PS_PADDING '\0'
#else
#define PS_PADDING ' '
#endif

#ifndef PS_USE_CLOBBER_ARGV
/* all but one option need a buffer to write their ps line in */
#define PS_BUFFER_SIZE 256
static char ps_buffer[PS_BUFFER_SIZE];
static const size_t ps_buffer_size = PS_BUFFER_SIZE;
#else							/* PS_USE_CLOBBER_ARGV */
static char *ps_buffer;			/* will point to argv area */
static size_t ps_buffer_size;	/* space determined at run time */
static size_t last_status_len;  /* use to minimize length of clobber */
#endif   /* PS_USE_CLOBBER_ARGV */

static size_t ps_buffer_cur_len;		/* nominal strlen(ps_buffer) */

static size_t ps_buffer_fixed_size;		/* size of the constant prefix */
#if (defined(sun) && !defined(BSD))
static size_t ps_argument_size; /* size for the first argument */
#endif

static size_t   ps_host_info_size;		/*CDB*/
static char     ps_host_info[64];       /*CDB*/
static char     ps_username[64];        /*CDB*/

/* save the original argv[] location here */
static int	save_argc;
static char **save_argv;

/*
 * GPDB: the real activity location, the location right after
 * those "con1 seg1 cmd1" strings. Sometimes we need to modify
 * the original activity string in the ps display output. Use
 * this pointer to get the real original activity string instead
 * of get_ps_display(). See MPP-2329.
 */
static size_t real_act_prefix_size;

/*
 * Call this early in startup to save the original argc/argv values.
 * If needed, we make a copy of the original argv[] array to preserve it
 * from being clobbered by subsequent ps_display actions.
 *
 * (The original argv[] will not be overwritten by this routine, but may be
 * overwritten during init_ps_display.	Also, the physical location of the
 * environment strings may be moved, so this should be called before any code
 * that might try to hang onto a getenv() result.)
 */
char	  **
save_ps_display_args(int argc, char **argv)
{
	save_argc = argc;
	save_argv = argv;

#if defined(PS_USE_CLOBBER_ARGV)

	/*
	 * If we're going to overwrite the argv area, count the available space.
	 * Also move the environment to make additional room.
	 */
	{
		char	   *end_of_area = NULL;
		int			i;

#if (defined(sun) && !defined(BSD))
		ps_argument_size = 0;
#endif

		/*
		 * check for contiguous argv strings
		 */
		for (i = 0; i < argc; i++)
		{
			if (i == 0 || end_of_area + 1 == argv[i])
				end_of_area = argv[i] + strlen(argv[i]);
		}

		if (end_of_area == NULL)	/* probably can't happen? */
		{
			ps_buffer = NULL;
			ps_buffer_size = 0;
			return argv;
		}

#if (defined(sun) && !defined(BSD))
		ps_argument_size = strlen(argv[0]);
#endif

		/*
		 * MPP-14501: only use argv area for status to preserve environment
		 *
		 * Prior to this change, the code here would use all of the memory with
		 * the initial contents of argv and environ as a buffer for the process
		 * status line.  However that has the side effect of preventing other
		 * processes from examining the initial argv/environ of this process.
		 * Although we aren't concerned about argv, as of MPP-14501 we want
		 * other processes to be able to read this process's environment to
		 * detect the presence of the GPKILL environment variable.  So instead
		 * of using all of the argv+environ area, we instead just use the argv
		 * area.  We should not have to worry about the argv area on it's own
		 * being too small to display the status information because it's
		 * fairly large with all the arguments we pass and if that ever does
		 * become an issue we can always just have gpstart add more arguments.
		 */
		ps_buffer = argv[0];
		last_status_len = ps_buffer_size = (end_of_area - ps_buffer);
	}
#endif   /* PS_USE_CLOBBER_ARGV */

#if defined(PS_USE_CHANGE_ARGV) || defined(PS_USE_CLOBBER_ARGV)

	/*
	 * If we're going to change the original argv[] then make a copy for
	 * argument parsing purposes.
	 *
	 * (NB: do NOT think to remove the copying of argv[], even though
	 * postmaster.c finishes looking at argv[] long before we ever consider
	 * changing the ps display.  On some platforms, getopt() keeps pointers
	 * into the argv array, and will get horribly confused when it is
	 * re-called to analyze a subprocess' argument string if the argv storage
	 * has been clobbered meanwhile.  Other platforms have other dependencies
	 * on argv[].
	 */
	{
		char	  **new_argv;
		int			i;

		new_argv = (char **) malloc((argc + 1) * sizeof(char *));

		if(!new_argv)
		{
			write_stderr("Failed to change/set argv: Out of Memory");
			exit(1);
		}

		for (i = 0; i < argc; i++)
		{
			new_argv[i] = strdup(argv[i]);
			if(!new_argv[i])
			{
				write_stderr("Failed to change/set argv: Out of Memory");
				exit(1);
			}
		}

		new_argv[argc] = NULL;

#if defined(__darwin__)

		/*
		 * Darwin (and perhaps other NeXT-derived platforms?) has a static
		 * copy of the argv pointer, which we may fix like so:
		 */
		*_NSGetArgv() = new_argv;
#endif

		argv = new_argv;
	}
#endif   /* PS_USE_CHANGE_ARGV or PS_USE_CLOBBER_ARGV */

	return argv;
}

/*
 * Call this once during subprocess startup to set the identification
 * values.  At this point, the original argv[] array may be overwritten.
 */
void
init_ps_display(const char *username, const char *dbname,
				const char *host_info, const char *initial_str)
{
	Assert(username);
    Assert(dbname);
    Assert(host_info);

	StrNCpy(ps_username, username, sizeof(ps_username));    /*CDB*/

#ifndef PS_USE_NONE
    /* no ps display for stand-alone backend */
    if (!IsUnderPostmaster)
        return;

	/* no ps display if you didn't call save_ps_display_args() */
	if (!save_argv)
		return;

#ifdef PS_USE_CLOBBER_ARGV
    /* If ps_buffer is a pointer, it might still be null */
    if (!ps_buffer)
        return;
#endif

    /*
     * Overwrite argv[] to point at appropriate space, if needed
     */

#ifdef PS_USE_CHANGE_ARGV
    save_argv[0] = ps_buffer;
    save_argv[1] = NULL;
#endif   /* PS_USE_CHANGE_ARGV */

#ifdef PS_USE_CLOBBER_ARGV

#if defined(__darwin__)
    /*
	 * MPP-14501, keep heuristic ps and other tools appear to use working
	 */
	if (ps_buffer_size > save_argc)
	{
		last_status_len -= save_argc;
		ps_buffer_size  -= save_argc;
		memset(ps_buffer+ps_buffer_size, 0, save_argc);
		ps_buffer[ps_buffer_size] = PS_PADDING;
	}
#endif /* darwin */

    {
        int         i;

        /* make extra argv slots point at end_of_area (a NUL) */
        for (i = 1; i < save_argc; i++)
            save_argv[i] = (ps_buffer + ps_buffer_size);
    }

#endif /* PS_USE_CLOBBER_ARGV */

    /*
     * Make fixed prefix of ps display.
     */

#ifdef PS_USE_SETPROCTITLE

    /*
     * apparently setproctitle() already adds a `progname:' prefix to the ps
     * line
     */
    snprintf(ps_buffer, ps_buffer_size,
             "port %5d, %s %s %s ",
             PostPortNumber, username, dbname, host_info);
#else
    snprintf(ps_buffer, ps_buffer_size,
             "postgres: port %5d, %s %s %s ",
             PostPortNumber, username, dbname, host_info);
#endif /* not PS_USE_SETPROCTITLE */

    ps_buffer_fixed_size = strlen(ps_buffer);

	real_act_prefix_size = ps_buffer_fixed_size;

    set_ps_display(initial_str, true);

    /* CDB */
    StrNCpy(ps_host_info, host_info, sizeof(ps_host_info));
    ps_host_info_size = snprintf(ps_buffer + ps_buffer_fixed_size,
                                 ps_buffer_size - ps_buffer_fixed_size,
                                 "%s ", host_info);

	/*
	 * MPP-14501, don't let a NUL from snprintf mess up our padding
	 */
#if defined(__darwin__)
	ps_buffer[ps_buffer_fixed_size + ps_host_info_size] = PS_PADDING;
#endif

	ps_buffer_cur_len = ps_buffer_fixed_size = strlen(ps_buffer);
	real_act_prefix_size = ps_buffer_fixed_size;

	set_ps_display(initial_str, true);
#endif   /* not PS_USE_NONE */
}

/*
 * Call this to update the ps status display to a fixed prefix plus an
 * indication of what you're currently doing passed in the argument.
 */
void
set_ps_display(const char *activity, bool force)
{
#ifndef PS_USE_NONE
	/* update_process_title=off disables updates, unless force = true */
    char   *cp = ps_buffer + ps_buffer_fixed_size;
    char   *ep = ps_buffer + ps_buffer_size;

    if (!force && !update_process_title)
        return;

    /* no ps display for stand-alone backend */
    if (!IsUnderPostmaster)
        return;

#ifdef PS_USE_CLOBBER_ARGV
    /* If ps_buffer is a pointer, it might still be null */
    if (!ps_buffer)
        return;
#endif

	/* Drop the remote host and port from the fixed prefix. */
	if (ps_host_info_size > 0)
	{
		ps_buffer_fixed_size -= ps_host_info_size;
		cp -= ps_host_info_size;
		ps_host_info_size = 0;
	}

	Assert(cp >= ps_buffer);
	/* Add client session's global id. */
	if (gp_session_id > 0 && ep - cp > 0)
		cp += snprintf(cp, ep - cp, "con%d ", gp_session_id);

	/* Add host and port.  (Not very useful for qExecs, so skip.) */
	if (Gp_role != GP_ROLE_EXECUTE &&
		ps_host_info[0] != '\0' && ep - cp > 0)
		cp += snprintf(cp, ep - cp, "%s ", ps_host_info);

	/* Which segment is accessed by this qExec? */
	if (Gp_role == GP_ROLE_EXECUTE &&
		Gp_segment >= -1 && ep - cp > 0)
		cp += snprintf(cp, ep - cp, "seg%d ", Gp_segment);

	/* Add count of commands received from client session. */
	if (gp_command_count > 0 && ep - cp > 0)
		cp += snprintf(cp, ep - cp, "cmd%d ", gp_command_count);

	/* Add slice number information */
	if (currentSliceId > 0 && ep - cp > 0)
		cp += snprintf(cp, ep - cp, "slice%d ", currentSliceId);

	/*
	 * snprintf returns the number of bytes that *would* have been written if
	 * enough space had been available.  This means cp might beyond, in which
	 * case we need to trim it down to ep and real_act_prefix_size
	 * effectively becomes ps_buffer_size.
	 */
	real_act_prefix_size = Min(cp, ep) - ps_buffer;
	ps_buffer_cur_len = real_act_prefix_size;

	/* Append caller's activity string. */
	if (ep - cp > 0)
		StrNCpy(cp, activity, ep - cp);

    /* Transmit new setting to kernel, if necessary */
#ifdef PS_USE_SETPROCTITLE
    setproctitle("%s", ps_buffer);
#endif

#ifdef PS_USE_PSTAT
    {
        union pstun pst;

		pst.pst_command = ps_buffer;
		pstat(PSTAT_SETCMD, pst, ps_buffer_cur_len, 0, 0);
	}
#endif   /* PS_USE_PSTAT */

#ifdef PS_USE_PS_STRINGS
    PS_STRINGS->ps_nargvstr = 1;
    PS_STRINGS->ps_argvstr = ps_buffer;
#endif   /* PS_USE_PS_STRINGS */

#ifdef PS_USE_CLOBBER_ARGV
	/* pad unused memory; need only clobber remainder of old status string */
	if (last_status_len > ps_buffer_cur_len)
		MemSet(ps_buffer + ps_buffer_cur_len, PS_PADDING,
			   last_status_len - ps_buffer_cur_len);
	last_status_len = ps_buffer_cur_len;
#endif   /* PS_USE_CLOBBER_ARGV */

#ifdef PS_USE_WIN32
	{
		/*
		 * Win32 does not support showing any changed arguments. To make it at
		 * all possible to track which backend is doing what, we create a
		 * named object that can be viewed with for example Process Explorer.
		 */
		static HANDLE ident_handle = INVALID_HANDLE_VALUE;
		char		name[PS_BUFFER_SIZE + 32];

		if (ident_handle != INVALID_HANDLE_VALUE)
			CloseHandle(ident_handle);

		sprintf(name, "pgident(%d): %s", MyProcPid, ps_buffer);

		ident_handle = CreateEvent(NULL, TRUE, FALSE, name);
	}
#endif   /* PS_USE_WIN32 */
#endif   /* not PS_USE_NONE */
}

/*
 * Returns what's currently in the ps display with a given starting
 * position. On some platforms the string will not be null-terminated,
 * so return the effective length into *displen.
 */
static inline const char *
get_ps_display_from_position(size_t pos, int *displen)
{
#ifdef PS_USE_CLOBBER_ARGV
	/* If ps_buffer is a pointer, it might still be null */
	if (!ps_buffer)
	{
		*displen = 0;
		return "";
	}
#endif

	*displen = (int) (ps_buffer_cur_len - ps_buffer_fixed_size);

	return ps_buffer + pos;
}

/*
 * Returns what's currently in the ps display, in case someone needs
 * it.	Note that only the activity part is returned.  On some platforms
 * the string will not be null-terminated, so return the effective
 * length into *displen.
 */
const char *
get_ps_display(int *displen)
{
	return get_ps_display_from_position(ps_buffer_fixed_size, displen);
}

/* CDB: Get the "username" string saved by init_ps_display().  */
const char *
get_ps_display_username(void)
{
    return ps_username;
}                               /* get_ps_display_username */

/*
 * Returns the real activity string in the ps display without prefix
 * strings like "con1 seg1 cmd1" for GPDB. On some platforms the
 * string will not be null-terminated, so return the effective length
 * into *displen.
 */
const char *
get_real_act_ps_display(int *displen)
{
	return get_ps_display_from_position(real_act_prefix_size, displen);
}


Do you get personal satisfaction from happy clients or customers? I do.
There is a feeling of immensely deep satisfaction that I get when a client is happy with the final result of my work. I love it.
Completing a video project for a client isn't just a job done for me. I get personal satisfaction when a client is happy with my work, because I love what I do and always try to produce something that both me and my client could be proud of. I am also thankful I have the opportunity to help someone or contribute to a business by doing something I enjoy, and when my efforts get recognized, it's just such a positive and motivating feeling!
How do you feel when you fail to meet a client's expectations?
Personally, I always feel anxious before submitting a first draft of the work to a client if it doesn't meet their expectations. It's fine if they wish to make small changes but I am nervous in case I've completely misunderstood the brief and the client requires a complete make-over of the work I've already produced. I wish no media professional is ever confronted with such a scenario.
There is one thing I am sure of when doing work for clients. I always strive to give my best and regardless of the client's opinion, I know for myself that I've at least tried to provide the best of my abilities. This positive attitude helps me bear a peaceful mind after a failure.
What motivates you to continue doing your job if you were unsuccessful at your task?


Cheer your child up by using this Dexter Pediatric Nebulizer for breathing treatments. The nebulizer features a purple Dexter dragon character, a child mask, a carrying case, and a comprehensive guidebook that is written in English and Spanish. It is an easy-to-use nebulizer that delivers treatments in 8-10 minutes.
- Delivers medication treatments in a child-friendly design sure to help improve patient compliance.
- Custom designed by Veridian Healthcare, developed to appeal to children and parents.
- Built-in nebulizer holder for hands-free convenience.
- Dependable piston-style compressor pump.
- Integrated molded carrying handle.
- Coordinating tote stores compressor and all accessories for each.
- Additional accessory and replacement items available.


These beautiful Bohemian Fabric Carpet Inspired Clutches are perfect for race days or night outs! They come with long golden shoulder chain and faux leather lining inside. Stand out and make an statement with these beauties.


Join the celebrity trend with this Best Seller Ann Chery Latex sports Corset AC2021! Lose inches from your waist and add curves with the genuine Ann Chery Faja Colombiana 3 hook black latex workout corset.
This high end latex corset is perfect to maximize any exercise or gym workout. It features 3 hook and eye levels to size down as you lose weight and adjust compression levels to suit your comfort.
Measurement: The AC2021 is 13" length (recommended for long torsos). See AC2025 version for short/ regular torsos.
Sizing Tip: Please refer to the sizing chart and your natural waist measurement when choosing your corset. The corsets run small so if in between sizes, choose one size up.
I Love my new waist trainer! It came faster than expected and beautifully wrapped. I was recommended this waist trainer online and it was everything they raved on about! Amazing quaity and it fit like a glove. Thanks so much!!


sensuallipsxy . camilamaiden. AnalHottie. HeavySoul.
SALYTHAIEwanGatesArabelaaMollyClark .brithney28BBKingAmazingOrionXXXPrescilliaCd .ArabelaaGreatTeenSexxxSecretMilf67SammyDICK .BustyAneMartinSexxBoySecretMilf67BustyAne .AnalHottieNickekcbravioandtommyMartinSexxBoy .JulianLoverXPrettyAglayaTeenGreenEyesbravioandtommy .MollyClarkcamilamaidenBlossomInLuvLovableMelissa .TeenGreenEyeskattyhillJeremmyLatinoCamilaSain .MagicsexxxCoupleLadyVegaXXXBustyAneSecretMilf67 .Doctorelivebrithney28deepindianholeBBQueen69999 .lady4pleasurebrithney28AmazingOrionXXX01EROTICASS .
TheBigFatCockJeremmyLatinomerida21AbyFreak .NikoleJewellscamilamaidenSALYTHAIMasterExodus .asianBESTFRIENDSEvaDreamxStacyLinXJuliaMooreCS .SamantaCurvyTeenGreenEyesChrisShrederEmmaWilder .camilamaidenEwanGatesJulianLoverXRosaRossalyinda0 .MatureXEstherdeepindianholeSamantaCurvyMilenaLight .xxLisaDevilxxKinkyAss4uXXKenyaTSxxJeremmyLatino .RosaRossalyinda0FATBLACKCOCKAronPornCamilaSain .AbyFreakleulaJeremmyLatinoKenyaTSxx .ChrisShrederKinkyAss4uXXMasterExodusNikandraX .ACouppleAlyana4YouLianeNickekc .


Albert R. Ball: Visitation, 6-8 p.m. today; and 10 a.m. until time of service, 11 a.m. Wednesday, Little's Funeral Home, Littlestown, Pennsylvania.
Nancy B. Jones: Visitation, 2-4 and 6-8 p.m. today; service, 11 a.m. Wednesday, Pritts Funeral Home and Chapel, 412 Washington Road, Westminster.
Kenneth D. Wanzer: Visitation, 10 a.m. until time of service, 11 a.m. today, Haight Funeral Home & Chapel, 6416 Sykesville Road, Sykesville.
Mildred L. Weaver: Visitation, 2-4 and 6-8 p.m. Thursday; service, 1 p.m. Friday, Hartzler Funeral Home, 404 S. Main St., Woodsboro.


text:
.class public Lcom/samsung/android/visualeffect/circle/BounceAnimation;
.super Ljava/lang/Object;
.source "BounceAnimation.java"

# instance fields
.field mDownDuration:I

.field mDownInterpolator:Landroid/view/animation/Interpolator;

.field mListener:Lcom/samsung/android/visualeffect/circle/BounceAnimationListener;

.field mScaleFrom:F

.field mScaleMid:F

.field mScaleTo:F

.field mUpDuration:I

.field mUpInterpolator:Landroid/view/animation/Interpolator;

.field mView:Landroid/view/View;

# direct methods
.method public constructor <init>(Landroid/view/View;FFF)V
    .locals 7

    const/16 v5, 0xa7

    move-object v0, p0

    move-object v1, p1

    move v2, p2

    move v3, p3

    move v4, p4

    move v6, v5

    invoke-direct/range {v0 .. v6}, Lcom/samsung/android/visualeffect/circle/BounceAnimation;-><init>(Landroid/view/View;FFFII)V

    return-void
.end method

.method public constructor <init>(Landroid/view/View;FFFII)V
    .locals 9

    const/high16 v3, 0x3f800000    # 1.0f

    const/4 v2, 0x0

    new-instance v7, Landroid/view/animation/PathInterpolator;

    const/high16 v0, 0x3f000000    # 0.5f

    const v1, 0x3dcccccd    # 0.1f

    invoke-direct {v7, v0, v2, v1, v3}, Landroid/view/animation/PathInterpolator;-><init>(FFFF)V

    new-instance v8, Landroid/view/animation/PathInterpolator;

    const v0, 0x3e4ccccd    # 0.2f

    const v1, 0x3e99999a    # 0.3f

    invoke-direct {v8, v0, v2, v1, v3}, Landroid/view/animation/PathInterpolator;-><init>(FFFF)V

    move-object v0, p0

    move-object v1, p1

    move v2, p2

    move v3, p3

    move v4, p4

    move v5, p5

    move v6, p6

    invoke-direct/range {v0 .. v8}, Lcom/samsung/android/visualeffect/circle/BounceAnimation;-><init>(Landroid/view/View;FFFIILandroid/view/animation/Interpolator;Landroid/view/animation/Interpolator;)V

    return-void
.end method

.method public constructor <init>(Landroid/view/View;FFFIILandroid/view/animation/Interpolator;Landroid/view/animation/Interpolator;)V
    .locals 0

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    iput-object p1, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mView:Landroid/view/View;

    iput p2, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mScaleFrom:F

    iput p3, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mScaleMid:F

    iput p4, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mScaleTo:F

    iput p5, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mUpDuration:I

    iput p6, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mDownDuration:I

    iput-object p7, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mUpInterpolator:Landroid/view/animation/Interpolator;

    iput-object p8, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mDownInterpolator:Landroid/view/animation/Interpolator;

    return-void
.end method

# virtual methods
.method public getBounceDownDuration()I
    .locals 1

    iget v0, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mDownDuration:I

    return v0
.end method

.method public getBounceUpDuration()I
    .locals 1

    iget v0, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mUpDuration:I

    return v0
.end method

.method public setBounceListener(Lcom/samsung/android/visualeffect/circle/BounceAnimationListener;)V
    .locals 0

    iput-object p1, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mListener:Lcom/samsung/android/visualeffect/circle/BounceAnimationListener;

    return-void
.end method

.method public startAnimation()V
    .locals 10

    new-instance v0, Landroid/view/animation/ScaleAnimation;

    iget v1, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mScaleFrom:F

    iget v2, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mScaleMid:F

    iget v3, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mScaleFrom:F

    iget v4, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mScaleMid:F

    const/4 v5, 0x1

    const/high16 v6, 0x3f000000    # 0.5f

    const/4 v7, 0x1

    const/high16 v8, 0x3f000000    # 0.5f

    invoke-direct/range {v0 .. v8}, Landroid/view/animation/ScaleAnimation;-><init>(FFFFIFIF)V

    iget-object v2, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mUpInterpolator:Landroid/view/animation/Interpolator;

    invoke-virtual {v0, v2}, Landroid/view/animation/ScaleAnimation;->setInterpolator(Landroid/view/animation/Interpolator;)V

    iget v2, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mUpDuration:I

    int-to-long v2, v2

    invoke-virtual {v0, v2, v3}, Landroid/view/animation/ScaleAnimation;->setDuration(J)V

    const/4 v2, 0x1

    invoke-virtual {v0, v2}, Landroid/view/animation/ScaleAnimation;->setFillAfter(Z)V

    new-instance v1, Landroid/view/animation/ScaleAnimation;

    iget v2, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mScaleMid:F

    iget v3, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mScaleTo:F

    iget v4, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mScaleMid:F

    iget v5, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mScaleTo:F

    const/4 v6, 0x1

    const/high16 v7, 0x3f000000    # 0.5f

    const/4 v8, 0x1

    const/high16 v9, 0x3f000000    # 0.5f

    invoke-direct/range {v1 .. v9}, Landroid/view/animation/ScaleAnimation;-><init>(FFFFIFIF)V

    iget-object v2, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mDownInterpolator:Landroid/view/animation/Interpolator;

    invoke-virtual {v1, v2}, Landroid/view/animation/ScaleAnimation;->setInterpolator(Landroid/view/animation/Interpolator;)V

    iget v2, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mDownDuration:I

    int-to-long v2, v2

    invoke-virtual {v1, v2, v3}, Landroid/view/animation/ScaleAnimation;->setDuration(J)V

    const/4 v2, 0x1

    invoke-virtual {v1, v2}, Landroid/view/animation/ScaleAnimation;->setFillAfter(Z)V

    new-instance v2, Lcom/samsung/android/visualeffect/circle/BounceAnimation$1;

    invoke-direct {v2, p0, v1}, Lcom/samsung/android/visualeffect/circle/BounceAnimation$1;-><init>(Lcom/samsung/android/visualeffect/circle/BounceAnimation;Landroid/view/animation/ScaleAnimation;)V

    invoke-virtual {v0, v2}, Landroid/view/animation/ScaleAnimation;->setAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V

    new-instance v2, Lcom/samsung/android/visualeffect/circle/BounceAnimation$2;

    invoke-direct {v2, p0}, Lcom/samsung/android/visualeffect/circle/BounceAnimation$2;-><init>(Lcom/samsung/android/visualeffect/circle/BounceAnimation;)V

    invoke-virtual {v1, v2}, Landroid/view/animation/ScaleAnimation;->setAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V

    iget-object v2, p0, Lcom/samsung/android/visualeffect/circle/BounceAnimation;->mView:Landroid/view/View;

    invoke-virtual {v2, v0}, Landroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V

    return-void
.end method

redpajama_set_name: RedPajamaGithub


A new preview of Wild Life: New and Selected Poems by Jamie K. Reaser. Featuring a foreword by Edward E. Clark Jr., President of the Wildlife Center of Virginia. Hiraeth Press will be donating $2.00/book to support theWCV's environmental education and wildlife medicine programs! The release date will be June 28, 2013. Pre-order this book now exclusively in our bookstore.
innate desire to be noticed.
to really look to see a thing.
for his appearance and habits.
we see aspects of ourselves.
The wrinkling of his bald, black head.
The delicate flare of unencumbered nostrils.
is below broad, powerful wings.
become caretakers of the living.
And this, to me, is beautiful.
and, yes, of course, I shall go on looking for it.
Visit our bookstore today to reserve your copy.


text:
No Longer in Exile: The Legacy and Future of Gender Studies at the New School recordings
Guide to the No Longer in Exile: The Legacy and Future of Gender Studies at the New School recordings, 2010 Mar 26-27
New School Collections
NS.07.02.05
Creator - Speaker
Abelson, Elaine S.
Alexander-Floyd, Nikol G., (Nikol Gertrude)
Assis, Marianna
Buckley, Cheryl, 1956-
Bustamante, Ximena
Crews, Chris
Cvetkovich, Ann, 1957-
Davenport-Ramirez, Keisha
Detwiler, Katie
Dill, Bonnie Thornton
Dimond, Jon
Eichhorn, Kate, 1971-
Ellsworth, Elizabeth Anne
Estep-Armstrong, Chelsea
Eugene Lang College.
Exposito, Suzanne
Faludi, Susan
Fernández-Campos, Silvia
Fraser, Nancy
Georgis, Dina
Gordon, Neil, 1958-
Halberstam, Judith, 1961-
Hawkesworth, M. E., 1952-
Heathcott, Joseph, 1968-
Irwin, Randi
Julieta, Chaparro-Buitrago
Lara, María Pía
Leve, Michelle
Ling, L. H. M.
Liu, Laura Y.
Maparyan, Layli
McEwan, Bonnie
Price, J. Ricky
Robin, Tracy
Smith, Valerie
Snitow, Ann Barr, 1943-
Soreanu, Raluca
Williams, H. Howell
Zhou, Suiming
Ziff, Elizabeth
27.1 gb: 10 Mini-DV tape cassettes, 10 optical disks
All recordings in English.
No Longer in Exile: The Legacy and Future of Gender Studies at the New School was a two-day conference held in 2010 in celebration of the re-establishment of a gender studies program at The New School university. Faculty, staff, undergraduate and graduate-level students and invited guest speakers discussed topics relevant to the discipline's past, present and future. This collection consists of the video files recorded during the conference.
[Identification of item], [date], No Longer in Exile: The Legacy and Future of Gender Studies at the New School recordings, NS.07.02.05, New School Archives, The New School, New York, New York.
No Longer in Exile: The Legacy and Future of Gender Studies at the New School was a two-day conference held at The New School's Theresa Lang Center, located on the second floor of 55 West 13th Street, New York. According to a university-hosted web page devoted to the conference (no longer online as of 23 August 2016), "To celebrate the return of a Gender Studies program The New School hosted distinguished visitors from all over the world. Students and faculty explored this interdisciplinary field's history, its changing boundaries, and its current cutting edge."
Sponsors of the conference were: Office of the Provost, University Student Senate, Eugene Lang College Dean's Office, Eugene Lang College Special Projects, Eugene Lang College Student Union, Gender Studies Inquiry Group, Parsons School of Design's School of Art and Design History and Theory, Parsons School of Design's School of Constructed Environments, Parsons School of Design's School of Design Strategies, the Anna-Maria and Stephen Kellen Archives, the New School for Social Research, the New School for General Studies, and the Milano Office of the Dean.
Gender Studies has had an uneven and complicated history at The New School. Courses on gender were first taught at Eugene Lang College when that division was established in 1986. "Gender and Knowledge" was one of twelve concentrations available to undergraduate students. By the early 1990s, these twelve concentrations were reduced to six due to the college's small faculty.
"Gender and Knowledge" did not survive the consolidation. Instead a "Cultural Studies" concentration included tracks in media, race and gender. Over time these tracks merged and the gender track became narrower. "Feminist Inquiry," the founding undergraduate course in gender studies, disappeared from the curriculum. According to Associate Professor Ann Snitow in an oral history interview (transcript page 27), the development of media studies was at the expense of gender studies.
Despite the decline and disappearance of gender studies at the undergraduate level, a master's program was developed at The New School in response to student demand. The MA in Gender Studies and Feminist Theory was first taught in 1993. Rayna Rapp, an anthropology professor at the New School for Social Research (at that time known as the Graduate Faculty), served as director. The MA program was short lived--the New School's admnistration closed the program in Spring 1997. According to Snitow (transcript page 30), the administration used the "Mobilization for Real Diversity, Democracy, and Economic Justice" as a justification for closing the MA program prematurely. The Mobilization followed the denial of tenure to Jacqui Alexander – a gender studies professor of color at Eugene Lang College. It culminated in a hunger strike, which lasted nineteen days and involved students taking the Provost and Vice President hostage for five hours. The protesters were made up of students from many ethnic backgrounds as well as the LGBTQI community.
In 2003, informal discussions began between engaged faculty to develop a gender studies minor at the undergraduate level. According to Snitow (transcript page 48), it was a deliberate decision by those involved to develop a minor rather than a major because gender studies is, by its nature interdisciplinary. It was considered important to train students in a traditional field (like anthropology, sociology or philosophy) but give them intellectual access to gender-related topics. By 2006, the proposal went through the committee process at The New School and passed state accreditation in 2009. The minor in gender studies was launched in 2010 at the No Longer in Exile: The Legacy and Future of Gender Studies at the New School conference.
The first director of the gender studies minor was Ann Snitow from 2009 through Fall 2012. There was no director in Spring 2013. Miriam Ticktin was director during the 2013-2014 academic year, the last year comprehensively documented in these records (there is a single folder from an event held in 2016).
As of February 2017, it remains a thriving program and the model for interdisciplinary minors at Eugene Lang College. Its current director is Margot Bouman. In addition to Bouman, full-time faculty members are Ann Snitow, Miriam Ticktin and Terri Gordon.
__ Audio interview with Ann Snitow by Julia Foulkes and Wendy Scheir. 15 Oct 2014. The New School Oral History Program. NS.07.01.01. New School Archives and Special Collections Digital Archive. Web. 03 Jan 2017.
No Longer in Exile: The Legacy and Future of Gender Studies at the New School. The New School, accessed March 14, 2014, https://www.newschool.edu/lang/academics.aspx?id=47785.
Collection consists solely of digital media containing audio and video documentation from the two-day conference. Formats consist of ten Mini-DV tapes and one set of ten optical discs (DVD-Rs).
Arranged in chronological order by date and time of recording.
New School Collections - February 23, 2017
66 Fifth Avenue
Collection is open for research use. Researchers must use access files uploaded to the New School Archives Digital Collections site (SEE Other finding aids note).
To publish files from this collection, permission must be obtained in writing from the New School Archives and Special Collections. Please contact: archivist@newschool.edu.
Transferred from the New School Libraries to the New School Archives and Special Collections, 2014.
The New School Gender Studies minor program records (NS.02.24.02) in the New School Archives contain documentation on the conference, including the contents of a scrapbook dedicated to the event. Additionally, the Ann Snitow faculty records (NS.02.08.01) document the work of one of the conference's primary organizers and speakers.
Documentation on an exhibition sponsored by the Kellen Design Archives and held in a room adjoining the conference will be found in the New School Archives and Special Collections records (NS.08.03.01), Exhibitions series. The student-curated exhibition, Inspiring Women, focused on female designers and educators associated with Parsons School of Design.
Mini-DV.
For video files with session-level description, see the New School Archives Digital Collections at http://digitalarchives.library.newschool.edu/index.php/Detail/collections/NS070205.
The State of the Art: Gender Studies, 2010 Mar 26
Gender Studies: What Histories Do We Want to Claim?, 2010 Mar 27
Gender Studies and Body Politics: Intersections, Directions, Representations, 2010 Mar 27
Front Lines and Boundary Lines: Reports from a Developing Field, 2010 Mar 27

redpajama_set_name: RedPajamaCommonCrawl


Report on the eating habits of Junior Certificate students.
The purpose of this report is to find out more about the typical eating habits of junior certificate students. Interest in this topic began following a discussion on healthy eating during our home economics class. We compiled a questionnaire which was distributed to all junior certificate students.
76% eat unhealthy snacks during morning break (these include chocolate, crisps, sweets, fizzy drinks, sausage rolls, wedges).
58% bring a packed lunch, 12% go home, 17% eat in the canteen.
94% have a healthy hot dinner every day.
Students have a healthy balanced diet for the most part. Some students eat excessive amounts of junk food during morning break. There are also some concerns about the practice of skipping meals.
Introduce a special offer in the canteen whereby students can buy a bottle of water, pot of yoghurt and piece of fruit for €1.50 during morning break.
Arrange for a nutritionist to speak to all SPHE classes, focusing on the health benefits of healthy eating and the dangers of skipping meals.
Provide in-service training for teachers on recognising the symptoms of eating disorders.
(A) Using casual, conversational language and abbreviations.
We realised how bad students were eating SHOULD BE We realised how unhealthily students were eating.
A report is an official document so always choose the most formal phrase you can.
Few leaving certs eat a breakfast which is surprising, you'd expect them to try and get a good start to the day considering they are facing such a big exam year.
77% OF leaving certificate students don't eat breakfast.
Lots of students eat chocolate, crisps and sweets during the day. This is disgraceful.
A report presents the facts in clear simple direct language.
It is a scientific fact that skipping meals is unhealthy but there is no scientific proof that it is 'disgraceful'. Get to the point and avoid giving your opinion.
(C) Taking too narrow a focus.
You went totally off the point and assessed levels of obesity.
(D) Your method of finding out information was flawed – you used observation instead of a survey or questionnaire.
Think of the example above – if you simply stand in the canteen and watch people eating you won't be including everyone – the people who go home for lunch, those who go to town and those who bring a packed lunch – so your conclusions will be flawed. Also, you cannot get any exact statistics simply by watching. The whole point of a report is to find out more than you know or suspect already so you need exact figures.
(E) You were unrealistic which made the report seem fake!
"I interviewed all the students in our school" – this would be difficult, time consuming and unnecessary. A survey just needs to be given to a representative sample so that all effected groups are included. In this case if you want info. from the entire school give the survey to one class from each year group.
Some 'recommendations' were vague or obvious, for example "students should have at least one piece of fruit a day". This is simply stating a fact – it is not a recommendation of how to make it happen.
Offer rewards if students can stay within their weekly amount of bad eating habits.
We decided to do more about the problem of eating.
Most of the students in fat don't eat there (!) lunch sitting down.
The purpose of this report is to outline young people's awareness of bad eating.
We went around the 2nd, 3rd and 5th yr classes and asked them questions.
The eating habits of students in our school is outrageous.
Now realistically speaking, how long do you think he will live, eating this way everyday. Not very long the rate he is going.
Chocolate is the worst. Most students eats it, not many eats crisps.
First years are the most who go to the chipper for lunch.
"As a member of your student council you have been asked to prepare a report on the changes students would like to see made in your school. The report will be presented to the Principal and the Board of Management".
Was searching for some material on mini radio talk and came across your fabulous website once again. Thank you for all of your hard work and this is sooo valuable a tool in my classroom today! I feel somewhat guilty that I have yet to contribute but one of these days..maybe something on the short story writing.
Hi. I've always been under the impression that memo's are supposed to be short (much shorter than a report) but for some reason I'm beginning to have doubts about that now before the exam. Could you please tell me approximately how many words should be in a memo and under what headings? Thank you.
However, for the Leaving Cert I think if you wrote something this short they'd find it hard to assess your writing skills and choose an appropriate grade. So allow for the fact that they're expecting one and a half to two pages for the QB task and err on the short side if doing a memo. Be clear, concise and to the point.


Brewgaloo 2014 is about to take place on April 26 and the event promises a fun mix of local beer and live music. Stop by Raleigh's City Plaza from 2-10 for this free event. Thirty-five North Carolina breweries will be featured at the event including Aviator, Natty Greene's, Big Boss, and Carolina Brewing.
Taster Cards can be purchased for $5 with five 3 ounce pours or 5 beer tokens for $25. Food trucks will also be on hand including Hibachi Xpress, American Meltdown, and Only Burger.
Enjoy some tasty NC beer and live music to support buying local in Raleigh. For more details, visit the Shop Local Raleigh website.


text:
Q: Case-insensitive UTF-8 string collation for SQLite (C/C++) I am looking for a method to compare and sort UTF-8 strings in C++ in a case-insensitive manner to use it in a custom collation function in SQLite.

*

*The method should ideally be locale-independent. However I won't be holding my breath, as far as I know, collation is very language-dependent, so anything that works on languages other than English will do, even if it means switching locales.

*Options include using standard C or C++ library or a small (suitable for embedded system) and non-GPL (suitable for a proprietary system) third-party library.

What I have so far:

*

*strcoll with C locales and std::collate/std::collate_byname are case-sensitive. (Are there case-insensitive versions of these?)

*I tried to use a POSIX strcasecmp, but it seems to be not defined for locales other than "POSIX"

In the POSIX locale, strcasecmp() and strncasecmp() do upper to lower conversions, then a byte comparison. The results are unspecified in other locales.

And, indeed, the result of strcasecmp does not change between locales on Linux with GLIBC.
#include <clocale>
#include <cstdio>
#include <cassert>
#include <cstring>

const static char *s1 = "Äaa";
const static char *s2 = "äaa";

int main() {
    printf("strcasecmp('%s', '%s') == %d\n", s1, s2, strcasecmp(s1, s2));
    printf("strcoll('%s', '%s') == %d\n", s1, s2, strcoll(s1, s2));
    assert(setlocale(LC_ALL, "en_AU.UTF-8"));
    printf("strcasecmp('%s', '%s') == %d\n", s1, s2, strcasecmp(s1, s2));
    printf("strcoll('%s', '%s') == %d\n", s1, s2, strcoll(s1, s2));
    assert(setlocale(LC_ALL, "fi_FI.UTF-8"));
    printf("strcasecmp('%s', '%s') == %d\n", s1, s2, strcasecmp(s1, s2));
    printf("strcoll('%s', '%s') == %d\n", s1, s2, strcoll(s1, s2));
}

This is printed:
strcasecmp('Äaa', 'äaa') == -32
strcoll('Äaa', 'äaa') == -32
strcasecmp('Äaa', 'äaa') == -32
strcoll('Äaa', 'äaa') == 7
strcasecmp('Äaa', 'äaa') == -32
strcoll('Äaa', 'äaa') == 7

P. S.
And yes, I am aware about ICU, but we can't use it on the embedded platform due to its enormous size.

A: What you really want is logically impossible. There is no locale-independent, case-insensitive way of sorting strings. The simple counter-example is "i" <> "I" ? The naive answer is no, but in Turkish these strings are unequal. "i" is uppercased to "İ" (U+130 Latin Capital I with dot above)
UTF-8 strings add extra complexity to the question. They're perfectly valid multi-byte char* strings, if you have an appropriate locale. But neither the C nor the C++ standard defines such a locale; check with your vendor (too many embedded vendors, sorry, no genearl answer here). So you HAVE to pick a locale whose multi-byte encoding is UTF-8, for the mbscmp function to work. This of course influences the sort order, which is locale dependent. And if you have NO locale in which const char* is UTF-8, you can't use this trick at all. (As I understand it, Microsoft's CRT suffers from this. Their multi-byte code only handles characters up to 2 bytes; UTF-8 needs 3)
wchar_t is not the standard solution either. It supposedly is so wide that you don't have to deal with multi-byte encodings, but your collation will still depend on locale (LC_COLLATE) . However, using wchar_t means you now choose locales that do not use UTF-8 for const char*.
With this done, you can basically write your own ordering by converting strings to lowercase and comparing them. It's not perfect. Do you expect L"ß" == L"ss" ? They're not even the same length. Yet, for a German you have to consider them equal. Can you live with that?

A: I don't think there's a standard C/C++ library function you can use.  You'll have to roll your own or use a 3rd-party library.  The full Unicode specification for locale-specific collation can be found here: http://www.unicode.org/reports/tr10/ (warning: this is a long document).

A: On Windows you can call fall back on the OS function CompareStringW and use the NORM_IGNORECASE flag. You'll have to convert your UTF-8 strings to UTF-16 first. Otherwise, take a look at IBM's International Components for Unicode.

A: I believe you will need to roll your own or use an third party library.  I recommend a third party library because there are a lot of rules that need to be followed to get true international support - best to let someone who is an expert deal with them.

A: I have no definitive answer in the form of example code, but I should point out that an UTF-8 bytestream contains, in fact, Unicode characters and you have to use the wchar_t versions of the C/C++ runtime library.
You have to convert those UTF-8 bytes into wchar_t strings first, though. This is not very hard, as the UTF-8 encoding standard is very well documented. I know this, because I've done it, but I can't share that code with you.

A: If you are using it to do searching and sorting for your locale only, I suggest your function to call a simple replace function that convert both multi-byte strings into one byte per char ones using a table like:

A -> a
à -> a
á -> a
ß -> ss
Ç -> c
and so on
Then simply call strcmp and return the results.

redpajama_set_name: RedPajamaStackExchange


text:
Byblisowate (Byblidaceae) – monotypowa rodzina z rzędu jasnotowców (Lamiales). Należy do niej jeden rodzaj – byblis (Byblis). Nazwa tego rodzaju pochodzi od greckiego imienia mitologicznej córki Miletosa, założyciela Miletu, zakochanej w swoim bracie, którą nimfy zamieniły w końcu w źródło. Nazwa nadana została z powodu podobieństwa do tryskającego źródła licznych kropelek lśniącego śluzu pokrywających roślinę, a służących chwytaniu owadów. Do rodzaju należy siedem gatunków, występujących w naturze w północnej i północno-zachodniej Australii oraz na Nowej Gwinei.

Morfologia

 Pokrój Rośliny zielne osiągające do 0,6 m wysokości, od dołu zwykle silnie rozgałęzione.
 Liście Skrętoległe. Zwykle siedzące, jasnozielone i równowąskie, do 20 cm długości. Pokryte są dwoma rodzajami gruczołowatych włosków. Włoski chwytne mają na szczycie główkę pokrytą lepkim śluzem, który błyszcząc pełni równocześnie funkcję wabiącą dla drobnych bezkręgowców. Niskie włoski chłonne znajdują się w rynienkach blaszki liściowej.
 Kwiaty Wyrastają pojedynczo na szczytach długich szypułek zebranych po kilka na szczycie łodygi. Kwiaty są promieniste, 5-krotne i obupłciowe. Płatki w pąku skręcone, mają barwę purpurową do jasnofioletowej, na brzegu są postrzępione. Pięć pręcików otacza pojedynczy słupek. Znamię punktowe lub główkowate.
 Owoce Torebki otwierające się klapami i zawierające do kilkudziesięciu kolczastych nasion.

Systematyka
Pozycja systematyczna rodzaju Byblis długi czas pozostawała niejasna. Klasyfikowany był od do rodziny skalnicowatych (Saxifragaceae), ewentualnie wyłączany był w rodzinę byblisowatych, ale włączano doń także rodzaj tuliłezka (Roridula).

 Pozycja systematyczna według APweb (aktualizowany system APG IV z 2016)

 Podział rodziny
 rodzaj: Byblis R. A. Salisbury, Parad. Lond. ad t. 95. 1 Feb 1808. Gatunkiem typowym dla rodzaju jest B. liniflora R. A. Salisbury
 Byblis aquatica Lowrie & Conran
 Byblis filifolia Planch.
 Byblis gigantea Lindl. – byblis wielka
 Byblis guehoi Lowrie & Conran
 Byblis lamellata Lowrie & Conran
 Byblis liniflora Salisb. – byblis lnowa
 Byblis rorida Lowrie & Conran

Zmienność
Ponieważ rodzaj jest przedmiotem hodowli, w jego obrębie uzyskano odmiany uprawne, m.in.:
 Byblis 'Cataby'
 Byblis 'Darwin Red'
 Byblis 'David'
 Byblis 'Enneabba'
 Byblis 'Goliath'

Galeria

Przypisy

Rośliny drapieżne
Jasnotowce

redpajama_set_name: RedPajamaWikipedia


text:
An Audiophile's Dream: Common Wave Hi-Fi
speakers /
ISC Staff Michael Friedman steps into Wes Katzir's elegant, industrial Downtown Los Angeles showroom.
It doesn't get any more 'state of the art' than this, and one could argue the audio gear found at Common Wave Hi Fi, located in the Arts District in downtown Los Angeles, is art itself. As owner Wes Katzir powers up the Nagra HD amplification gear, he explains that the tubular phono pre-amp has to warm up, so while we are waiting he's gonna play some high resolution files through one of the best Digital Audio Converters (DACs) on the market.
After enthusiastically telling me about the new YG Acoustics Sonja 2.2 speakers, which have just arrived at the store and stand nearly six feet tall, he shows me the intricately woven cable wires that attach to the tube amplifier. Everything in this system has been well imagined, with each component carefully chosen to work in unison.
In another listening room I'm led to yet another cozy leather couch and asked to sit in the sweet spot. This is the shop's latest marquee "wow" system, and Wes is very excited to demo it for me.
Credit: Positive-Feedback
Common Wave is a well appointed audio equipment store that also sells records and accessories. With its polished concrete floors and beams, stylized modern Danish furniture and perfectly placed Persian carpets throughout, think of it more like the most comfortable industrial loft living space you've ever been in, only surrounded by exquisite stereo gear. This is where Wes' background in architectural design and sound comes in.
Wes has built within these walls an audiophile's dream, a highly curated, acoustically designed music den where people can come to listen to music on high-end audio equipment the way it was intended to be heard. Within the vast loft space are no less than six different listening setups, ready to be played and demoed, with at least one system playing music at all times.
If you're into Miles Davis, they have the perfect speakers for you. If classic rock is more your thing, there is a complete amp and turntable combo ready to be auditioned.
Any preconceived notions that digital streaming is a compromised format are quickly put to rest. What I was hearing was about as close as you can get to the original source. The clarity and precision of the music was something I had never experienced before — like being in the room where the music was originally recorded. An experience that has to be heard in person to be believed, it was simply stunning.
Then it was time to put a record on the 'piece de resistance' Kuzma Stabi R turntable, and Wes selected an LP by French flautist Aurele Nicolettes. While one of the quietest records I'd ever heard, it also had a warmth and presence.
Common Wave is also a well stocked record shop that stocks audiophile pressings, including one of the largest MOFI (Mobile Fidelity) collections in the city. You can find reissued jazz records on Blue Note and Three Blind Mice alongside albums by Aphex Twin and Nine Inch Nails. A miscellaneous section with great selections under $10 and even a few $1 bins where you may be able to find some used gems.
In other words, there's something to be found for every music lover in this musical oasis here in DTLA. You can walk in and spend a buck or two on a couple records or drop a cool million dollars on the best sounding stereo system ever made. Wes spoke to In Sheep's Clothing about the shop.
Since 2016, and two years here at the new location downtown.
How is biz these days?
Initially it was kind of frightening, but the minute we opened up by appointment things got steady again. And we've seen an increase during this time, actually. People are spending more time at home and they're appreciating their home entertainment systems. There's definitely been an uptick in turntable sales.
What do you guys do other than sell stereo equipment and records?
We do full system design and installation of audio systems. We specialize in home audio and cinema. We also do custom sound calibration and vintage equipment modulation and repair.
How has the customer base changed?
It was a lot traditional audiophiles types when we started, but now people who are looking for great sound in their home are also interested in design choices and what incorporates into their living space. Highly functioning furniture or objects of art, are more the way we liked to think of audio equipment. It's translated to a new group of clients that respect that hi-fi is an experience they want to live in. We want you to interact with the gear. It's a tactile object that should be showcased and translated into a tactile listening experience. We want it to live beautifully in your home. A lot of people hid their stereos with Bose mini systems in the 80's, and now again with Sonos speakers.
What are the trends in the biz these days?
We see music lovers more than audiophiles per se. Clients have become younger and more excited to showcase their equipment and find the pure joy of music.
In what order would you put the importance of components?
No. 1 are speakers. The speakers interact with your ear, they interact with your room and they interact with the electronics, so it's the one that will determine your experience — based on your room and your tastes.
No. 2 is the Source (i.e. turntable, DAC, CD player). It is where the signal originates. The source is going to let the speakers do their best job.
No. 3 is the amplifier. The piece that bridges the source to the speakers.
No. 4 are cables. Never underestimate the importance of quality cables.
What are your thoughts on the digital vs. analog debate?
That's a difficult question to answer. Digital is better in a lot of ways: It's clear and pure, and it's noise free, so there is so much information with more frequencies. It's the best format we've ever come up with for detail.
So why deal in analog?
While they may not have as much dynamic range as files, records just feel more real. The music comes off the grooves with a spacial tonality. If the record engineer has done his or her job correctly, the music is brought into clearer moments of focus. Things happen in space more naturally, and feels like the master tape. The analogy can almost be summed up by digital photography versus developing film: You may get a more precise and micro-focused photo with digital, but with film there will be more of an emotional pull. Our customers are 60% digital and 40% analog but again, turntable sales are on the rise.
Where do you think Hi-Fi is going?
It's really exciting to see something that was on the decline have such a resurgence. The craft of two-channel stereo is coming back in a big way. There is an enthusiasm from the public. They want to bring audio into their home and make it an experience — the way it used to be. More and more people want to get together, listen to and talk about music again.
Visit Common Wave's website to book an appointment: https://www.commonwave.net/
Phil Cho
In Conversation: Kamran V, the Arts Technologist Bringing Quadraphonic Sound to the Masses
Phil Cho speaks to the artist behind dublab's new Quadraphonic Universally Accessible Resource Kit (QUARK). Kamran V builds bridges between technology and artistry. He's a producer, sound artist, […]
Tana Yonas
The Plants Behind Your Favorite Albums
Next up in our Art & Design: In Focus series, Tana Yonas takes a look into the plants behind your favorite album covers. There is something endlessly fascinating […]
10 Essential Haruomi Hosono Productions
Essential productions from one of the major architects of modern Japanese pop music. To find an individual as prolific and influential as Haruomi Hosono is almost impossible in […]
Marty Sartini Garner
Holding on to Darkness: Healing Through the Sustained Drones of Sunn O)))
Marty Sartini Garner reflects on the healing power of ambient and metal during darkened times. The first new album I fell in love with in 2020 was Leo […]
Let's Get Lost (1988): Chet Baker Documentary
Essential lockdown viewing and the perfect gateway into "cool jazz" legend Chet Baker. Let's Get Lost, Bruce Weber's monochromatic masterpiece on "cool jazz" great Chet Baker, is a […]
ISC Team
"Check The Technique: KMD's 'Black Bastards' and the Birth of MF DOOM" (Cuepoint, 2015)
Like many people around the world, we've been heavily listening to and remembering Daniel "MF DOOM" Dumile through his music over the last few days… One of the […]
View Features Archive


text:
La Catedral de Santa María (en francés: Cathédrale Sainte-Marie) es un importante lugar de culto cristiano en Conakri, la capital del país africano de Guinea. El edificio amarillo y rojo es de considerable interés arquitectónico. Monseñor Raymond René Lerouge puso la primera piedra de la Catedral en 1928. La catedral fue construida en la década de 1930, y tiene una arquitectura impresionante, con elementos de diseño ortodoxos. El Palacio presidencial está detrás de la catedral. Al frente esta el Ministerio de Educación Superior e Investigación Científica. La catedral es el principal lugar de culto de la Arquidiócesis de Conakry, establecida el 18 de octubre de 1897 como la Prefectura Apostólica de la Guinea Francesa, y ascendido a su actual rango el 14 de septiembre de 1959. A partir de mayo de 2003, su arzobispo es Vincent Coulibaly. Como el pueblo de Guinea es mayoritariamente musulmán, la catedral no tiene una gran congregación.

Véase también

Referencias

S
Conakri
Monumentos de Guinea
Conakri


Are you making any of these errors?
1. Not taking 5 minutes to discuss the 5 biggest benefits of working in an organisation and role like this.
Many interviewers are too busy to spend 5 minutes at the start of every interview discussing the 5 biggest benefits of working with their organisation. This is an opportunity to promote your brand to a candidate in your industry. In any outcome, you need to take this opportunity to promote your organisation and culture to all candidates. Of course, they could be successful but have 3 offers on the table and they could accept another offer. Then, you will have wished you had taken this 5 minutes at the start of the process.
2. Not managing feedback to all email applications and close out the process positively.
The candidate could've applied to a role that they didn't have experience for or a role that's gone to offer. However, remember, the majority of applicants work within your industry and are your target audience for positive branding. They will have a direct network who potentially are a fit now and any negative experience will spread like wildfire. Also, they may be right for a role in the future and a negative experience may put them off.
3. Not managing feedback to all interview regrets with respect and close out the process positively.
Any candidate who takes the time out to visit a site, takes time off from work and even attends an interview, deserves some detail in relation to feedback. They may have been pipped at the post by another candidate, or be slightly too junior or senior for the current opening. This should usually be done by PHONE. If the candidate has taken a day off work for this, the least they deserve is a 5-minute phone call. Once again, they could have friends who potentially are a fit for the role and any negative experience can be damaging to your company's reputation. Also, they may be a fit for another role that comes up and a negative experience could put them off building a future relationship.
4. Don't create bland job specs – Create job and company ADVERTISEMENTS.
5. Slow recruitment process resulting in low quality hires – Speed of the recruitment process is critical.
If you start the process with 8 potential applications moving to interview, within 2/3 weeks, you will find the top 3 (cream of the crop) are gone off the market and you will be left to progress with the remaining 5. Of course, it is important not to rush any big hiring decisions, but hiring managers need to prioritise interviews to ensure momentum is not lost and also putting an SLA in place for 10 days or 2 weeks from the first interview to offer is a stepping stone in the right direction. 3-5 days for contract roles. Simply put – Increasing the speed of recruitment process = Increasing Quality of candidate hired.
With the skills shortage just gaining momentum month on month, brand management has become critical in the current market. Subsequently, we now see big funding going into this, such as extensive community engagement projects, brand ambassador initiatives, big funding on advertisement campaigns, a significant increase in internal referral programs, etc. However, it always surprises me that many of the basics around candidate communication, highlighting the value proposition or speed of the recruitment process, that can have the biggest impact on your brand, can be left behind. In conclusion, getting the communication basics right is the first step to improving your brand reputation and the increase in applications will follow!


kohls wall clocks kohl metal art best clock image on room decor sterling roman numeral outdoor with gold home kids lighting.
kohls wall clocks blue nautilus shell seashell art by clock kids room curtains.
kohls wall clocks sea shell clock seashell medium image for amazing resin kids room rugs.
kohls wall clocks excellent ideas lulu decor celebration decorative metal clock images salon kids room wallpaper.
kohls wall clocks cool large idea giant exquisite decoration ideas kids room furniture.
kohls wall clocks bathroom decor best of new savings are here f home enchanting flower kids room paint ideas.
kohls wall clocks seashell vanity clock industries cl kids room wallpaper.
kohls wall clocks sea shell clock seashell kids room paint ideas.
kohls wall clocks seashell clock item vintage style kids room rugs.
kohls wall clocks tower glass clock kids room curtains.
kohls wall clocks art popular decor decorative terrific nautical themed kitchen kids room curtains online.
kohls wall clocks wireless weather and atomic digital clock kids room lighting.
kohls wall clocks decal clock bedroom medium size of numeral ideas for fascinating luxury kids room lighting.
kohls wall clocks clock digital instruments home design software for mac free kids room lighting.
kohls wall clocks clock kids room furniture.
kohls wall clocks gallery of pictures kids room curtains online.
kohls wall clocks seashell clock artist created coastal nautical decor kids room ideas.
kohls wall clocks tower clock table living room city silhouette target kids lighting.
kohls wall clocks pocket watch clock kids room furniture.
kohls wall clocks seashell clock shell shells kids room rugs.
kohls wall clocks seashell clock rhythm mantel home design kids room decor ideas.
kohls wall clocks pottery barn breathtaking clock station chalkboard pocket watch kids room lighting.
kohls wall clocks copper and gold kids room rugs.
kohls wall clocks seashell clock sticks handmade kids room rugs.
kohls wall clocks alarm modern kids room furniture.
kohls wall clocks all photos 1 kids room ideas.
kohls wall clocks cool kids room paint ideas.
kohls wall clocks fern clock at kids room paint ideas.
kohls wall clocks clock kids room curtains online.
kohls wall clocks la technology digital atomic clock kids room lighting.


text:
Home > Ford
2022202120202019201820172016201520142013201220112010200920082007200620052004200320022001200019991998199719961995199419931992 Ford models, expert reviews and lowest prices
"Perhaps best of all, the latest Sync 3 infotainment system - which debuted for 2016 - offers a vastly more sensible, intuitive, and quick-reacting interface, including a pinch-to-zoom map feature on the 8.0-inch touchscreen and improved voice recognition."
"It's at its best when called upon to pull with the ruggedness of a truck, making a useful choice for those drivers who really need to tow many thousands of pounds or haul heavy loads."
"Make no mistake, every square inch is detailed to cheat the wind, to make it easier to extract every possible tenth of a mile per gallon from a classically styled pickup truck"
"Two new engines are said to make clear power gains over last year's counterparts, which were hardly wimps to begin with."
"Impressive towing capabilities, wide range of configurations, refined ride and handling."
"Setting the Mustang into a corner no longer puts you into the awkward situation of serving as a couples' counselor to the fore and aft axles."
"...headroom and legroom are plentiful, even for adults. "


We have one flat fee of $29 - This includes promoting your book to our readers via email. Plus, your book will be featured on our website on the 'Latest eBook Deals' and 'Category' pages. You'll also have the option of adding a Tweet ($9 extra) and/or a Facebook Post ($9 extra). See our Prices page for details.
If you'd like us to promote your book, just fill in the form below. Before you start, it's a good idea to have a look at our requirements page. Please note, your listing date must be no earlier than 3 days from now, and no later than 60 days.
Max 300 characters including spaces.
What's your book like? To help readers get a feel for it, tell us up to 3 books similar to yours (optional).
Any other relevant information:Eg Awards, Bestseller Lists (not Amazon genre lists).
Sign in to eBookSoda to view our eBook deals.


Formative Assessment Firehose Webinar – TONIGHT!
WHO: Teachers that are looking for formative assessment tools or activities that could be used for classroom review.
HOW: Visit here and register for the webinar. This event is free for anyone interested in participating. It is hosted by the National Catholic Educational Association.
WHEN: Wednesday, May 2, 2018, at 7 PM EDT.
Participants will gain exposure to a wide variety of online Formative Assessment Tools. Short demonstrations will show viewers the teacher-side and student-side of each goal as well as discussing the features and benefits of each in the classroom. Tools to be explored are Google Forms, Kahoot, Quizizz, Plickers, Go Soap Box, Formative and More! Presented by Keven Rinaman, Director of Technolgy at Calvert Catholic Schools in Tiffin, OH.


a. Compliance with the professional and ethical compliance code for behavior analysts of the certifying entity.
b. Completion of a criminal background check pursuant to rule of the board. The cost of the criminal background check shall be paid by the applicant. An applicant shall submit to the board two complete sets of fingerprints and a form, sworn to by the applicant, containing his or her name, date of birth, and Social Security number for completion of the criminal background check. The board shall submit the fingerprints and form to the State Bureau of Investigations, or any entity contracted with for the purposes of furnishing criminal background checks, for a state criminal history record check. The board shall keep information received pursuant to this section confidential, except that any information received and relied upon in denying the issuance of a license in this state may be disclosed if necessary to support the denial.
(2) In addition to satisfying the requirements of subdivision (1), a licensed behavior analyst applicant shall also maintain active status as a board certified behavior analyst, as recognized by the certifying entity, following passage of the board certified behavior analyst examination.
a. Maintain active status as a board certified assistant behavior analyst, as recognized by the certifying entity, following passage of the board certified assistant behavior analyst examination.
b. Provide proof of ongoing supervision by a licensed behavior analyst who is a current board certified behavior analyst in a manner consistent with the requirements of the certifying entity for supervision of board certified assistant behavior analysts.


Genotyping for the ExomeChip WashU dataset was performed on the Illumina HumanExome BeadChip v1.0 at WashU. One variant rs75932628 (p.R47H) in TREM2 clustered poorly across all ADGC cohorts, and was therefore re-genotyped using a Taqman assay. Data on all samples underwent standard quality control procedures applied to genome-wide association studies (GWAS), including excluding variants with call rates <95%, and then filtering samples with call rate <95%.
Variants with MAF>0.01 were evaluated for departure from HWE and any variants for PHWE<10-6 were excluded.
Population substructure within each of the five ExomeChip ADGC subsets (NorthShore, Miami, WashU, CHOP, and ADC7) was examined using PC analysis in EIGENSTRAT4, and population outliers (>6 SD) were excluded from further analyses; the first three PCs were adjusted for as covariates in association testing.
Prior to analysis, the alternate and reference alleles were harmonized over all datasets. All sample genotyping and quality control was performed blind to participant's disease status.
The exome chip data was first reported in the Sims et al. publication.
Sims, Rebecca, et al. "Rare coding variants in PLCG2, ABI3, and TREM2 implicate microglial-mediated innate immunity in Alzheimer's disease." Nat. Genet.. 49.9 (2017): 1373-1384.
San Wang, Li-, et al. "Rarity of the Alzheimer disease-protective APP A673T variant in the United States." JAMA Neurol. 72.2 (2015): 209-16.


Copyright@ 2016 Blue Moon Clay Carvers.
Roger & Sue Bisaillon. All Rights Reserved.
Welcome to the gallery! Please feel free to check out our pieces. Our gallery/store is now open by appointment. Just give us a call! Check back to see up-dates on our site. Thank you for looking and we appreciate all the positive feedback we have received. If you would like to know more about any of our product, we would be happy to talk with you.


text:
Home → GA Notes → National Science Day → GA Notes - National Science Day
GA Notes - National Science Day
GA Notes, National Science Day
28th February is celebrated as National Science Day (NSD) in India. National Science Day is celebrated to commemorate discovery of the 'Raman Effect', which led to Sir C.V. Raman winning the Noble Prize. This was the first Nobel Prize for India in the field of Science.
The theme of National Science Day -2019 is "Science for the People and the People for Science".
In 1986, the National Council for Science and Technology Communication (NCSTC) asked the Government of India to designate 28 February as National Science Day which the then Govt. of India accepted and declared the day as National Science Day in 1986.National Council for Science & Technology Communication (NCSTC) of Department of Science & Technology (DST) is nodal agency to support catalyze and coordinate celebration of the NSD throughout the country, particularly in scientific institutions & research laboratories. The first National Science Day was celebrated on February 28, 1987.
Raman Effect is a phenomenon in spectroscopy discovered by the eminent physicist Sir Chandrasekhara Venkata Raman in 1928. Raman Effect is a change in the wavelength of light that occurs when a light beam is deflected by molecules.
Sir Chandrasekhara Venkata Raman had worked from 1907 to 1933 at the Indian Association for the Cultivation of Science, Kolkata, West Bengal in India during which he had researched on many topics of the Physics from which the Raman Effect (effect on scattering of light when passing through different materials) became his great success and discovery which has been marked in the Indian history.
Sir Chandrasekhara Venkata Raman was awarded Bharat Ratna in 1954 for his contribution in science especially Physics.
From the year 2013, the "Raman Effect" has been designated as an International Historic Chemical Landmark by The American Chemical Society.


Fibber McGee and Molly was a radio show that played a major role in determining the full form of what became classic, old-time radio. The series was a pinnacle of American popular culture from its 1935 premiere until its demise in 1959. One of the longest-running comedies in the history of classic radio in the United States, Fibber McGee and Molly has stood the test of time in many ways, transcending the actual or alleged limitations of its medium, form and concurrent culture.


Client to interact with the 'etcd' 'key-value' data store <https://github.com/coreos/etcd>. Functions included for managing directories, keys, nodes, and getting statistics.
Please use the canonical form https://CRAN.R-project.org/package=etseed to link to this page.


text:
Playing It Out of Book
Andrey Dashkov, CFA | May 5, 2015 | Daily Dispatch | 4 min readPrint
People have been playing chess for a long time. Millions of games have been played, but they haven't all been unique: some patterns proved effective, and players recycled them over and over. Thus, "The Book" was born: a recorded history of chess games for everybody to learn from.
But in many games, most often in high-level championships, there comes a moment when the game goes "out of book," meaning the players' moves are unprecedented.
Professional players describe the feeling of going from "The Book" to "The Novelty" as surreal: there is no established knowledge to support either you or your opponent anymore, no lifeline. You are alone together, staring into the abyss of unexamined possibilities.
That is exactly how the business of forecasting feels.
The brightest minds in our industry are struggling to predict the next rate hike. Some say it'll come as soon as June, some point to the end of this year, some say low rates are here to stay.
Econ 101 suggests we won't see a hike soon: inflation is too low. Not the consumer price index (CPI) that we all love to hate but hits peer, PCE—personal consumption expenditures index.
PCE is what the Fed uses to gauge the prices consumers face. And it has stayed well below the Fed's 2% target for three years in a row: both PCE and core PCE, which excludes food and energy, hit 2% in April 2012 and have not touched that level since.
Even though the notorious CPI (the all-items version of it that includes food and energy) has crossed the 2% mark twice since April 2012, both PCE measures stayed well below it as the chart shows.
Looking at this data, it's clear why the Fed hasn't raised rates. Weak GDP numbers don't spell an immediate hike, either. But what's in the bigger picture?
One useful tool for understanding where the "optimal" interest rate should be is the so-called Taylor rule, named after the economist John Taylor of Stanford University. The Taylor rule takes in the actual vs. targeted inflation rate, deviation of GDP from trend, a "neutral" rate, and returns a federal funds rate that would either stimulate the economy or cool it down if it's overheated.
The Federal Open Market Committee, chaired by Janet Yellen, looks mostly at PCE as its inflation gauge of choice. So it makes sense to see where the Taylor rule predicts the fed funds rate should be.
Fortunately, former Fed Chairman Ben Bernanke just shared some first-hand experience-based insight. In his recent blog post about the Taylor rule, Bernanke calculated the "appropriate" interest rate with PCE as the inflation gauge and produced this chart:
Fed funds rate, as you see, has moved in line with predictions for about two decades now. The Taylor rule suggested that the rate should turn negative in 2009, and the Fed kept as close to that suggestion as possible—by keeping it near zero.
Now, even though for the past three years inflation has been lower than the Fed's target, Bernanke's calculations suggest that the Taylor rule-based rate has been creeping up since 2009. It is now in the positive territory to the tune of a little over 1.5%, but Bernanke's successor hasn't called for a hike yet.
Of course, there is no reason to think that Janet Yellen has been looking at this same chart; and there is no reason to believe that the relatively simple Taylor rule (or any rule) should even be used for an economy as complex as the United States. However, it looks as though we are reaching a tipping point: a major decision will need to be made, and data is appearing that supports one course of action: a hike.
So far, however, the Fed has been listening to the market. It's not rigidly following a formula, however academically well-respected it is. And the usefulness of the Taylor rule is widely debated, by the way. The Fed's ability to listen to what the market is ready to face gives me hope that, if there is a rate hike, it will be based on real-life data, not ever-changing theories.
P.S. The theme of "Book" vs. "Novelty" came from an excellent podcast that I recommend to our readers, called Radiolab. The specific episode is called "The Rules Can Set You Free." You can download it for free here.


text:
Gray Dogwood (Stiff Dogwood)
Cornus foemina
Cornaceae (dogwoods)
Gray dogwood is a shrub with stiff, upright, irregular branches and is often thicket-forming; it is sometimes a small tree.
Leaves are opposite, simple, lacking teeth or lobes, lance-shaped or broadest at the middle, 2–4 inches long, tapering to a broadly pointed tip. The lower leaf surface is paler than the top.
Bark is gray, smooth when young, developing shallow grooves with age.
Twigs are reddish or greenish when young, becoming gray or gray-brown with age.
Flowers May–July, small, creamy-white flowers in round-topped, open, branching clusters 1¼–2½ inches broad.
Fruits July–October, white or pale blue, round, fleshy, ¼ inch in diameter; one-seeded. Fruits borne on red stalks.
There are two subspecies of this plant in our state:
Stiff dogwood (ssp. foemina) has leaves whose undersides are lighter green than the uppersides, but not appearning pale or whitish; the young twigs are reddish brown, the bark rather smooth; flower clusters fairly flat-topped; and fruits light blue or blue-and-white mottled. It lives mainly only in Bootheel swamps and nearby southeastern Ozarks. The bright blue fruits and brown branches are quite attractive.
Gray dogwood (ssp. racemosa) has leaves whose undersides are pale or whitish; the young twigs are brown, tan, or sometimes pinkish, the bark usually with small, slightly raised, lighter dots; flower clusters half-spherical or pyramidal (not flat-topped); and fruits white. It has a broader, more northerly distribution in our state. The white fruits and the reddish stalks and flower branches, plus purple, yellow, pink, and green fall color, make it attractive.
Similar species: There are 4 other species in the genus Cornus in Missouri.
Height: to 15 feet; spread: 10 feet.
Scattered nearly throughout the state but absent from most of the Unglaciated Plains Division. Of the two subspecies, gray dogwood is the one with the more widespread distribution in our state, while stiff dogwood occurs only in the southeast. Both are attractive and may be cultivated anywhere in the state.
Swamps, bottomland forests, moist upland forests in ravines, banks of streams and rivers, margins of ponds and lakes, bases of bluffs, fens, acid seeps, and edges of bottomland and upland prairies; also fencerows, old fields, ditches, railroads, and roadsides.
This small dogwood has considerable value in landscaping. The white or bluish fruits are attractive on their reddish stalks; in fall, the leaves turn purple with highlights of yellow, pink, and green; and flowers are often produced even when the trees are still young.
Like many other shrubs and small trees, this plant provides cover for songbirds and other wildlife. The fruits are food for many species. Birds, for instance, eat the fruits, then disperse the seeds in their droppings.
Gray dogwood (stiff dogwood), Cornus foemina.
In May–July, gray dogwood produces small, creamy-white flowers in round-topped, open, branching clusters 1¼–2½ inches broad. These clusters appear at the tips of branches.
Alternate-Leaved Dogwood
Swamp Dogwood (Silky Dogwood)
Rough-Leaved Dogwood
Dogwoods


The CFP Board Center for Financial Planning announced today that it has formed a new Diversity Advisory Group to provide guidance and expertise in the development of diversity and inclusion initiatives that will increase the racial and ethnic diversity in the financial planning profession.
Currently, based on self-reported data, CFP Board estimates that there are roughly 1,200 African-American and 1,500 Latino or Hispanic CERTIFIED FINANCIAL PLANNER™ professionals. Together this represents less than 3.5 percent of all CFP® professionals. (Note: CFP Board recently began requesting this demographic information in connection with the Center's diversity initiative and will continue to update it.) The Center for Financial Planning seeks to address this challenge by launching research-based initiatives and forming partnerships to foster a more diverse financial planner workforce. The Diversity Advisory Group will provide critical input to assist the Center in implementing its diversity agenda.
As part of its work, the group will review findings of a comprehensive study that identifies the barriers to racial and ethnic diversity in the financial planner workforce. Subsequently, the group will provide expert input for a thought leadership paper that will recommend solutions for increasing diversity among financial planners. The paper will be discussed at a diversity summit to be held by the CFP Board Center for Financial Planning in New York City on October 23, 2018.
Louis Barajas, CFP®, Founder, Financial Advisor & Author, Louis Barajas, Inc.
The mission of Certified Financial Planner Board of Standards, Inc. is to benefit the public by granting the CFP® certification and upholding it as the recognized standard of excellence for competent and ethical personal financial planning. The Board of Directors, in furthering CFP Board's mission, acts on behalf of the public, CFP® professionals and other stakeholders. CFP Board owns the certification marks CFP®, CERTIFIED FINANCIAL PLANNER™, CFP® (with plaque design) and CFP® (with flame design) in the U.S., which it awards to individuals who successfully complete CFP Board's initial and ongoing certification requirements. CFP Board currently authorizes nearly 80,000 individuals to use these marks in the U.S.