text:
/******************************************************
The index tree cursor

(c) 1994-1996 Innobase Oy

Created 10/16/1994 Heikki Tuuri
*******************************************************/

#ifndef btr0cur_h
#define btr0cur_h

#include "univ.i"
#include "dict0dict.h"
#include "data0data.h"
#include "page0cur.h"
#include "btr0types.h"
#include "que0types.h"
#include "row0types.h"
#include "ha0ha.h"

/* Mode flags for btr_cur operations; these can be ORed */
#define BTR_NO_UNDO_LOG_FLAG	1	/* do no undo logging */
#define BTR_NO_LOCKING_FLAG	2	/* do no record lock checking */
#define BTR_KEEP_SYS_FLAG	4	/* sys fields will be found from the
					update vector or inserted entry */

#define BTR_CUR_ADAPT
#define BTR_CUR_HASH_ADAPT

/*************************************************************
Returns the page cursor component of a tree cursor. */
UNIV_INLINE
page_cur_t*
btr_cur_get_page_cur(
/*=================*/
				/* out: pointer to page cursor component */
	btr_cur_t*	cursor);/* in: tree cursor */
/*************************************************************
Returns the record pointer of a tree cursor. */
UNIV_INLINE
rec_t*
btr_cur_get_rec(
/*============*/
				/* out: pointer to record */
	btr_cur_t*	cursor);/* in: tree cursor */
/*************************************************************
Invalidates a tree cursor by setting record pointer to NULL. */
UNIV_INLINE
void
btr_cur_invalidate(
/*===============*/
	btr_cur_t*	cursor);/* in: tree cursor */
/*************************************************************
Returns the page of a tree cursor. */
UNIV_INLINE
page_t*
btr_cur_get_page(
/*=============*/
				/* out: pointer to page */
	btr_cur_t*	cursor);/* in: tree cursor */
/*************************************************************
Returns the index of a cursor. */
UNIV_INLINE
dict_index_t*
btr_cur_get_index(
/*==============*/
				/* out: index */
	btr_cur_t*	cursor);/* in: B-tree cursor */
/*************************************************************
Positions a tree cursor at a given record. */
UNIV_INLINE
void
btr_cur_position(
/*=============*/
	dict_index_t*	index,	/* in: index */
	rec_t*		rec,	/* in: record in tree */
	btr_cur_t*	cursor);/* in: cursor */
/************************************************************************
Searches an index tree and positions a tree cursor on a given level.
NOTE: n_fields_cmp in tuple must be set so that it cannot be compared
to node pointer page number fields on the upper levels of the tree!
Note that if mode is PAGE_CUR_LE, which is used in inserts, then
cursor->up_match and cursor->low_match both will have sensible values.
If mode is PAGE_CUR_GE, then up_match will a have a sensible value. */

void
btr_cur_search_to_nth_level(
/*========================*/
	dict_index_t*	index,	/* in: index */
	ulint		level,	/* in: the tree level of search */
	dtuple_t*	tuple,	/* in: data tuple; NOTE: n_fields_cmp in
				tuple must be set so that it cannot get
				compared to the node ptr page number field! */
	ulint		mode,	/* in: PAGE_CUR_L, ...;
				NOTE that if the search is made using a unique
				prefix of a record, mode should be PAGE_CUR_LE,
				not PAGE_CUR_GE, as the latter may end up on
				the previous page of the record! Inserts
				should always be made using PAGE_CUR_LE to
				search the position! */
	ulint		latch_mode, /* in: BTR_SEARCH_LEAF, ..., ORed with
				BTR_INSERT and BTR_ESTIMATE;
				cursor->left_page is used to store a pointer
				to the left neighbor page, in the cases
				BTR_SEARCH_PREV and BTR_MODIFY_PREV;
				NOTE that if has_search_latch
				is != 0, we maybe do not have a latch set
				on the cursor page, we assume
				the caller uses his search latch
				to protect the record! */
	btr_cur_t*	cursor, /* in/out: tree cursor; the cursor page is
				s- or x-latched, but see also above! */
	ulint		has_search_latch,/* in: latch mode the caller
				currently has on btr_search_latch:
				RW_S_LATCH, or 0 */
	mtr_t*		mtr);	/* in: mtr */
/*********************************************************************
Opens a cursor at either end of an index. */

void
btr_cur_open_at_index_side(
/*=======================*/
	ibool		from_left,	/* in: TRUE if open to the low end,
					FALSE if to the high end */
	dict_index_t*	index,		/* in: index */
	ulint		latch_mode,	/* in: latch mode */
	btr_cur_t*	cursor,		/* in: cursor */
	mtr_t*		mtr);		/* in: mtr */
/**************************************************************************
Positions a cursor at a randomly chosen position within a B-tree. */

void
btr_cur_open_at_rnd_pos(
/*====================*/
	dict_index_t*	index,		/* in: index */
	ulint		latch_mode,	/* in: BTR_SEARCH_LEAF, ... */
	btr_cur_t*	cursor,		/* in/out: B-tree cursor */
	mtr_t*		mtr);		/* in: mtr */
/*****************************************************************
Tries to perform an insert to a page in an index tree, next to cursor.
It is assumed that mtr holds an x-latch on the page. The operation does
not succeed if there is too little space on the page. If there is just
one record on the page, the insert will always succeed; this is to
prevent trying to split a page with just one record. */

ulint
btr_cur_optimistic_insert(
/*======================*/
				/* out: DB_SUCCESS, DB_WAIT_LOCK,
				DB_FAIL, or error number */
	ulint		flags,	/* in: undo logging and locking flags: if not
				zero, the parameters index and thr should be
				specified */
	btr_cur_t*	cursor,	/* in: cursor on page after which to insert;
				cursor stays valid */
	dtuple_t*	entry,	/* in: entry to insert */
	rec_t**		rec,	/* out: pointer to inserted record if
				succeed */
	big_rec_t**	big_rec,/* out: big rec vector whose fields have to
				be stored externally by the caller, or
				NULL */
	que_thr_t*	thr,	/* in: query thread or NULL */
	mtr_t*		mtr);	/* in: mtr */
/*****************************************************************
Performs an insert on a page of an index tree. It is assumed that mtr
holds an x-latch on the tree and on the cursor page. If the insert is
made on the leaf level, to avoid deadlocks, mtr must also own x-latches
to brothers of page, if those brothers exist. */

ulint
btr_cur_pessimistic_insert(
/*=======================*/
				/* out: DB_SUCCESS or error number */
	ulint		flags,	/* in: undo logging and locking flags: if not
				zero, the parameter thr should be
				specified; if no undo logging is specified,
				then the caller must have reserved enough
				free extents in the file space so that the
				insertion will certainly succeed */
	btr_cur_t*	cursor,	/* in: cursor after which to insert;
				cursor stays valid */
	dtuple_t*	entry,	/* in: entry to insert */
	rec_t**		rec,	/* out: pointer to inserted record if
				succeed */
	big_rec_t**	big_rec,/* out: big rec vector whose fields have to
				be stored externally by the caller, or
				NULL */
	que_thr_t*	thr,	/* in: query thread or NULL */
	mtr_t*		mtr);	/* in: mtr */
/*****************************************************************
Updates a record when the update causes no size changes in its fields. */

ulint
btr_cur_update_in_place(
/*====================*/
				/* out: DB_SUCCESS or error number */
	ulint		flags,	/* in: undo logging and locking flags */
	btr_cur_t*	cursor,	/* in: cursor on the record to update;
				cursor stays valid and positioned on the
				same record */
	upd_t*		update,	/* in: update vector */
	ulint		cmpl_info,/* in: compiler info on secondary index
				updates */
	que_thr_t*	thr,	/* in: query thread */
	mtr_t*		mtr);	/* in: mtr */
/*****************************************************************
Tries to update a record on a page in an index tree. It is assumed that mtr
holds an x-latch on the page. The operation does not succeed if there is too
little space on the page or if the update would result in too empty a page,
so that tree compression is recommended. */

ulint
btr_cur_optimistic_update(
/*======================*/
				/* out: DB_SUCCESS, or DB_OVERFLOW if the
				updated record does not fit, DB_UNDERFLOW
				if the page would become too empty */
	ulint		flags,	/* in: undo logging and locking flags */
	btr_cur_t*	cursor,	/* in: cursor on the record to update;
				cursor stays valid and positioned on the
				same record */
	upd_t*		update,	/* in: update vector; this must also
				contain trx id and roll ptr fields */
	ulint		cmpl_info,/* in: compiler info on secondary index
				updates */
	que_thr_t*	thr,	/* in: query thread */
	mtr_t*		mtr);	/* in: mtr */
/*****************************************************************
Performs an update of a record on a page of a tree. It is assumed
that mtr holds an x-latch on the tree and on the cursor page. If the
update is made on the leaf level, to avoid deadlocks, mtr must also
own x-latches to brothers of page, if those brothers exist. */

ulint
btr_cur_pessimistic_update(
/*=======================*/
				/* out: DB_SUCCESS or error code */
	ulint		flags,	/* in: undo logging, locking, and rollback
				flags */
	btr_cur_t*	cursor,	/* in: cursor on the record to update */
	big_rec_t**	big_rec,/* out: big rec vector whose fields have to
				be stored externally by the caller, or NULL */
	upd_t*		update,	/* in: update vector; this is allowed also
				contain trx id and roll ptr fields, but
				the values in update vector have no effect */
	ulint		cmpl_info,/* in: compiler info on secondary index
				updates */
	que_thr_t*	thr,	/* in: query thread */
	mtr_t*		mtr);	/* in: mtr */
/***************************************************************
Marks a clustered index record deleted. Writes an undo log record to
undo log on this delete marking. Writes in the trx id field the id
of the deleting transaction, and in the roll ptr field pointer to the
undo log record created. */

ulint
btr_cur_del_mark_set_clust_rec(
/*===========================*/
				/* out: DB_SUCCESS, DB_LOCK_WAIT, or error
				number */
	ulint		flags,	/* in: undo logging and locking flags */
	btr_cur_t*	cursor,	/* in: cursor */
	ibool		val,	/* in: value to set */
	que_thr_t*	thr,	/* in: query thread */
	mtr_t*		mtr);	/* in: mtr */
/***************************************************************
Sets a secondary index record delete mark to TRUE or FALSE. */

ulint
btr_cur_del_mark_set_sec_rec(
/*=========================*/
				/* out: DB_SUCCESS, DB_LOCK_WAIT, or error
				number */
	ulint		flags,	/* in: locking flag */
	btr_cur_t*	cursor,	/* in: cursor */
	ibool		val,	/* in: value to set */
	que_thr_t*	thr,	/* in: query thread */
	mtr_t*		mtr);	/* in: mtr */
/***************************************************************
Sets a secondary index record delete mark to FALSE. This function is
only used by the insert buffer insert merge mechanism. */

void
btr_cur_del_unmark_for_ibuf(
/*========================*/
	rec_t*		rec,	/* in: record to delete unmark */
	mtr_t*		mtr);	/* in: mtr */
/*****************************************************************
Tries to compress a page of the tree on the leaf level. It is assumed
that mtr holds an x-latch on the tree and on the cursor page. To avoid
deadlocks, mtr must also own x-latches to brothers of page, if those
brothers exist. NOTE: it is assumed that the caller has reserved enough
free extents so that the compression will always succeed if done! */

void
btr_cur_compress(
/*=============*/
	btr_cur_t*	cursor,	/* in: cursor on the page to compress;
				cursor does not stay valid */
	mtr_t*		mtr);	/* in: mtr */
/*****************************************************************
Tries to compress a page of the tree if it seems useful. It is assumed
that mtr holds an x-latch on the tree and on the cursor page. To avoid
deadlocks, mtr must also own x-latches to brothers of page, if those
brothers exist. NOTE: it is assumed that the caller has reserved enough
free extents so that the compression will always succeed if done! */

ibool
btr_cur_compress_if_useful(
/*=======================*/
				/* out: TRUE if compression occurred */
	btr_cur_t*	cursor,	/* in: cursor on the page to compress;
				cursor does not stay valid if compression
				occurs */
	mtr_t*		mtr);	/* in: mtr */
/***********************************************************
Removes the record on which the tree cursor is positioned. It is assumed
that the mtr has an x-latch on the page where the cursor is positioned,
but no latch on the whole tree. */

ibool
btr_cur_optimistic_delete(
/*======================*/
				/* out: TRUE if success, i.e., the page
				did not become too empty */
	btr_cur_t*	cursor,	/* in: cursor on the record to delete;
				cursor stays valid: if deletion succeeds,
				on function exit it points to the successor
				of the deleted record */
	mtr_t*		mtr);	/* in: mtr */
/*****************************************************************
Removes the record on which the tree cursor is positioned. Tries
to compress the page if its fillfactor drops below a threshold
or if it is the only page on the level. It is assumed that mtr holds
an x-latch on the tree and on the cursor page. To avoid deadlocks,
mtr must also own x-latches to brothers of page, if those brothers
exist. */

ibool
btr_cur_pessimistic_delete(
/*=======================*/
				/* out: TRUE if compression occurred */
	ulint*		err,	/* out: DB_SUCCESS or DB_OUT_OF_FILE_SPACE;
				the latter may occur because we may have
				to update node pointers on upper levels,
				and in the case of variable length keys
				these may actually grow in size */
	ibool		has_reserved_extents, /* in: TRUE if the
				caller has already reserved enough free
				extents so that he knows that the operation
				will succeed */
	btr_cur_t*	cursor,	/* in: cursor on the record to delete;
				if compression does not occur, the cursor
				stays valid: it points to successor of
				deleted record on function exit */
	ibool		in_rollback,/* in: TRUE if called in rollback */
	mtr_t*		mtr);	/* in: mtr */
/***************************************************************
Parses a redo log record of updating a record in-place. */

byte*
btr_cur_parse_update_in_place(
/*==========================*/
				/* out: end of log record or NULL */
	byte*		ptr,	/* in: buffer */
	byte*		end_ptr,/* in: buffer end */
	page_t*		page,	/* in: page or NULL */
	dict_index_t*	index);	/* in: index corresponding to page */
/********************************************************************
Parses the redo log record for delete marking or unmarking of a clustered
index record. */

byte*
btr_cur_parse_del_mark_set_clust_rec(
/*=================================*/
				/* out: end of log record or NULL */
	byte*		ptr,	/* in: buffer */
	byte*		end_ptr,/* in: buffer end */
	dict_index_t*	index,	/* in: index corresponding to page */
	page_t*		page);	/* in: page or NULL */
/********************************************************************
Parses the redo log record for delete marking or unmarking of a secondary
index record. */

byte*
btr_cur_parse_del_mark_set_sec_rec(
/*===============================*/
				/* out: end of log record or NULL */
	byte*		ptr,	/* in: buffer */
	byte*		end_ptr,/* in: buffer end */
	page_t*		page);	/* in: page or NULL */
/***********************************************************************
Estimates the number of rows in a given index range. */

ib_longlong
btr_estimate_n_rows_in_range(
/*=========================*/
				/* out: estimated number of rows */
	dict_index_t*	index,	/* in: index */
	dtuple_t*	tuple1,	/* in: range start, may also be empty tuple */
	ulint		mode1,	/* in: search mode for range start */
	dtuple_t*	tuple2,	/* in: range end, may also be empty tuple */
	ulint		mode2);	/* in: search mode for range end */
/***********************************************************************
Estimates the number of different key values in a given index, for
each n-column prefix of the index where n <= dict_index_get_n_unique(index).
The estimates are stored in the array index->stat_n_diff_key_vals.
If innodb_stats_method is nulls_ignored, we also record the number of
non-null values for each prefix and stored the estimates in
array index->stat_n_non_null_key_vals. */

void
btr_estimate_number_of_different_key_vals(
/*======================================*/
	dict_index_t*	index);	/* in: index */
/***********************************************************************
Marks not updated extern fields as not-owned by this record. The ownership
is transferred to the updated record which is inserted elsewhere in the
index tree. In purge only the owner of externally stored field is allowed
to free the field. */

void
btr_cur_mark_extern_inherited_fields(
/*=================================*/
	rec_t*		rec,	/* in: record in a clustered index */
	const ulint*	offsets,/* in: array returned by rec_get_offsets() */
	upd_t*		update,	/* in: update vector */
	mtr_t*		mtr);	/* in: mtr */
/***********************************************************************
The complement of the previous function: in an update entry may inherit
some externally stored fields from a record. We must mark them as inherited
in entry, so that they are not freed in a rollback. */

void
btr_cur_mark_dtuple_inherited_extern(
/*=================================*/
	dtuple_t*	entry,		/* in: updated entry to be inserted to
					clustered index */
	ulint*		ext_vec,	/* in: array of extern fields in the
					original record */
	ulint		n_ext_vec,	/* in: number of elements in ext_vec */
	upd_t*		update);	/* in: update vector */
/***********************************************************************
Marks all extern fields in a dtuple as owned by the record. */

void
btr_cur_unmark_dtuple_extern_fields(
/*================================*/
	dtuple_t*	entry,		/* in: clustered index entry */
	ulint*		ext_vec,	/* in: array of numbers of fields
					which have been stored externally */
	ulint		n_ext_vec);	/* in: number of elements in ext_vec */
/***********************************************************************
Stores the fields in big_rec_vec to the tablespace and puts pointers to
them in rec. The fields are stored on pages allocated from leaf node
file segment of the index tree. */

ulint
btr_store_big_rec_extern_fields(
/*============================*/
					/* out: DB_SUCCESS or error */
	dict_index_t*	index,		/* in: index of rec; the index tree
					MUST be X-latched */
	rec_t*		rec,		/* in: record */
	const ulint*	offsets,	/* in: rec_get_offsets(rec, index);
					the "external storage" flags in offsets
					will not correspond to rec when
					this function returns */
	big_rec_t*	big_rec_vec,	/* in: vector containing fields
					to be stored externally */
	mtr_t*		local_mtr);	/* in: mtr containing the latch to
					rec and to the tree */
/***********************************************************************
Frees the space in an externally stored field to the file space
management if the field in data is owned the externally stored field,
in a rollback we may have the additional condition that the field must
not be inherited. */

void
btr_free_externally_stored_field(
/*=============================*/
	dict_index_t*	index,		/* in: index of the data, the index
					tree MUST be X-latched; if the tree
					height is 1, then also the root page
					must be X-latched! (this is relevant
					in the case this function is called
					from purge where 'data' is located on
					an undo log page, not an index
					page) */
	byte*		data,		/* in: internally stored data
					+ reference to the externally
					stored part */
	ulint		local_len,	/* in: length of data */
	ibool		do_not_free_inherited,/* in: TRUE if called in a
					rollback and we do not want to free
					inherited fields */
	mtr_t*		local_mtr);	/* in: mtr containing the latch to
					data an an X-latch to the index
					tree */
/***************************************************************
Frees the externally stored fields for a record. */

void
btr_rec_free_externally_stored_fields(
/*==================================*/
	dict_index_t*	index,	/* in: index of the data, the index
				tree MUST be X-latched */
	rec_t*		rec,	/* in: record */
	const ulint*	offsets,/* in: rec_get_offsets(rec, index) */
	ibool		do_not_free_inherited,/* in: TRUE if called in a
				rollback and we do not want to free
				inherited fields */
	mtr_t*		mtr);	/* in: mini-transaction handle which contains
				an X-latch to record page and to the index
				tree */
/***********************************************************************
Copies an externally stored field of a record to mem heap. */

byte*
btr_rec_copy_externally_stored_field(
/*=================================*/
				/* out: the field copied to heap */
	rec_t*		rec,	/* in: record */
	const ulint*	offsets,/* in: array returned by rec_get_offsets() */
	ulint		no,	/* in: field number */
	ulint*		len,	/* out: length of the field */
	mem_heap_t*	heap);	/* in: mem heap */
/***********************************************************************
Copies an externally stored field of a record to mem heap. Parameter
data contains a pointer to 'internally' stored part of the field:
possibly some data, and the reference to the externally stored part in
the last 20 bytes of data. */

byte*
btr_copy_externally_stored_field(
/*=============================*/
				/* out: the whole field copied to heap */
	ulint*		len,	/* out: length of the whole field */
	byte*		data,	/* in: 'internally' stored part of the
				field containing also the reference to
				the external part */
	ulint		local_len,/* in: length of data */
	mem_heap_t*	heap);	/* in: mem heap */
/***********************************************************************
Stores the positions of the fields marked as extern storage in the update
vector, and also those fields who are marked as extern storage in rec
and not mentioned in updated fields. We use this function to remember
which fields we must mark as extern storage in a record inserted for an
update. */

ulint
btr_push_update_extern_fields(
/*==========================*/
				/* out: number of values stored in ext_vect */
	ulint*		ext_vect,/* in: array of ulints, must be preallocated
				to have space for all fields in rec */
	const ulint*	offsets,/* in: array returned by rec_get_offsets() */
	upd_t*		update);/* in: update vector or NULL */

/*######################################################################*/

/* In the pessimistic delete, if the page data size drops below this
limit, merging it to a neighbor is tried */

#define BTR_CUR_PAGE_COMPRESS_LIMIT	(UNIV_PAGE_SIZE / 2)

/* A slot in the path array. We store here info on a search path down the
tree. Each slot contains data on a single level of the tree. */

typedef struct btr_path_struct	btr_path_t;
struct btr_path_struct{
	ulint	nth_rec;	/* index of the record
				where the page cursor stopped on
				this level (index in alphabetical
				order); value ULINT_UNDEFINED
				denotes array end */
	ulint	n_recs;		/* number of records on the page */
};

#define BTR_PATH_ARRAY_N_SLOTS	250	/* size of path array (in slots) */

/* The tree cursor: the definition appears here only for the compiler
to know struct size! */

struct btr_cur_struct {
	dict_index_t*	index;		/* index where positioned */
	page_cur_t	page_cur;	/* page cursor */
	page_t*		left_page;	/* this field is used to store
					a pointer to the left neighbor
					page, in the cases
					BTR_SEARCH_PREV and
					BTR_MODIFY_PREV */
	/*------------------------------*/
	que_thr_t*	thr;		/* this field is only used when
					btr_cur_search_... is called for an
					index entry insertion: the calling
					query thread is passed here to be
					used in the insert buffer */
	/*------------------------------*/
	/* The following fields are used in btr_cur_search... to pass
	information: */
	ulint		flag;		/* BTR_CUR_HASH, BTR_CUR_HASH_FAIL,
					BTR_CUR_BINARY, or
					BTR_CUR_INSERT_TO_IBUF */
	ulint		tree_height;	/* Tree height if the search is done
					for a pessimistic insert or update
					operation */
	ulint		up_match;	/* If the search mode was PAGE_CUR_LE,
					the number of matched fields to the
					the first user record to the right of
					the cursor record after
					btr_cur_search_...;
					for the mode PAGE_CUR_GE, the matched
					fields to the first user record AT THE
					CURSOR or to the right of it;
					NOTE that the up_match and low_match
					values may exceed the correct values
					for comparison to the adjacent user
					record if that record is on a
					different leaf page! (See the note in
					row_ins_duplicate_key.) */
	ulint		up_bytes;	/* number of matched bytes to the
					right at the time cursor positioned;
					only used internally in searches: not
					defined after the search */
	ulint		low_match;	/* if search mode was PAGE_CUR_LE,
					the number of matched fields to the
					first user record AT THE CURSOR or
					to the left of it after
					btr_cur_search_...;
					NOT defined for PAGE_CUR_GE or any
					other search modes; see also the NOTE
					in up_match! */
	ulint		low_bytes;	/* number of matched bytes to the
					right at the time cursor positioned;
					only used internally in searches: not
					defined after the search */
	ulint		n_fields;	/* prefix length used in a hash
					search if hash_node != NULL */
	ulint		n_bytes;	/* hash prefix bytes if hash_node !=
					NULL */
	ulint		fold;		/* fold value used in the search if
					flag is BTR_CUR_HASH */
	/*------------------------------*/
	btr_path_t*	path_arr;	/* in estimating the number of
					rows in range, we store in this array
					information of the path through
					the tree */
};

/* Values for the flag documenting the used search method */
#define BTR_CUR_HASH		1	/* successful shortcut using the hash
					index */
#define BTR_CUR_HASH_FAIL	2	/* failure using hash, success using
					binary search: the misleading hash
					reference is stored in the field
					hash_node, and might be necessary to
					update */
#define BTR_CUR_BINARY		3	/* success using the binary search */
#define BTR_CUR_INSERT_TO_IBUF	4	/* performed the intended insert to
					the insert buffer */

/* If pessimistic delete fails because of lack of file space,
there is still a good change of success a little later: try this many times,
and sleep this many microseconds in between */
#define BTR_CUR_RETRY_DELETE_N_TIMES	100
#define BTR_CUR_RETRY_SLEEP_TIME	50000

/* The reference in a field for which data is stored on a different page.
The reference is at the end of the 'locally' stored part of the field.
'Locally' means storage in the index record.
We store locally a long enough prefix of each column so that we can determine
the ordering parts of each index record without looking into the externally
stored part. */

/*--------------------------------------*/
#define BTR_EXTERN_SPACE_ID		0	/* space id where stored */
#define BTR_EXTERN_PAGE_NO		4	/* page no where stored */
#define BTR_EXTERN_OFFSET		8	/* offset of BLOB header
						on that page */
#define BTR_EXTERN_LEN			12	/* 8 bytes containing the
						length of the externally
						stored part of the BLOB.
						The 2 highest bits are
						reserved to the flags below. */
/*--------------------------------------*/
#define BTR_EXTERN_FIELD_REF_SIZE	20

/* The highest bit of BTR_EXTERN_LEN (i.e., the highest bit of the byte
at lowest address) is set to 1 if this field does not 'own' the externally
stored field; only the owner field is allowed to free the field in purge!
If the 2nd highest bit is 1 then it means that the externally stored field
was inherited from an earlier version of the row. In rollback we are not
allowed to free an inherited external field. */

#define BTR_EXTERN_OWNER_FLAG		128
#define BTR_EXTERN_INHERITED_FLAG	64

extern ulint	btr_cur_n_non_sea;
extern ulint	btr_cur_n_sea;
extern ulint	btr_cur_n_non_sea_old;
extern ulint	btr_cur_n_sea_old;

#ifndef UNIV_NONINL
#include "btr0cur.ic"
#endif

#endif

redpajama_set_name: RedPajamaGithub


Walking amidst the towering longleaf pine trees and grassy undergrowth on a clear yet humid Sunday morning, my second birding trip (W.G. Jones State Forest in Conroe, TX) had a distinctly different feel than the previous overcast and rainy one at Brazos Bend. There was less crowding of shrubs and trees and the resulting open space made it easier not only to find birds but also follow them as they flew from tree to tree. Check out Figure 1 for a view. W.G. Jones State Forest is known for its Red-cockaded Woodpecker (scientific name Picoides borealis) management area where habitat restoration via controlled fires is conducted (check out this video by user KennethKramm on YouTube for more info). Our walk around the longleaf pines did not disappoint as we saw at least 2 Red-cockaded Woodpeckers that day. My focus on this entry, however, will be on the Red-cockaded Woodpeckers cousin, the Red-bellied Woodpecker (scientific name: Melanerpes carolinus).
We were quite fortunate to see the Red-bellied Woodpecker here in southeast Texas as that is towards the edge of its range in North America (Figure 2). After getting to witness the white and black patterns of a Red-cockaded Woodpecker and a downy woodpecker, my eyes lit up as I saw the red nape of what I knew had to be a Red-bellied Woodpecker perched sideways several meters up on a longleaf pine. Although the namesake of a Red-bellied Woodpecker is a faint stretch of red feathers on its lower belly, this area is very hard to see so a much easier field mark is the red nape. Seeing as how this Red-bellied Woodpecker had a nape that extended over the top of its head, I knew it must be a male. While I wasn't able to take any pictures, check out Figure 3 for a close up look of the creature I saw. Just as I was beginning to examine its barred back and red-orange face, the Red-bellied Woodpecker flew off and went to another tree. Fortunately, I was able to track it – at least for a while. Eventually I lost the bird and focused my attention on the Red-cockaded Woodpecker and Brown headed Cowbird (Molothrus ater) Anyway, let's take a look at what the literature says about the Red-bellied Woodpecker.
An important aspect of a species' survival is its ability to deal with competitors. A 1989 paper by Danny Ingold from Mississippi State University looked at the competition between the Red-bellied Woodpecker, the Red-headed Woodpecker (Melanerpes erythrocephalus) and the European Starling (Sturnus vulgaris) for nesting sites in both rural and urban areas of Oktibbeha County, MS. Check out figure 4 for a picture of the Red-headed Woodpecker. Whereas many of the Red-headed Woodpeckers did not tend to breed at the same time as the other two species of birds and therefore were not always in direct competition with them, the Red-bellied Woodpecker and the European Starling had very close breeding times and tended to be in more competition. The Starling was generally the "winner" of this confrontation as it usurped more nests from the Red-bellied Woodpecker (Figure 5). Fifty-two percent of Red-bellied Woodpeckers nest cavities were usurped by the Starling compared to only 7% of the Red-headed Woodpecker by the Starling. Ingold suggests that this will cause selective pressure and result in a shift in the breeding season of the Red-bellied Woodpecker in east-central Mississippi as those Red-bellied Woodpecker who avoid nesting competition with the Starling will have a higher fitness.
But what if the Red-bellied Woodpecker in Oktibbeha County, MS don't want to change their breeding season? Well they could just take a page out of the RWB I saw at Jones State Forest and just fly somewhere else, right? A 1999 paper by Grubb and Doherty looked at a phenomenon known as gap-crossing. Gap-crossing occurs when an organism crosses a large stretch of inhospitable habitat from one metapopulation to another. The researchers wanted to investigate what features of a particular species of bird correlated with its ability to gap-cross. They surveyed 47 woodlots in three counties in northeastern Ohio and recorded when a particular bird would arrive at a woodlot as well as leave a woodlot. Each woodlot was also measured and its geographical proximity to other woodlots was evaluated to assess how difficult it would be to go to that woodlot from another one. The researchers found that woodlot area was a large predictor of whether or not a bird would leave the particular woodlot, as those with a larger perimeter were less likely to have birds leave (check out Oram's 1991 review of metapopulation theory and habitat fragmentation for a more in-depth look). The other predictor turned out to be the size of the bird. Unfortunately for the Red-bellied Woodpecker, it was in the middle of the pack of birds studied and the mean distance it traversed to go from one woodlot to another was only 200 meters (Figure 6).
At Jones State Forest we saw many different kinds of woodpeckers (downy, Red-bellied Woodpecker, Pileated Woodpecker, Red-cockaded Woodpecker) so let's take a look at some research that considers how two different species of woodpecker – the Red-bellied Woodpecker and Red-headed Woodpecker interact with one another and how their behavior differs. A 1972 paper by Ann Reller investigates what behavioral and temporal activities of the two species of woodpecker allow them to coexist in eastern North America. Particular interest was given to how they ration their time with respect to changes in the season and the environment. Reller found that what allows these two species of woodpecker to coexist is their niche segregation during breeding season. This allows one species fitness to be relatively unaffected by the others during breeding season, and although aggression does take place during non breeding season, it does not seem to be enough to warrant a significant advantage to one species over the other. Also be sure to check out Jerome Jackson's 1976 paper which takes a deeper look into breeding differences between the Red-bellied Woodpecker and Red-headed Woodpecker.
Seeing the various kinds of woodpeckers was a fulfilling reward for a college student waking up at 6:00 AM on a Sunday morning. Their subtle differences in appearance are only the tip of the iceberg, as it is their niche differentiation that enables them to thrive alongside their cousins. Check out some more pics of the Red-bellied Woodpecker (figures 7-9)!
Fig. 5. A graph from the Ingold paper showing nest usurpations by each of the main species observed on each other. The primary victim was shown to be the Red-bellied Woodpecker by the European Starling (black box). The triangle shows nest usurpations of the Red-headed Woodpecker on the Starlings. The circle shows nest usurpations by Red-bellied Woodpecker on Red-headed Woodpecker.
Figure 6. A graph from the Grubb paper showing the relationship between body mass and the mean distance crossed from one woodplot to another for 8 species of birds in NE Ohio. The Red-bellied Woodpecker was near the middle of the pack.
Grubb, T.M. 1999. On home-range gap crossing. The Auk. 116(3)618-628.
Ingold, D.J. 1989. Nesting phenology and competition for nest sites among red-headed and red-bellied woodpeckers and European starlings. The Auk. 106(2)209-227.
Jackson, J.A. 1976. Comparison of some aspects of breeding ecology of red-headed and red-bellied woodpeckers in Kansas. Condor. 78(1)67-76.
Opdam, P. 1991. Metapopulation study and habitat fragmentation: a review of holarctic breeding bird studies. Landscape Ecology. 5(2) 93-106.
Reller, A.W. 1972. Aspects of behavioral ecology of red-headed and red-bellied woodpeckers. American Midland Naturalist. 88(2)270-290.
This entry was posted in Woodpeckers. Bookmark the permalink.


text:
Welcome to the taboo world of poo transplants.
We first brought you the news that fecal transplants were a thing last year, and now we're happy to report that a bank – a poo bank, if you will – has opened.
The bank will provide US doctors willing to do the procedure with safe fecal matter from screened donors.
Fecal transplants – it's the kind of topic you can make light of, but on a more serious note, this revolutionary process can save lives.
It's used for patients suffering from C.Diff (more on that below) but one of the main issues previously has been finding appropriate donors.
That's where OpenBiome comes in. It's a nonprofit organisation, which has already provided more than 135 frozen donations to 13 hospitals since September.
Nice one OpenBiome.
Poo. Faeces. Excrement.
Mothers of newborns love to talk about it, toddlers like to smear it, others have rules about not doing it at work and some prefer to think they don't do it at all.
Let me explain why I'm writing about poo.
When your day job involves writing for an online media outlet, you often find yourself going the weirdest of internet rabbit holes in the name of research. And often you'll come out the other side enlightened, disturbed and with an overwhelming desire to curl up in a foetal position and think only of rainbows and unicorns.
Case in point: faecal transplants, which involve transplanting one person's poo into another person's body.
Following link after link after link I came across the Power of Poop website and became engrossed in the taboo treatment of stool transplants. And as it turns out they're changing lives.
I know, I know, you have questions that need to be answered – that's why we're going to take this one from the top with a Q&A style cheatsheet (apologies in advance if you were eating lunch):
What the what what?
Faecal Microbiota Transplantations (FMT) are exactly as they sound, it involves transferring someone else's poo into the large intestine of another person.
Um, why would you even want to do that?
It's to help restore intestinal bacterial flora wiped out by antibiotics in diseases (commonly contracted in hospital) such as Clostridium Difficile (C. Diff.) and increasingly in other inflammatory bowel diseases such as Crohns Disease and Ulcerative Colitis.
The best case scenario for C. Diff sufferers is debilitating diarrhoea and worse case is intestinal disease – it's estimated C. Diff kills around 30,000 Americans each year. So yeah, FMT's 94% success rate (compared to 31% with vancomycin) is changing lives.
BONUS: What IVF Looks Like At The End Of 2020
Research is also being undertaken to see if it can assist in other conditions such as autoimmune disorders, obesity, metabolic syndrome, diabetes and Parkinson's disease.
Okay, tell me EXACTLY how this works?
A stool sample is blended with water or saline to form an even mixture, it's then filtered to remove any lumps, and the transfer is done via an enema, colonoscope or nasogastric tube.
You need more visuals? Of course you do, watch this video. (Warning: if you don't have a strong stomach or are mid-way through your lunch, you may want to hit play after it's been digested.)
http://www.youtube.com/watch?v=WR99u5lc9Zg
So you don't have to taste/swallow/drink the other poo?
Nope. Even in the case of the oral procedure, the poo skips the tastebuds and as it travels into the large intestine.
I dunno, it still sounds kind of gross to me.
Fair enough but this video about the youngest ever FMT recipient will change your mind on that.
http://youtu.be/ou5_-iZ45Jk
Hang on, why are we even talking about this?
Researchers have recently found that bacteria in the poop of slim people could be effective in treating obesity.
Four sets of female twins, one woman in each pair was obese, but the other had a healthy body weight, were recruited for their stool samples.
The scientists then transplanted the samples into mice bred to have no gut microbes of their own and the ones given the poo from the obese twin gained weight while the other mice stayed slim when they received the thinner women's excrement.
Turns out a bug, Bacteroides, was present in higher concentrations in the women with the healthy weight range and protected the animals from putting on too much fat.
How is a "quality" specimen determined?
According to the PoP website, at a minimum your donor must have:
regular bowel movements that are firm and formed but not hard
good general health
good digestive health
not prone to gastric upsets
no history of anti-biotic use
no regular use of anti-inflammatories or painkillers (occassional is ok)
no sign of a mood disorder
Where do you get it done?
Only a few clinics offer the treatment, the Centre for Digestive Diseases in Sydney is one. Professor Thomas Borody, director of the clinic and pioneer of the procedure in Australia, does one to six transplants a week at his Five Dock clinic. You can find a list of FMT doctors here and you should talk to your GP for more information if you think it's for you.
Is there a poo donor register or something?
No, but the University of New South Wales are wanting donors for a study in faecal transplantation if you're interested?
JD 3 years ago
It's been a few years since this was written, anyone know of a Doctor who does this in Queensland?
PS. Apparently there are poop pills now in the US.
I am booked in for the transplant in February 2017.. I only have depleted microbiome....no Bifidobacterium and very low lactobacillus, no chrohns or ulcerative colitis of clostridium difficult, so hopefully all goes good...im only doing 5 treatments.....by professor borody himself at fivedock in sydney
Do you know how long the waiting list is?

redpajama_set_name: RedPajamaCommonCrawl


text:
ludwig von mises quotes
> Uncategorized > ludwig von mises quotes
"Theory and History", p.263, Ludwig von Mises Institute, There is a mistake in the text of this quote. From The Quotable Mises, Ludwig von Mises's best nine quotes on gold and the gold standard:. They fear that they will be unable to follow that abstract and relentless theoretical progression of, e.g., Human Action and The Theory of Money and Credit.For readers like this, and for anyone else who admires Mises, The Quotable Mises is ideal. They call themselves democrats, but they yearn for dictatorship. Currently we have over 22 quotes tagged as Ludwig Von Mises, from authors like General. Ludwig Von Mises Quotes September 29, 1881 – 10 October 1973 Ludwig Heinrich Edler von Mises (29 September 1881 – 10 October 1973) was an Austrian economist, philosopher, author and classical liberal who had a significant influence on the modern libertarian movement and the Austrian School. They are, like those of logic and mathematics, a priori. Ludwig von Mises. Author Profession: Economist. If you want to know more or withdraw your consent to all or some of the cookies, please refer to the, Ludwig von Mises (2016). Ludwig Von Mises quotes: The main political problem is how to prevent the police power from becoming tyrannical. "Planning for freedom, and twelve other essays and addresses", Ludwig von Mises (1985). Explore some of Ludwig Von Mises best quotations and sayings on Quotes.net -- such as 'Modern society, based as it is on the division of labor, can be preserved … October 1973. "Economic Policy: Thoughts for Today and Tomorrow", p.1, Ludwig von Mises Institute, Ludwig Von Mises (1974). They call themselves liberals, but they are intent upon abolishing liberty. Whether he chooses or not, every man is drawn into the great historical struggle, the decisive battle into which our epoch has plunged us.", "He who is unfit to serve his fellow citizens wants to rule them.", "If history could teach us anything, it would be that private property is inextricably linked with civilization", "The Marxians love of democratic institutions was a stratagem only, a pious fraud for the deception of the masses. It is the spirit of conquest. Socialism is not in the least what it pretends to be. Its statements and propositions are not derived from experience. Links. Only the individual acts.", "Everyone carries a part of society on his shoulders; no one is relieved of his share of responsibility by others. The Austrian economist Ludwig von Mises (1881-1973) noted the importance of the consumer in determining what gets produced and at what price. It is not the pioneer of a better and finer world, but the spoiler of what thousands of years of civilization have created. The champions of socialism call themselves progressives, but they recommend a system which is characterized by rigid observance of routine and by a resistance to every kind of improvement. Sourced quotations by the American Economist Ludwig von Mises (1881 — 1973) about economic, people and man. Nationality: Austrian. View our entire collection of ludwig von mises quotes and images that you can save into your jar and share with your friends. Innovators and creative geniuses cannot be reared in schools. Improve yourself, find your inspiration, share with friends, This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. In the instant in which he acquires them, he may feel happier than he did before. September 1881 Date of death: 10. There is no more dangerous menace to civilization than a government of incompetent, corrupt, or vile men. #Evil #Giving "It is merely a metaphor to call competition competitive war, or simply, war. Mises wrote and lectured extensively on the societal contributions of classical liberalism. It produces nothing, it only consumes what the social order based on private ownership in the means of production has created. They call themselves democrats, but they yearn for dictatorship. Therefore, everyone, in his own interests, must thrust himself vigorously into the intellectual battle. "All rational action is in the first place individual action. One of his best works, The Theory of Money and Credit, was published in 1912 and was used as a money and banking […] "Economic Policy: Thoughts for Today and Tomorrow", p.4, Ludwig von Mises Institute, Ludwig Von Mises (1963). He who advocates dictatorship always advocates the unrestricted rule of his own will", "All people, however fanatical they may be in their zeal to disparage and to fight capitalism, implicitly pay homage to it by passionately clamoring for the products it turns out", "The average man is both better informed and less corruptible in the decisions he makes as a consumer than as a voter at political elections.", "They [intellectuals] coined most of the slogans that guided the butcheries of Bolshevism, Fascism, and Nazism. "Omnipotent Government: The Rise of the Total State and Total War", Libertarian Press, Ludwig von Mises (2016). Ludwig von Mises Quotes. Ludwig von Mises was one of the last members of the original austrian school of economics. It aims at knowledge valid for all instances in which the conditions exactly correspond to those implied in its assumptions and inferences. The worst evils which mankind ever had to endure were inflicted by bad governments. Be the first to learn about new releases! The first socialists were the intellectuals; they, and not the masses, are the backbone of Socialism. But even he fulfills a function in the life of the social organism. ~ "[E]conomic history is a long record of government policies that failed because they were designed … The subversive activities of these professional plotters are dangerous precisely on account of the naivete of those who are merely flirting with the revolutionary idea. Ludwig von Mises Quotes: The worst evils which mankind has ever had to endure were inflicted by bad governments. Ludwig Von Mises Best Quotes An Austrian School economist, Ludwig Heinrich Edler von Mises devoted much of his life to writing and educating on the subject of classical liberalism. "Bureaucracy: The Economist", p.115, VM eBooks, Ludwig Von Mises (2006). He earned his doctorate in law and economics from the University of Vienna in 1906. Dec 20, 2018 - Explore Publius's board "Ludwig Von Mises", followed by 648 people on Pinterest. Only the individual thinks. 62 5 Ludwig von Mises. The alternative is only whether the crisis should come sooner as the result of voluntary abandonment of further credit expansion, or later as a final and total catastrophe of the currency system involved. -- Ludwig von Mises . In other words, in a capitalist economy the consumer is the captain of the economic ship: The real bosses, in … The great Austrian economist Ludwig von Mises argued that monopolies were the result of government intervention not that of the free market: As has been pointed out already, there is no such tendency toward monopolization. The worst evils which mankind has ever had to endure were inflicted by bad governments. "Many who are self-taught far excel the doctors, masters, and bachelors of the most renowned universities.", "All rational action is in the first place individual action. Selected Ludwig von Mises Quotes at 9quotes. Goodreads helps you follow your favorite authors. Entering the University of Vienna at the turn of the century as a leftist interventionist, the young Mises discovered Principles of Economics (text… Ludwig von Mises was the greatest economist of the twentieth century, but often readers are reluctant to tackle his major works. The entrepreneur does not make greater profits in selling bad things than in selling good things. "Theory and History", p.66, Ludwig von Mises Institute, Ludwig Von Mises, Murray Newton Rothbard (1980). But as soon as some of his wishes are satisfied, new wishes spring up. The first requisite for a better social order is the return to unrestricted freedom of thought and speech.", "Freedom is indivisible. See more ideas about Libertarian, Economics, Politics. Liberty is meaningless if it is only the liberty to agree with those in power. The goal of liberalism is the peaceful cooperation of all men. Let us know what's wrong with this preview of, Socialism: An Economic and Sociological Analysis, The Ultimate Foundation of Economic Science: An Essay on Method. The worship of the state is the worship of force. Freedom can only be won by men unconditionally committed to the principles of freedom. Ludwig von Mises best Quotes collection. Mises was born on Sept 29, 1881, in the city of Lemberg (now Lvov) in Galicia, where his father, a Viennese construction engineer working for the Austrian railroads, was then stationed. Ludwig Heinrich Edler von Mises was an Austrian School economist, historian, and sociologist. The below collection of Ludwig von Mises most famous quotes has been excerpted from his writings, papers and thoughts. Two hundred years ago, before the advent of capitalism, a man's social status was fixed from the beginning to the end of his life; he inherited it from his ancestors and it never changed. The entrepreneur profits to the extent he has succeeded in serving the consumers better than other people have done. Both Mises's father and mother came from prominent Viennese families; his mother's uncle, Dr Joachim Landau, served as deputy from the Liberal Party in the Austrian Parliament. They call themselves revolutionaries, but they want to make the government omnipotent. They are not subject to verification or falsification on the ground of experience and facts.", "A society that chooses between capitalism and socialism does not choose between two social systems; it chooses between social cooperation and the disintegration of society.", "As a rule, capitalism is blamed for the undesired effects of a policy directed, "The market system is the basis of our civilization. They are precisely the men who defy what the school has taught them. Its only alternative is the Führer principle.", "A man who chooses between drinking a glass of milk and a glass of a solution of potassium cyanide does not choose between two beverages; he chooses between life and death. His profits are the greater the better he succeeds in providing the consumers with those things they ask for most intensely.", "The alcoholic and the drug addict harm only themselves by their behavior; the person who violates the rules of morality governing mans life in society harms not only himself, but everyone.", "Nobody ever recommended a dictatorship aiming at ends other than those he himself approved. Only the individual thinks. Enjoy the best Ludwig von Mises quotes and picture quotes! There is no more dangerous menace to civilization than a government of incompetent, corrupt, or vile men. Motivational quotes by Ludwig von Mises about love, life, success, friendship, relationship, change, work and happiness to positively improve your life. Just a moment while we sign you in to your Goodreads account. The worst evils which mankind ever had to endure were inflicted by governments. Big business depends entirely on the patronage of those who buy its products: the biggest enterprises loses its power and its influence when it loses its customers. The Welfare State is merely a method for transforming the market economy step by step into socialism. Follow AzQuotes on Facebook, Twitter and Google+. The robber, on the other hand, is intent, not on honest toil, but on the forcible appropriation of the fruits of others' labor. Only the individual reasons. Best Ludwig von Mises Quotes Every socialist is a disguised dictator. Discover popular and famous socialism quotes by Ludwig von Mises. " The philosophy commonly called individualism is a philosophy of social cooperation and the progressive intensification of the social nexus. "The Ultimate Foundation of Economic Science: An Essay on Method", Ludwig von Mises (2016). Liberty is meaningless if it is only the liberty to agree with those in power. The state can be and has often been in the course of history the main source of mischief and disaster.", "The champions of socialism call themselves progressives, but they recommend a system which is characterized by rigid observance of routine and by a resistance to every kind of improvement. Government cannot make man richer, but it can make him poorer. Died: October 10, 1973. He is best known for his work on praxeology, a study of human choice and action. Within a socialist community there is no room left for freedom.", "Once the principle is admitted that it is the duty of the government to protect the individual against his own foolishness, no serious objections can be advanced against further encroachments.", "Every socialist is a disguised dictator.", "Under capitalism the common man enjoys amenities which in ages gone by were unknown and therefore inaccessible even to the richest people. Mises wrote and lectured extensively on behalf of classical liberalism. — Ludwig von Mises " Government means always coercion and compulsion and is by necessity the opposite of liberty. Fighting Men. Only the individual … Ludwig von Mises. And no one can find a safe way out for himself if society is sweeping toward destruction. Thursday, September 3, 2020. Ludwig von Mises. Collection of sourced quotations by Ludwig von Mises on socialism. It aims at peace among nations too. The masses, in their capacity as consumers, ultimately determine everybody's revenues and wealth. The law-abiding citizen by his labor serves both himself and his fellow man and thereby integrates himself peacefully into the social order. There is no means of avoiding the final collapse of a boom brought about by credit expansion. Only the individual … Birthdate: 29. Ludwig von Mises quotes,Ludwig, von, Mises, author, authors, writer, writers, people, famous people — Ludwig von Mises " The aim of all struggles for liberty is to keep in bounds the armed defenders of peace, the governors and their constables. We bring to you a collection of sayings and quotes by Ludwig von Mises on individualism, hard work, socialism, luxury, democrats, politics, taxation, poverty and free-markets. Ludwig von Mises. This Ludwig von Mises quotes will motivate you. ... thing quotes conquer quotes war quotes attitude quotes mind quotes destruction quotes annihilation quotes. Ludwig von Mises quotes. Quotes & Sayings; Quotes by Topics; People Quotes; Time Quotes; No Result Men are fighting… because they are convinced that the extermination of adversaries is the only means of promoting their own well-being. An Austrian School economist, Ludwig Heinrich Edler von Mises devoted much of his life to writing and educating on the subject of classical liberalism. Its cognition is purely formal and general without reference to the material content and the particular features of the actual case. "Economic Policy: Thoughts for Today and Tomorrow", p.22, Ludwig von Mises Institute, Ludwig Von Mises (1962). They call themselves revolutionaries, but they want to make the government omnipotent. Freedom really means the freedom to make mistakes. It does not build, it destroys.
Take It Slow, Put It Down On Me Lyrics, Mango Tree Anthracnose Treatment, Ripe Banana Spicy Recipes, Castlevania Legacy Of Darkness Price, What Happens If You Don't Get Second Shingrix Shot, Mustard Oil Uses, Samsung A2 Core Screen Replacement,


I don't know about you guys but I feel like I have just been coasting through this week. A euphoric feeling of laziness has taken over my body and while I'm going through the motions, I haven't been on my game as much as usual.
I didn't get enough spinach when I went grocery shopping last week and ate the entirety of my supply by Tuesday. Spinach fail. I may or may not judge my entire day on whether or not I drink my morning smoothie (we won't get into that) so instead of making a "green" smoothie, I've been opting for apple/banana.
This "coasting" smoothie contains 1 cup almond milk, 3 ice-cubes, 1 apple, 1 banana and flaxseed meal.
For those of you wondering what Flaxseed Meal is, it has a nutty taste and helps digestion. It's also high in fiber and a powerful cholesterol controller. Just 2 Tablespoons gives you your daily supply of Omega 3 Fatty Acids too! Some people put it in their hot or cold cereal or oats, but I choose to put it in my morning smoothie.
Lunch has quickly become my least favorite meal of the day. Taking out meat throughout the day severely cut down on my usual lunch fixings! No half turkey sandwich, no leftovers from the night before, no Zaxby's chicken house salad, no tuna salad, etc. My favorite go-to's now are organic tomato soup and veggie crackers, a veggie wrap, a spicy black-bean burger with carrots or a kale salad with half an avocado. Those meals can usually tide me over till my afternoon snack, but I'm still craving meat for lunch.
I did recently stumble upon a tofu recipe that I really enjoyed and sometimes those are hard to come by. I appreciate the food and that being said, eat it quite frequently throughout the week but so far I've only found a few recipes that I would make again…this is one of them and it's EASY. Score. Recipe courtesy of Kalyn's Kitchen.
Cut tofu in half crosswise. Blot each piece on both sides with paper towels, pressing down to remove as much liquid as you can. (The wetter the tofu, the longer you will have to bake it).
Turn oven on and set to 350 F. Whisk together the sesame oil and soy sauce in a small bowl, then use pastry brush to brush both sides of the tofu pieces generously with the mixture. Let tofu marinate in the soy-sesame mixture for 5-10 minutes while the oven heats.
Spray a non-stick baking sheet with olive oil or non-stick spray and place tofu slices on sheet. Bake about one hour, not turning, but brushing with the soy-sesame mixture several times, until the glaze is all gone. It's done when the tofu feels firm to the touch, and looks glazed and nicely browned. I cooked my tofu about 60 minutes.
It's officially February. Moving right along through these winter months…am I the only one that is lusting after Spring?
Chris Turns the BIG 3-0!
In true Claire fashion, if it were up to me, I would have invited all his friends from all walks of life to a HUGE surprise party to help ring in his "dirty thirty." BUT…Chris has a different take on birthdays and prefers to not make a big deal out of them…crazy! I wanted to respect his wishes by keeping it down-played and so instead I planned a fun-filled day with just the two of us…and plenty of his favorite foods.
On Friday I made him some rice krispy treats…just to get things warmed up….
I've really missed being in the kitchen and my all tofu/salad/semi-vegan diet has kept "cooking" to a minimum, so I really enjoyed making these.
Saturday morning was Starbucks and Belgium waffles from scratch!
After lounging around the house after breakfast, it was time to go to Victory Lanes for some extreme go-karting! We had a blast and Chris was really appreciative of our Saturday adventure plans that I had made for us.
I was kinda obsessed with the fact we got to dress up in fire-resistant suits….
The entire time we were racing around the track I was laughing inside my helmet! Seriously if you have not tried this and live in Charlotte, go!
and a tofu wrap for me.
I tried to stay away from the waffles (I just had a green smoothie) and the heavy lunch, because I knew I was going to ditch my dietary standards for the night at the steak house that evening. It was inevitable…I don't have the strength to order fish or vegetarian when I'm eating at a nice restaurant. It feels like such a waste.
You can take the meat out of the diet, but you can't take the desire out of the gal.
I had a filet and mashed potatoes for dinner and enjoyed every last bite. Knowing that I would go back to eating a mostly plant-based diet the next day, I figure what's the point in living longer if you can't enjoy a nice piece of meat and meltly mashed potatoes every once in a while? Everything in moderation….
Wow how I have missed butter and ice-cream! I bought a Carvel ice-cream cake, that I will let Chris tackle himself, and leave my bad habits at our dinner table on Saturday night.
Today is a long day filled with cleaning, laundry, grocery shopping and I'm hoping to get a mani/pedi in! It's a beautiful day outside so I'm thinking a gym session will get nixed for an outdoor activity with Daisy instead!
What are your plans on this warmer than usual Sunday?? Did you all have great weekends!?
ALSO! I got a sneak peek at the new blog layout and I'm so excited to share it with you guys! I have complete faith in the graphic designer who is working on it and I'm supposed to see some final options on Monday. We are shooting to implement the new design on February 1st and I can't wait to see what you guys think!
A few weeks ago a co-worker passed along a book to me called, The Beauty Detox Solution. I finally cracked it open and was pleasantly surprised by the useful information and motivation to get radiant beauty from the inside out as well as obtain renewed energy all by changing your diet. I will warn you, the principles that the author, Kimberly Snyder, abides by are more than just challenging, they are a bit overwhelming but at the same time motivating and completely promising.
I was thinking of an appropriate way to share what I'm reading without hindering her sales. In an effort to more thoughtfully process what it is I'm reading, I've decided that for the next 10 days, I will mention a few things that struck me the most in the chapter that I'm reading while purposely not divulging all the useful information Snyder offers.
10 chapters=10 posts that will hopefully evoke thought about your own diets and what it means to pay attention to what you put into your body.
At the end of the book, the reader should be primed to embark on their "detox" armed with knowledge on what to eat, sample meal plans, recipes and a lifestyle change that stays with the reader, long after the initial cleanse.
Not yet leaping into a detox without reading the entirety of the book first, I made a salad topped with a crumbled veggie burger for dinner tonight. Group Power was really strenuous tonight and took a lot out of me, including the desire to make any real dinner. I couldn't have been happier to be there though!
My salad: Iceburg Lettuce, carrots shavings, diced red onion, light honey mustard dressing and a crumbled Morningstar Black Bean burger. The contrast between the warm and crispy burger against the cold salad was awesome…and even better was that it took about 10 minutes to make.
Basic concept-our body is designed to digest more of a plant-based diet, rather than meat. Humans can get all the protein they need from the amino acids in plants.
Humans resemble herbivores, in terms of both their anatomical structure and internal organs.
Astounding Scientific evidence of some of her points that would knock your socks off!
True life stories of how people's lives have changed by following some of Snyder's recommendations.
To take a look at Kimberly's AWESOME AND INSPIRING blog, go here.
I'm shedding pounds for a wedding, doesn't mean I can't splurge on a cookie every once in a while.
I'm broke these days doesn't mean that I can't have a rich life.
I'm into healthy living doesn't mean that I can't have a few vices beers every now and then, or every Friday.
Also, just because it's January (and note this is literally my least favorite month followed by February, so beware) doesn't mean I can't dream of and then make summer food.
Enter broiler instead of grill and some chicken kebabs.
I got a great marinade by stumbling upon a blog, but didn't save it and now I can't find it 😦 Sorry. From what I can remember there was soy sauce, garlic, salt, pepper, rosemary, white wine vinegar and a few other ingredients that I just can't recall…sorry peeps. If it comes to me, I will definitely post it.
I went all the way with the "summer-dish" dinner and decided to make some pasta salad with it as well. Only thing missing was the gingham tablecloth and some warm sun. Too bad last night I do believe it was somewhere in the 20's.
I also watched "Going the Distance" which was an oddly brash and edgy romantic comedy. I loved it. Typical.
When I got home I did receive a care-package from my best-friend…just because! Inside were "Bride" and "Groom" tumblers, a bride mug which I will take to work with me immediately tomorrow, my havaianas flip-flops I left with her in NY and a CD of pictures from her wedding, finally!
Bets just got married last August and it was so great to see her and bond with her wonderful family.


text:
About TWO
TWO's Mission
Ex-Gay Myth
African American Perspectives
Ex-Team
New Book: Obama and The Gays
Wayne Besen September 24, 2010
Obama and the Gays is an in-depth look at the career of President Barack Obama and his views about gay-related issues, starting when he ran for Illinois senate in 1996 and ending mid-way through his term as president. Written by Tracy Baim, publisher of Windy City Times, the book also includes articles and essays by some of the most respected journalists, bloggers and activists in gay media.
This book, with 570 pages and 140 images/photos, has extensive coverage, in words and images, of Obama's record on gay and AIDS issues, including detailed quotes from his speeches, photos at gay events, and answers to surveys early in his career.
Essayists and writers in the book include Lisa Keen, Kerry Eleveld, Michelangelo Signorile, Phill Wilson, Chuck Colbert, Pam Spaulding, Wayne Besen, and many more.
This promises to be an amazing book and the timing of the release date is impecable — right before the midterm election and the week the LGBT community got screwed on Don't Ask/Don't Tell.
So, please consider going out and BUYING IT!!
Obama and the GaysTracy BaimTruth Wins OutWayne BesenWindy City Times
Wayne Besen is the Founding Executive Director of Truth Wins Out and author of "Anything But Straight: Unmasking the Scandals and Lies Behind the Ex-Gay Myth" (Haworth, 2003). In 2010, Besen was awarded the "Visionary Award" at the Out Music Awards for organizing the American Prayer Hour, an event which shined a spotlight on the role American evangelicals played in the introduction of Uganda's Anti-Homosexuality Bill.
TWO Statement on Trump Coup: It Must Not Stand
You can help shape the future and save lives!
The Religious Right's Obscene Spending Against LGBTQ Rights Overseas, During a Period of Hunger at Home
TWO Condemns European Conversion Therapy Conference as a Dangerous Fraud
TWO Denounces Federal Ruling That Strikes Down Florida Conversion Therapy Ban
G. Craige Lewis: The Most Dangerous Preacher in the Black Church 13 views
My Nightmare Experience at Teen Challenge 8 views
Sorry, Bishop Jackson, but George Washington Carver was Gay 7 views
Help for People Leaving the Roman Catholic Church 5 views
Michael Glatze: I'm Sorry For My Hateful Actions and the Way I Represented Christ 5 views
The Perpetrators of Coup Against Democracy Must be Punished
Jerry's Corner: A Christmas Message for the Anti-LGBTQ Mega-Churches
Well, at least the traitor has a pillow to cry on. www.washingtonpost.com/busines…
It's sickening and grotesque that @GiveSendGo fancies itself a Christian site, yet funds right wing terrorists who… twitter.com/i/web/status/13515…
So, today we learn that @TomFitton of @JudicialWatch is lowdown fascist, who had "egged on" Trump to send in troops… twitter.com/i/web/status/13512…
Truth Wins Out is a non-profit organization that fights the "ex-gay" myth and antigay religious extremism.
TWO monitors anti-LGBT organizations, documents their lies and exposes wrongdoing. TWO specializes in turning information into action by organizing, advocating and fighting for truth, integrity, and equality for sexual minorities.
Learn more about our staff and volunteers.
Back to Top Copyright © 2019 Truth Wins Out. All rights reserved. 1230 Arch Street, 5D, Philadelphia, PA 19107 | wayne@truthwinsout.org


text:
Q: How to communicate from one python script with another via network? I have a server side (Python 3) and a client side (Python 2.7), i am trying to use the socket module.
The idea is, that the server side is permanently active and the client socket connects through call of a function. Then data needs to be sent from server to client until the client disconnects (manually). The server should then go back into the listening process and wait until the next connection. I do not have any experience with sockets, i have been trying some examples that i found. In the first line, my problem is to reconnect to the same server socket.
Server side:
import socket

HOST = "127.0.0.1"
PORT = 65432
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))

s.listen()
conn, addr = s.accept()
print("Connected by", addr)

for x in range(10):
    data = conn.recv(1024)
    if not data:
        break
    conn.sendall(data)

conn.close()

Client side (with Tkinter-GUI):
import Tkinter as tk
import socket
import random
import time
keyState = False
HOST = '127.0.0.1'
PORT = 65432

def onButton():
    global keyState

    if(not keyState ):
        keyState = not keyState
        key_button.config(relief='sunken')
        connectSocket()
        print(keyState)
        return
    if(keyState ):
        keyState = not keyState
        key_button.config(relief='raised')
        disconnectSocket()
        print(keyState )
        return

def connectSocket():
    print("connectSocket()")
    global HOST, PORT
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((HOST, PORT))
    for x in range(10):
        if(x<5):
            val = random.uniform(0.0, 400.0)
        else:
            val = random.uniform(-400,0)
        s.sendall(str(val))
        data = s.recv(1024)
        print 'Received', repr(data)
    s.close()

def disconnectSocket():
    print("disconnectSocket()")
    return

#Main GUI
root = tk.Tk()
root.title('Python Socket Test')
root.configure(background='white')
root.geometry("200x300")

#Button
root.update()
softkey_button = tk.Button(root, text="Softkey", command = lambda: onButton(), relief='flat')
softkey_button.place(x=75,y=200)

root.mainloop()

A: You simply need to add a while True loop on your server side, corrently you are only accepting one connection, and after the connection is closed the program stops. Try this on your server file:
import socket

HOST = "127.0.0.1"
PORT = 65432
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))

while True:
    s.listen()
    conn, addr = s.accept()
    print("Connected by", addr)

    for x in range(10):
        data = conn.recv(1024)
        if not data:
            break
        conn.sendall(data)

    conn.close()

redpajama_set_name: RedPajamaStackExchange


It's back by popular demand! This Lil' Monkey Dome Climber for $89.99 (Retail $129.99)!
The Lil' Monkey Climber Dome has plenty of room to climb all over, hang off, swing and can also be used for indoors role-play or as a den when covered with a sheet or two. It interacts with an augmented reality state-of-the-art mobile app.
-Easily transportable between indoors and outside.
-FREE mobile app! App cleverly detects the location of the child and the Dome. When the child moves around the Dome, the App will identify the location of the child and will reveal a virtual world of fun! A Lil' Monkey character will appear and instruct the child to feed him with fruits, discover treasures and win points. The player gets points by completing objectives as quick as possible. The quicker the child, the better chance to win those points!
-Improves motor and cognitive skills.


text:
Sime Darby Berhad Registers Pre-Tax Profit of RM1.5 Billion for 1Q FY 2011/2012
Kuala Lumpur, 25 November 2011 - The Group targets a net profit after tax and non-controlling interests of RM3.3 billion and a Return on Average Shareholders' Funds of 13.3 percent for FY2011/2012
Kuala Lumpur, 25 November 2011 – Sime Darby Berhad reported a pre-tax profit of RM1.5 billion and a net profit of RM1.1 billion for the first quarter ended 30 September 2011, boosted by stronger results of the Plantation and Industrial Divisions. This was an increase of 53 percent and 64 percent respectively over that of the corresponding quarter of the previous year.
The Plantation Division saw a 90 percent jump in its operating profit to RM933 million for the quarter, attributed primarily to higher realised crude palm oil (CPO) prices as well as marked improvements in fresh fruit bunch (FFB) production and oil extraction rate (OER). For the first quarter period, the Division achieved an average CPO price of RM2,946/MT against RM2,511/MT in the first quarter of FY2010/2011. FFB production increased by 8 percent to 2.8 million MT, driven by higher production in Malaysia and Indonesia by 7 percent and 10 percent respectively.
FFB yield per mature hectare increased by 8 percent and 6 percent in Malaysia and Indonesia, respectively, while the OER rose by 0.4 percent to 21.4 percent in Malaysia and by 1.5 percent to 22.9 percent in Indonesia.
For the Industrial Division, on-going strong demand for heavy equipment in Australia and Malaysia continued to drive its performance. The Division reported an operating profit of RM330 million in the first quarter, an increase of 42 percent compared to the first quarter of FY2010/2011.
The strong mining sector boosted the Division's Australian operations, while the logging and construction sectors provided support to its Malaysian operations. Operations in China and Hong Kong, however, were affected by the slowdown in the construction sector as a result of tightening of credits by banks and local government policies.
In spite of the difficult environment for consumer related businesses in China, the Motors Division's performance remained resilient. This was mainly driven by strong demand for all marques and the receipt of dividend from its investment in BMW Malaysia.
The Division registered a marginal increase of 2 percent in its operating profit to RM155 million, which included a loss of RM36 million on fair valuation of forward foreign exchange contracts.
The Property Division showed a slight improvement of 3 percent in its operating profit to RM61 million in the first quarter, compared to the RM59 million recorded in the previous corresponding period. This was mainly attributable to the higher percentage of property development works completed and improved sales in the Group's property development townships of USJ Heights and Denai Alam.
The Energy & Utilities Division, meanwhile, reported a lower operating profit of RM47 million (excluding discontinuing operations), a decline of 6 percent compared to the first quarter of FY2010/2011. The Power segment recorded a lower operating profit mainly due to the downtime of one of its power plants in Thailand. Meanwhile, the China Utilities segment experienced a slowdown in operations as a result of harsh weather conditions, thus affecting the port operations.
The Healthcare Division also posted a lower operating profit of RM7 million, a 7 percent decrease compared to the previous corresponding period. The Division incurred higher overhead costs in preparation for the opening of the Sime Darby Medical Centre Ara Damansara, targeted in early 2012.
The Group also announced its KPIs for the financial year ending 30 June 2012, with a target net earnings of RM3.3 billion and a Return on Average Shareholders' Funds of 13.3 percent.
President/CEO's Summary
Commenting on the overall results, Sime Darby President and Group Chief Executive, Dato' Mohd Bakke Salleh said that the Group had produced a satisfactory performance even though CPO prices during the quarter were lower than the preceding quarter.
"The strong performance by the Plantation Division is testament to the initiatives that have been put in place to enhance operational efficiencies in the estates and mills. I am very pleased that all these efforts and hard work of the Plantation team have started to bear fruit."
On the Group's KPIs for FY2011/2012, Mohd Bakke said the next nine months of the FY2011/2012 is expected to be challenging for the Group in view of uncertainties in the current economic environment.
"While we remain positive for the long-term fundamentals of the Group, we are cautious on the outlook for the rest of the financial year. It is crucial, now more than ever, for us to intensify our efforts to enhance efficiency as well as reduce costs in order to remain competitive and continue to deliver long-term returns to our shareholders regardless of the uncertainty in the global economy," he added.
For more information and materials, please visit Sime Darby's Investor Relations's page.
25 Nov 2011 - Bernama
Sime Darby Aims RM3.3 Billion Net Earnings Next Year
26 Nov 2011 - The Star
Sime Darby's first- quarter net profit jumps 64%
Sime Darby eyes RM3.3bil net earnings next year
1 Dec 2011 - Business Times
Sime aims for RM3.3b net profit in 2012
27 Nov 2011 - The Edge
Sime targets RM3.3b net profit for FY12
Sime Darby raih untung RM1.1 bilion


Now rising from the lawn at Hyatt Park in front of the Hyatt Regency Reston: three 18-foot curved pieces of steel in a new permanent art installation from the Initiative for Public Art Reston (IPAR).
The public art project has been in the works for several years. Baltimore artist Mary Ann Mears was chosen in 2011 as the winner of an open call for artists. There was a ceremonial groundbreaking at the Hyatt Park spot in June 2013.
Mears has been working on the aluminum structure for nearly three years. She said she tried to keep Reston's relationship with nature in mind when designing the work.


text:
Koules Fortress
Heraklion Koules Fortress
> View Koules Fortress on map
> Photos of Koules Fortress
Location: Town
The Fortress of Koules in Heraklion Crete: The Venetian Castle of Heraklion is called Koules, which means fortress in Turkish. It is an impressive fortress that surrounds the harbor of Heraklion, Crete. The Koules Castle is a massive fortress with two storeys that used to guard the entry to the port. The Castle was constructed by the Venetians in the early 13th century when they conquered the town. The earliest description of the Koules Venetian Castle exists in the work of the Florentine monk Cristoforo Buondelmonti in 1429.
✔ DISCOVER THE TOURS IN HERAKLION!
Book an unforgettable Tour in Heraklion.
The Fortress was primarily built for the storage of the foodstuff and the military supplies. It also served as the quarter for the officers and as a prison. A devastating earthquake completely destroyed the Castle in 1303 and it was rebuilt by the Genoese. The fortress was again restored during 1523-1540 and got its ultimate form. During the Ottoman rule, the Castle was again transformed to a prison. Several Cretan heroes who revolted against the Ottomans had been imprisoned in the castle and had been killed in the dark dungeons.
The architecture of the Castle is the typical Venetian architectural style. The construction was such that the walls of the Castle could protect the breakwater of the harbor. The Castle was made of stones. The ground floor has a vaulted roof with broad fanlight. The walls were very thick and were divided into 26 apartments serving as the residence of Kastelanos, the officer responsible for the well-being of the castle, as well as the dwellings of the captains and other officers.
A part of the ground floor was also used as the storeroom. There were three carvings of the Lion of Saint Mark in the Castle. The one at the seaside of the castle exists to these days. The upper floor and the basis of a minaret were added in the original construction by the Ottomans. Today the Koules Venetian Castle has been cleaned and restored many times. It is visited by thousands of people every year and consists of the trademark of Heraklion Town.
Explore Heraklion with a tour
Discover some of the most popular tours in Heraklion:
✔ How to organize your holidays in Heraklion
Ferry to Heraklion: Book your ferry to Heraklion from Athens, Santorini and more islands.
Hotels: Discover our selection with the best hotels and accommodation in Heraklion.
Tours and Activities: Explore Heraklion with some amazing tours and activities.
Sports Activities: Discover sports activities in Heraklion.
Car rentals: Discover the region on your own by booking your car.
Tailor-made trip: Do you want to customize your trip according to your needs? Contact us!
Tours and activities related to Koules Fortress
EBike Historical Sightseeing Tour and Greek Meze
Discover Heraklion's eclectic mix of modern and ancient wonders on this 3 hour e-bike tour. Admire the impressive Venetian walls, explore the picturesque streets of Iakkos, learn about the city's archeological sites, and taste traditional Greek meze.
3 hours Map
Photography Tour and Aquarium of Crete
Capture beautiful photos of Heraklion on an amazing full-day photography tour. Develop your photography skills and see the sights through the eyes of your camera. Then, marvel at the marine life of the Mediterranean at the Aquarium of Crete.
Photos Of Koules Fortress
Map Of Koules Fortress
Activate Map
Reviews of Koules Fortress
DISCOVER MORE SIGHTSEEINGS IN HERAKLION
Archaeological Museum
Cretaquarium
Gortyn Ancient Site
Panagia Kaliviani
Agia Ekaterini
View all Heraklion sightseeing


text:
Here's a look at the investigations our team has been pursuing through records requests in the last week:
When Did the Administration First Know Covid-19 Was Airborne?
In recently released recordings of a conversation on Feb. 7, 2020, President Donald Trump told journalist Bob Woodward that the novel coronavirus was a highly contagious airborne virus. At the time of the conversation — and for many weeks after — the administration did not recommend that the general public wear facemasks, and it wasn't until early April that the CDC recommended them. And Postal Service records obtained by American Oversight show that there was once a plan to send masks to all U.S. households — that is, until the White House scrapped it, according to the Washington Post. Woodward also reported that the administration actively worked to downplay the danger of coronavirus, while Trump has since made false claims that "everyone knew" Covid-19 was airborne at that time. We filed FOIA requests with multiple agencies for records and communications dated Feb. 7 or earlier concerning information about the airborne transmission of the coronavirus.
Safety Measures at Meat-Processing Plants
Workers at meat-processing plants have been particularly vulnerable to contracting Covid-19. As of Sept. 13, more than 200 meat-plant workers in the U.S. have died from the virus, and processing facilities have become coronavirus "hotbeds" due to poor working conditions and inadequate sick leave policies. Recent reporting, including based on documents we obtained, illustrates the extensive contact between Agriculture Department officials and meat industry representatives regarding the reduction of testing and other safety measures. We filed FOIA requests to the USDA for communications with select non-governmental entities, and for communications with several local governments that have a meat-processing plant in their community.
NIH Official's Double Life as Editor for Far-Right Website
Last week, the Daily Beast reported that Bill Crews, a public relations official at the National Institutes of Health, was secretly working as a managing editor at the conservative website RedState. On RedState, Crews (who is reportedly retiring from the NIH) wrote under a pseudonym to make scathing attacks against other officials tasked with combating the Covid-19 pandemic. We filed FOIA requests to the NIH and the Department of Health and Human Services for Crews' email communications.
CDC's Revised Testing Guidelines
In late August, the CDC revised its coronavirus guidelines to advise that individuals with no symptoms did not need to get tested — even if they had been exposed to someone with Covid-19. Subsequent reporting revealed that top officials in the administration made these revisions, despite objections from experts. Earlier this month, the CDC reversed the changes and now advises that those previously in contact with someone who had Covid-19 should get tested, regardless of symptoms. We filed FOIA requests with multiple HHS subagencies for communications and talking points regarding the CDC's testing guidelines.
Over the weekend, the president announced his intention of nominating Judge Amy Coney Barrett to fill the seat of the late Supreme Court Justice Ruth Bader Ginsburg. We had previously filed a FOIA request for communications regarding her 2017 nomination to the 7th Circuit Court of Appeals. In acknowledging our FOIA, the Justice Department denied our request that the records be processed on an expedited basis, citing the fact that Barrett wasn't at that time the nominee. We've renewed our request for expedition.
Influence and Access at the U.S. Agency for Global Media
The Open Technology Fund (OTF), a nonprofit organization supporting internet freedom, has recently been at odds with its parent entity, the U.S. Agency for Global Media (USAGM). In June, the fund's CEO, Libby Liu, resigned over lobbying efforts to redirect OTF resources toward supporting closed-source tools (instead of the open-sourced projects OTF usually sponsors). We filed FOIA requests to the State Department and USAGM for related communications.
Voting by Mail 'Election Fraud' Risks
Attorney General William Barr has publicly warned about the supposed dangers of voting by mail, claiming the practice heightens the risk of electoral fraud, even using false stories to back up the alarmism. We want to know more about the Justice Department's understanding of voting by mail risks and filed FOIA requests with the agency for communications concerning electoral fraud, including with voting-restriction advocates.
Trump White House Control of Information During the Pandemic
The Trump Administration's Response to Coronavirus
Trump's Potential Supreme Court Nominees
Political Interference at the U.S. Postal Service
Testing Supply Failures
Industry Influence at the Department of Agriculture During Pandemic
DOD - Defense Intelligence Agency
DOJ - Civil Division
DOJ - Criminal Division
DOJ - Executive Office for U.S. Attorneys
DOJ Office of the Inspector General
Kentucky State Board of Elections
Office of the Director of National Intelligence
DOJ-CRM-20-2340
DOJ-CRT-20-2339
DOJ-EOUSA-20-2344
DOJ-OIP-20-2326
HHS-NIH-20-2375
MULTI-CIA-20-2356
MULTI-DHS-20-2358
MULTI-DHS-20-237
MULTI-DOD-DIA-20-2360
MULTI-HHS-CDC-20-2349
MULTI-HHS-NIH-20-2346
MULTI-ODNI-20-2357
MULTI-STATE-20-2359
STATE-20-2385
USAGM-20-2387
USDA-20-2382
Georgia Attorney General, Georgia Secretary of State


Ok honestly, I don't know why I really sat down and did this today. I was jumping around on a dear friends blog, and thought why not!!
I will use this blog to keep family and friends up to date on what me and the family are doing. I will also use it as a place to share my current projects.
I love it!!!!!!!!!!!!!!!!!! Yay!!!!!!!!!!!! Welcome my friend!!! Love the background and everything too!!!!!!!!
How exciting is THIS?!?! I LOVE the background, the swirlygigs, EVERYTHING! But most of all, I'm so happy to welcome you to the blogging world! This is awesomeness!
I will be asking lots of questions.


A cauldron is a traditional symbol of Witchcraft and the Witch. Many tie the traditional cauldron to the Celtic myth of the Cauldron of Cerridwen, symbol of death and re-birth. Irish folklore says the cauldron is where leprechauns keep their gold and treasure. At the end of a rainbow sits a huge cauldron overflowing with gold coins. If you can find the end of the rainbow, the treasure is all yours!
Made for handling heat, use a cauldron for burning incense and herbs, mixing herbal brews and as a scrying bowl. Cook delicious food in your cauldron for traditional, over-the-fire cooking. The lids have a deep lip for holding hot coals providing top heat. Cauldron cooking is easy, healthy and economical.
Care for your Cauldron well and it should last you a lifetime.
CAULDRON COOKBOOK - Click Here!
Our smaller sized cauldron features a 2cm dia Sterling Silver Pentagram with a touch of gold. Use this cauldron for burning incense, smudge sticks, herbs or small brews. It has a sturdy bail, 3 legs and the dia of the mouth is 7cm. The overall width is 11.5cm and height is 6cm. This cast iron cauldron weighs approx 530gms. A nice addition to your altar. This cauldron is great for travellers and easy to carry.
See chart for examples of some cauldron weights.
These superior quality classic cast iron cauldrons come complete with heavy gauge wire bails, black cast iron lids, handles and three legs in various sizes - subject to availability.
A MUST to go with your Cauldron - includes information about the history of the cauldron, how to cure and care for your cauldron plus lots of delicious recipes from soups to vegetables, lamb and seafood. Filled with humorous illustrations by Helen Lyons.


Constantly oscillating between Munich and London, Michael Pendry shaped his understanding of space, light and shadow at the Rosenheim academy studying interior design and stage design (1994-1999). The basis for his art installations Pendry got from the subsidiary subjects stage design and scenography, allowing today's light dramaturge to alter our familiar perception of everyday objects in a fundamental way: a concern that keeps Pendry's motivation alive. He was able to gather his first practical experience as a stage designer during his placement at the Residenztheater in Munich. The theatre lover worked for two seasons as a set assistant under the former artistic director Dieter Dorn. The "Werkraum" of the theatre, owned and run by the city of Munich, a rehearsal room for theatre youngsters, served as the playground for the artist's experiments. Pendry also underpinned his love for the theatre world as an actor on stage. As a lay actor he now has several smaller jobs at the Pathos-Theater in Munich under his belt.
Pendry is driven by his desire to get through to those people for whom visiting cultural facilities is rather unusual, always pushing the boundaries of art, light and multimedia. Apart from "Das apokalyptische Weib" the light and video installations "Sacre Coeur" and "Störung" (Disturbance), staged inside several Munich churches, were further highlights in the career of this multimedia artist.
Michael Peter Pendry's light installations were presented to a larger audience for the first time in 2005. On the occasion of the "Lange Nacht der Museen" (long night of museums) in Munich more than 10,000 visitors of that cultural event were able to marvel at the visual compositions created by this multimedia artist, who was born in Stuttgart. "Das apokalyptische Weib" (The apocalyptic Woman) is what the German with English roots called his opus; here, he projected a firmament onto the vaults of the Jesuit church in Munich. His latest works in public spaces " Red Carpet" and "Les Colombes" had over 200.000 visitors.


text:
Japan launches spy satellite
A H-2A rocket carrying Japan's spy satellite rises into the air after blasting off from its launch pad at Tanegashima Space Center in southwestern Japan on Monday. The ring of cloud is an atmospheric effect associated with high-velocity flight through humid air.Kyodo via Reuters
Dec. 12, 2011, 7:05 AM UTC / Source: The Associated Press
By Eric Talmadge
Japan successfully put a spy satellite into orbit on Monday and expects to complete its network of intelligence-gathering satellites with another launch next year.
The Japan Aerospace Exploration Agency, or JAXA, said the launch from the remote southern island of Tanegashima went off without a hitch and the radar-equipped satellite is functioning properly. It was the second launch of the year, following a successful liftoff in September.
Officials refused to provide details of the satellite's capabilities.
Japanese media reports say it will augment the optical satellites Japan has already launched by providing data of what is happening on the ground at night or through cloud cover.
Japan launched its first pair of spy satellites in 2003, prompted by concerns over North Korea's missile program. It currently has four optical information-gathering satellites in orbit, though the latest of those is not fully operational yet.
It previously launched two radar intelligence satellites, but both malfunctioned.
The satellite launched Monday is expected to begin gathering intelligence in a few months, an official with the Cabinet Satellite Information Center told The Associated Press. He requested anonymity because details of the program are classified.
Another radar satellite launch is planned next year, the official said.
That would give Japan the combination of two optical and two radar satellites that it wants to complete its network. Tokyo is seeking to use the satellites to provide information on any given spot on the planet at least once a day.
Eric Talmadge


Adorable tartan dress with grosgrain sash for a charming outfit during the holidays.
Pretty short sleeve plaid dress, perfect for your little girl's outfit during the holidays. It comes with a grosgrain sash and matching bloomer to complete the look.
Shell, sash, lining, and bloomer: polyester.
Size 9 months has a 17½" body length.
Rounded neckline. Buttoned placket at the center back.


The boys are back at it with a mix of Ice Coast weather and spring conditions. Featuring Vinnie Moro, Kevin Kobasa, Cam Dunmeyer, Jason Borosky, and Jake Yokum. This is EP: 2 of Springs Sessions at Seven Springs Mountain Resort in Pennsylvania. Video by Dillan Hodak. Supporting clips by Kevin Korchok and Joe Camp. Motion graphics by James Simmonds and Nick Gross.


text:
is a Japanese sushi restaurant chain. Its headquarters are in Sakai, Osaka Prefecture.

It has 451 locations in Japan, 22 in Taiwan, and 30 in the United States.  While it is a conveyor belt sushi chain, it relies on a high level of automation allowing the average location to function with fifteen to twenty staff members. At Kura Sushi's locations, each of them own a robot known as "KuraB the Kurabot", who delivers things such as food and beverages, however sometimes employees will simply supply the beverages themselves.

History
Kura Sushi launched its first location in Taiwan in December 2014 near Songjiang Nanjing metro station in Taipei.

Kura Sushi has featured decorations and menu items based on characters such as Sonic the Hedgehog and Hello Kitty. By inserting a certain number of plates into a receptacle, customers can trigger custom animations or win prizes during their dining experience.

Controversy

Kura Sushi USA has repeatedly been sued for discrimination by former female corporate employee and many more lawsuits. The most recent class action that is still going on in California in 2022 was filed by a group of servers for unpaid overtime, regular wage, uniform and business travel expenses and many other unpaid items.

Response to COVID-19
During the coronavirus pandemic, the company received $6 million in forgivable loans intended for small businesses from the Paycheck Protection Program. The funds were distributed as part of the government's $2.2 trillion CARES Act and intended to benefit workers at employers with fewer than 500 employees that are unable to obtain credit elsewhere. The loan was returned immediately after criticized.

See also
 List of sushi restaurants

References

External links
Kura USA
Kura Japan

Restaurant chains in Japan
Sushi restaurants in Japan
Companies listed on the Nasdaq
Companies listed on the Tokyo Stock Exchange
Companies listed on the Taipei Exchange

redpajama_set_name: RedPajamaWikipedia