text:
|Publication number
|Publication type
|Application number
|Publication date
|Jan 30, 1996
|Filing date
|Nov 17, 1994
|Priority date
|Nov 17, 1994
|Fee status
|Publication number
|James T. Brady, Jaishankar M. Menon
|Original Assignee
|International Business Machines Corporation
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (15), Non-Patent Citations (4), Referenced by (60), Classifications (17), Legal Events (4)
|External Links: USPTO, USPTO Assignment, Espacenet
The present invention relates generally to a log structured array of storage devices, and in particular to a method for recovering from a device failure in a log structured array.
Data processing systems generally comprise a central processing unit (CPU) linked to a storage subsystem through an appropriate interface and control system. High performance subsystems include one or more large capacity direct access storage devices (DASDs) such as the IBM 3380 14" disk drive for mainframe computers. High performance subsystems offer the advantages of reliability, high data capacity, and performance. For instance, DASD subsystems can operate for long periods of time before experiencing a device failure. In the event of a device failure, error recovery mechanisms such as disk mirroring assure continuous data availability.
A primary disadvantage of large form factor subsystems is the high cost of DASD. Consequently, an economical alternative has emerged comprising arrays of parallel small form factor disk drives, e.g. the 21/2" and 31/2" form factor magnetic disk drives commonly used in personal computers and laptops, or the smaller 1.8" ff magnetic disk drives. Small form factor optical disk drives are yet another alternative. Small form factor disk drive arrays emulate large form factor devices, offering advantages such as low cost, small size, and reduced power consumption. Some performance improvements may also be seen due to a large number of actuators performing parallel data accesses. However, the reliability of such arrays is poor because device failures occur more frequently than in large device subsystems.
One subsystem array which emulates a large storage device is a log structured array (LSA). An LSA comprises a plurality of segmented storage devices controlled by a subsystem controller with memory. The host system interacts with a logical device residing in the controller memory. To the host, the logical device appears as a large storage device, and the host accesses data using a logical addressing scheme. The logical addresses are mapped into the physical array at the subsystem level so that they are transparent to the host system. An LSA directory is maintained to keep track of the logical track addresses and their corresponding physical array locations. An example of a small form factor LSA subsystem is disclosed in U.S. Pat. No. 5,124,987.
To compensate for poor reliability, a log structured array (LSA) implements a parity protection scheme. Incoming data is broken down into groups of data blocks of predetermined size. A block of parity information is generated for each data group, and the associated data and parity blocks are called a "parity group". Each parity group is "striped", or distributed, across the array such that no two blocks of the same parity group reside on the same device. Striping assures that, at most, only one block of data is lost to a parity group in a single device failure.
The physical location of data in an LSA changes over time. For example, the host may retrieve data from a logical address, then return it to the same logical address. However, the modified data is generally not returned to the same physical array location from which it was retrieved. Rather, it is received into a write buffer with new write data and eventually becomes part of a new parity group which is written to a free segment of the array.
Over time, data movement in an LSA creates "holes" of invalid data. These "holes" are consolidated into free array segments with a background garbage collection procedure implemented by the subsystem controller. Segments are selected for garbage collection based on predetermined criteria, such as a threshold number of invalid data tracks per segment or inactivity in the segment. All valid data remaining in the segment is read into the data buffer, and the segment is tagged as free. The valid data is then processed in the same manner as new write data.
Subsystems protected with parity require the reconstruction of lost data. A lost block of data or parity is reconstructed from all remaining blocks of the same parity group. Data blocks are reconstructed, for example, by retrieving the remaining data and parity blocks of the same parity group from the array and logically exclusive OR-ing them to form a new data block. Parity is restored, for example, by retrieving all of the data blocks of the parity group from the array and exclusive OR-ing them to generate a new parity block. Reconstructed blocks are placed in spare space within the subsystem, and their new locations are recorded in the LSA directory.
In a conventional subsystem array, spare space is reserved for data reconstruction in one of two ways. A first approach is to provide "dedicated spares", i.e. additional devices within the array reserved exclusively for data restoration. When a device failure occurs, information residing on the failed device is reconstructed and written to the spare device.
An alternative sparing approach is "distributed sparing", wherein spare segment columns are reserved across multiple devices of the array. Commonly assigned U.S. Pat. No. 5,258,984 describes one such distributed sparing method. Having spare space distributed within the array devices offers a number of advantages over a dedicated sparing approach. First, because all devices of the array are in use, overall system performance is improved. Moreover, spare devices which are inoperative will be discovered immediately, rather than at a point when data reconstruction is required. Yet another advantage is improved performance in subsystems with asynchronous actuators, since data restoration is performed in parallel operations. However, distributed spares further reduce the data capacity of a subsystem which already provides free space via garbage collection procedures.
What is needed is a method for using segments freed in the garbage collection process of an LSA for data reconstruction in the event of a device failure, eliminating the need for additional distributed spare space.
It is therefore a principal object of the present invention to use the segments available in a log structured array as spare space in the event of a storage device failure, thereby using array space more efficiently and eliminating the need for dedicated or distributed sparing schemes.
Another object of the present invention is to integrate the garbage collection and write processes into the error recovery procedures of an LSA by treating reconstructed data in the same manner as new and modified data.
A further object of the present invention is to provide a flexible subsystem architecture wherein device failures and the addition or removal of devices from a subsystem array is easily tolerated.
Accordingly, the present invention is directed to a method for recovering from a device failure in a log structured array, wherein reconstructed data is treated in the same manner as write data to simplify the error recovery process, and sufficient free space is maintained in the subsystem to accommodate both new write data and anticipated device failures.
A log structured array includes N+P physical storage devices such as magnetic disk, optical drives, or a combination of drive types. The array is structured into M segments, and a varying number of these are free at any one time. Data is stored in the subsystem as a plurality of N+P parity groups striped across the array, each group occupying one segment.
At all times, a sufficient amount of free space is maintained in the array to accommodate reconstruction of at least M-f data blocks, where f is a variable representing the current number of free segments, in the event of a device failure. In other words, a minimum of (M-f)/N segments worth of free space must be kept available for data reconstruction in order to recover from a single device failure. This is preferably done by limiting the number of logical addresses that are mapped to the physical devices. The free space is consolidated into free array segments using a standard LSA garbage collection procedure.
When a disk drive of the array fails, two procedures are initiated: 1) lost data blocks are reconstructed, placed into a data buffer, and then written to the subsystem in the same manner as write data from the host; and 2) each N+P parity group of the array is converted to an N-1+P parity group so that accurate parity information is maintained. The removal of a working device from the array is handled in the same manner as a device failure. When a failed drive is later replaced, the array is reconfigured as an N+P array either through the normal write processing, or by providing special procedures to perform the conversion on the spot.
The foregoing and other objects, features and advantages of the present invention will be apparent from the following detailed description of the preferred embodiments of the invention, and from the accompanying figures of the drawing:
FIGS. 1(a)and (b) are examples of small form factor storage subsystem arrays linked to a CPU through an appropriate interface;
FIG. 1(c) is a representation of a storage device array in a subsystem such as that shown in FIGS. 1(a) and 1(b);
FIG. 2 illustrates the RAID approach to mapping a logical device into a plurality of physical storage devices in a RAID array;
FIG. 3 is a representation of a log structured array;
FIG. 4 is a flow diagram of the recovery procedure of the present invention; and
FIGS. 5-8 illustrate a specific example of the recovery procedure of the present invention applied to the LSA of FIG. 3.
The device failure recovery procedure of the present invention will now be described with initial reference to FIGS. 1(a) and 1(b), showing two known architectures for linking a host computer central processing unit (CPU) 11 to an array subsystem. In FIG. 1(a), a host CPU 11 includes main memory 12 and a storage adapter 13 through which it communicates with the subsystem. The subsystem comprises a storage control unit 14, including a microprocessor 15 and nonvolatile RAM (NVRAM) 19, and one or more storage device arrays 17,18. The system shown may, for example, be an IBM AS/400 mid-range computer linked to an IBM 9337 subsystem through a SCSI interface 16. The IBM 9337 supports a RAID 5 array architecture and may be adapted to an LSA. The device arrays 17,18 may be a plurality of 31/2 inch magnetic disk drives linked to the storage control unit 14 through a SCSI interface 16.
Alternatively, the host computer may link directly to an array subsystem without a separate storage control unit 14, as shown in FIG. 1(b). In this configuration, the CPU includes main memory 12, and a storage adapter 21 with a microprocessor 15 and nonvolatile RAM 19 for controlling direct communication with the device arrays 17,18. The CPU adapter may, for example, be a Mylex DAC960P RAID adapter customized to support a log structured array and connected to a plurality of 31/2 inch device arrays through multiple channel SCSI interfaces 16.
A subsystem controller manages reads and writes to the array. The controller resides in the storage control unit 14 of FIG. 1(a), or the storage adapter 13 of FIG. 1(b) in cooperation with on-board controllers in the devices (not shown). The on-board controllers communicate with one another, e.g. through a SCSI bus.
An example of an N+P device array is shown in FIG. 1(c). It includes five physical storage devices 22, pd1-pd5, each subdivided into five contiguous regions or segment columns 26. Preferably, each segment column is the size of a physical cylinder. Rows of segment columns at corresponding locations across the devices form array segments, S1-S5. For example, segment S1 comprises each first segment column 24. Five devices and five segments are shown for illustration purposes. However, it will be understood that a subsystem array may include any number of devices, and each device may include thousands of segments.
Write data from the CPU is represented by arrow 33. In an LSA architecture, the write data is first received into a write buffer 35, preferably in the nonvolatile RAM 31 of the subsystem controller. The buffer is typically the size of an array segment, and is configured to include N+P blocks. Each block is assumed to be the size of a segment column. However, it will be understood by those skilled in the art that these blocks could also be smaller or larger than a segment column of the array. When the buffer is full, a parity block 23 is generated from the data blocks 28 to form a parity group. Parity groups are striped across the array such that no two blocks of the same parity group reside on the same device. For example, segment S1 of FIG. 1(c) contains the parity group including data blocks D1 and parity block P1. Segment S2 contains the parity group comprising data blocks D2 and parity block P2, and so forth. Preferably, parity blocks are distributed for the reasons discussed previously. For distributed parity schemes, a parity table may be maintained in NVRAM 31 listing each segment and the physical location of its parity block. Alternatively, the address of the parity block may be calculated algorithmically.
The CPU views an array subsystem as one or more logical devices. A logical device 21, 1d1, is represented in FIG. 2. It physically resides in subsystem memory and for illustration purposes comprises three logical cylinders 27, 1c0-1c2. It will be understood by those skilled in the art that a logical device may actually include thousands of logical cylinders. Incoming write data is represented in FIG. 2 by arrow 33. The CPU writes data to logical tracks of the logical device. Each logical cylinder holds a plurality of logical tracks, which may be of a fixed size, or may vary if the data is first compressed. The designations D1, D2 and D3 represent blocks of data stored in the respective logical cylinders. For illustration purposes, each logical block is four times the size of a physical cylinder.
Logical tracks are mapped to the physical addresses of a device array by the subsystem controller. Mapping is transparent to the CPU, since the CPU accesses data by logical address. A mapping algorithm is typically used to calculate the physical array address corresponding to each logical track address.
Mapping algorithms differ significantly between RAID arrays and LSA's. For example, the array shown in FIG. 2 is a RAID 5 array comprising five physical devices 22, pd1-pd5. Each device includes a plurality of physical cylinders, pc0-pcn, and corresponding device cylinders form array segments.
Data from each logical cylinder is striped across the RAID array 32 such that the contiguous relationship of the data in the logical device is preserved. For example, the data from logical cylinder 1c0 has been sequentially mapped to the first cylinders of devices pd1-pd4. The first cylinder of device pd5 contains a parity block corresponding to the data. Logical cylinders 1c1 and 1c2 have similarly been mapped to segments S2 and S3, and the parity blocks, P1-P3, are distributed.
In contrast, mapping in an LSA is dynamic, and is driven by space requirements rather than the desire to maintain contiguous data. For example, a subsystem array is shown in FIG. 3, including seven devices and seven segments. Each block of a parity group is the size of a physical cylinder for illustration purposes. Segments S1, S2, S5 and S6 are not available because they already contain parity groups. Segments S3, S4 and S7, however, remain free. New, compressed write data is received into write buffer 35, which preferably resides in nonvolatile RAM (NVRAM) 31. The write buffer 35 is preferably the size of an array segment.
When the write buffer 35 becomes full of data 28, a parity block 23 is generated, e.g. by exclusive OR-ing all of the data blocks in NVRAM. The new parity group is then written to one of the free segments still available in the LSA 32. Free segments are always maintained in the LSA for new parity groups using a known garbage collection procedure. A dynamic mapping table, or "LSA directory", is maintained in NVRAM for keeping an updated list of the logical track addresses and their mapped physical addresses. Whenever a new parity group is written to the array, the LSA directory is updated with new physical address information.
Another significant difference between RAID arrays and LSA's is the procedure for modifying data within the array. The write penalties of a RAID array are well-known. For example, referring back to FIG. 2, it will be assumed that a track of data residing in physical cylinder pc0 in device pd1 has been modified. For performance reasons, each data block D1 of devices pd1-pd5 comprises a plurality of subblocks having a corresponding parity subblock on device pd5. An update to physical cylinder pc0 requires that the subblock(s) containing the modified track and its corresponding parity subblock be read into a data buffer. A new parity subblock would then be generated, and the new and modified subblocks would be returned to their physical locations.
Updates to an LSA avoid some of the overhead associated with updates to RAID subsystems. It will be assumed, for example, that a track of data from the array of FIG. 3 has been modified. The modified track is simply placed into the write buffer to be processed with other incoming write data. The old data track remains at its present location in an array segment so that parity information does not require updating. However, the physical address of the old track in the LSA directory is replaced with its new location, thus invalidating the old data. Additionally, an invalid track count associated with the array segment is incremented. When a threshold number of tracks in a segment are invalid, a garbage collection procedure is invoked. Valid tracks are transferred from the segment to the data buffer 35 and processed with incoming write data, and the segment is marked as free. Generally, a segment is "marked" by maintaining a table of free segments in memory.
Presently, both LSA's and RAID arrays handle device failures in substantially the same manner. When a failure occurs, each lost block of the failed device is restored by fetching the remaining data and parity blocks of the same parity group into a data buffer and reconstructing the lost block, e.g. by exclusive OR-ing the fetched blocks together. The restored block is then placed on a distributed or dedicated spare. In a RAID array, the addressing algorithm is modified to update the block's new location. In an LSA, the physical address of the block is updated in the LSA directory.
The present invention is a method for recovering from a single device failure in an LSA which incorporates existing LSA procedures into the recovery procedure and hence eliminates the need for dedicated or distributed spares. According to a first aspect of the invention, the existing garbage collection and write processes are used to process reconstructed data blocks. In a conventional LSA, new parity groups can include three types of data: new write data, modified data; and valid data transferred to the write buffer during garbage collection. According to the present invention, new parity groups may also include reconstructed data blocks. Implementation of this aspect of the present invention requires that a sufficient amount of free space is maintained in the array to accommodate the additional data type. This may be accomplished, for example, by reducing the size or number of logical devices to be mapped to the physical array. According to a second aspect of the invention, parity information is updated for the surviving blocks of a parity group by converting each N+P parity group of the array into an N+P-1 parity group.
FIG. 4 is a flow diagram depicting the data recovery procedure according to the present invention. Device failures are detected according to presently known methods, e.g. detection of an uncorrectable error by the error correction code (ECC), or the failure of the device to respond. Upon the detection of a single device failure 40, a "snapshot" or copy of the free segment table is made to preserve its state at the time of the failure (step 41). Next, each segment of the array is checked by looping algorithm 42,43,48,44 to determine if it holds a parity group, e.g. by looking up the current segment in the snapshot free segment table. If the current segment is determined to be a free segment, the looping algorithm proceeds to the next segment of the array and performs the same lookup procedure. If the current segment is not listed in the free segment table, it is assumed that a parity group resides within that segment, and that a segment column of data or parity has been lost to that parity group.
In the next step 45, a determination is made as to whether the lost segment contained parity or data. Preferably, the determination is made by comparing the physical address of the lost segment column to the physical address of the parity segment column of the current segment. This address may be determined algorithmically or reside in a distributed parity table. If the lost segment column address does not match the parity segment column address, it is assumed that the lost block contained data. The procedure then advances to the next sequence of steps 47.
First, the remaining blocks of the parity group are transferred to a data buffer in subsystem RAM to reconstruct the lost data block, e.g. by XOR-ing the surviving blocks. The reconstructed block is then placed in the write data buffer, which is reduced in size by unallocating one segment column to adjust to the reduced array segment size, and is processed with incoming write data. The reconstructed block will eventually become part of a new parity block and will be written to a free segment of the array. Once reconstruction is complete, the contents of the current segment is converted from an N+P parity group into an N+P-1 group in the following manner. New parity is generated for the surviving data blocks of the parity group, preferably by XOR-ing the surviving data blocks which have already been transferred to the data buffer. The newly generated parity block is then transferred to the array segment to replace the original parity block.
If the lost segment column is found to be listed in the parity table, it is assumed that a parity block has been lost, and the process advances to an alternative sequence of steps 46. First, one data block of the parity group is removed to the write buffer, thereby freeing a segment column for a new parity block. The removed data block is processed with the incoming write data and will eventually become part of a new parity group. Next, the remaining blocks of the segment are transferred to a data buffer and a new parity block is generated therefrom, e.g. by XOR-ing the contents of the buffer. The new parity block is then placed in the freed segment column. Thus, the preceding steps convert the contents of the segment from an N+P parity group into an N+P-1 group.
Upon completion of one of the preceding sequences, the procedure advances to the next step 48 and compares the current segment number to the last array segment number. If the numbers match, the recovery procedure is complete and the process terminates. Otherwise, the procedure advances to the next array segment (step 44), and the entire sequence of steps is repeated. When the failed drive is replaced, the N+P-1 parity groups are converted back to N+P groups, e.g. through the normal write process.
An example of the preferred recovery procedure will now be described with reference to FIGS. 5-8. FIG. 5 shows the subsystem 32 of FIG. 3 with a failure indicated on device d2, the write buffer 35, and a parity table listing each segment and its corresponding parity block location. The write buffer has been decreased in size by one segment column in response to the device failure, and already contains some new write data, designated by W's. Bi-directional arrow 34 represents transfers between the write buffer 35 and the array 32.
A failure on device d2 causes the loss of three data blocks, D1, D2, and D5, and one parity block, P6. Upon detection of the failure by the subsystem controller, the recovery process of FIG. 4 is invoked. First, the state of the free segment table at the time of failure is preserved in some way, e.g. by making a "snapshot" copy 51 of the table in memory. Segment S1 is checked against the free segment table 51, and a determination is made that S1 is not listed. The failed device number is then compared with the device number corresponding to segment S1 in parity table 52. Since no match is found, a determination is made that the lost block in S1 is a data block, and the appropriate restoration sequence 47 of FIG. 4 is executed. Referring now to FIG. 6, the lost data block is reconstructed according to known methods such as those discussed previously. The reconstructed block, D1R 53, is placed into the next available location of the write buffer 35, as shown. It will be processed with incoming write data and will eventually form part of a new parity group. A parity block is generated for the remaining data blocks of the segment, according to known methods such as those already discussed. The newly generated parity block, P1new, is placed in the first segment column of device d7, replacing the old parity block of segment S1. Having completed the restoration sequence, the current segment number, S1, is compared to the last segment number, S7. There is no match, so S2 becomes the current segment. Restoration in segment S2 is essentially the same as that described for segment S1. Upon determining that S2 is not a free segment and that the lost block contains data, a new data block, D2R 54, is constructed and placed in the write buffer 35. New parity is generated for the surviving data blocks of the segment and is placed in the second segment column of device d6 as shown.
The procedure continues to segments S3 and S4, determines that they were free segments at the time of the device failure, and proceeds to segment S5. In the meantime, more incoming data is received in the write buffer, causing it to reach a full state. Write processing steps running concurrently with the recovery procedures cause a parity block 23 to be generated for all data in the buffer. The data and parity blocks of the write buffer 35 form a new parity group which will be written to a free segment of the array. Assuming that S3 is the next available segment, the new parity group is written to S3 as shown in FIG. 7, and S3 is removed from the original free segment table (not shown).
Returning to the recovery procedure of the present invention, lost data block D5 of the current segment S5 is reconstructed according to the same restoration sequences as the lost data blocks of segments S1 and S2. The reconstructed block, D5R 71, is placed in the write buffer 35 as shown, and newly generated parity block P5new replaces the old P5 parity block in device d3.
Proceeding to segment S6 and determining that it is not a free segment, a second determination is made that the lost block was a parity block because its location corresponds to that listed in the parity table 52 for segment S6. Consequently, the alternative restoration sequence 46 of FIG. 4 is executed. First, one data block D6 72 is transferred from the current segment to the write buffer 35. In the present example, the data block of device d1 was selected for removal to the write buffer. However, any other data block of segment S6 could have been removed. Next, parity is generated for the data blocks remaining in segment S6 and the new parity block, P6new, is placed in the freed segment column of device d1, as shown. Placing the data segment D6 72 into the write buffer 35 causes it to be full. Concurrent write processing generates a parity block 23 for the new collection of data blocks. The newly formed parity block is then written to a free segment of the array. Assuming that the next available segment is S7, the contents of buffer 35 are written to S7 as shown in FIG. 8. S7 is then removed from the original free segment table (not shown).
Recovery processing continues to segment S7. Segment S7 is compared to the free segment table 51 and is determined to have been a free segment at the time of the device failure. Since it is the last segment of the array, the recovery procedure terminates. When the failed device is eventually replaced, each N+P-1 parity group of the array is converted back to an N+P array, e.g. by restoring the write buffer to its original size and allowing the normal write process to effect the conversion.
To summarize the recovery method of the present invention, free segments of the array serve the function distributed of dedicated spare space in an LSA, eliminating the need for these additional elements and thereby increasing the subsystem data capacity. This result is achieved by converting each N+P parity group of the array to an N+P-1 group, reconstructing lost blocks according to traditional methods, and then processing the reconstructed blocks in the same manner as new write data rather than immediately placing them into spare space. Upon replacement of the failed drive, each N+P-1 parity group is restored to an N+P group. The recovery method may also be invoked at physical removal of a device from the array.
Although the recovery procedure of the present invention has been described with reference to a preferred embodiment, it will be apparent that equivalent substitutions and modifications may be made to portions thereof without departing from the spirit and scope of the present invention.
|Cited Patent
|Filing date
|Publication date
|Jun 12, 1986
|Aug 2, 1988
|International Business Machines Corporation
|Parity spreading to enhance storage access
|Jun 28, 1988
|Apr 3, 1990
|Storage Technology Corporation
|Disk drive memory
|Jan 11, 1990
|Jan 29, 1991
|Storage Technology Corporation
|Disk drive memory
|Jan 11, 1990
|Jan 29, 1991
|Storage Technology Corporation
|Disk drive memory
|Apr 16, 1990
|Jun 23, 1992
|Storage Technology Corporation
|Logical track write scheduling system for a parallel disk drive array data storage subsystem
|Oct 23, 1990
|Nov 10, 1992
|Inmos Limited
|Memory circuit capable of replacing a faulty column with a spare column
|Mar 2, 1990
|Nov 24, 1992
|Micro Technology, Inc.
|Data storage apparatus and method
|Mar 2, 1990
|Aug 3, 1993
|Micro Technology, Inc.
|Data correcting applicable to redundant arrays of independent disks
|Dec 21, 1990
|Aug 10, 1993
|Array Technology Corporation
|On-line restoration of redundancy information in a redundant array system
|Jun 13, 1991
|Nov 2, 1993
|International Business Machines Corporation
|Method and means for distributed sparing in DASD arrays
|Aug 3, 1990
|Nov 23, 1993
|International Business Machines Corporation
|Method and means for managing DASD array accesses when operating in degraded mode
|Jul 3, 1991
|Apr 5, 1994
|Ibm Corp. (International Business Machines Corp.)
|Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof
|Aug 26, 1993
|Sep 20, 1994
|Advanced Micro Devices, Inc.
|Sector-based redundancy architecture
|May 5, 1992
|May 23, 1995
|International Business Machines Corporation
|Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes
|Oct 4, 1990
|Jul 21, 1992
|Digital Equipment Corporation
|Method and apparatus for encoding and mapping magnetic disk sector addresses
|C. V. Crews et al., "Parity Preservation for Redundant Array of Independent Direct Access Storage Device Data Loss Minization and Repair", IBM Technical Disclosure Bulletin, vol. 36, No. 3, Mar. 1993, pp. 473-478.
|C. V. Crews et al., Parity Preservation for Redundant Array of Independent Direct Access Storage Device Data Loss Minization and Repair , IBM Technical Disclosure Bulletin, vol. 36, No. 3, Mar. 1993, pp. 473 478.
|D. A. Patterson et al., "A Case for Redundant Arrays of Inexpensive Disks (RAID)", Report No. UCB/CSD 87/391, Dec. 1987, Univ. of California, Berkeley, pp. 1-24.
|D. A. Patterson et al., A Case for Redundant Arrays of Inexpensive Disks (RAID) , Report No. UCB/CSD 87/391, Dec. 1987, Univ. of California, Berkeley, pp. 1 24.
|Citing Patent
|Filing date
|Publication date
|Feb 10, 1995
|Jul 30, 1996
|Hewlett-Packard Company
|Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system
|Feb 16, 1995
|Feb 18, 1997
|Hewlett-Packard Company
|Hole plugging garbage collection for a data storage system
|May 23, 1995
|Sep 23, 1997
|International Business Machines Corporation
|Log structured array storage subsystem using LSA directory and LSA sub-directory stored in different storage media
|Sep 10, 1996
|Jun 9, 1998
|International Business Machines Corporation
|Method and system for rebuilding log-structured arrays
|Nov 3, 1995
|Sep 1, 1998
|International Business Machines Corporation
|Method and apparatus for dynamic segment allocation in log structured arrays
|Oct 13, 1995
|Oct 20, 1998
|Digital Equipment Corporation
|Reconstructing data blocks in a raid array data storage system having storage device metadata and raid set metadata
|Sep 12, 1996
|Nov 3, 1998
|Veritas Software
|Log device layered transparently within a filesystem paradigm
|Oct 13, 1995
|Aug 3, 1999
|Digital Equipment Corporation
|Promoting device level error to raidset level error to restore redundacy in a raid array data storage system
|May 19, 1997
|Aug 3, 1999
|International Business Machines Corporation
|Garbage collection in log-structured information storage systems using age threshold selection of segments
|Mar 13, 1998
|Dec 21, 1999
|Hitachi, Ltd.
|Removable library media system utilizing redundant data storage and error detection and correction
|May 15, 1998
|Apr 18, 2000
|International Business Machines Corporation
|System and method for recovering a directory for a log structured array
|Sep 22, 1997
|May 30, 2000
|Samsung Electronics Co., Ltd.
|Split parity spare disk achieving method in raid subsystem
|Dec 19, 1997
|Aug 15, 2000
|Lsi Logic Corporation
|Method for mapping in dynamically addressed storage subsystems
|May 15, 1998
|Nov 21, 2000
|International Business Machines Corporation
|System and method for recovering a segment directory for a log structured array
|Jun 5, 1998
|Jul 3, 2001
|International Business Machines Corporation
|System and method for organizing data stored in a log structured array
|May 12, 1999
|Jan 1, 2002
|International Business Machines Corporation
|Method and system for preventing deadlock in a log structured array
|May 12, 1999
|Oct 8, 2002
|International Business Machines Corporation
|Method and system for increasing concurrency during staging and destaging in a log structured array
|Apr 30, 2001
|Oct 29, 2002
|International Business Machines Corporation
|System and method for organizing data stored in a log structured array
|Jun 14, 1999
|Dec 3, 2002
|International Business Machines Corporation
|Method and system for handling destage requests during shut-down in a log-structured array
|Apr 19, 1999
|Mar 18, 2003
|Research In Motion Limited
|Portable electronic device having a log-structured file system in flash memory
|Sep 14, 2000
|Aug 19, 2003
|Kabushiki Kaisha Toshiba
|Disk control system and data rearrangement method
|Dec 3, 2001
|Nov 4, 2003
|International Business Machines Corporation
|Integrated RAID system with the capability of selecting between software and hardware RAID
|Jan 29, 2002
|Jun 22, 2004
|Snap Appliance, Inc.
|Data engine with metadata processor
|Jan 29, 2002
|Aug 10, 2004
|Snap Appliance, Inc.
|Discrete mapping of parity blocks
|Apr 30, 2002
|Feb 22, 2005
|Lsi Logic Corporation
|Method for reducing data/parity inconsistencies due to a storage controller failure
|Jan 29, 2002
|Mar 1, 2005
|Adaptec, Inc.
|Dynamic redistribution of parity groups
|May 28, 2002
|Aug 23, 2005
|Sun Microsystems, Inc.
|Method and system for striping spares in a data storage system including an array of disk drives
|Jan 29, 2002
|May 30, 2006
|Adaptec, Inc.
|File system metadata describing server directory information
|Apr 2, 2004
|Jun 26, 2007
|Seagate Technology Llc
|Storage media data structure system and method
|Oct 20, 2004
|Dec 11, 2007
|International Business Machines Corporation
|System and method for persistent and robust storage allocation
|Dec 21, 2004
|Apr 8, 2008
|Adaptec, Inc.
|Dynamic redistribution of parity groups
|Feb 25, 2003
|Nov 4, 2008
|Storage Technology Corporation
|Management of multiple virtual data copies
|Aug 17, 2006
|Mar 31, 2009
|Osr Open Systems Resources, Inc.
|Managing lock rankings
|Feb 8, 2006
|May 19, 2009
|International Business Machines Corporation
|Method for servicing storage devices in a bladed storage subsystem
|Feb 19, 2009
|Oct 5, 2010
|Osr Open Systems Resources, Inc.
|Managing lock rankings
|Feb 8, 2008
|Mar 29, 2011
|Overland Storage, Inc.
|Systems and methods for storing parity groups
|Dec 27, 2007
|Apr 5, 2011
|Netapp, Inc.
|Dynamic parity distribution technique
|Aug 23, 2007
|May 24, 2011
|Osr Open Systems Resources, Inc.
|Log-structured host data storage
|Apr 24, 2007
|Sep 20, 2011
|Osr Open Systems Resources, Inc.
|Managing application resources
|May 18, 2009
|Jun 5, 2012
|Fusion-IO. Inc.
|Apparatus, system, and method for detecting and replacing failed data storage
|Mar 25, 2011
|Jul 3, 2012
|Overland Storage, Inc.
|Systems and methods for storing parity groups
|May 18, 2009
|Oct 2, 2012
|Fusion-10, Inc.
|Apparatus, system, and method to increase data integrity in a redundant storage system
|May 18, 2009
|Nov 6, 2012
|Fusion-10, Inc
|Apparatus, system, and method for reconfiguring an array to operate with less storage elements
|May 8, 2012
|Apr 2, 2013
|Fusion-Io, Inc.
|Apparatus, system, and method for managing data storage
|Oct 4, 2012
|Jul 23, 2013
|Fusion-Io, Inc.
|Apparatus, system, and method for reconfiguring an array of storage elements
|Jun 3, 2005
|Aug 27, 2013
|Osr Open Systems Resources, Inc.
|Systems and methods for arbitrary data transformations
|Aug 24, 2006
|Sep 17, 2013
|Osr Open Systems Resources, Inc.
|Managing access to a resource
|May 31, 2013
|May 27, 2014
|Fusion-Io, Inc.
|Apparatus, system, and method for reconfiguring an array of storage elements
|Sep 29, 2005
|Jul 15, 2014
|Overland Storage, Inc.
|Systems and methods for load balancing drives and servers
|May 18, 2010
|Sep 9, 2014
|Fusion-Io, Inc.
|Apparatus, system, and method to increase data integrity in a redundant storage system
|Nov 2, 2012
|Dec 2, 2014
|Osr Open Systems Resources, Inc.
|File system directory attribute correction
|Sep 13, 2012
|Jan 27, 2015
|Overland Storage, Inc.
|Systems and methods for load balancing drives and servers by pushing a copy of a frequently accessed file to another disk drive
|Jul 22, 2013
|Mar 24, 2015
|Osr Open Systems Resources, Inc.
|Systems and methods for arbitrary data transformations
|Jan 29, 2002
|Oct 24, 2002
|Ulrich Thomas R.
|File system metadata
|Oct 20, 2004
|Mar 10, 2005
|Challenger James R. H.
|System and method for persistent and robust storage allocation
|Dec 21, 2004
|Jun 30, 2005
|Ulrich Thomas R.
|Dynamic redistribution of parity groups
|Apr 2, 2004
|Oct 6, 2005
|Lubbers Clark E
|Storage media data structure system and method
|Sep 29, 2005
|Feb 9, 2006
|Ulrich Thomas R
|Systems and methods for load balancing drives and servers
|Jan 22, 2015
|Jul 29, 2015
|DSSD Inc.
|Method and system for service-aware data placement in a storage system
|Jan 22, 2015
|Jul 29, 2015
|DSSD Inc.
|Method and system for service-aware parity placement in a storage system
|U.S. Classification
|International Classification
|Cooperative Classification
|European Classification
|Nov 17, 1994
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BRADY, JAMES THOMAS;MENON, JAISHANKAR MOOTHEDATH;REEL/FRAME:007243/0040;SIGNING DATES FROM 19941104 TO 19941117
|Jun 25, 1999
|Fee payment
Year of fee payment: 4
|Jul 10, 2003
|Fee payment
Year of fee payment: 8
|Jul 13, 2007
|Fee payment
Year of fee payment: 12


text:
CTRL Lab
Hurst Hall, Room 202
CTRL Lab
4400 Massachusetts Avenue NW
Washington, DC 20016
Environmental Security
This University of Toronto database includes around 20,000 items, with information from related fields such as ecological sciences, demography, development studies, economics, political science, conflict studies, anthropology, and regional studies.
Global Environment Outlook (GEO)
Its online database holds more than 450 different variables, as national, subregional, regional and global statistics or as geospatial data sets (maps), covering themes like Freshwater, Population, Forests, Emissions, Climate, Disasters, Health and GDP.
United Nations Environment Programme
Links to state-of-the-environment reports from countries and regions of the world.
United Nations Statistics Division
The Division regularly publishes data updates, including the Statistical Yearbook and World Statistics Pocketbook, and books and reports on statistics and statistical methods. Many of the Division's databases are available on their website.

subset: commoncrawl


text:
This Tesco Go Cook lemon zester is made from quality stainless steel and is long lasting. It will grate your lemons well, perfect for when you want to sprinkle some zest on a cake or over a salad. It is dishwasher safe.
Catalogue Number: 212-9179
- Made from quality stainless steel
- Soft grip handle
- Dishwasher safe
Buy on Tesco Direct from:
Earn 4 Clubcard points
1 Special offer
Save £5 on Home, Cook and Dine with eCoupon code TDX-HKNP when you spend £30
See other products that qualify for this offer
Excludes Tesco Partners. Offer ends 07/10/2015


text:
Come help us make a community quilt that will be installed throughout the ground floor of the library! Participants will investigate their surroundings and make connections about the landscape, manmade world, and community. Experimenting with various materials such as paper or fabric students will collage and create a collaborative large-scale interlocking quilt that draws inspiration from the Quilts of Gee's Bend Alabama. The final piece will be crafted out of discarded materials, similar in concept and tradition as the historical Gee's Bend Quilts.
Green Art Workshop is a hands-on, eco-conscious program that brings teaching artists into Bay Area classrooms and libraries.
Come to the library, check out the show, get a library card, and enjoy some books!
Upcoming Events
- Natalie Baszile Book Talk and Discussion
- Thursday, October 8, 2015, 6:00 pmBayview, Bayview Meeting Room
- African American Geneology
- Saturday, October 10, 2015, 12:00 pmMain Library, Computer Training Ctr. 5th Floor
- Slavery: Ancient Greece and Rome vs. the American South
- Wednesday, October 14, 2015, 7:00 pmMerced, Merced General Floor Area
Current Exhibits
- Internal Reflections
- Through Sunday, November 15, 2015Main Library, African American Center
*Funded by Friends of the San Francisco Public Library.


text:
WIMBLEDON, ENGLAND (AP) - Rafael Nadal felt something "crush" in his left foot, and the intense pain immediately made him worry that it might be broken.
And then, as he limped along between first-set points in the fourth round at Wimbledon, came an idea just as scary to contemplate: What if he needed to quit?
"I thought I wouldn't be able to continue playing," the defending champion and top-seeded Nadal said Monday night. "That's the truth. I'm not lying."
After pulling out a 7-6 (6), 3-6, 7-6 (4), 6-4 victory over 2009 U.S. Open champion Juan Martin del Potro, Nadal said he would get an MRI exam on the foot and couldn't be 100 percent sure how fit he'll be for his quarterfinal Wednesday against 10th-seeded Mardy Fish of the United States.
"I'm worried, for sure. I'm going to do the MRI. We'll see what's going on. Tomorrow, we will see," Nadal said. "I cannot predict the future."
By getting past del Potro, Nadal improved to 30-2 at Wimbledon since the start of the 2006 tournament. He's joined in the quarterfinals by the rest of the top four seeded men: No. 2 Novak Djokovic, No. 3 Roger Federer and No. 4 Andy Murray.
"We've all been playing well, I think the top four or five guys really, for a long time," said Federer, a six-time champion at Wimbledon. "I think it's exciting for tennis."
He dropped a set for the first time in his four matches at Wimbledon this year before coming back to beat 18th-seeded Mikhail Youzhny of Russia 6-7 (5), 6-3, 6-3, 6-3 and reach the quarterfinals at a record 29th consecutive Grand Slam tournament.
Federer, now 11-0 against Youzhny, compiled 54 winners _ including 14 aces _ and broke six times.
Two-time Australian Open champion Djokovic kept up his bid for a first Wimbledon title by beating Michael Llodra of France 6-3, 6-3, 6-3. Djokovic can replace Nadal at No. 1 in the rankings by reaching Sunday's final.
Murray, meanwhile, breezed past No. 17 Richard Gasquet of France 7-6 (3), 6-3, 6-2 _ then took a deep bow to the Royal Box, where Prince William and bride Kate joined the rest of the crowd in giving Britain's top player a standing ovation.
Murray is hoping to become the first British man to win the title at the All England Club since Fred Perry in 1936. After Monday's victory, Murray met with the royal couple, then sheepishly apologized to them for his appearance.
"If I'd known they were coming, I would have shaved," the Scot said with a smile. "I was thinking to myself as I came off I was sweaty and very hairy. I said to them, 'I'm sorry, I'm a bit sweaty.' But it was really nice."
In addition to Nadal-Fish, the quarterfinals will be Djokovic vs. 18-year-old qualifier Bernard Tomic of Australia, who beat Xavier Malisse of Belgium 6-1, 7-5, 6-4 to become the youngest man to make it this far at Wimbledon since Boris Becker won a second consecutive championship in 1986; Federer vs. No. 12 Jo-Wilfried Tsonga of France; and Murray vs. unseeded Feliciano Lopez of Spain.
Tsonga got past No. 7 David Ferrer of Spain 6-3, 6-4, 7-6 (1), while Lopez came back from two sets down to eliminate Lukasz Kubot of Poland 3-6, 6-7 (5), 7-6 (7), 7-5, 7-5.


text:
- Following Apple, Samsung and Microsoft, Micromax Planning to Develop Android OS
- Samsung Galaxy Folder flip phone with Android 5.0 Lollipop unveiled
- Android mobile operating system bug affects `billion` smartphones
- Oh Great, New Android Flaw Lets Hackers Into Your Phone With Just a Text
- Ouya, video-game console startup, gets scooped up by Razer
- Samsung event invite teases the Galaxy S6 Edge Plus
Download About Eczema Android App
Eczema is a common skin problem. If you have eczema or think you might have it, here`s how to deal with it.
Here is some useful knowledge for you.
The About Eczema is now available for for Android owners. The application is designed for use in English language. It weighs in at only 10MB to download. The new About Eczema app version 1.0.1 has been updated on 2014-11-05. The Google Store includes a very useful feature that will check if your device and Android version are both compatible with the app. Most iPhone and iPad are compatible. Here is the app`s compatibility information: full Internet access ,
More Info: Find more info about About Eczema in LovePoint `s Official Website : http://socialping.wordpress.com/
Click4more: Related apps about eczema
Tags : eczema
Related apps
Android App About Eczema 1.0.1
R:4.5 - Ratings-
Related apps - like About Eczema 1.0.1
More in Entertainment - like About Eczema
More by LovePoint - for About Eczema 1.0.1


text:
Garni Moon
No prices found through our partners. Please contact the business directly or check some of our recommended alternatives.
How has this b&b rated in the past?
Travelers also recommend:
TripAdvisor Reviews Garni Moon Livigno
Travel Blogs from Livigno
More extreme hiking
... climbing an almost vertical path to reach the top of the pass some 740 meters higher. Once again the weather was hot and we found ourselves dripping with sweat as we struggled to the top.
However all was not in vain as we were greeted by a stunning view of crystal clear lakes where we stopped for a picnic lunch.
From here it was pretty much downhill the whole way and we arrived at Lake Palpogna where ...
Springbok rugby failure in Switzerland
... I was pleased to find that Jan was ready for us and had set up a screen in the lounge, so with cold beer in hand and junk food to munch on we proceeded to watch the Boks get a hiding from Argentina via Live Screening on the internet.
Jan enjoyed the match but I must say I was disappointed with the ...
Enough rest......time to hike
... eventually arriving at Madulain where we were supposed to catch the train. On arrival we discovered that the train was going to take another hour before arrival, so decided to walk the two kilometers back to La Punt where we treated ourselves to an ice cream before boarding the bus back to Silvaplana.
In the evening Stef and Jan joined us for supper which consisted of chicken and salad.
A braai with the locals
... br>
We were invited over to Stef's house to braai with all her friends from the kite school, so armed with some Pork Neck and a salad we set off by bicycle to Chamfer. The braai was set up on Stef's huge veranda and soon we were surrounded by the youth of the Engadin. A nice bunch of kids, they hail from all parts of Europe ...
Pontresina 5 - 7
... enjoying the simple sights and savoring the beauty of these quaint villages of the Engadin Valley. That evening, the gang celebrated Dave and Janet's anniversary at one of the local Pension Hotel restaurants.
Thursday was another full day of riding, back along the Engadin Valley, north from Zernez, over Fluela Pass this time, dropping down to the town of Davos, site of G-8 summits and another playground for the rich and famous. Gun stopped to get ...


text:
Informazioni Sulla Struttura: Boutique Hostel Forum accoglie tutti i tipi di ospiti offrendo un'alloggio sia per i... Maggiori informazioni »
Apartmani Benic offers 3 beautiful apartments for rent at affordable prices for holidays in the famous tourist resort... Maggiori informazioni »
FREE BIKES FOR EVERYONE!!!! Bicycles are on your disposal 24h a day! Those who book five nights or more will... Maggiori informazioni »
We offer four rooms with double bed with private bathroom and terrace or balcony with beautiful view of the nice... Maggiori informazioni »
Situato nel centro della città vecchia, è il luogo perfetto per godere di questa bella città. È vicino a tutti i... Maggiori informazioni »
Situato in una casa 100yr vecchia, Studio Hostel, una di medie dimensioni ostello nel cuore di Zara, offre... Maggiori informazioni »
Waterfront property located in town of Bibinje just 7km from historic city of Zadar. 3 apartments available all... Maggiori informazioni »
Old Town Hostel is the only hostel to be found in the old city of Zadar. We are located just 20 meters from the... Maggiori informazioni »
We are the only hostel in Zadar owned and run by fellow travellers. Set in a charming part of town only 15 minutes... Maggiori informazioni »
The Four Corners hostel has 4 rooms (bunk beds), men's and women's bathrooms, male and female toilets and a small... Maggiori informazioni »
Villa with garden ,outdoor and indoor space for comfortable stay.Spacious rooms with modern shower.Space equipped... Maggiori informazioni »
Marin Apartment is a new luxury apartment in Zadar, on the second floor of our family house in the quiet... Maggiori informazioni »
The Rooms Center, is located on main square between many cafes with sunny terraces, discos and restaurants that offer... Maggiori informazioni »
My listing can comfortably fit up to 4 people. It is unique because of its location. In the middle of the Old... Maggiori informazioni »
Hostel Kolovare is a quiet and relaxed place to enjoy Zadar. It is located in the first row by the Kolovare beach, 5... Maggiori informazioni »
House are located 50 meters to the Adriatic Sea for rent in Bibinje Croatia. House has 2 apartments which can... Maggiori informazioni »
The Apartment Vilma: 28 qm ( square meters ) , completely renovated, Garsonier ( 1 large room ), 3th floor.... Maggiori informazioni »
At Rooms Laura Zadar, we offer you a nice family atmosphere and you can experience here a real life of Zadar people.... Maggiori informazioni »
Modern equipped "Apartment Elena" in Zadar is located in a quiet new residential area "Blue Garden". Apartment is... Maggiori informazioni »
Apartments by the sea. New build apartments, situated 70 m from the beach, in the green environment for your absolute... Maggiori informazioni »


text:
Apple's Steve Jobs on innovation, iPod releases
In an interview with Brian Williams for NBC News, Apple CEO Steve Jobs commented on innovation and the speed in which new iPods are being released. "As the technology keeps moving and lets us do more and more, we want to bring customers with that, not just leave them using stuff that they could do five years ago," Jobs said. "You keep on innovating, you keep on making better stuff. And if you always want the latest and greatest, then you have to buy a new iPod at least once a year." When asked by Williams where he sees himself in the American family of thinkers and inventors, Jobs said: "I think if you do something and it turns out pretty good, then you should go do something else wonderful, not dwell on it for too long. Just figure out what's next."
Related Stories
Hey Steve can I have .5 percent of your gross annual earnings? Then I could afford to buy a new iPod every year. Until then I got to tell the wife and kids sorry no dinner this week I'm gonna buy a new iPOD.
Posted by LC Angell on May 26, 2006 at 12:46 PM (CDT)
He didn't say you had to buy a new iPod every year, just that technology was progressing so fast that if you always wanted the latest and greatest you would have to.
If that wasn't the case then Apple would lose their edge in the market because they'd be stagnating innovation wise.
Posted by LC Angell on May 26, 2006 at 12:50 PM (CDT)
2$ a day will get you a new ipod every year… not that much really ;)
Posted by LC Angell on May 26, 2006 at 12:54 PM (CDT)
iPods are $730 now?
Posted by LC Angell on May 26, 2006 at 1:12 PM (CDT)
somebody gotta go back to the 2nd grade…
Posted by LC Angell on May 26, 2006 at 1:37 PM (CDT)
musta been listening to his iPod instead of paying attention in math class… ;)
Posted by LC Angell on May 26, 2006 at 1:39 PM (CDT)
don't be too hard on Dzign—-probably just rattled off a quick figure…with the current price point on a 30 gig, not to mention nanos and what not, you could obviously keep up with the newest iPod for under $1 per day, or approximately the price of a newspaper.
Posted by LC Angell on May 26, 2006 at 1:56 PM (CDT)
so when is the new one coming out?
Posted by LC Angell on May 26, 2006 at 1:57 PM (CDT)
iPods seem expensive at first, but if you compare the amount of entertainment I get out of my iPod, the overall cost to entertainment value ratio is probably the highest of anything I own.
I use my iPod everyday for 6-7 hours at work, plus 45 minutes in my car, and then probably about 20-30 minutes at home. That's about 7-8 hours a day.
So far I have been keeping iPods for about 2 years… That's about .34¢ a day. (not counting what I spend on music, which is a whole different story).
Posted by LC Angell on May 26, 2006 at 2:07 PM (CDT)
Boy, I sure hope "the next big thing" is really great, and I hope not to have to wait too long for it! :)
Posted by LC Angell on May 26, 2006 at 2:18 PM (CDT)
Jeffery Simpson-
Lame comment, bro!
Posted by LC Angell on May 26, 2006 at 3:07 PM (CDT)
ort, you spend 1/3 of every day listening to music, podcasts, or videos on your ipod?
Jesus, takes those stupid ear phones out of your ears and listen to the world around you.
Posted by LC Angell on May 26, 2006 at 4:57 PM (CDT)
Which means another 1/3 is sleeping, so he he has 8 hours free time.
Posted by LC Angell on May 26, 2006 at 5:45 PM (CDT)
If you want the latest and greatest of anything you have to at least buy one a year. How often does a new processor come out. Or how about cell phones nokia and Motorola come out with new phones all the time. What is apple supposed to do not keep innovating and coming out with new products. I would say one new iPod a year is just right. And just because there is a new one out doesn't mean your old one doesn't work just as well as it always has.
Posted by LC Angell on May 26, 2006 at 6:29 PM (CDT)
hmm..i buy an ipod a year..almost. i got my first one 7/2005…another one 2/2006 and another 4/2006.
you mean to tell me that this is his evil plan??? well he made a fool of me.
Posted by LC Angell on May 26, 2006 at 6:57 PM (CDT)
ok. 52 weeks in a year. if you work monday through friday thats 5 days (duh). 52 x 5 = 260
the sales tax in florida is 6.5 percent. so that would make a $400 60gb 5G ipod $426.
$426 divided by the 260 days a year we work is about $1.65 per day you work. so basically, $1.65 of every day you work for a year will buy you a video ipod. thats not that bad.
Posted by LC Angell on May 26, 2006 at 7:29 PM (CDT)
A lame comment is something with no substance to it…so at least Jeffery Simpson is actually saying something (in my opinion pretty valid points). A lame comment goes something to the affect….
Talking Madness -
Lame comment, bro!
BTW - appropriate moniker bro!
Posted by LC Angell on May 26, 2006 at 8:21 PM (CDT)
Admit it, there's something absurd about buying an iPod a year. You may do it, I know I've done it, but there's something absurd about it. Jeffery's standard "I got your back Jobs" response was lame, and you know it. If you don't know it, just think about it for a minute and you'll get it. I know you will get it, you're a smart guy.
Oh, thanks for the compliment.
Posted by LC Angell on May 27, 2006 at 12:52 AM (CDT)
Talking Madness -
Mate, in any other field I'd admit that the ompany were extracting the urine and ultimately to Jobs this means more money - bottom line. But, in defense of Mr. Simpson - no one's got a gun to our heads to buy one. In fact, I bloody try and talk my way out of buying the latest iPod release each time - but fail! And why do I fail? Because each new iteration either has new design or functional features I gotta have. Each to their own, but I know I'm waiting with baited breath for the next one. This strategy will only fail when Apple undelivers on the cost tradeoff of procuring this new kit, to date I ain't been dissapointed yet….....
Posted by LC Angell on May 27, 2006 at 7:47 AM (CDT)
Are you kidding? $1.65/day is not that bad? Do you have any experience managing money? How much do you think your self phone costs you per day? Your car? $1.65/day is about $50/month. That's not nothing; that's a bill—in case you've ever paid one.
Posted by LC Angell on May 27, 2006 at 3:17 PM (CDT)
Recent News
- Report: Apple holding $181.1 billion in offshore tax havens
- Apple releases fourth iOS 9.1 beta, third tvOS beta to developers
- Apple taking reservations for new iPhones in six European countries
- Apple adds transit directions for Boston, Sydney
- Apple acquires artificial intelligence firm Perceptio
- Apple rolls out app thinning in iOS 9.0.2
- Apple Pay transaction numbers still low overall
- Apple releases Apple Watch Hermès collection
- Apple to open Apple TV's universal search API to more content providers
- Adobe releases Photoshop Fix, Capture CC apps for iOS
Recent Reviews
- Scosche boomBOTTLE+ Waterproof Wireless Speaker
- Just Mobile Quattro Folio for iPhone 6s
- X-Doria Defense Lux for iPhone 6s/6
- Spigen Perfect Armor for iPhone 6s, Slim/Tough Armor for iPhone 6s Plus
- Spigen Neo Hybrid / Carbon / EX + Ultra Hybrid for iPhone 6s/6s Plus
- Speck CandyShell Clear and CandyShell Inked Jonathan Adler for iPhone 6/6s
- BenQ treVolo Bluetooth Portable Electrostatic Speaker
- iPhone 6s and iPhone 6s Plus
- TrackR bravo
- Apple iPad mini 4 Silicone Case + Smart Cover
Recent Articles
- Instant Expert: Secrets & Features of iOS 9.0
- Under the Radar: A closer look at smaller iPhone 6s and iPhone 6s Plus changes
- A First Look at iOS 9's Transit in Apple Maps (Updated for watchOS 2)
- Instant Expert: Secrets & Features of iTunes 12.2
- Instant Expert: Secrets & Features of iOS 8.4 + Apple Music
- CE Week 2015: IK Multimedia, Monowear's Apple Watch bands + More
- Live From CE Week 2015: Brand New iPad, iPhone + Mac Accessories!
- Opinion: The 'Grand Experiment' of shifting to Google Photos
- Will removing a credit card from Safari also remove it from Apple Pay?
- Can I mute Handoff calls coming into my Mac from my iPhone?


text:
LETTERKENNY TOWNSHIP, Pa. — This small industrial community amid the farmlands of Franklin County knows how to face adversity: About 4,000 people lost their jobs in the early 1990s when one of the county's biggest employers — the Letterkenny Army Depot — began paring back work after the end of the Cold War.
Residents are bracing to take another hit by the depot, which provides about $250 million each year to the local economy of mostly mom-and-pop businesses. On Friday, its civilian workers will begin taking unpaid leave to help the Pentagon balance its books.
"It's a 20 percent pay cut every payday," said Jerry Mellott, a depot worker and president of the National Federation of Federal Employees' Local 1429. "It really hits you in the wallet."
PHOTOS: In Pennsylvania community, Pentagon furloughs deal blow to economy, pride
It's more than the financial hit that has upset workers at the depot, where Army missiles and vehicles are maintained, repaired and stored as part of the Army Aviation and Missile Command. The welders, machinists, mechanics and inspectors who work here took an oath to support and defend the U.S. Constitution against "all enemies, foreign and domestic" — and they consider their jobs as duties to protect troops in the battlefield.
Pride — in work, family and community — runs deep. About 42 percent of the depot's civilians and contractors are veterans, and the workforce's average age is 45.4.
"It takes the wind from your sails," one depot employee said of the furloughs. "We don't just sit at a desk and push papers: We work with our hands. So telling us not to come to work one day a week is like telling the mailman he can't deliver the mail."
Factory walls prominently display posters and framed photographs of troops whose lives have been saved by vehicles repaired at Letterkenny, and some of those service personnel have visited the depot to thank the workers personally for their lifesaving labors.
One shows Sgt. Ryan German of 1st Battalion, 1st Marines Division, who visited the depot after his armored vehicle survived a 400-pound roadside bomb in Iraq on Aug. 25, 2007.
Several of its machines are dedicated to service members who have given their lives for their country. One is dedicated to Army Green Beret Master Sgt. Benjamin F. Bitner, who was killed in Kandahar, Afghanistan, on April 23, 2011.
"We are proud to dedicate the Bitner Positioner in memory of MSG Benjamin F. Bitner, Greencastle, Pennsylvania, for his honorable service and for making the ultimate sacrifice in the defense of liberty and the cause of freedom," a plaque reads. The positioner is used to help repair vehicles that protect troops from roadside bombs.
Situated about 100 miles north of the nation's capital, the Letterkenny Army Depot employs about 2,600 civilians and contractors who will be subject to furloughs. The Pentagon has directed about 650,000 of its 800,000 civilian employees to begin taking 11 days of unpaid leave before the start of the next fiscal year, Oct. 1.
The furloughs will take an economic toll here, where the per capita income is $25,298 and the median household income is $51,171, according to the Census Bureau. Some residents are trying to figure out how to get by on less, even as the national economy supposedly is improving.
"I'm definitely concerned," said Toby Coy, a depot supervisor from Shippensburg, Pa., and father of three, ages 13, 19 and 22. He said he may have to cancel the family's summer vacation this year.
Since March, the depot has brought in financial counselors to advise and assist workers in debt and credit management, and budgeting, as well as coping with anxiety and depression.
Pentagon officials say the civilian furloughs are necessary to meet the demands of a curtailed budget. Since March 1, the Defense Department has been forced to trim about $500 billion in spending over the next 10 years via automatic budget cuts called sequestration, the result of lawmakers' failure to agree on how to close the $1.3 trillion deficit.


text:
Coding Practices – The Modulus Operator..
August 11, 2008
During my travels of programming video games for a living, I take great pleasure in the fulfillment of learning, exploring & experimenting with algorithms & the intricacies of programming languages everyday. Being a gamplay programmer I tend to find that I make regular use of the modulus operator & it seems to be one of those little tools that most people seem to overlook but can be really useful for a variety of problems. So I thought it might be a good idea to write a little article about my experiences with lil' old '%' & hopefully it maybe able to encourage others share good practical uses for it too & hopefully teach me a thing or two.
Before we begin I'd just like to make a note that I'm going to be using C# for all my examples considering this blog are generally c#/XNA-centric (however i'm pretty sure the same functions for the modulus operator can be applied in C/C++ & most other languages)..
So What Is The Ol' Mod..?
The Modulus operator (sometimes termed 'Modulo' in computing fields) defines an operation which returns the remainder of a division of one number by another. So for example if we take the any dividend 'a', & a divisor 'n' then we can define a % n (a modulo n) as the remainder.
So if we have 7 % 3 then we look at it as an integer division of only the proportion of the numbers which can evaluate to a whole number. In this case we see that 7 / 3 doesn't equal a whole number (equals 2.333) however 6/3 does (leaving no remainder) so to find the modulus of this expression we can treat 7 / 3 as 6/3 + remainder which tells us that the remainder is 1. Here's a few more examples just to help you get your head around the idea:-
8 % 4 = 0
12 % 16 = 12
So a few rules to bear in mind which will help you use the operator in practice:-
- if a / n equals a whole number then a % n always equals 0
- if a is less than n then a % n always equals a
- if a is greater than n then a % n always equals a value between 1 and n-1
As we can see these three simple rules help put things into perspective & should now hopefully give us a really sound idea of some of the ways we can use the operator in practice.
Let's Get To The Main Course Already..!
OK so now we're ready to begin looking at some of the ways we can use the modulus operator & it's unique properties for something useful. Here's what I have so far:-
Wrap-Around & Looping Number Iteration
Sometimes in our travels we may need to iterate through an array in such a way that we can use an incremental index value that can be reset once it goes beyond the bounds of the array. Modulus is really useful for doing these tasks as, looking at rules 1, 2 & 3, we can see that it's zero-based in nature & perfectly suited to this kind of 'wrap-around' processing. So where we would have once had something like this
// increment index & return the item in the array
if (i >= maxNumValues) i = 0;
return foo[i];
We can now substitute it for something like this
// increment index & return the item in the array
return foo[ (i++) % maxNumValues ];
Not a massive change but at least we've saved ourselves a few extra lines of code & removed the branch statement.
2D Coordinate Indexing
On several occasions i've found that I needed to index data in a 2D grid format. Whether it be indexing tiles on a spritesheet or onscreen items in a grid there's generally a tendencies to define the data in a 'flattened' array format & make the grid-like behaviour implicit in it's use. So say we have a sprite sheet containing a grid of tiled sprites of size d x d pixels and arranged in a grid of 4 x 4 tiles. if we treat the tiles as a 1D array of data then we can index each value from left-to-right, going from top-to-bottom starting at 0 and ending at 15 (4 x 4 -1 since it's zero-based). in this case if we wanted to get the coordinates of a tile as say index = 9 we could do the following
- count up the indices from 0 to 9 & in each step:-
- add 1 to x & if x is greater than the number of tiles in a row then remove the number of tiles in a row from x & add one to y
- multiply x by the tileWidth & y by the tileHeight & return the two values
This will work if you use a while loop and branch statements but it will end up taking up several lines of code & could end up being overly complex. However if we use the modulus operator we can do it much quicker/cleaner
x = index % numTilesRow;
y = ( index – x ) / numTilesRow;
return new TileDims( x * tileW, y * tileH );
I added the struct TileDims just for illustration purposes but beyond that it's a pretty neat & cheap solution. Also we can reverse this & retrieve the index from the coordinate values in a simple fashion
// return the index for x & y
return x + ( numTilesRow * y );
Detemining Odd or Even Numbers
We can use % to determine whether a number is odd or even by examining exactly what it is we mean by 'odd' & by 'even' first. by definition an odd number is any number that cannot divide into 2 (i.e. odd / 2 != wholeNum). With this in mind we can do a simple check for this
// odd number check
if ( num % 2 != 0)
// odd number..
// even number..
Simple to use but it can save alot of time trying to determine whether this is true using a brute force, iterative approach.
How Many 10s, 100s etc In A Decimal Value
Sometimes we may need to figure out how many 10s are in a number for example, which can be especially useful of you need to separate the digits of a number for rendering on multiple quads. Again the implementation is pretty simple
// find the number of 10s & 100s in num
tens = ( num – (num % 10) ) / 10;
hundrds = ( num – (num % 100) ) / 100;
So that's it from me!
Please feel free to drop any comments you have & also I'd love to hear about any other neat little % tricks you've discovered during your own coding travels..!
– The Hog
12 Responses to "Coding Practices – The Modulus Operator.."
April 16, 2009 at 9:15 pm
Hi. It's worth profiling the two solutions. Modulus, although quick and easy to code and read is likely to be slower at runtime, by a significant amount. Branch prediction, present in C# & other languages, would contribute to this disparity.
Seems counter intuitive I know, but that little operator can cost you many precious cycles in a time critical routine.
June 22, 2009 at 6:55 am
@oladotunr, I'd be interested to know where MSDN alludes to this being the case, do you have a link?
March 16, 2010 at 5:33 am
I have been looking for something like this, how can I make a value that goes from -99999 to 99999 behave in a manner to be say from 0 to 149 ??
N mod 150 = 0 to 149
But, if N goes negative then the result mirrors?
April 8, 2011 at 1:01 pm
Interesting arcticle, read the whole thing, not what I was looking for though :) So that should be a complement to dig for in here!
March 5, 2014 at 10:05 am
2D coordinates, 10s and 100s:
I don't know about C#, but standard C has the function div() in : http://en.cppreference.com/w/c/numeric/math/div
That way you get both the division result and the remainder at once, instead of performing two divisions.
You can hope that your compiler finds the simplification in the code you wrote (first / then %) and achieve only one division, but I'm not so sure it would.
Wrap around:
I am with Jason. Performing a division can be costly, checking for boundary and assigning 0 cannot. You can put the check and zero in a function if you want to reduce the LOC of your functions.
I like that way better also because it is more descriptive of what is meant. "Increment, but get back to 0 if you got too far."
The modulo works, but its meaning is not really that, rather "how much is left in the first bucket that is not full, whatever the number of bucket that were filled beforehand?".


text:
The Law Office of Steven Friedman has been dedicated to meeting the needs of clients since 1980. Attorney Steven Friedman has more than 32 years of experience handling various estate planning matters, which is a tremendous advantage for clients that few other solo practitioners can match. He provides his clients with legal assistance to rival large-firm experience but at the personal level that only a small firm can provide. Clients can be sure that they will receive the focused attention that they need when they choose to work with this firm.
Attorney Freidman has been providing the residents of Pembroke Pines, Florida and the surrounding areas with legal assistance pertaining to estate planning and probate since 1987 and he understands the various laws and issues that can arise unexpectedly during a case. He is dedicated to achieving excellence through professionalism and experience. He has successfully handled numerous cases for his clients in the past and he can put this experience to work for future clients.
In addition, this firm offers representation for family law and divorce cases, commercial litigation, and several other areas of law. People who are facing a legal matter should contact this firm immediately to discuss their situations and to pursue the results and the outcomes that they need for their future. This firm understands the various issues that clients could be facing, and with more than 25 years of experience in this state, Attorney Friedman can provide his clients with excellent legal assistance in these various matters.
This firm implements planning that is designed to produce simple, effective, and cost-efficient wealth distribution and wealth protection for clients. He provides tailored assistance for the custom needs of his clients and he understands that no two cases are the same. To learn more about Attorney Freidman and how his firm can help you, visit his new website at http://www.pembrokepinesfamilylawyer.com.


text:
Telephone & Addresses
(1 - 4 from 75
Kristin Lancaster
33545 Wesley Chapel FL
Kristin Lancaster (Age: 38)
23093 Louisa VA
Kristin Lancaster (Age: 38)
49327 Grant MI
Kristin Lancaster, Arlington, US, Taft Dr
View Kristin's social profiles and photos on Facebook, MySpace, and +40 Networks.
Yellow Page contacts
Network Profiles
(1 - 4 from 42
LinkedIn: Kristin Lancaster | LinkedIn
largest business network, helping professionals like Kristin Lancaster discover ...
(1 - 4 from 5
Lancaster, Kathleen Bynum (Dalton) - Chattanoogan.com
21/7/2015 · Lancaster, Kathleen Bynum (Dalton) Monday, January 26, 2015 ... Kristin Lancaster, Richard Lancaster, Andy Lancaster, Meghann and Shannon Coley, ...
Black Hawk sends graduates away with life lessons - Quad ...
Andover -- Corey Hixson. -- Annawan -- Jillian Kidd, Kristin Lancaster, Tina Malufka. -- Atkinson -- Brice Ekin, Lisa Lewis. -- Cambridge -- Aaron ...
Kristin Lancaster by Kristin Lancaster on Prezi
class. Meeting new teachers. Pets Hazel (Yellow lab) Activities ...
Kristin Lancaster's Results
Kristin Lancaster F34. 1 Race Photos. Runner Rank: 76.5 %. 76.51 %, 88, 19, 27, 5:11:11, Mar 11, 2006, NC, Umstead Trail Marathon - 26M ...
Management & Stakeholders
KRISTIN D LANCASTER - MAGNOLIA, TX - Company Profile
Explore the D&B Credibility Review business directory to find the KRISTIN D LANCASTER business profile in MAGNOLIA, TX. Conduct business research at DandB.com.
Business Profiles
Kristin Lancaster | GE Energy | ZoomInfo.com
View Kristin Lancaster's business profile as Commercial Leader - Nuclear Services and Parts at GE Energy and see work history, affiliations and more.
Kristin Lancaster | ZoomInfo.com
View Kristin Lancaster's business profile and see work history, affiliations and more.
Kristin Lancaster | General Electric Company | ZoomInfo.com
View Kristin Lancaster's business profile at General Electric Company and see work history, affiliations and more.
Dr. Kristin Lancaster, Pathology, San Antonio, TX
a message, ask a text question, or make a virtual appointment on the doctor's ...
Private Homepages
Kristin Lancaster's Muzy
Kristin Lancaster's Muzy. KristinLancaster ... Kristin Lancaster's Muzy. KristinLancaster ... KristinLancaster Going to the school last night!!!what!! Like 1. Repost 0.
Contact Us
Kristin Lancaster, Accounting Assistant 888-256-7446 X106 firstname.lastname@example.com. Curt Fischer, M.A., M.S., PMP 888-256-7446 X104 firstname.lastname@example.com.
(1 - 4 from 12
classmates: Kristin Lancaster
Grant High School, Grant, MI, 1990-1994
classmates: Kristin Lancaster
University of North Carolina, Chapel Hill, NC, 1997-2001
classmates: Kristin Lancaster
Pine Crest High School, Ft. Lauderdale, FL, 1993-1997
LCPS Home Page - LCPS Counseling Department
firstname.lastname@example.com. D-J School Counselor: Kristin Lancaster. firstname.lastname@example.com. K-P School Counselor/ Career Education Counselor: Acquanetta ...
Bad news
Kathleen Bynum Lancaster - The Daily Citizen: Obituaries
... N.J.; grandchildren, Kristin Lancaster, Richard Lancaster, Andy Lancaster, Meghann and Shannon Coley, Whitney and Matt Cathey, Jordan Brown, ...
Obituary For: Kathleen Lancaster | Love Funeral Home
Kathleen Lancaster (Died January 25, 2015) ... Kristin Lancaster, Richard Lancaster, Andy Lancaster, Meghann and Shannon Coley, Whitney and Matt Cathey, ...
Obituary For: Naomi Lancaster | High Funeral Home
... (Neal) Haddock, Justin (Sue) Lancaster, Jenna Lancaster, Joe Lancaster, Ashely (Erwin) Burgos, Mary Kristin Lancaster, Joshua (Ashlin) Paz ...
Kristin Lancaster - WikiTree
Profile of Kristin Lancaster, born 1980's, including biography and genealogy.
Obituary For: Kathleen Lancaster | Love Funeral Home
... Mark and Ellen Lancaster of Bloomfield, NJ; grandchildren, Kristin Lancaster, Richard Lancaster, Andy Lancaster, Meghann and Shannon Coley, Whitney and ...
Related Documents
Kristin M Lancaster. Videoconferencing Perceptions: A Survey ...
Kristin M Lancaster. Videoconferencing Perceptions: A Survey of University of North Carolina Faculty and Staff. A Master's Paper for the M.S. in I.S. degree. A…
6 111 Kristin Lancaster 26 Raleigh NC 1:59:34 7 113 Katie Waterworth 27 Lynchburg VA 2:00:04
Kristin Lancaster's Library | Photobucket
Kristin Lancaster's Library. 119 photos.
Kristin Lancaster's (kristinlancaster23) Pictures, Photos & Images |...
View and follow Kristin Lancaster (kristinlancaster23)'s photos and videos on Photobucket.
(1 - 4 from 7
Mrs. Shockley, 2nd grade
Kristin Lancaster . Printable Version. Last Modified: Friday, Aug. 10, 2012 © 2015 TeacherWeb, Inc. TeacherWeb.com. Content on this site is the responsibility of the ...
Alexandria and Arlington home sales - The Washington Post
Bedford St. N., 58B-Kristin Lancaster to Frank and Nicole Klett, $406,000. Cleveland St. N., 709-Marilyn B. Boettger to John W. Leonard, ...
Equal Pay Day Proclamation Accepted by Jackson Area BPW | West TN...
... State President Jacque Hillman; Standing: (l to r) Pat Wisniowski, Beth Bates, Kristin Lancaster, Mayor Jerry Gist, Jackie Utley, Lanis Karnes, ...
Wescott junior high honor roll - Keep Me Current: News
... Spencer LaCount, Michael LaCourse, Kristin Lancaster, Kara LaRochelle, Caitlyn Levesque, Savannah Lopez, Kiarah Luter, Olivia Marsden, ...
Reports & Statements
(1 - 4 from 5
pinterest.com: Irma Rangel was the first Mexican American Texas State ...
Kristin Lancaster 24 Follow. first week back Heidi Harrell 15 Follow. teacher tools Jill Harrer 1,126 Follow. Science & Social Studies Sarah Longtin ...
Kristin Lancaster is supporting · Causes
supporting. save_the_whales · no_fracking · Sharon Lewis. I campaign for freedom, ...
friends | live. love. learn. breathe.
Posts about friends written by K
Yankee Volleyball - Promoting Volleyball in New England: June 2008
Jessica Pendleton C- Caitlin Jankovich B- Kristin Lancaster B- Melissa Soutiere B- Beth Patterson B- Serena Shallish B- Sandra Pilkons B-
(1 - 20 from 37
My World Changing, Courage Poem - Family Friend Poems
© Kristin Lancaster September 2008 Changing World. The light is cold. The day is dark. The only thought I have, a spark. The only breath I breathe, my mark. In ...
Kristin Lancaster & Jon Weiss - Wedding Registry
Kristin and Jon from Wilmington, NC have registered at Bed Bath & Beyond for their wedding on April 30, 2016. View all of the items from their registries in...
Bost Kristin in Lancaster | Bost Kristin 834 W Meeting St, #C ...
Includes Bost Kristin Reviews, maps & directions to Bost Kristin in Lancaster ...
Kristin Lancaster Background Checks, Criminal Records, Public...
Kristin Lancaster Background Checks, Criminal Records, Public Records, People Search.
Kristin Lancaster (@kristinlancaste) Twitter Account Details |...
IT Program Mgr at GE Hitachi- Nuclear Parts & Industrial Internet Programs
Kristin Lancaster & Jonathan Weiss - Wedding Registry
Kristin and Jonathan from Wilmington, NC have registered at Amazon for their wedding on April 30, 2016. View all of the items from their registries in one...
Kristin Lancaster
Profile page for Second Life avatar Kristin Lancaster, born 2007-01-07. Shows birthday, payment status, SL key and more.
Kristin Lancaster | Raleigh NC | Athletepath
Join Athletepath to connect with Kristin Lancaster and other people you know. Athletepath helps you discover and share your favorite races and event...
BigfootRunnning.com - Umstead Trail Marathon - KRISTIN LANCASTER:...
Umstead Trail Marathon - KRISTIN LANCASTER: 5:11:11
Kristin Lancaster Wheeler on Scribd | Scribd
Kristin Lancaster Wheeler · Evidence in Long Term Effects in Early Intevention in Autism · Kristin Lancaster Wheeler · Teaching Strategies for Moral Education- A ...
Kristin Lancaster 🇬🇧 (@kristin_sharon) • Instagram photos and videos
See Instagram photos and videos from Kristin Lancaster 🇬🇧 (@kristin_sharon)
Kristin Lancaster , Facilities Manager - Boston College | Insigne...
Get more information about Kristin Lancaster , Facilities Manager,Boston College , Chestnut Hill , MA , United States
Kristin Lancaster - Germany » Videos Cristianos Chat Cristiano...
Kristin Lancaster from Germany is on MiVideoCristiano.com. MiVideoCristiano gives people the power to share and makes the world more open and connected....
Kristin Lancaster 309-935-6774 Annawan White Pages
Kristin Lancaster 309-935-6774
Kristin's Last 10 Google Searches | Kristin Lancaster
Find out if Kristin has been searching for a llama, tires, kangaroo, Godzilla, or a pizza delivery chain! | Kristin Lancaster
Who's In Kristin's Family Tree? | Kristin Lancaster
Find out if Kristin a llama, china, kangaroo, Godzilla, or an angry fisherman in their family tree! | Kristin Lancaster
Jonathan Weiss and Kristin Lancaster on Honeyfund.com, the free...
Hello friends and family,. We are honored you will share in our special day. We're lucky to already have a home full of everything we need, so please enjoy ...
Kristin Lancaster & Nicki Rusinack
back to "Communications Department Hosts Professional Speakers" · Professional Speaker for Communication Courses ...
BigfootRunning.com - Runner Results
Name, Date, Race, Distance, Time, Place, Location. KRISTIN LANCASTER, 11/6/2004, 2004 Dalmatian Dash 5K, 5 K, 43:29, 72, Raleigh, NC. KRISTIN ...
Kristin J Lancaster - 2978 Glacierwood Dr Juneau
Public records for Kristin Lancaster , 2978 Glacierwood Dr Juneau alaska
Related search requests for Kristin Lancaster
|Shannon Coley
Matt Cathey
Jonathan Weiss
|Kathleen Bynum
Dirk Vandeman
Person "Lancaster" (3)
Forename "Kristin" (19605)
Name "Lancaster" (2110)
sorted by relevance / date


text:
I admit it. I am a Craigslist addict. The first step to recovery is admitting you have a problem, right?
It started back in April while I was still at college. My friend Ashley and I began scheming to find an apartment to share in Cincy for the summer, dreading living under parental control after a year of complete freedom in college.
Before class, I began checking the "apartments" listings all over Cincinnati, constantly searching for a cheaper, cooler, better place to rent.
That lasted for a while. As the school year came to a close, I started thinking about how much I needed to find a summer job / make money before heading back to Ohio.
So my addiction magnified.�� �
Almost every day, I checked the job postings. Before I knew it, I found myself skimming stuff like the "manufacturing" and "systems/network" job postings, even though I fully knew I a) lacked any smidgeon of qualification b) had absolutely no interest in working in a peanut processing plant c) had no clue what the hell systems/network even meant.
Then came the [ETC] category. One of my personal favorites. I started looking here when my job search was failing and I realized how desperate I was for money. The [ETC] listings contain every odd job you could dream up. Fluent in Thai? Want to iron shirts for cash? Mow lawns? Teach tantra? Somebody wants to pay you.� �
I couldn't help myself—I kept checking the [ETC] listings to see if I qualified to participate in a dish soap research study or maybe a coffee drinker focus group.
Then came the best part. The missed connections. I can't even remember how I wandered over to the personals sections. Curiosity is the only reasonable explanation.
Previously, my primary sources of internet humor were textsfromlastnight.com and fmylife.com. But the missed connections were better because they were never really intended to be funny in the first place. Call me a cynic, but it seems like a bit more than wishful thinking to hope that that sexy Wal-mart cashier was checking you out, too, and wandered over to Craigslist just hoping you'd confess your longing in poetic prose. Kind of like this one: "We exchanged eye contact that was fraught with attraction, anxiety, curiosity, longing, despair, hopelessness, hopefulness, an urge to say hi and an urge to say "stop looking at me.'"
Or maybe this one: "'Oh Starbucks barista girl at the 4th and Vine location... how in love am I with you? Let me count the ways… 'Chocolate frappacino' you gently said as you slammed the cup to the counter without even looking up... I imagine cartoon hearts must have shot out of my spine and into the air."
If the missed connections section of Craigslist has taught me anything, I've learned that there are a whole slew of romance novelists in Cincinnati just waiting to be discovered. People are so optimistic; they take time to write these postings just hoping it will be read in time for them to reignite that flame kindled in a parking lot, coffee shop, whatever.
I am fully aware of how incredibly dorky/pathetic it is that I have wasted so much time on Craigslist. But I don't care. Reading the classifieds is a great source for procrastination, humor and insight into the genuine hopes/dreams/hallucinations of people all over the 'Nati.
Go check out Craigslist. Just not the creepy sections. Who knows, maybe you really did catch the eye of that super cute waiter/librarian/barista. Or maybe you can make a quick $50 for participating in a left-handed research study. It's all gold.
If you don't engage in recreational drug use late-night channel surfing, you may have never experienced the hilarity and sheer terror that is Tim and Eric Awesome Show, Great Job!
Creators Tim Heidecker and Eric Wareheim star in Adult Swim's sketch comedy show, which squeezes the maximum amount of crazy into 15 minutes. The skits range from quirky-funny
White Castle is the oldest fast-food burger joint in the country, serving up savory, moist cardboard-like mini sandwiches for 90 years. That's right, back when people enjoyed a night of Prohibition-grade bathtub gin, they could wash it down with some sliders.
With the holidays right around the corner, this weekend promises plenty of twinkling lights, Christmas songs and the one gift the three wise men forgot: booze.
I hate wearing pants.
For every ten pairs of pants I try on, I might look slightly normal in one. They're usually too short and I always have a hand-full of extra fabric in the crotch region (Do pant designers assume everyone has a foopa? ). I wish a dress or skirt was appropriate for every single situation, but that's simply not the case.Thankfully, indiDenim has heard my pant-hating cries.
Mad Men's highly anticipated fifth season returns to AMC March 25 with a 2-hour premiere. The episode is titled "A Little Kiss," spurring plenty of speculations — will Don remarry? Get back with Betty? AMC is airing all previous seasons with an episode each Sunday at 6 a.m. So, unless you're my grandma, set your DVR and catch up on all things Don Draper. In the past, each season factors in the elapsed time since the previous season's finale, so Season 5 may pick up a year-and-a-half later, possibly in 1967.
of Thrones also returns this spring with high expectations. Season 2 of
the medieval fantasy drama is back April 1 with a slew of new characters to
join last season's favorites (like Tyrion Lannister, who Peter
Dinklage won an Emmy and Golden Globe for portraying). Game of Thrones is based off George R.R. Martin's series of novels,
A Song of Ice and Fire. The second
season is set to cover events as portrayed in A Clash of Kings, the second book of the series. There will be dragons!
Roseanne fans, rejoice! The comedienne-turned-insane person is working on a new working-class comedy, Downwardly Mobile, about a trailer park and its outspoken owner. John Goodman (who played Roseanne's husband on the popular sitcom) is set to co-star as one of her employees. Though the series is not in production yet, NBC has picked up the pilot.
Anyone familiar with noted psychic detective duo Shawn (James Roday) and Gus (Dulé Hill) from USA's Psych knows that when the actors who play the series' main characters pop in front of their computers for a dual announcement that something big is in the works. The current video offering at usanetwork.com does not disappoint: Sitting in front of a split screen, Roday dramatically announces that, with the blessing of Alan Alda, he has decided to buy a new belt. In addition, Psyche has been picked up for a seventh season, which means, according to Hill, that "Shawn, Gus, Jules, Lassie and the whole gang will be back to solve more crime in the crime capital of the world, Santa Barbara." ("You know that's right.") Season 6 resumes Feb. 29.
According to NASA's Web site "This year's Leonid meteor shower peaks on Tuesday, Nov. 17th. If forecasters are correct, the shower should produce a mild but pretty sprinkling of meteors over North America followed by a more intense outburst over Asia. The phase of the Moon will be new, setting the stage for what could be one of the best Leonid showers in years."
Leonids, who grab their name from their location in the Leo constellation, are bits of debris from the Tempel-Tuttle comet.
And while the area around Asia might be the best place to view the shower (two of the streams will be crossing over Indonesia and China), you'll still be able to see the action in North America.
According to CNN, "The first stream will cross over Earth about 4 a.m. ET. That stream
should produce about two or three dozen meteors per hour over North
So in the wee hours of Tuesday morning, experts recommend getting as far away from city lights as possible to view the shower. The less artificial light, the brighter the meteors will be. Also, the view is better the higher up you get. Altitude will reduce the glare of the moon.
Ohio's Stonelick Lake State Park is hosting a special viewing event with the Cincinnati Observatory Center. Get details about that even here. And read CNN's full article about the shower here.
Since the Holidays have arrived, a sacred ritual is being practiced by the adolescents and young adults in the Tri-State area. The seasonal "Ugly Sweater" party is underway again this year. This unusual gathering didn't really start until the mid to late 90's but has skyrocketed in popularity among the easily amused. During the 1970s and 1980s, grandmas, aunts and mothers around the world decided to knit or sew anything related to the holidays onto a sweater. This could range anywhere from a reindeer in the forest to two cats sitting under a Christmas tree.
Man, I just recently started watching Deadwood with the boyfriend. (I just IM'd him to confirm that he's offish my boyfriend, because I'd never typed out the word before — in regards to him — and it looked funny, so I had to double check.)


text:
This is a "machine-selection optional" part.Please choose a vehicle to see products specific to your machine, select a product below.
User Tip: If you're unsure of your vehicle type, you may skip the machine type selection box.
Repair your motorcycle tire issues with high quality tire tools.
TODD in CA
Just like underwear - change it!Read All Reviews
Garrett in PA
A lot of my buddies just feel for their pressure but I like to be sure what my tires are at. For only a couple of dollars, you can't go wrong with the slime gauge!Read All Reviews
TODD in CA
If it is open, use it and replace with this stuff. Don't think that it will be around to the next tube repair - it will have evaporated. Get a few for backup and don't be stupid.Read All Reviews
Josh in NM
I have not had a tusk product that I didn't like.Read All Reviews
Josh in NM
Good price. Nice to have one ready for your next tube or tire replacement.Read All Reviews
Josh in NM
Works great, cheap, better than the plastic ones.Read All Reviews


text:
Fearful Iraqis Cancel Christmas Celebrations
Fearful Iraqis Cancel Christmas Celebrations
7038 results for 'newswatch'. Showing results 5113 - 5130
Fearful Iraqis Cancel Christmas Celebrations
Bizarre Weather Adds Doubt to Global Warming
Senate Ratifies Weapons Pact with Russia
D.C. Metro Starts Random Bag Searches
Author: U.S. Believers Are Devout, But Tolerant
How Will Gay Ban Repeal Impact Military Chaplains?
U.S. Russia Arms Deal Still Short on Votes
Nev. Military Couple Gets Extra Special Reunion
Wintry Mix Pounds East Coast, South
Some Protest Despite War Review Showing Progess
Family Report Shows Brokenness in U.S. Homes
WikiLeaks Founder Released From British Custody
Parental Group Warns of Sexualized Girls on TV
Superintendent: 'God Protected Me from Shooter'
Pork-Laden Tax Cut Deal Clears Senate Hurdle
WikiLeaks Founder Assange Granted Bail
Michael Steele Seeking Second RNC Chair Term
Christian Group: DREAM Act a Moral Responsibility


text:
Due to inclement weather, the following DVS benefit offices will be closed on Friday, 10/2/15: Accomac, Virginia Beach, Norfolk, Portsmouth, Chesapeake, Hampton and Hampton VAMC.
Eligibility for most federal and state benefits is based on discharge from active military service under other than dishonorable conditions. Active service means full-time service as a member of the Army, Navy, Air Force, Marine Corps, Coast Guard, or as a commissioned officer of the public health service, the Environmental Services Administration, or the National Oceanic and Atmospheric Administration. Current and former members of the Selected Reserve may be eligible for certain benefits, such as home loan guaranties and education, if they meet time-in-service and other criteria. Men and women veterans with similar service are entitled to the same federal and state veterans benefits.
The eligibility policy is set by the U.S. Department of Veterans Affairs. To determine potential eligibility for such benefits click here.
The Virginia Department of Veterans Services advocates for Virginia veterans and connects them to earned benefits and services they have earned. Information on current federal, state and local veterans' programs, entitlements and referral services is available in Virginia through a network of 26 benefit service offices. All services are provided free of charge.


text:
Nolo's Plain-English Law Dictionary
Need Professional Help? Talk to a Lawyer
Enter Your Zip Code to Connect with a Lawyer Serving Your Area
- Chancellor
- From the old English legal system, a chancellor is a judge who sits in what is called a chancery (equity) court. The chancellor has the power to order that something be done, as distinguished from ordering the defendant to pay damages. Almost all U.S. states' courts now combine chancery (equity) functions and law.