text:
The XFree86 common layer has knowledge of generic access control mechanisms for devices on certain bus systems (currently the PCI bus) as well as of methods to enable or disable access to the buses itself. Furthermore it can access information on resources decoded by these devices and if necessary modify it.
When first starting the Xserver collects all this information, saves it for restoration, checks it for consistency, and if necessary, corrects it. Finally it disables all resources on a generic level prior to calling any driver function.
When the Probe()
function of each driver is called the
device sections are matched against the devices found in the system.
The driver may probe devices at this stage that cannot be identified by
using device independent methods. Access to all resources that can be
controlled in a device independent way is disabled. The
function should register all non-relocatable
resources at this stage. If a resource conflict is found between
exclusive resources the driver will fail immediately. Optionally the
driver might specify an EntityInit()
and EntityEnter()
can be used to disable any shared resources
that are not controlled by the generic access control functions. It is
called prior to the PreInit phase regardless if an entity is active or
not. When calling the EntityInit()
and EntityLeave()
the common level will disable access to all other entities on a generic
level. Since the common level has no knowledge of device specific
methods to disable access to resources it cannot be guaranteed that
certain resources are not decoded by any other entity until the
or EntityEnter()
phase is
finished. Device drivers should therefore register all those resources
which they are going to disable. If these resources are never to be
used by any driver function they may be flagged ResInit
so that they can be removed from the resource list after processing all
functions. EntityEnter()
should disable decoding of all resources which are not registered as
exclusive and which are not handled by the generic access control in
the common level. The difference to EntityInit()
that the latter one is only called once during lifetime of the server.
It can therefore be used to set up variables prior to disabling resources.
should restore the original state when
exiting the server or switching to a different VT. It also needs to
disable device specific access functions if they need to be disabled on
server exit or VT switch. The default state is to enable them before
giving up the VT.
In PreInit()
phase each driver should check if any
sharable resources it has registered during Probe()
been denied and take appropriate action which could simply be to fail.
If it needs to access resources it has disabled during
it can do so provided it has registered
these and will disable them before returning from
. This also applies to all other driver
functions. Several functions are provided to request resource ranges,
register these, correct PCI config space and add replacements for the
generic access functions. Resources may be marked ``disabled'' or
``unused'' during OPERATING stage. Although these steps could also be
performed in ScreenInit()
, this is not desirable.
Following PreInit()
phase the common level determines
if resource access control is needed. This is the case if more than
one screen is used. If necessary the RAC wrapper module is loaded. In
the drivers can decide which operations
need to be placed under RAC. Available are the frame buffer operations,
the pointer operations and the colormap operations. Any operation that
requires resources which might be disabled during OPERATING state should
be set to use RAC. This can be specified separately for memory and IO
When ScreenInit()
phase is done the common level will
determine which shared resources are requested by more than one driver
and set the access functions accordingly. This is done following these
The driver has the choice among different ways to control access to certain resources:
stage. Since the replacement functions are registered in
the driver will have to enable these
resources itself if it needs to access them during this state. The
driver can specify if the replacement functions can control memory
and/or I/O resources separately.
A resource which is decoded during OPERATING state however never accessed by the driver should be marked unused.
Since access switching latencies are an issue during Xserver operation,
the common level attempts to minimize the number of entities that need
to be placed under RAC control. When a wrapped operation is called,
the EnableAccess()
function is called before control is
passed on. EnableAccess()
checks if a screen is under
access control. If not it just establishes bus routing and returns.
If the screen needs to be under access control,
determines which resource types
) are required. Then it tests
if this access is already established. If so it simply returns. If
not it disables the currently established access, fixes bus routing and
enables access to all entities registered for this screen.
Whenever a mode switch or a VT-switch is performed the common level will return to SETUP state.
Resource have certain properties. When registering resources each range is accompanied by a flag consisting of the ORed flags of the different properties the resource has. Each resource range may be classified according to
) or
I/O space (ResIo
) or
sparse (ResSparse
range,There are two known access properties:
for resources which may not be shared with any other device andResShared
for resources which can be disabled and therefore can be shared.If it is necessary to test a resource against any type a generic access
type ResAny
is provided. If this is set the resource
will conflict with any resource of a different entity intersecting its
range. Further it can be specified that a resource is decoded however
never used during any stage (ResUnused
) or during
OPERATING state (ResUnusedOpr
). A resource only visible
during the init functions (ie. EntityInit()
and EntityLeave()
be registered with the flag ResInit
. A resource that
might conflict with background resource ranges may be flagged with
. This might be useful when registering resources
ranges that were assigned by the system Bios.
Several predefined resource lists are available for VGA and 8514/A
resources in common/xf86Resources.h
The functions provided for resource management are listed in their order of use in the driver.
In this phase each driver detects those resources it is able to drive, creates an entity record for each of them, registers non-relocatable resources and allocates screens and adds the resources to screens.
Two helper functions are provided for matching device sections in the XF86Config file to the devices:
int xf86MatchPciInstances(const char *driverName, int vendorID,
SymTabPtr chipsets, PciChipsets *PCIchipsets,
GDevPtr *devList, int numDevs, DriverPtr drvp,
int **foundEntities)This function finds matches between PCI cards that a driver supports and config file device sections. It is intended for use in the
function of drivers for PCI cards. Only probed PCI devices with a vendor ID matchingvendorID
are considered.devList
are typically those found from callingxf86MatchDevice()
, and represent the active config file device sections relevant to the driver.PCIchipsets
is a table that provides a mapping between the PCI device IDs, the driver's internal chipset tokens and a list of fixed resources.When a device section doesn't have a BusID entry it can only match the primary video device. Secondary devices are only matched with device sections that have a matching BusID entry.
Once the preliminary matches have been found, a final match is confirmed by checking if the chipset override, ChipID override or probed PCI chipset type match one of those given in the
lists. ThePCIchipsets
list includes a list of the PCI device IDs supported by the driver. The list should be terminated with an entry with PCI ID-1
". Thechipsets
list is a table mapping the driver's internal chipset tokens to names, and should be terminated with aNULL
entry. Only those entries with a corresponding entry in thePCIchipsets
list are considered. The order of precedence is: config file chipset, config file ChipID, probed PCI device ID.In cases where a driver handles PCI chipsets with more than one vendor ID, it may set
, and OR each devID in the list with (the vendor ID << 16).Entity index numbers for confirmed matches are returned as an array via
. The PCI information, chipset token and device section for each match are found in theEntityInfoRec
referenced by the indices.The function return value is the number of confirmed matches. A return value of
indicates an internal error. The returnedfoundEntities
array should be freed by the driver withxfree()
when it is no longer needed in cases where the return value is greater than zero.
int xf86MatchIsaInstances(const char *driverName,
SymTabPtr chipsets, IsaChipsets *ISAchipsets,
DriverPtr drvp, FindIsaDevProc FindIsaDevice,
GDevPtr *devList, int numDevs, int **foundEntities)This function finds matches between ISA cards that a driver supports and config file device sections. It is intended for use in the
function of drivers for ISA cards.devList
are typically those found from callingxf86MatchDevice()
, and represent the active config file device sections relevant to the driver.ISAchipsets
is a table that provides a mapping between the driver's internal chipset tokens and the resource classes.FindIsaDevice
is a driver-provided function that probes the hardware and returns the chipset token corresponding to what was detected, and-1
if nothing was detected.If the config file device section contains a chipset entry, then it is checked against the
list. When no chipset entry is present, theFindIsaDevice
function is called instead.Entity index numbers for confirmed matches are returned as an array via
. The chipset token and device section for each match are found in theEntityInfoRec
referenced by the indices.The function return value is the number of confirmed matches. A return value of
indicates an internal error. The returnedfoundEntities
array should be freed by the driver withxfree()
when it is no longer needed in cases where the return value is greater than zero.
These two helper functions make use of several core functions that are available at the driver level:
Bool xf86ParsePciBusString(const char *busID, int *bus,
int *device, int *func)Takes a
string, and if it is in the correct format, returns the PCIbus
values that it indicates. The format of the string is expected to be "PCI:bus:device:func" where each of `bus', `device' and `func' are decimal integers. The ":func" part may be omitted, and the func value assumed to be zero, but this isn't encouraged. The "PCI" prefix may also be omitted. The prefix "AGP" is currently equivalent to the "PCI" prefix. If the string isn't a valid PCI BusID, the return value isFALSE
Bool xf86ComparePciBusString(const char *busID, int bus,
int device, int func)Compares a
string with PCIbus
values. If they matchTRUE
is returned, andFALSE
if they don't.
Bool xf86ParseIsaBusString(const char *busID)
Compares a
string with the ISA bus ID string ("ISA" or "ISA:"). If they matchTRUE
is returned, andFALSE
if they don't.
Bool xf86CheckPciSlot(int bus, int device, int func)
Checks if the PCI slot
has been claimed. If so, it returnsFALSE
, and otherwiseTRUE
int xf86ClaimPciSlot(int bus, int device, int func, DriverPtr drvp,
int chipset, GDevPtr dev, Bool active)This function is used to claim a PCI slot, allocate the associated entity record and initialise their data structures. The return value is the index of the newly allocated entity record, or
if the claim fails. This function should always succeed ifxf86CheckPciSlot()
for the same PCI slot.
Bool xf86IsPrimaryPci(void)
This function returns
if the primary card is a PCI device, andFALSE
int xf86ClaimIsaSlot(DriverPtr drvp, int chipset,
GDevPtr dev, Bool active)This allocates an entity record entity and initialise the data structures. The return value is the index of the newly allocated entity record.
Bool xf86IsPrimaryIsa(void)
This function returns
if the primary card is an ISA (non-PCI) device, andFALSE
Two helper functions are provided to aid configuring entities:
ScrnInfoPtr xf86ConfigPciEntity(ScrnInfoPtr pScrn,
int scrnFlag, int entityIndex,
PciChipsets *p_chip,
resList res, EntityProc init,
EntityProc enter, EntityProc leave,
pointer private)
ScrnInfoPtr xf86ConfigIsaEntity(ScrnInfoPtr pScrn,
int scrnFlag, int entityIndex,
IsaChipsets *i_chip,
resList res, EntityProc init,
EntityProc enter, EntityProc leave,
pointer private)These functions are used to register the non-relocatable resources for an entity, and the optional entity-specific
functions. Usually the list of fixed resources is obtained from the Isa/PciChipsets lists. However an additional list of resources may be passed. Generally this is not required. For active entities aScrnInfoRec
is allocated if thepScrn
argument isNULL
. The return value isTRUE
when successful. The init, enter, leave functions are defined as follows:
typedef void (*EntityProc)(int entityIndex,
pointer private)They are passed the entity index and a pointer to a private scratch area. This can be set up during
and its address can be passed toxf86ConfigIsaEntity()
as the last argument.
These two helper functions make use of several core functions that are available at the driver level:
void xf86ClaimFixedResources(resList list, int entityIndex)
This function registers the non-relocatable resources which cannot be disabled and which therefore would cause the server to fail immediately if they were found to conflict. It also records non-relocatable but sharable resources for processing after the
Bool xf86SetEntityFuncs(int entityIndex, EntityProc init,
EntityProc enter, EntityProc leave, pointer)This function registers with an entity the
functions along with the pointer to their private area.
void xf86AddEntityToScreen(ScrnInfoPtr pScrn, int entityIndex)
This function associates the entity referenced by
with the screen.
During this phase the remaining resources should be registered.
should call xf86GetEntityInfo()
to obtain a pointer to an EntityInfoRec
for each entity
it is able to drive and check if any resource are listed in its
field. If resources registered in the Probe
phase have been rejected in the post-Probe phase
is non-NULL
), then the driver should
decide if it can continue without using these or if it should fail.
Several functions are provided to simplify resource registration:
EntityInfoPtr xf86GetEntityInfo(int entityIndex)
This function returns a pointer to the
referenced byentityIndex
. The returnedEntityInfoRec
should be freed withxfree()
when no longer needed.
Bool xf86IsEntityPrimary(int entityIndex)
This function returns
if the entity referenced byentityIndex
is the primary display device (i.e., the one initialised at boot time and used in text mode).
Bool xf86IsScreenPrimary(int scrnIndex)
This function returns
if the primary entity is registered with the screen referenced byscrnIndex
pciVideoPtr xf86GetPciInfoForEntity(int entityIndex)
This function returns a pointer to the
for the specified entity. If the entity is not a PCI device,NULL
is returned.
The primary function for registration of resources is:
resPtr xf86RegisterResources(int entityIndex, resList list,
int access)This function tries to register the resources in
. If list isNULL
it tries to determine the resources automatically. This only works for entities that provide a generic way to read out the resource ranges they decode. So far this is only the case for PCI devices. By default the PCI resources are registered as shared (ResShared
) if the driver wants to set a different access type it can do so by specifying the access flags in the third argument. A value of0
means to use the default settings. If for any reason the resource broker is not able to register some of the requested resources the function will return a pointer to a list of the failed ones. In this case the driver may be able to move the resource to different locations. In case of PCI bus entities this is done by passing the list of failed resources toxf86ReallocatePciResources()
. When the registration succeeds, the return value isNULL
resPtr xf86ReallocatePciResources(int entityIndex, resPtr pRes)
This function takes a list of PCI resources that need to be reallocated and returns
when all relocations are successful.xf86RegisterResources()
should be called again to register the relocated resources with the broker. If the reallocation fails, a list of the resources that could not be relocated is returned.
Two functions are provided to obtain a resource range of a given type:
resRange xf86GetBlock(long type, memType size,
memType window_start, memType window_end,
memType align_mask, resPtr avoid)This function tries to find a block range of size
and typetype
in a window bound bywindow_start
with the alignment specified inalign_mask
. Optionally a list of resource ranges which should be avoided within the window can be supplied. On failure a zero-length range of typeResEnd
will be returned.resRange xf86GetSparse(long type, memType fixed_bits,
memType decode_mask, memType address_mask,
resPtr avoid)This function is like the previous one, but attempts to find a sparse range instead of a block range. Here three values have to be specified: the
which marks all bits of the mask part of the address, thedecode_mask
which masks out the bits which are hardcoded and are therefore not available for relocation and the values of the fixed bits. The function tries to find a base that satisfies the given condition. If the function fails it will return a zero range of typeResEnd
. Optionally it might be passed a list of resource ranges to avoid.
Some PCI devices are broken in the sense that they return invalid size
information for a certain resource. In this case the driver can supply
the correct size and make sure that the resource range allocated for
the card is large enough to hold the address range decoded by the card.
The function xf86FixPciResource()
can be used to do this:
Bool xf86FixPciResource(int entityIndex, unsigned int prt,
CARD32 alignment, long type)This function fixes a PCI resource allocation. The
parameter contains the number of the PCI base register that needs to be fixed (0-5
, and6
for the BIOS base register). The size is specified by the alignment. Since PCI resources need to span an integral range of size2^n
, the alignment also specifies the number of addresses that will be decoded. If the driver specifies a type mask it can override the default type for PCI resources which isResShared
. The resource broker needs to know that to find a matching resource range. This function should be called before callingxf86RegisterResources()
. The return value isTRUE
when the function succeeds.
Bool xf86CheckPciMemBase(pciVideoPtr pPci, memType base)
This function checks that the memory base address specified matches one of the PCI base address register values for the given PCI device. This is mostly used to check that an externally provided base address (e.g., from a config file) matches an actual value allocated to a device.
The driver may replace the generic access control functions for an entity.
This is done with the xf86SetAccessFuncs()
void xf86SetAccessFuncs(EntityInfoPtr pEnt,
xf86SetAccessFuncPtr funcs,
xf86SetAccessFuncPtr oldFuncs)with:
typedef struct { xf86AccessPtr mem; xf86AccessPtr io; xf86AccessPtr io_mem; } xf86SetAccessFuncRec, *xf86SetAccessFuncPtr;
The driver can pass three functions: one for I/O access, one for memory access and one for combined memory and I/O access. If the memory access and combined access functions are identical the common level assumes that the memory access cannot be controlled independently of I/O access, if the I/O access function and the combined access functions are the same it is assumed that I/O can not be controlled independently. If memory and I/O have to be controlled together all three values should be the same. If a non
value is passed as third argument it is interpreted as an address where to store the old access record. If the third argument isNULL
it will be assumed that the generic access should be enabled before replacing the access functions. Otherwise it will be disabled. The driver may enable them itself using the returned values. It should do this from its replacement access functions as the generic access may be disabled by the common level on certain occasions. If replacement functions are specified they must control all resources of the specific type registered for the entity.
To find out if a specific resource range conflicts with another
resource the xf86ChkConflict()
function may be used:
memType xf86ChkConflict(resRange *rgp, int entityIndex)
This function checks if the resource range
of for the specified entity conflicts with with another resource. If a conflict is found, the address of the start of the conflict is returned. The return value is zero when there is no conflict.
The OPERATING state properties of previously registered fixed resources
can be set with the xf86SetOperatingState()
resPtr xf86SetOperatingState(resList list, int entityIndex,
int mask)This function is used to set the status of a resource during OPERATING state.
holds a list to whichmask
is to be applied. The parametermask
may have the valueResUnusedOpr
. The first one should be used if a resource isn't used by the driver during OPERATING state although it is decoded by the device, while the latter one indicates that the resource is not decoded during OPERATING state. Note that the resource ranges have to match those specified during registration. If a range has been specified starting atA
and ending atB
and supposeC
us a value satisfyingA < C < B
one may not specify the resource range(A,B)
by splitting it into two ranges(A,C)
The following two functions are provided for special cases:
void xf86RemoveEntityFromScreen(ScrnInfoPtr pScrn, int entityIndex)
This function may be used to remove an entity from a screen. This only makes sense if a screen has more than one entity assigned or the screen is to be deleted. No test is made if the screen has any entities left.
void xf86DeallocateResourcesForEntity(int entityIndex, long type)
This function deallocates all resources of a given type registered for a certain entity from the resource broker list.
All that is required in this phase is to setup the RAC flags. Note that
it is also permissible to set these flags up in the PreInit phase. The
RAC flags are held in the racIoFlags
and racMemFlags
fields of the
for each screen. They specify which graphics operations
might require the use of shared resources. This can be specified
separately for memory and I/O resources. The available flags are defined
in rac/xf86RAC.h
. They are:
for framebuffer operations (including hw acceleration)
for Cursor operations (??? I'm not sure if we need this for SW cursor it depends on which level the sw cursor is drawn)
for colormap operations
for the call to ChipAdjustFrame()
The flags are ORed together.


text:
I am thinking about acquiring a 64GB iPad mini and other than its other purposes, use it for back up for RAW captures on my Nikon D80 while on vacation. I'm wondering approximately how many RAW files I can expect to fit on the device.
3 Answers
Suppose you want to dedicate 50gb to photos. (50gb * 1024 mb/gb)/SIZE_OF_PHOTO, for my d7000 I get a result of about 2k photos.
The 'easy' way is to just select a chunk of your image library, find the size and then see how many pictures it is. If you want more space used, select more pictures from the library.
1\$\begingroup\$ The D80 raw files would be around 10MB each. \$\endgroup\$– MikeWCommented Jan 31, 2013 at 23:46
Divide the amount of free space on your iPad mini (x) by the size of each RAW image (y).
The number of RAW images you can fit on the device (b) is:
So if you have 50,000MB of space on your iPad and your RAW files are 12MB, then the number you can fit is 50,000 divided by 12, which is 4,166. However, you'll need to replace 50,000 and 12 with the actual space on your iPad and the actual size of your RAW images (which varies according to camera model) and then do the calculation yourself.
You would need to factor in how much space you would use for other things on the Mini. My 32GB iPad has about 28GB usable, so I'd expect that you would see about 56GB usable. Subtract how much room you need for music, ebooks, apps, etc. I'd guess that you could probably count on 32GB of pictures, maybe as high as 48GB. Look at the SD cards you use, and extrapolate. If you currently can put X RAW files on an 8GB SD card, expect 4X to fit in 32GB or 6X in 48GB. That should get you in the ballpark.

subset: commoncrawl


text:
Basics of z/OS RACF Administration
This course begins with an introduction to the z/OS environment, TSO and ISPF/PDF, batch processing, and z/OS data sets. Hands-on labs allow you to gain experience with viewing and allocating data sets, submitting a batch job, and viewing job output. After the introduction to z/OS, you will then learn, through lecture and exercises, how to use basic RACF command parameters and panels to define users and groups, protect general resources, z/OS data sets, and choose a basic set of RACF options.
This basic course is for those who are new to z/OS and the RACF and responsible for security administration using the RACF element of the z/OS Security Server. Those who need to implement some of the more advanced features of the RACF might want to attend one or more of the following courses:
- Effective RACF Administration (BE87G)
- Implementing RACF Security for CICS (ES84G)
- Exploiting the Advanced Features of RACF (ES88G)
You should have:
- Some familiarity with z/OS system facilities (beneficial).
Background material needed to proceed is presented the first day.
- List and describe the basic features and concepts of zSeries architecture and of the z/OS operating system as they relate to security administration
- Describe the allocation process for data sets in the z/OS environment
- Identify the security requirements of a system
- Use the basic facilities and features of RACF
- Define users to RACF
- Set up an RACF group structure
- Use RACF to protect resources
- Select a base set of options to tailor RACF
Course Outline
Day 1
- Welcome
- Unit 1: Review of z/Architecture and z/OS
- Unit 2: An introduction to ISPF and ISPF/PDF
- Exercise 1: Logging on to the lab system
- Unit 3: An introduction to z/OS data sets
- Exercise 2: Working with z/OS data sets
- Unit 4: Batch processing
- Exercise 3: Job submit and SDSF view Exercise review
- Unit 5: Security and RACF overview (part 1)
Day 2
- Unit 5: Security and RACF overview (part 2)
- Unit 6: Administering groups and users (section 6.1)
- Exercise 4 (including review): Defining an RACF group structure
- Unit 6: Administering groups and users (section 6.2)
- Exercise 5: User administration Exercise review
Day 3
- Unit 6: Administering groups and users (section 6.3)
- Exercise 6: Delegating security administration Exercise review
- Unit 7: Protecting z/OS data sets (to section 7.3)
- Exercise 7: Protecting z/OS data sets: Part 1 Exercise review
Day 4
- Unit 7: Protecting z/OS data sets (continued)
- Exercise 8: Protecting z/OS data sets: Part 2 Exercise review
- Unit 8: Introduction to general resources
- Exercise 9: Using RACF for TSO administration
Day 5
- Exercise review
- Unit 9: RACF options
- Unit 10: Other administrative facilities and features


text:
Aluminum frame is highly weather-resistant and tested UV-resistant powder-coated finish. FSC certified Grade A Plantation Teak wood top that comes in straight and abstract slats with a smooth sanded finish or Recycled Teak slats in a brushed finish. All Mamagreen teak furniture is treated with a "teak shield" protective layer. Bar height table, seats 4-6.
Powder Coated Aluminum, Plantation Teak or Recycled Teak
Aluminum is non-corroding alloy, ideal for outdoor usage thanks to its light weight and highly weather-resistant character.
MAMAGREEN uses the strong alloy 6063 with an electro-statically applied, UV-resistant powder-coated finish.
Care for Aluminum
When properly used aluminum furniture needs very little maintenance.
To repair minor scratches caused by handling, practical touch-up pens are available in various colors.
Clean with soapy water. Never use hot or boiling water.
Use a soft sponge and a soft cloth. Never use anything abrasive like a metal brush or steel wool.
Using recycled methods teakwood is giving abandoned construction sites a new life.
Old buildings, neglected bridges and disused boats and other construction are deconstructed to harvest the old teak parts.
MamaGreen is all about minimizing our footprint on the environment.
Recycled teak has character. there are a lot of signs these wood components had a prior function. There are holes where bolts were used, there are nail holes, damages from hinges and other imperfections, that give recycled teak its unique look.
These characteristics are not hidden, because eac aesthetic imperfection in the teak adds to the exceptional feeling of the furniture.
To accentuate the uniqueness the recycled teak comes with a wire brushed finish.
Teak is well known as the ideal wood for garden furniture, thanks to its beautiful structure, rich color and high oil content.
Mamagreen's teak comes from sustainable teak plantations in Indonesia, with a reforestation program. managed by a certified government body.Working together with the European community this ensures legality and ecological standards.
MamaGreen only uses Grade A teakwood for its uniform color, oil content and close grain, which minimizes potential damage in harsh outdoor environments.
Care for Teak
Your teak outdoor furniture requires regular cleaning and basic care to maintain its appearance over the many years it can be enjoyed.
There are a lot of products on the market to protect, color or clean teak.
Should you do anything to treat your teak? A lot of it is a matter of taste. If untreated, and exposed to UV, the teak will slowly turn silver grey, but will remain as strong as treated teak wood.
Maintenance Products: We advise to use as much as possible products from a reliable source with clear instructions and after sale service. Note that if you start to use maintenance products to keep the original appearance they will need to be reapplied on a yearly basis.
Basic Care: The number one rule is regular cleaning to avoid buildup of mold and mildew.
Avoid leaving food, leaves or dirt for an extended period of time on the teak.
Do not store furniture in a very humid, non ventilated space and do not cover your furniture with a plastic cover, teak needs to breathe.
Note that leaving items on the teak for a long period can cause discoloration. Teak changes color when exposed to UV.
Cleaning Untreated Teak: Clean on a consistent and regular basis with a hard synthetic brush, gentle eco-friendly dishwashing soap and clean water.
Never use a metal brush or steel wool.
Spills, such as wine or juices need to be cleaned immediately to prevent staining the furniture.


text:
California Schools Topics And Information Relating To California Schools |
Thread Tools | Display Modes |
Jesus, Republicans and NRA banned on school website
Anyone who sends their child to a public school today is a fool. More and more what the schools are doing is seeping out. But the school system is such a giant monster, that no one or organization can clean it up. The only answer is to just not send your children to one. Home school or private/parochial school may be their only choice.
Jesus, Republicans and NRA banned on school website One of the lessons that Andrew Lampart learned from being on his schools debate team was to gather facts for both sides of an argument. So last month when his law class was instructed to prepare for a debate on gun control, Andrew went online using the schools Internet service. I knew it was important to get facts for both sides of the case, said the 18-year-old at Nonnewaug High School in Woodbury, Connecticut When Andrew tried to log onto the National Rifle Associations website, he realized there was a problem a big problem. Their website was blocked, he told me. Andrew decided to try the Second Amendment Foundations website. That too, was blocked. His curiosity got the best of him so Andrew tried logging on to several pro-gun control websites. Imagine his surprise when he discovered the pro-gun control websites were not blocked. I became curious as to why one side was blocked and the other side was not, he said. Andrew decided to set aside his debate preparation and started researching other conservative websites. He soon discovered that he had unfettered access to liberal websites, but conservative websites were blocked. For example, the Connecticut Republican Party website was blocked. The Connecticut Democratic Party website was not blocked. National Right to Life was blocked, but Planned Parenthood was not blocked. Connecticut Family, a pro-traditional marriage group, was blocked, but LGBT Nation was not blocked. Andrew found that even Pope Francis was blocked from the schools web service. But although he could not access the Vatican website, the school allowed him to access an Islamic website. This is really border line indoctrination, Andrew told me. Schools are supposed to be fair and balanced towards all ways of thinking. Its supposed to encourage students to formulate their own opinions. Students arent able to do that here at the school because they are only being fed one side of the issue. Andrew gathered his evidence and requested a meeting with the principal. The principal referred him to the superintendent, which he did. The superintendent promised to look into the matter and fix the problem. I gave him a week to fix the problem, Andrew said. But nothing had been done. So last Monday, Andrew took his mountain of evidence to the school board. They seemed surprised, he said. They told me they were going to look into the problem. Since the school board didnt resolve the problem, I decided to take a crack at it. Superintendent Jody Goeler sent me a rather lengthy letter explaining what happened. He admitted there are apparent inconsistencies in the school districts filtering system particularly along conservative and liberal lines. Many of the liberal sites accessible to the student fell into the not rated category, which was unblocked while many of the conservative sites were in the political/advocacy group category which is accessible to teachers but not to students, he said in a written statement. The district is trying to determine the reason for the inconsistency and if the bias is pervasive enough to justify switching to another content filtering provider. I find it hard to believe the superintendent needs more evidence to make that determination. The district does not block individual sites, only categories of websites, he wrote. The categories are supposed to be inclusive of all sites that fall into a common description. Without getting into the weeds here, the school district is blaming the blocking on Dell SonicWall, their content filtering service. They said they are waiting for Dell SonicWall to clarify its process for assigning websites to categories. Dell SonicWall did not return my telephone call so I cant tell you whether the districts statement is the gospel truth or baloney. But something smells fishy. Superintendent Goeler said they have an interest in exposing students to a wide and varying number of viewpoints." The district does engage in unblocking sites to provide diverse points of view and balance in the instructional process, he wrote. Pardon me, sir, but thats a load of unadulterated, Grade-A hooey. The National Rifle Association, Red State, SarahPac.com, National Right to Life, Second Amendment Foundation, Paul Ryan for Congress, Town Hall, TeaParty.org, ProtectMarriage.com, and Christianity.com are just some of the websites the school blocked. And they still remain blocked. The thing that bothers me the most is that public education is supposed to be neutral, Andrew said. Its supposed to expose kids to both sides of an issue and allow them to formulate their own opinions. Andrew has discovered the issue I write about in my new book, God Less America. Public schools have become leftwing indoctrination centers. Students are only being given information from one side of the issue, he said. They are told this is the information we are giving you make the most of it. They are not giving them both sides of the argument. Andrew Lampart has done his community and his nation a great public service by exposing the politically correct firewall that was erected at Nonnewaug High School. And now we must do our part and demand a free exchange of ideas not just in Woodbury, Connecticut, but around the nation. Mr. Superintendent, tear down this wall! |
Thread Tools | |
Display Modes | |


text:
Adjustable beige rolled leather dog lead for hands-free walking
Our most luxurious police style dog lead made of the finest beige leather rolled over a 6mm nylon rope - beautiful, extremely soft and strong. The ultimate in luxury and comfort this training lead is lightweight and smooth in your hands and is the most versatile dog lead you will ever own.
A practical and stylish choice this 4-in-1 dog premium leather dog lead is adjustable from 1.2m (4ft) to up to 2.7m (9ft) long - you will never need to buy another lead!
Featuring two hooks at both ends and three solid rings, these dog training leads are easily adjustable to four different lengths - 1.2m (4ft), 1.4m (4.5ft), 2m (6.5ft) and 2.7m (9ft)
This beige leather dog lead is adjustable from 1.2m to 2.7m (4ft to 9ft) lengths to use in a variety of ways:
- clip to one of the rings and wear police style over the shoulder or body for hands-free running, walking or training
- wrap dog lead around chair or table legs to secure your dog in cafes and restaurants
- hook on to metal bars and use as dog tie out
- use clips on both ends of the lead to walk two dogs at the same time
- clip one end of the lead to the collar another to harness for better control and safety
- double up and slip over your body to have free hands for off lead exercise
Currently, rolled leather police style leads are available in red and beige leather. If you want black leather, consider this plated black leather dog training lead.
All Dog Moda's adjustable training leads come with three special Swedish-made safety chrome coloured trigger hooks. Unlike many inferior quality trigger hooks, these will not open accidentally and are easy to clip on the dog collar when wearing gloves and in wet conditions. This type of triggers are universally considered to be one of the best and safest trigger hook designs and are favoured by husky teams and climbers in Scandinavia.
Please do not hesitate to call +44 (0) 20 3582 4532 or contact us if you need help choosing a lead for your hounds or have any questions about using police style training leads. We are here to help!
Leather dog lead size guide
Training police style adjustable leather dog leads
Adjustable length dog training leads are the most versatile type of dog leads and are well suited for all sighthound breeds.
These dog training leads are easily adjustable to four different lengths using two trigger hooks at both ends, which you clip to one of the three solid rings positioned along the length of the lead.
Undoubtedly the most versatile dog lead you will ever own, which can be used at the following lengths:
- 1.2m (4ft)
- 1.4m (4.5ft)
- 2m (6.5ft)
- 2.7m (9ft)
Available in three types or leather (bridle leather, premium soft reindeer leather and the most luxurious rolled leather) and several colours. See which dog training lead you like.
Long length leather dog leads
These are 1.8 meter (6 ft) long leads and will work best with medium and large size dogs.
In addition, we have long police style dog training leads.
Medium length leather dog leads
These are
1.5 meter (5 ft) medium length leather leads to work similarly with large, medium and small size dogs. These leather leads come in different styles and finishes:
- Rolled leather dog leads
- Wide plaited leather dog leads
- Classic leather dog leads
- Double folded leather dog leads
- Rolled leather gun dog slip leads
Short length leather dog leads
These are 1.2 meter (4 ft) short length leather leads and will work best with small and medium size dogs.
In addition, we have 1 meter dog show leads.
Please don't hesitate to contact us for any help in choosing the correct size leather lead for your hounds. We are here to help!


text:
Mix and Match Collection - Blue, Black and Grey, Rosebud and Stripe Runner
The Mix and Match Tabletop Series is a collection of placemats, napkins, and runners inspired by stories forgotten and familiar, journeys and celebrations, milestones and memories. Because everything we are, is a mix of different influences and collectively, it all just comes together! We have everything we need, right within us! All we need to do is trust ourselves! So translating this life philosophy into textiles calls for a bit of experimentation and fun, an invitation for you to play at your table.
The mix of motifs that have been used speaks a language of familiarity and hope for the designer, Ayesha, while reflecting elements of her life spent in India and Singapore.
The Diya, or lamp, is traditionally lit during the festival of Diwali or Deepavali by Indians around the world. It symbolizes the victory of light over darkness – and the eternal motif of hope. In this pandemic-struck world, hope is a reservoir; we need to keep replenished constantly. Arranged in a geometric pattern of squares, the Diya print immediately takes on a modern aesthetic, making it compatible with any other print or pattern. The Rangoli print pays homage to the elaborate patterns created using rangoli powders, flowers, and lamps, often at the entrance of homes, during the Indian festivals of Diwali, Onam, and Pongal. The lush Floralscape pattern, along with the Ixora flower and Rose Bud motifs represents the beautiful and lush botanical landscape of Singapore. The Stripe motifs are a simple geometric element that complements the organic shapes of the various floral and traditional motifs, representing structure and weight.
The Mix and Match series has been block printed on 100% cotton by master artisan, Santosh Kumar Dhanopia of Sanganer, Jaipur in India. Several variants in the series have double-sided prints, allowing one to play around with different combinations of table settings. The idea is to have some fun!
Size of Runner: 49 cm x 149 cm
One side has the Rosebud print, the other side has the Stripe pattern.
Material: 100% Cotton
Care: Handwash gently in cold water.


text:
Complete the form to order your tickets. If you are not the bride, make sure the bride registers at the show for wonderful prizes!
Your browser does not support our automated validation code. Please make sure that you have selected at least one ticket and that your wedding date is a valid date before you purchase your tickets
When you purchase tickets, you agree to accept wedding vendor promotional offers via e-mail, phone, text, and/or mail or tickets can be purchased on-site at the show.
Email email@example.com for more information.
All tickets sold by:Bridal Shows Inc.P. O. Box 600Addison, TX 75001 USA
This website uses Cookies to identify returning website visitors. While the Cookie contains no personally identifying information, it does allow the website administrator to gather website usage statistics (pages visited, browsers used, e.g.), to help improve the site's usefulness.
Commercial photography and filming activities are conducted at the show. You may appear in the resulting pictures or films that may be used in connection with advertising, news reporting, entertainment or other activities. Entry into the show and/or purchase of your admission ticket constitutes your consent for show management to use the pictures and films without payment.
We may share information you provide on our website when it is necessary to comply with the law or to protect the rights, property, or safety of our website, users, or others.
The information you submit, with the exception of credit card data, may be provided to exhibitors, website advertisers and other affiliates. By submitting information to the site, you acknowledge that this information may be provided to these parties and give permission for these parties to contact you with information and special offers. Do not submit any information which you do not wish us to provide to these parties. You may choose to allow us to share your information (Opt In) or disallow it (Opt Out) by indicating your preference in the form below.
*** Preregistration or Ticket Purchase required before Opt Out preferences can be set. ***
Please complete the information below to receive a $1 off discount when you purchase your ticket. Your promo code will be emailed to the email address provided.


text:
While tablet sales grew at an amazing 75.3% in Quarter 4 2012, compared to the same quarter in 2011, Apple's share in the growing market it sliding. Despite the release of the Apple iPad mini, a new iPad 4 and the availability of the iPad 2 at lower costs, Apple's share in the tablet market dropped to 43.6% in Q4 2012, from 51.7% in Q4 2011. The reason is while the market grew 75.3% during the quarter, Apple's growth during that period was a more modest 48.1%.
Source: IDC
The year 2012 saw access to iPad's becoming more feasible than ever with the entry level price going down from US$499, to US$399 with the repriced iPad 2 16 GB. Later in the year, the iPad mini brought down the entry fee into the iPad world down to US$349.
The problem is the tablet has become the cheapest computing platform ever built, with the cheapest models coming in at a bit less than US$100. If Netbooks brought cheaper computing to the consuming public, tablets are bringing it down to a fraction of the price of a Netbook. Relative to processing power and operating system, the cheapest tablets are cheaper than the cheapest equivalent smartphones. Cheaper US$199-249 tablets from Amazon, Asus and Samsung account for a big portion of the sales increase. This has resulted in some calling Apple's US$349 mini expensive. I don't agree with that proposition. I ironically, Apple seems to be in a better position to compete in a world awash with cheap tablets, than it is in a world awash with cheap smartphones.
Technology, Apple's iPad mini has solid design edge. It seems to me, to be priced well enough for what it offers. You just have to go past the processor specifications and look at the fact that Apple created a tablet that gives 0.9-inches more display area than it competitors, while offering it in a package 10-15% lighter than its 7-inch competition.
Unlike the smartphone wars in which four or five Android's are sold per Apple iPhone, the number of Android apps equals Apple apps, and Apple seems to be falling further and further behind in terms of hardware, Apple's dominant position in the market is unlikely to be lost anytime soon. I actually think Apple might be able to get back to a majority share.
In Q4 2012, Apple's iPad mini sale were hobbled by lack of supply. If the Apple iPad 5 adopts the more size and weight efficient design of the iPad mini that should give it an edge over the Android and Windows tablets I have seen coming down the pipeline. The new offering would boost sales.
A US$399 Apple iPad 4, with its high resolution display would give BlackBerry, Android and Windows RT manufacturers a lot of headaches. If Apple continues to sell the current iPad mini at a reduced US$299 price after the release of the iPad mini 2, that will be even more problematic for the competition. Even if Apple's margins are affected by a maintaining lower priced iPad 4's and mini's it probably would be worth it to stop Asus, Samsung and Microsoft OEM's from gaining traction.
Apple's shares have taken a beating, and the future of its iPhone and MacBook's looks a bit problematic, but I think Apple has a solid hold on tablets and it has the money to fight a war of attrition. Apple is best off fighting the battle for consumers dollars than waging war in the courts.


text:
The 2016 Tony Awards may be over but that doesn't mean you have to stop relishing in their greatness! Relive the fantastic evening with this roundup of Broadway.com's complete coverage. From who wore what to who won what, we've got you covered!
Hamilton Dominates the 2016 Tony Awards; Complete List of Winners
Hamilton brought home a total of 11 Tony Awards, including Best Musical. View a complete list of 2016 Tony Award winners.
They're Beautiful, And They're Here: Broadway.com Breaks Down the Performances at the 2016 Tony Awards
We go through each of the 2016 Tony Awards musical performances, beginning with our top picks.
#BuzzNow: Hamilton [Gasp] Wins Big at 2016 Tony Awards
Get to the lowdown on the 2016 Tony Awards, including Hamilton's big win!
Barbra Streisand Has X-Ray Vision, Everyone's Handsy for Leslie Odom Jr. & More Lessons of the Tony Awards
We learned a lot while watching the 2016 Tony Awards! Find out our main takeaways from Broadway's biggest night.
Thumbs Up! Host James Corden Made Broadway's Biggest Night a Fun, Farcical and Fantastic Affair
As host of the 2016 Tony Awards, James Corden was a ton of fun! Click to find out why we thought so.
Broadway.com Ranks the Top 10 Best-Dressed Stars at the 2016 Tony Awards
Glamorous and gorgeous! Here's who's red carpet looks we couldn't get enough of.
And The Tony Goes To! Enter the 2016 Winners Circle
See the 2016 Tony winners pose with their brand new awards!
Broadway's Brightest Stars Step Out! See All the Looks From the 2016 Tony Awards Red Carpet
As the stars arrived at the Beacon Theatre, we were on hand to snap shots of all of the red carpet action.
The Man is Non-Stop! Here's Lin-Manuel Miranda and the Cast of Hamilton Performing at the Tony Awards
Don't miss the revolutionary musical's performance at the 2016 Tony Awards, which combined "History Has Its Eyes on You" with "Yorktown (The World Turned Upside Down)."
Tony Awards Pop Poll! Broadway Stars on the Records They'd Like to Break
We asked the stars and nominees on the Tony Awards red carpet which records they'd love to break. Find out!
We Salute Cynthia Erivo, Jessica Lange, Leslie Odom Jr. & All the Winners at the 2016 Tony Awards
Justin "Squigs" Robertson provides us with a fantastic and detailed sketch of the 2016 Tony Award winners.
The 14 Most GIF-able Moments of the 2016 Tony Awards
The 2016 Tony Awards were non-stop! Relive them with this whirlwind of GIFs.
Raise a Glass! Get a Peek Inside the Glam Post-Tonys Party Circuit
Party-hop with the brand new Tony winners!
Tony Odds & Ends: Updating Live From the Tony Awards Press Room
A roundup of news stories and tidbits, direct from the winners in the 70th Annual Tony Awards press room.
Watch James Corden Lead a Spirited Tribute to the Power of Broadway in This Year's Tony Awards Opening Number
James Corden kicked off the 2016 Tony Awards with a little bit of everything! Relive the dazzling and high-energy opening number.
Hamilton Brings Ratings To the 2016 Tony Awards
The live 2016 Tony Awards telecast brought in the biggest ratings in 15 years, thanks to a big boost from Hamilton.
Tony Poll! Which Musical Number was the Ultimate Tonys Showstopper?
The Color Purple? Hamilton? Waitress? Let us know which of the 2016 Tony Awards musical performances blew you away!
Tony Poll! Which 2016 Tony Acceptance Speech was Your Favorite?
The 2016 Tony winners wowed us with their heartfelt and moving acceptance speeches. Let us know which you thought stood out the most!


text:
Seagate Announces FireCuda 530 PCIe 4.0 SSD at SG21
by Ganesh T S on June 23, 2021 4:00 PM ESTThe gaming segment continues to experience rapid growth in the PC market, and we have seen PC component vendors come up with launch events specifically targeting gamers. Seagate's inaugural Virtual Gaming Event (SG21) is the latest in this list, and the company is announcing its latest flagship SSD - the FireCuda 530 at this event. With its PCIe 4.0 x4 interface, there is a significant jump in sequential access speeds (reads up to 7300 MBps). This has has an ideal target market in the gaming segment, with the fast load times making a visible difference in the user experience.
The drives in Seagate's FireCuda SSD series have typically been based on Phison controllers using custom firmware (with the company's preferred term being 'Seagate-validated'), and the FireCuda 530 is no different. It is based on Phison's PS5018-E18 using the latest 3D TLC NAND (Micron's B47R 176L). A number of E18-based SSDs have hit the market over the 6 months, and we also reviewed the Inland Performance Plus a few weeks back. It was held back a bit by the use of 96L 3D TLC - an aspect that should be addressed by the latest 176-layer NAND.
Similar to other flagship M.2 PCIe 4.0 x4 NVMe SSDs, the FireCuda 530 also comes with a heatsink option. Unlike the ridged designs common for this application, Seagate has gone in for a minimalist option designed by EKWB - a finely-textured aluminum block weighing more than the usual finned heatsinks, while still retaining a slim profile for wide compatibility.
Seagate FireCuda 530 SSD Specifications | ||||
Capacity | 500 GB | 1 TB | 2 TB | 4 TB |
Controller | Phison PS5018-E18 (PCIe 4.0 x4) | |||
NAND Flash | 176L 3D TLC NAND (Micron B47R) | |||
Form-Factor, Interface | Single-Sided M.2-2280, PCIe 4.0 x4, NVMe 1.4 | Double-Sided M.2-2280, PCIe 4.0 x4, NVMe 1.4 | ||
Sequential Read | 7000 MB/s | 7300 MB/s | ||
Sequential Write | 3000 MB/s | 6000 MB/s | 6900 MB/s | |
Random Read IOPS | 400K | 800K | 1M | |
Random Write IOPS | 700K | 1M | ||
Pseudo-SLC Caching | Supported | |||
TCG Opal Encryption | No | |||
Warranty | 5 years (with 3 year DRS) | |||
Write Endurance | 640 TB 0.7 DWPD |
MSRP (non-heatsink) | $140 (25¢/GB) | $240 (25¢/GB) | $490 (21¢/GB) | $950 (21¢/GB) |
While the FireCuda 520 came with 1 DWPD ratings, Seagate has returned to conservative roots with the consumer-standard 0.7 DWPD for the write endurance of the FireCuda 530 SSDs. The heatsink is optional, since most new motherboards are providing their own M.2 cooling solution. It does add a $50 premium to the barebones version. In addition to the 5-year warranty, Seagate also includes a 3-year Rescue Data Recovery Service plan with the SSD.
Pricing is par for the course with other E18 SSDs, and the added DRS tends to pull up the value for money aspect in the high-end space. Seagate also appears to be one of the very few vendors with a 512GB option in this performance class (E18-based SSDs). This is understandable, as the amount of parallelism available in 512GB-class drives is not high enough to sustain the link bandwidth for sequential writes (The 512GB SKU tops out at 3GBps, while the 2TB and 4TB ones reach up to 6.9GBps). On the power consumption front, the average active power ranges from 5.8W for the 500GB SKU to 8.4W for the 4TB one.
Overall, the product appears to check all the right boxes for gamers and content creators looking to purchase a new PCIe 4.0 SSD this summer.
Source: Seagate
23 Comments
View All Comments
willis936 - Wednesday, June 23, 2021 - link
This looks like a great product. I wish this line (or really any consumer line, really) came with PLP. -
Wereweeb - Wednesday, June 23, 2021 - link
That could lead some enterprise folk to risk buying it.
SSD vendors don't want that, they want neatly segmented product lines so they can make bank off enterprise consumers who are willing to pay more for a fully featured SSD. -
Mikewind Dale - Wednesday, June 23, 2021 - link
I also wish consumer SSDs came with power-loss protection. But I wonder, how necessary is PLP if one has a UPS? -
Samus - Thursday, June 24, 2021 - link
I've seen indirection tables corrupted in laptops that lost power and sometimes its difficult to recover the drive (most of the time chkdsk will get things back up and running.) Even a BSOD at the wrong time can trash a drive because NVMe SSD's use system ram as their cache, though it's not clear if PLP would aid this during a kernel stop error.
This wasn't as much of a problem with SATA HDD's and even SSD's because not only did they have tiny caches, but most of the time they were just read caches...write caches were software managed by Windows (or whatever OS you had) and that is not the case with drives now transferring 7GB\sec -
back2future - Friday, June 25, 2021 - link
that's about 10-24TB/h or 2.5-8.5 days towards write endurance number, if there's no bandwidth limit controlled by OS or hardware -
Lord of the Bored - Wednesday, June 23, 2021 - link
Wait... exactly how useful is a heatsink with no fins, anyways? This seems like a poor cooling design unless I'm missing something important. -
meacupla - Wednesday, June 23, 2021 - link
SSD controllers and RAM like to run cool, but flash memory likes to run hot.
due to various factors, like GPU proximity to SSD, and not running at full speed all the time, it turns out a heat sponge is perfectly fine for consumer grade SSDs. -
Samus - Thursday, June 24, 2021 - link
Exactly. It's somewhat similar to how they use engine coolant to heat up the oil in modern vehicles with oil "coolers" which are actually oil "warmers" to get oil hot as quickly as possible where it is most effective. It takes longer to heat oil than water\antifreeze because oil has a higher viscosity and more thermal density, so it will always warm up slower than coolant.
Not a perfect analogy but the idea is to spread the heat out as a balancing act because some things prefer to be hot. -
Exodite - Thursday, June 24, 2021 - link
Now they just need to shift prices one step to the right and they might have an actually interesting product on their hands. -
shabby - Thursday, June 24, 2021 - link
These are mlc prices 😂


text:
The messaging battle is over on repealing and replacing President Barack Obama's health care law, and the balance of power in Washington may be at stake.
Democrats believe they already lost the public opinion fight over the law once, when they pushed through the Affordable Care Act in the first place, and Republicans grabbed hold of the issue to drive Democrats into the minority. Democrats are determined that this time, they'll come out on top.
For their part, Republicans are painfully aware that they're embarking upon the task of repealing and replacing the complex law at their peril. If Democrats get their way, the GOP will own every problem and complication that results from the re-work, and there are certain to be many.
For both sides, the repeal-and-replace fight represents a risky and unexpected do-over nearly seven years after Democratic majorities in the House and Senate passed the law on a party-line vote. A voter backlash helped send Democrats into the minority in the House in the 2010 midterms, and Republicans have been using the issue to political benefit ever since. In November's elections, Donald Trump and GOP House and Senate candidates ran on promises to repeal the law and replace it with something better.
Now, Democrats have a chance to fight the messaging war anew, even as they continue to champion the health care law as good policy that's helped the country. And Republicans, who've had political success attacking the law without offering a unified solution of their own, have a chance to present their ideas and make policy, but risk giving away their political advantage if they become the ones voters blame for problems in the health system.
Which side meets the challenge most effectively will help determine who prevails in the 2018 midterms, and in the next presidential election four years from now.
On Wednesday, as he unveiled Democrats' new attack line against the GOP — "Make America Sick Again" — Senate Minority Leader Chuck Schumer said that after the health law passed, voters blamed it for every problem related to health care, "and our Republicans colleagues and their message machine did it."
U.S. & World
The day's top national and international news.
"Now, they're gonna own it," Schumer said of the GOP. "And all the problems in the health care system, and there have been many throughout the years, no one has solved all of them, are gonna be on their back."
Schumer made his comments after Democratic lawmakers met with Obama to discuss combating GOP efforts to undo the law, a new legislative initiative which got under way Wednesday with a procedural vote in the Senate.
Obama's message: Not to cooperate with GOP replacement plans that don't offer a good solution for the 20 million Americans who gained health coverage under the law. He advised keeping the focus on those who benefited from the Affordable Care Act, such as people with pre-existing conditions who got coverage, and who might be hurt if their coverage were taken away.
And, he took on blame for Democrats' failure to sell the public on a law that by some measures has achieved its goals.
"I will take the responsibility for not having fully communicated with the American people for why this is an extraordinary victory for them," Obama said.
Even as Obama huddled with Democrats, Vice President-elect Mike Pence was meeting with Republicans across the Capitol, emerging to offer assurances that Republicans would make good on their repeated promises to repeal the law.
"The American people know who owns Obamacare. It's the first half of the title. It is Obama and the party of Obama," Pence insisted. "What President-elect Trump and I and the leaders in the Congress are determined to do is to keep faith with the American people."
Inside the meeting with House Republicans, Pence offered a more urgent message, advising Republicans to "go back to districts and lay the predicate that the Democrats own this thing," said GOP Rep. Dave Brat of Virginia. Trump himself offered a similar cautionary note over Twitter Wednesday, writing, "Don't let the Schumer clowns out of this web... Dems are to blame for the mess. It will fall of its own weight - be careful!"
He continued his attack Thursday in a series of tweets: The Democrats, lead by head clown Chuck Schumer, know how bad ObamaCare is and what a mess they are in. Instead of working to fix it, they.....do the typical political thing and BLAME. The fact is ObamaCare was a lie from the beginning."Keep you doctor, keep your plan!" It is.......time for Republicans & Democrats to get together and come up with a healthcare plan that really works - much less expensive & FAR BETTER!"
Schumer responded later in the afternoon by saying that "instead of calling names, the president-elect should roll up his sleeves and show us a replacement plan" that continues to allow people to stay on their parents' plan until age 26 and cover people with pre-existing conditions, NBC News reported.
Some Republicans are painfully aware that their own political fortunes could be at risk if they fumble the issue.
"I'm here because of Obamacare," said GOP Rep. Kevin Cramer of North Dakota, crediting the issue for his victory in 2012. And now, Cramer says, he risks losing his seat over Obamacare, "if we let our voters down in places like North Dakota by not acting decisively and swiftly."
Yet for now, even as they move toward repealing the law as early as next month, Republicans don't have a replacement plan, or even a timeline for offering one. There's likely to be a years-long transition period between the repeal and the replacement, but many House Republicans, who stand for re-election every two years, believe it's urgent to get the replacement done before the 2018 midterms, or risk voter wrath.
"If it hasn't been done by the 2018s, it's like, 'What are you doing?'" said GOP Rep. Mark Amodei of Nevada. "If after five years of Republicans saying it sucks, we don't do a good job of transitioning and replacing, then Katie bar the door."


text:
WASHINGTON (AP) — The Obama administration warned Congress that a key federal government fund used to pay for the nation's roads, bridges and ports is running dry and that the economy would be damaged if it is not replenished.
A White House economic analysis concluded that without congressional action, more than 112,000 ongoing projects would be in danger of falling idle, affecting nearly 700,000 jobs.
Such project delays would slow commerce, hinder commuters and hurt businesses, Transportation Secretary Anthony Foxx said.
"We have an infrastructure deficit in this country," Foxx told reporters Monday at the White House.
The Highway Trust Fund, which is financed by gasoline taxes, could run out of money by the end of summer, the administration says.
On Wednesday, President Barack Obama plans to speak by the Hudson River's Tappan Zee Bridge just north of New York City to press his case.
The Obama administration has proposed a four-year, $302 billion transportation plan. Of that amount, half would be in addition to the programs paid for with fuel taxes. That additional spending would come from revenue raised by closing corporate tax loopholes and by other changes in business taxes, a long-shot idea in a politically divided Congress.
"We cannot meet the needs of a growing country and a growing economy by simply maintaining our current level of effort," Foxx said. "We must do more."


text:
The end of the Nonaligned Movement (NAM) summit in Tehran has been an occasion for pundits on all sides to engage in post-game spin. In Iran, the spin began right in the middle of the summit when Iranian television mistranslated — read lied about — Egyptian President Mohamed Morsi's words to present his position on Syria as not that different from Iran's. Once the summit was over Hossein Shariatmadari of Kayhan, whose editorials usually give a lesson to hardliners regarding how to frame an argument, didn't repeat the lie regarding Syria. But he put new words in Morsi's mouth and attempted to convince his readers that Morsi's stance regarding Syria so contradict his positions on Palestine, Egypt's ability to be a "strategic ally" to Iran, and "the necessity to combat Israel and support the resistance axis", that Morsi will soon change his mind. "In the Tehran summit, Mr. Morsi announced Egypt's new identity and this new announced identity is not in line with support for the opposition in Syria [particularly] alongside America, Israel, Saudi Arabia, and Turkey. For sure, Morsi's position will change in the future," Shariatmadari ended his column confidently.
Outside Iran, the urge to frame the summit has taken a different form. Iran's relationship to the West is after all a win-or-lose game not only in the current Iranian leadership's mind. So Morsi's support for the Syrian opposition, Ban Ki-moon's criticism of Iran's non-compliance with UN Security Council resolutions regarding its nuclear program, and its human records, are interpreted as a defeating blow to Iran's efforts to showcase itself as a country that it is not isolated. Even though Morsi had already called for Syrian regime change at the meeting of the Organization of Islamic Cooperation in Jeddah two weeks earlier (where Iran cast the only vote against Syria's expulsion), somehow his stating of an already stated position in support of Syria's opposition — with no mention of Iranian, Russian, or Chinese support for Bashar Assad — turns into the "slamming" of Iran and even more ambitiously, a diplomatic disaster as far as the whole summit goes, thereby underlining Iran's isolation.
What few are willing to acknowledge is that post-event spin is usually geared towards different audiences. Even more likely is the fact that such spin is geared towards the already converted. Those expecting failure got one. Those hoping for a statement regarding Iran's non-isolation also received a decent amount from global participants and more importantly, from their point of view, a fairly strong statement of support by NAM for Iran's nuclear program.
For those of us less interested in keeping score, the summit nevertheless provided a few interesting highlights and/or revealing points regarding Iran's external relations and domestic politics. Let me mention three.
- 1. Given Iran's geographic location and resources, it is simply not good business for many countries in the neighborhood to isolate Iran. And at least from the looks of things, the sanctions regime imposed by the West is being perceived as an opportunity by some countries. Nothing illustrates this better than Indian Prime Minister Manmohan Singh's visit to Tehran. Tellingly, he and the large contingent who came with him were met at the airport by Iran's Economy Minister, Shamseddin Hosseini. And before embarking on his 4-day visit, his staff made clearthat bilateral economic relations were on his mind.
Iran and India currently have about $15 billion worth of trade with each other but the balance is heavily in favor of Iran to the tune of more than 4 to 1 and that has turned into a real issue because of sanctions imposed by the United States and European Union on financial transactions between the two countries. Getting paid in Rupees for 45 percent of its exports to India has been a partial solution but India is hoping to increase its export of agricultural goods as well as machinery as another alternative. In other words, both countries continue to work hard to find ways to get around sanctions because it's worth it. This does not mean that sanctions are not bad for Iran or that they are not constraining Iran's optimal use of its resources. The current opportunity costs of the sanctions regime are huge for Iran. But Iran's location and resources are countervailing forces that cannot be ignored. Furthermore, there are quite a few countries that see the sanctions regime as an opportunity. This dynamic will likely continue to inspire US efforts to openly attempt to impose new ways of restricting Iran's international trade while other countries openly collude with Iran to find ways to get around those attempts.
2. International engagement is good for Iran. As far as I am concerned, the most important lesson of Ban and Morsi's visit lies in the value of engaging Iran directly. Many of those who are now touting Ban's and Morsi's words of wisdom in Tehran should remind themselves that they tried hard to prevent these folks from going there. That their words and actions have created a conversation in Iran is a good thing made possible by the Iranian desire not to appear, nor be, isolated. Ban in no uncertain terms identified his purpose in his speech at the Foreign Ministry's School of International Relations, "to highlight the cost of Iran's current trajectory, both at home and in the international arena." He also made the case that ?Any country at odds with the international community is one that denies itself much-needed investment and finds itself isolated from the thrust of common progress." Ban's skillful focus on the basic contradiction in Iran's foreign policy — wanting to be a respected member of the international community while loudly and unskillfully challenging some of the established codes of conduct of that same international community — is a lesson for all.
3. The NAM summit was a showcase for the outside world with really no domestic implications, but it did tell us something about the current shape of Iranian politics. It told us that the Leader Ayatollah Khamenei now sees himself in charge of even implementing Iran's foreign policy and not just setting the "general direction of the country" and letting the president engage in the task of executing these general directives as delineated by the Islamic Republic's Constitution.
Even the appearances were awkward. Khamenei entered the summit room first followed by former president and current chair of the Expediency Council, Akbar Hashemi Rafsanjani, who is also an unelected official. Iran's current president followed next and was mostly treated as a non-person by the Iranian media. Comparing this to the last major international meeting in Iran, which was the meeting of the Organization of Islamic Cooperation (OIC) in December 1997, is telling. Fresh from being popularly elected, Mohammad Khatami took charge of the meeting and Khamenei had almost no presence. Furthermore, as a popularly elected president, Khatami had no need for underlings to shower him with accolades regarding how incredibly insightful and important he is. There was no need to have someone like former foreign minister and current senior advisor Ali Akbar Velayati to lie to the Iranian audience that Ban, in a private meeting with Khamenei, identified him not only as the leader of Iran but also as "the leader of the Islamic world." How incredibly ironic that the man who routinely speaks in the name of the inalienable rights of the Iranian people in the face of Western hostility now has to rely on ingratiating promoters who try to elevate his international role with the hope of enhancing his domestic standing.


text:
Paul Krugman appears to be responding to my previous post where I argued it was unfair of him to dismiss Milton Friedman's views based on what happened in Japan. In his reply he continues to raise doubts about the efficacy of Friedman's monetary prescription for Japan in the 1990s and the United States in the early 1930s. He then goes on to question those of us who have been calling on the Fed to target the level of aggregate spending through something like a nominal GDP target. Here is Krugman (my bold below):
I think it's also important to note that Friedman was all wrong about Japan — and that you can argue that he was also wrong about the Great Depression, for the same reason. For what Friedman argued, both for Japan in the 1990s and America in the 1930s, was that all the central bank needed to do was more — push out those reserves into the banking system. This would raise the money supply, and a higher money supply would have the usual effects.
But the Bank of Japan tried that — and found that pushing more reserves into the banks didn't even lead to rapid growth in the money supply, let alone end the problem of deflation... So, after 2000 the Bank of Japan engineered a huge increase in the monetary base; this was the original quantitative easing. And it didn't even translate into a surge in the money supply! This is why I'm so skeptical of people who say that all the Fed has to do is target higher nominal GDP growth — in liquidity trap conditions, the Fed doesn't even control money, so how can you blithely assume that it controls GDP?
Let me begin my response by encouraging Krugman and other monetary skeptics to have a little more faith in the power of monetary policy. Here is why: QE has been done before in the United States and it worked incredibly well. It was initiated in early 1934 when FDR and his treasury officials decided to (1) devalue the value of the dollar relative to gold and (2) quit sterilizing gold inflows. Now this was a radical move at the time, much like QE2 is to many folks today. The gold standard was viewed then almost as a sacred institution. FDR was going to weaken it and allow prices to permanently increase. How dare he! But that is exactly what was needed, a big permanent shock to inflation expectations that served to stop the deflationary spiral, end the liquidity trap, and allow a recovery in aggregate demand. Now this policy move was backed up with significant and permanent increases in the monetary base over time: it went from about $8 billion right before the policy change to about $24 billion by the end of the 1930s. Below are two graphs that shows this remarkable QE program at work. Here is the monetary base and M2 (Click on figure to enlarge.):
Note how the increase in the monetary base was followed by an similar increase in M2. Monetary policy--in its unconventional form--was able to influence the money supply. And note the slowdown in the monetary base in 1937 was followed by a slowdown in M2. This is when the Fed decided to stall out FDR's QE program and in the process help create the recession of 1937-1938. (See Francois R. Velde for more on this recession.)
What about total current dollar spending? Here too, FDR's QE program also served to stimulate aggregate spending as seen in nominal GNP:
Again we see that nominal GNP closely tracks the surge in the monetary base. FDR's QE was a smashing success when it came to shoring up aggregate spending. So those of us folks who want the Fed to increase and stabilize nominal GDP have a good reason to believe it is possible--it happened before.
So let's recap the highlights here:
(1) QE was tried before in the United States during a liquidity trap and worked incredibly well.
(2) QE not only worked well, but it did so in an economic environment far wore than that found in either Japan in the 1990s or the United States today.
(3) QE worked because it (i) it reshaped inflation expectations and (ii) was backed up with meaningful increases in the monetary base.
The Fed is more than able to do the same today. It certainly can reshape inflation expectations. Just look at what has happened to them over the last month or so when Fed officials started talking up QE2. The Fed would be far more effective, though, at shaping inflation expectations by explicitly committing to some nominal target. Thus, the Fed needs to come out this week with more than an announcement that it is going to purchase say $500 billion assets going forward. It also needs to shake up inflationary expectations and do so in a manner that creates certainty going forward. The Fed, then, needs to (1) announce an explicit nominal target and (2) say it will do whatever is necessary to hit it (i.e. it will buy/sell as many assets as needed). I just hope it is a level target for total current dollar spending.
Update I: Josh Hendrickson reminds us that QE seems to be working rather well in the U.K.
Update II: The M2 and monetary base data come from Friedman and Schwartz (1963) while the nominal GNP data come from Balke and Gordon (1986).
Update I: Josh Hendrickson reminds us that QE seems to be working rather well in the U.K.
Update II: The M2 and monetary base data come from Friedman and Schwartz (1963) while the nominal GNP data come from Balke and Gordon (1986).


text:
Peter Turchin, professor of Ecology and Evolutionary Biology, has published two hundred articles, including a dozen in such top journals as Nature, Science, and PNAS. His most recent books are Ultrasociety: How 10,000 Years of War Made Humans the Greatest Cooperators on Earth and Ages of Discord: A Structural-Demographic Analysis of American History.
Cliodynamics is a new "transdisciplinary discipline" that treats history as just another science. Ten years ago I started applying its tools to the society I live in: the United States. What I discovered alarmed me.
My research showed that about 40 seemingly disparate (but, according to cliodynamics, related) social indicators experienced turning points during the 1970s. Historically, such developments have served as leading indicators of political turmoil. My model indicated that social instability and political violence would peak in the 2020s (see Political Instability May be a Contributor in the Coming Decade).
The presidential election which we have experienced, unfortunately, confirms this forecast. We seem to be well on track for the 2020s instability peak. And although the election is over, the deep structural forces that brought us the current political crisis have not gone away. If anything, the negative trends seem to be accelerating.
My model tracks a number of factors. Some reflect the developments that have been noticed and extensively discussed: growing income and wealth inequality, stagnating and even declining well-being of most Americans, growing political fragmentation and governmental dysfunction (see Return of the Oppressed). But most social scientists and political commentators tend to focus on a particular slice of the problem. It's not broadly appreciated that these developments are all interconnected. Our society is a system in which different parts affect each other, often in unexpected ways.
Furthermore, there is another important development that has been missed by most commentators: the key role of "elite overproduction" in driving waves of political violence, both in historical societies and in our own (see Blame Rich, Overeducated Elites as Our Society Frays). As I wrote three years ago,
Increasing inequality leads not only to the growth of top fortunes; it also results in greater numbers of wealth-holders. The '1 percent' becomes '2 percent.' Or even more. … from 1983 to 2010 the number of American households worth at least $10 million grew to 350,000 from 66,000. Rich Americans tend to be more politically active than the rest of the population. … In technical terms, such a situation is known as 'elite overproduction.' … Elite overproduction generally leads to more intra-elite competition that gradually undermines the spirit of cooperation, which is followed by ideological polarization and fragmentation of the political class. This happens because the more contenders there are, the more of them end up on the losing side. A large class of disgruntled elite-wannabes, often well-educated and highly capable, has been denied access to elite positions.
This was written when Donald Trump was known only as a real estate mogul and reality show host; well before this presidential election characterized by an unprecedented collapse of social norms governing civilized discourse – "epic ugliness," in the words of the New York Times columnist Frank Bruni.
The victory of Donald Trump changes nothing in this equation. The "social pump" creating new aspirants for political offices continues to operate at full strength. In addition to politically ambitious multi-millionaires, the second important source of such aspirants is U.S. law schools, which every year churn out twice as many law graduates as there are job openings for them – about 25,000 "surplus" lawyers, many of whom are in debt. It is emblematic that the 2016 election pitted a billionaire against a lawyer.
Another visible sign of increasing intra-elite competition and political polarization is the fragmentation of political parties. The Republican Party is in the process of splitting up into three factions: Traditional Republicans, Tea Party Republicans, and Trump Populists. These divisions run so deep that many Republicans refused to endorse Trump, and some even voted for Clinton. Similar disintegrative forces have also been at work within the Democratic Party, with a major fault line dividing Bernie Sanders' Democratic Socialists from the Establishment Democrats of Obama and Clinton.
So far in this analysis I have emphasized elite overproduction. There are two reasons for it. First, as I mentioned before, other factors are much better understood, and have been discussed, by social scientists and political commentators. Secondly, cliodynamic research on past societies demonstrates that elite overproduction is by far the most important of the three main historical drivers of social instability and political violence (see Secular Cycles for this analysis).
But the other two factors in the model, popular immiseration (the stagnation and decline of living standards) and declining fiscal health of the state (resulting from falling state revenues and rising expenses) are also important contributors.
From what I have seen so far, it seems unlikely that the Trump administration will succeed in reversing these negative trends. And some of the proposed policies will likely make them worse. For example, drastically reducing taxes on wealthy Americans will hardly strengthen the fiscal health of the state.
Thus I see no reason to revise the forecast I made three years ago: "We should expect many years of political turmoil, peaking in the 2020s."
But this is a science-based forecast, not a "prophecy". It's based on solid social science, the workings of which I have left "under the hood" in this article intended for a general audience. But the science is there. If you are interested in looking under the hood, see my recently published book, Ages of Discord.
Because it's a scientific theory, we also need to understand the limitations of what it can forecast. Cliodynamics is about broad social trends and deep structural causes of these developments. It did not predict that Donald Trump would become the American President in 2016. But it did predict rising social and political instability. And, unless something is done, instability will continue to rise.
So what's to be done? I find myself in the shoes of Hari Seldon, a fictional character in Isaac Asimov's Foundation, whose science of history (which he called psychohistory) predicted the decline and fall of his own society. Should we follow Seldon's lead and establish a Cliodynamic Foundation somewhere in the remote deserts of Australia?
This would be precisely the wrong thing to do. It didn't work even in Isaac Asimov's fictional universe. The problem with secretive cabals is that they quickly become self-serving, and then mire themselves in internecine conflict. Asimov came up with the Second Foundation to watch over the First. But who watches the watchers? In the end it all came down to a uniquely powerful and uniquely benevolent super-robot, R. Daneel Olivaw.
No, the only way forward is through an open discussion of problems and potential solutions, and broad-based collective action to implement them. It's messy and slow, but that's how lasting positive change usually comes about.
Another important consideration is that in Foundation, Seldon's equations told him that it would be impossible to stop the decline of the Galactic Empire – Trantor must fall. In real life, thankfully, things are different. And this is another way in which the forecasts of cliodynamics differ from prophecies of doom. They give us tools not only to understand the problem, but also potentially to fix it.
But to do it, we need to develop much better science. What we need is a nonpolitical, indeed a fiercely non-partisan center/institute/think tank that would develop and refine a better scientific understanding of how we got into this mess; and then translate that science into policy to help us get out of it.
Our society, like all previous complex societies, is on a rollercoaster. Impersonal social forces bring us to the top; then comes the inevitable plunge. But the descent is not inevitable. Ours is the first society that can perceive how those forces operate, even if dimly. This means that we can avoid the worst – perhaps by switching to a less harrowing track, perhaps by redesigning the rollercoaster altogether.